Skip to main content

ra2a2_pac/
macl.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.20.02, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:01:00 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"32-bit Multiply-Accumulator"]
28unsafe impl ::core::marker::Send for super::Macl {}
29unsafe impl ::core::marker::Sync for super::Macl {}
30impl super::Macl {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Multiplication Data Register Bn"]
38    #[inline(always)]
39    pub const fn mulb(
40        &self,
41    ) -> &'static crate::common::ClusterRegisterArray<
42        crate::common::Reg<self::Mulb_SPEC, crate::common::RW>,
43        24,
44        0x8,
45    > {
46        unsafe {
47            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x0usize))
48        }
49    }
50    #[inline(always)]
51    pub const fn mulb0(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
52        unsafe {
53            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
54                self._svd2pac_as_ptr().add(0x0usize),
55            )
56        }
57    }
58    #[inline(always)]
59    pub const fn mulb1(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
60        unsafe {
61            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
62                self._svd2pac_as_ptr().add(0x8usize),
63            )
64        }
65    }
66    #[inline(always)]
67    pub const fn mulb2(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
68        unsafe {
69            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
70                self._svd2pac_as_ptr().add(0x10usize),
71            )
72        }
73    }
74    #[inline(always)]
75    pub const fn mulb3(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
76        unsafe {
77            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
78                self._svd2pac_as_ptr().add(0x18usize),
79            )
80        }
81    }
82    #[inline(always)]
83    pub const fn mulb4(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
84        unsafe {
85            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
86                self._svd2pac_as_ptr().add(0x20usize),
87            )
88        }
89    }
90    #[inline(always)]
91    pub const fn mulb5(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
92        unsafe {
93            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
94                self._svd2pac_as_ptr().add(0x28usize),
95            )
96        }
97    }
98    #[inline(always)]
99    pub const fn mulb6(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
100        unsafe {
101            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
102                self._svd2pac_as_ptr().add(0x30usize),
103            )
104        }
105    }
106    #[inline(always)]
107    pub const fn mulb7(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
108        unsafe {
109            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
110                self._svd2pac_as_ptr().add(0x38usize),
111            )
112        }
113    }
114    #[inline(always)]
115    pub const fn mulb8(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
116        unsafe {
117            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
118                self._svd2pac_as_ptr().add(0x40usize),
119            )
120        }
121    }
122    #[inline(always)]
123    pub const fn mulb9(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
124        unsafe {
125            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
126                self._svd2pac_as_ptr().add(0x48usize),
127            )
128        }
129    }
130    #[inline(always)]
131    pub const fn mulb10(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
132        unsafe {
133            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
134                self._svd2pac_as_ptr().add(0x50usize),
135            )
136        }
137    }
138    #[inline(always)]
139    pub const fn mulb11(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
140        unsafe {
141            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
142                self._svd2pac_as_ptr().add(0x58usize),
143            )
144        }
145    }
146    #[inline(always)]
147    pub const fn mulb12(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
148        unsafe {
149            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
150                self._svd2pac_as_ptr().add(0x60usize),
151            )
152        }
153    }
154    #[inline(always)]
155    pub const fn mulb13(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
156        unsafe {
157            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
158                self._svd2pac_as_ptr().add(0x68usize),
159            )
160        }
161    }
162    #[inline(always)]
163    pub const fn mulb14(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
164        unsafe {
165            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
166                self._svd2pac_as_ptr().add(0x70usize),
167            )
168        }
169    }
170    #[inline(always)]
171    pub const fn mulb15(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
172        unsafe {
173            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
174                self._svd2pac_as_ptr().add(0x78usize),
175            )
176        }
177    }
178    #[inline(always)]
179    pub const fn mulb16(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
180        unsafe {
181            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
182                self._svd2pac_as_ptr().add(0x80usize),
183            )
184        }
185    }
186    #[inline(always)]
187    pub const fn mulb17(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
188        unsafe {
189            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
190                self._svd2pac_as_ptr().add(0x88usize),
191            )
192        }
193    }
194    #[inline(always)]
195    pub const fn mulb18(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
196        unsafe {
197            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
198                self._svd2pac_as_ptr().add(0x90usize),
199            )
200        }
201    }
202    #[inline(always)]
203    pub const fn mulb19(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
204        unsafe {
205            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
206                self._svd2pac_as_ptr().add(0x98usize),
207            )
208        }
209    }
210    #[inline(always)]
211    pub const fn mulb20(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
212        unsafe {
213            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
214                self._svd2pac_as_ptr().add(0xa0usize),
215            )
216        }
217    }
218    #[inline(always)]
219    pub const fn mulb21(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
220        unsafe {
221            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
222                self._svd2pac_as_ptr().add(0xa8usize),
223            )
224        }
225    }
226    #[inline(always)]
227    pub const fn mulb22(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
228        unsafe {
229            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
230                self._svd2pac_as_ptr().add(0xb0usize),
231            )
232        }
233    }
234    #[inline(always)]
235    pub const fn mulb23(&self) -> &'static crate::common::Reg<self::Mulb_SPEC, crate::common::RW> {
236        unsafe {
237            crate::common::Reg::<self::Mulb_SPEC, crate::common::RW>::from_ptr(
238                self._svd2pac_as_ptr().add(0xb8usize),
239            )
240        }
241    }
242
243    #[doc = "Multiplication Result Register %s"]
244    #[inline(always)]
245    pub const fn mulrl(
246        &self,
247    ) -> &'static crate::common::ClusterRegisterArray<
248        crate::common::Reg<self::Mulrl_SPEC, crate::common::RW>,
249        24,
250        0x8,
251    > {
252        unsafe {
253            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc0usize))
254        }
255    }
256    #[inline(always)]
257    pub const fn mulrl0(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(0xc0usize),
261            )
262        }
263    }
264    #[inline(always)]
265    pub const fn mulrl1(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
266        unsafe {
267            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
268                self._svd2pac_as_ptr().add(0xc8usize),
269            )
270        }
271    }
272    #[inline(always)]
273    pub const fn mulrl2(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
274        unsafe {
275            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
276                self._svd2pac_as_ptr().add(0xd0usize),
277            )
278        }
279    }
280    #[inline(always)]
281    pub const fn mulrl3(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
282        unsafe {
283            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
284                self._svd2pac_as_ptr().add(0xd8usize),
285            )
286        }
287    }
288    #[inline(always)]
289    pub const fn mulrl4(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
290        unsafe {
291            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
292                self._svd2pac_as_ptr().add(0xe0usize),
293            )
294        }
295    }
296    #[inline(always)]
297    pub const fn mulrl5(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
298        unsafe {
299            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
300                self._svd2pac_as_ptr().add(0xe8usize),
301            )
302        }
303    }
304    #[inline(always)]
305    pub const fn mulrl6(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
306        unsafe {
307            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
308                self._svd2pac_as_ptr().add(0xf0usize),
309            )
310        }
311    }
312    #[inline(always)]
313    pub const fn mulrl7(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
314        unsafe {
315            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
316                self._svd2pac_as_ptr().add(0xf8usize),
317            )
318        }
319    }
320    #[inline(always)]
321    pub const fn mulrl8(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
322        unsafe {
323            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
324                self._svd2pac_as_ptr().add(0x100usize),
325            )
326        }
327    }
328    #[inline(always)]
329    pub const fn mulrl9(&self) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
330        unsafe {
331            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
332                self._svd2pac_as_ptr().add(0x108usize),
333            )
334        }
335    }
336    #[inline(always)]
337    pub const fn mulrl10(
338        &self,
339    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
340        unsafe {
341            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
342                self._svd2pac_as_ptr().add(0x110usize),
343            )
344        }
345    }
346    #[inline(always)]
347    pub const fn mulrl11(
348        &self,
349    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
350        unsafe {
351            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
352                self._svd2pac_as_ptr().add(0x118usize),
353            )
354        }
355    }
356    #[inline(always)]
357    pub const fn mulrl12(
358        &self,
359    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
360        unsafe {
361            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
362                self._svd2pac_as_ptr().add(0x120usize),
363            )
364        }
365    }
366    #[inline(always)]
367    pub const fn mulrl13(
368        &self,
369    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
370        unsafe {
371            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
372                self._svd2pac_as_ptr().add(0x128usize),
373            )
374        }
375    }
376    #[inline(always)]
377    pub const fn mulrl14(
378        &self,
379    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
380        unsafe {
381            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
382                self._svd2pac_as_ptr().add(0x130usize),
383            )
384        }
385    }
386    #[inline(always)]
387    pub const fn mulrl15(
388        &self,
389    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
390        unsafe {
391            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
392                self._svd2pac_as_ptr().add(0x138usize),
393            )
394        }
395    }
396    #[inline(always)]
397    pub const fn mulrl16(
398        &self,
399    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
400        unsafe {
401            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
402                self._svd2pac_as_ptr().add(0x140usize),
403            )
404        }
405    }
406    #[inline(always)]
407    pub const fn mulrl17(
408        &self,
409    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
410        unsafe {
411            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
412                self._svd2pac_as_ptr().add(0x148usize),
413            )
414        }
415    }
416    #[inline(always)]
417    pub const fn mulrl18(
418        &self,
419    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
420        unsafe {
421            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
422                self._svd2pac_as_ptr().add(0x150usize),
423            )
424        }
425    }
426    #[inline(always)]
427    pub const fn mulrl19(
428        &self,
429    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
430        unsafe {
431            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
432                self._svd2pac_as_ptr().add(0x158usize),
433            )
434        }
435    }
436    #[inline(always)]
437    pub const fn mulrl20(
438        &self,
439    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
440        unsafe {
441            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
442                self._svd2pac_as_ptr().add(0x160usize),
443            )
444        }
445    }
446    #[inline(always)]
447    pub const fn mulrl21(
448        &self,
449    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
450        unsafe {
451            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
452                self._svd2pac_as_ptr().add(0x168usize),
453            )
454        }
455    }
456    #[inline(always)]
457    pub const fn mulrl22(
458        &self,
459    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
460        unsafe {
461            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
462                self._svd2pac_as_ptr().add(0x170usize),
463            )
464        }
465    }
466    #[inline(always)]
467    pub const fn mulrl23(
468        &self,
469    ) -> &'static crate::common::Reg<self::Mulrl_SPEC, crate::common::RW> {
470        unsafe {
471            crate::common::Reg::<self::Mulrl_SPEC, crate::common::RW>::from_ptr(
472                self._svd2pac_as_ptr().add(0x178usize),
473            )
474        }
475    }
476
477    #[doc = "Multiplication Result Register %s"]
478    #[inline(always)]
479    pub const fn mulrh(
480        &self,
481    ) -> &'static crate::common::ClusterRegisterArray<
482        crate::common::Reg<self::Mulrh_SPEC, crate::common::RW>,
483        24,
484        0x8,
485    > {
486        unsafe {
487            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc4usize))
488        }
489    }
490    #[inline(always)]
491    pub const fn mulrh0(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
492        unsafe {
493            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
494                self._svd2pac_as_ptr().add(0xc4usize),
495            )
496        }
497    }
498    #[inline(always)]
499    pub const fn mulrh1(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
500        unsafe {
501            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
502                self._svd2pac_as_ptr().add(0xccusize),
503            )
504        }
505    }
506    #[inline(always)]
507    pub const fn mulrh2(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
508        unsafe {
509            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
510                self._svd2pac_as_ptr().add(0xd4usize),
511            )
512        }
513    }
514    #[inline(always)]
515    pub const fn mulrh3(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
516        unsafe {
517            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
518                self._svd2pac_as_ptr().add(0xdcusize),
519            )
520        }
521    }
522    #[inline(always)]
523    pub const fn mulrh4(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
524        unsafe {
525            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
526                self._svd2pac_as_ptr().add(0xe4usize),
527            )
528        }
529    }
530    #[inline(always)]
531    pub const fn mulrh5(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
532        unsafe {
533            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
534                self._svd2pac_as_ptr().add(0xecusize),
535            )
536        }
537    }
538    #[inline(always)]
539    pub const fn mulrh6(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
540        unsafe {
541            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
542                self._svd2pac_as_ptr().add(0xf4usize),
543            )
544        }
545    }
546    #[inline(always)]
547    pub const fn mulrh7(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
548        unsafe {
549            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
550                self._svd2pac_as_ptr().add(0xfcusize),
551            )
552        }
553    }
554    #[inline(always)]
555    pub const fn mulrh8(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
556        unsafe {
557            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
558                self._svd2pac_as_ptr().add(0x104usize),
559            )
560        }
561    }
562    #[inline(always)]
563    pub const fn mulrh9(&self) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
564        unsafe {
565            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
566                self._svd2pac_as_ptr().add(0x10cusize),
567            )
568        }
569    }
570    #[inline(always)]
571    pub const fn mulrh10(
572        &self,
573    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
574        unsafe {
575            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
576                self._svd2pac_as_ptr().add(0x114usize),
577            )
578        }
579    }
580    #[inline(always)]
581    pub const fn mulrh11(
582        &self,
583    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
584        unsafe {
585            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
586                self._svd2pac_as_ptr().add(0x11cusize),
587            )
588        }
589    }
590    #[inline(always)]
591    pub const fn mulrh12(
592        &self,
593    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
594        unsafe {
595            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
596                self._svd2pac_as_ptr().add(0x124usize),
597            )
598        }
599    }
600    #[inline(always)]
601    pub const fn mulrh13(
602        &self,
603    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
604        unsafe {
605            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
606                self._svd2pac_as_ptr().add(0x12cusize),
607            )
608        }
609    }
610    #[inline(always)]
611    pub const fn mulrh14(
612        &self,
613    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
614        unsafe {
615            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
616                self._svd2pac_as_ptr().add(0x134usize),
617            )
618        }
619    }
620    #[inline(always)]
621    pub const fn mulrh15(
622        &self,
623    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
624        unsafe {
625            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
626                self._svd2pac_as_ptr().add(0x13cusize),
627            )
628        }
629    }
630    #[inline(always)]
631    pub const fn mulrh16(
632        &self,
633    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
634        unsafe {
635            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
636                self._svd2pac_as_ptr().add(0x144usize),
637            )
638        }
639    }
640    #[inline(always)]
641    pub const fn mulrh17(
642        &self,
643    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
644        unsafe {
645            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
646                self._svd2pac_as_ptr().add(0x14cusize),
647            )
648        }
649    }
650    #[inline(always)]
651    pub const fn mulrh18(
652        &self,
653    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
654        unsafe {
655            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
656                self._svd2pac_as_ptr().add(0x154usize),
657            )
658        }
659    }
660    #[inline(always)]
661    pub const fn mulrh19(
662        &self,
663    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
664        unsafe {
665            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
666                self._svd2pac_as_ptr().add(0x15cusize),
667            )
668        }
669    }
670    #[inline(always)]
671    pub const fn mulrh20(
672        &self,
673    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
674        unsafe {
675            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
676                self._svd2pac_as_ptr().add(0x164usize),
677            )
678        }
679    }
680    #[inline(always)]
681    pub const fn mulrh21(
682        &self,
683    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
684        unsafe {
685            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
686                self._svd2pac_as_ptr().add(0x16cusize),
687            )
688        }
689    }
690    #[inline(always)]
691    pub const fn mulrh22(
692        &self,
693    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
694        unsafe {
695            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
696                self._svd2pac_as_ptr().add(0x174usize),
697            )
698        }
699    }
700    #[inline(always)]
701    pub const fn mulrh23(
702        &self,
703    ) -> &'static crate::common::Reg<self::Mulrh_SPEC, crate::common::RW> {
704        unsafe {
705            crate::common::Reg::<self::Mulrh_SPEC, crate::common::RW>::from_ptr(
706                self._svd2pac_as_ptr().add(0x17cusize),
707            )
708        }
709    }
710
711    #[doc = "Multiplication Data Register A"]
712    #[inline(always)]
713    pub const fn mul32u(
714        &self,
715    ) -> &'static crate::common::Reg<self::Mul32U_SPEC, crate::common::RW> {
716        unsafe {
717            crate::common::Reg::<self::Mul32U_SPEC, crate::common::RW>::from_ptr(
718                self._svd2pac_as_ptr().add(384usize),
719            )
720        }
721    }
722
723    #[doc = "Multiplication Data Register A"]
724    #[inline(always)]
725    pub const fn mul32s(
726        &self,
727    ) -> &'static crate::common::Reg<self::Mul32S_SPEC, crate::common::RW> {
728        unsafe {
729            crate::common::Reg::<self::Mul32S_SPEC, crate::common::RW>::from_ptr(
730                self._svd2pac_as_ptr().add(388usize),
731            )
732        }
733    }
734
735    #[doc = "Multiplication Data Register A"]
736    #[inline(always)]
737    pub const fn mac32u(
738        &self,
739    ) -> &'static crate::common::Reg<self::Mac32U_SPEC, crate::common::RW> {
740        unsafe {
741            crate::common::Reg::<self::Mac32U_SPEC, crate::common::RW>::from_ptr(
742                self._svd2pac_as_ptr().add(392usize),
743            )
744        }
745    }
746
747    #[doc = "Multiplication Data Register A"]
748    #[inline(always)]
749    pub const fn mac32s(
750        &self,
751    ) -> &'static crate::common::Reg<self::Mac32S_SPEC, crate::common::RW> {
752        unsafe {
753            crate::common::Reg::<self::Mac32S_SPEC, crate::common::RW>::from_ptr(
754                self._svd2pac_as_ptr().add(396usize),
755            )
756        }
757    }
758
759    #[doc = "Multiplication Control Register"]
760    #[inline(always)]
761    pub const fn mulc(&self) -> &'static crate::common::Reg<self::Mulc_SPEC, crate::common::RW> {
762        unsafe {
763            crate::common::Reg::<self::Mulc_SPEC, crate::common::RW>::from_ptr(
764                self._svd2pac_as_ptr().add(400usize),
765            )
766        }
767    }
768
769    #[doc = "Multiplication Result Clear Register"]
770    #[inline(always)]
771    pub const fn mulrclr(
772        &self,
773    ) -> &'static crate::common::Reg<self::Mulrclr_SPEC, crate::common::RW> {
774        unsafe {
775            crate::common::Reg::<self::Mulrclr_SPEC, crate::common::RW>::from_ptr(
776                self._svd2pac_as_ptr().add(404usize),
777            )
778        }
779    }
780}
781#[doc(hidden)]
782#[derive(Copy, Clone, Eq, PartialEq)]
783pub struct Mulb_SPEC;
784impl crate::sealed::RegSpec for Mulb_SPEC {
785    type DataType = u32;
786}
787
788#[doc = "Multiplication Data Register Bn"]
789pub type Mulb = crate::RegValueT<Mulb_SPEC>;
790
791impl NoBitfieldReg<Mulb_SPEC> for Mulb {}
792impl ::core::default::Default for Mulb {
793    #[inline(always)]
794    fn default() -> Mulb {
795        <crate::RegValueT<Mulb_SPEC> as RegisterValue<_>>::new(0)
796    }
797}
798
799#[doc(hidden)]
800#[derive(Copy, Clone, Eq, PartialEq)]
801pub struct Mulrl_SPEC;
802impl crate::sealed::RegSpec for Mulrl_SPEC {
803    type DataType = u32;
804}
805
806#[doc = "Multiplication Result Register %s"]
807pub type Mulrl = crate::RegValueT<Mulrl_SPEC>;
808
809impl NoBitfieldReg<Mulrl_SPEC> for Mulrl {}
810impl ::core::default::Default for Mulrl {
811    #[inline(always)]
812    fn default() -> Mulrl {
813        <crate::RegValueT<Mulrl_SPEC> as RegisterValue<_>>::new(0)
814    }
815}
816
817#[doc(hidden)]
818#[derive(Copy, Clone, Eq, PartialEq)]
819pub struct Mulrh_SPEC;
820impl crate::sealed::RegSpec for Mulrh_SPEC {
821    type DataType = u32;
822}
823
824#[doc = "Multiplication Result Register %s"]
825pub type Mulrh = crate::RegValueT<Mulrh_SPEC>;
826
827impl NoBitfieldReg<Mulrh_SPEC> for Mulrh {}
828impl ::core::default::Default for Mulrh {
829    #[inline(always)]
830    fn default() -> Mulrh {
831        <crate::RegValueT<Mulrh_SPEC> as RegisterValue<_>>::new(0)
832    }
833}
834
835#[doc(hidden)]
836#[derive(Copy, Clone, Eq, PartialEq)]
837pub struct Mul32U_SPEC;
838impl crate::sealed::RegSpec for Mul32U_SPEC {
839    type DataType = u32;
840}
841
842#[doc = "Multiplication Data Register A"]
843pub type Mul32U = crate::RegValueT<Mul32U_SPEC>;
844
845impl NoBitfieldReg<Mul32U_SPEC> for Mul32U {}
846impl ::core::default::Default for Mul32U {
847    #[inline(always)]
848    fn default() -> Mul32U {
849        <crate::RegValueT<Mul32U_SPEC> as RegisterValue<_>>::new(0)
850    }
851}
852
853#[doc(hidden)]
854#[derive(Copy, Clone, Eq, PartialEq)]
855pub struct Mul32S_SPEC;
856impl crate::sealed::RegSpec for Mul32S_SPEC {
857    type DataType = u32;
858}
859
860#[doc = "Multiplication Data Register A"]
861pub type Mul32S = crate::RegValueT<Mul32S_SPEC>;
862
863impl NoBitfieldReg<Mul32S_SPEC> for Mul32S {}
864impl ::core::default::Default for Mul32S {
865    #[inline(always)]
866    fn default() -> Mul32S {
867        <crate::RegValueT<Mul32S_SPEC> as RegisterValue<_>>::new(0)
868    }
869}
870
871#[doc(hidden)]
872#[derive(Copy, Clone, Eq, PartialEq)]
873pub struct Mac32U_SPEC;
874impl crate::sealed::RegSpec for Mac32U_SPEC {
875    type DataType = u32;
876}
877
878#[doc = "Multiplication Data Register A"]
879pub type Mac32U = crate::RegValueT<Mac32U_SPEC>;
880
881impl NoBitfieldReg<Mac32U_SPEC> for Mac32U {}
882impl ::core::default::Default for Mac32U {
883    #[inline(always)]
884    fn default() -> Mac32U {
885        <crate::RegValueT<Mac32U_SPEC> as RegisterValue<_>>::new(0)
886    }
887}
888
889#[doc(hidden)]
890#[derive(Copy, Clone, Eq, PartialEq)]
891pub struct Mac32S_SPEC;
892impl crate::sealed::RegSpec for Mac32S_SPEC {
893    type DataType = u32;
894}
895
896#[doc = "Multiplication Data Register A"]
897pub type Mac32S = crate::RegValueT<Mac32S_SPEC>;
898
899impl NoBitfieldReg<Mac32S_SPEC> for Mac32S {}
900impl ::core::default::Default for Mac32S {
901    #[inline(always)]
902    fn default() -> Mac32S {
903        <crate::RegValueT<Mac32S_SPEC> as RegisterValue<_>>::new(0)
904    }
905}
906
907#[doc(hidden)]
908#[derive(Copy, Clone, Eq, PartialEq)]
909pub struct Mulc_SPEC;
910impl crate::sealed::RegSpec for Mulc_SPEC {
911    type DataType = u8;
912}
913
914#[doc = "Multiplication Control Register"]
915pub type Mulc = crate::RegValueT<Mulc_SPEC>;
916
917impl Mulc {
918    #[doc = "Operation Processing Status Bit"]
919    #[inline(always)]
920    pub fn mulst(
921        self,
922    ) -> crate::common::RegisterField<
923        0,
924        0x1,
925        1,
926        0,
927        mulc::Mulst,
928        mulc::Mulst,
929        Mulc_SPEC,
930        crate::common::R,
931    > {
932        crate::common::RegisterField::<
933            0,
934            0x1,
935            1,
936            0,
937            mulc::Mulst,
938            mulc::Mulst,
939            Mulc_SPEC,
940            crate::common::R,
941        >::from_register(self, 0)
942    }
943
944    #[doc = "Multiply-accumulation Result (accumulation value) Sign Flag"]
945    #[inline(always)]
946    pub fn macsf(
947        self,
948    ) -> crate::common::RegisterField<
949        1,
950        0x1,
951        1,
952        0,
953        mulc::Macsf,
954        mulc::Macsf,
955        Mulc_SPEC,
956        crate::common::R,
957    > {
958        crate::common::RegisterField::<
959            1,
960            0x1,
961            1,
962            0,
963            mulc::Macsf,
964            mulc::Macsf,
965            Mulc_SPEC,
966            crate::common::R,
967        >::from_register(self, 0)
968    }
969
970    #[doc = "Multiply-accumulation Result (accumulation value) Overflow/Underflow Flag"]
971    #[inline(always)]
972    pub fn macof(
973        self,
974    ) -> crate::common::RegisterField<
975        2,
976        0x1,
977        1,
978        0,
979        mulc::Macof,
980        mulc::Macof,
981        Mulc_SPEC,
982        crate::common::R,
983    > {
984        crate::common::RegisterField::<
985            2,
986            0x1,
987            1,
988            0,
989            mulc::Macof,
990            mulc::Macof,
991            Mulc_SPEC,
992            crate::common::R,
993        >::from_register(self, 0)
994    }
995
996    #[doc = "Fixed Point Mode Selection"]
997    #[inline(always)]
998    pub fn mulfrac(
999        self,
1000    ) -> crate::common::RegisterField<
1001        4,
1002        0x1,
1003        1,
1004        0,
1005        mulc::Mulfrac,
1006        mulc::Mulfrac,
1007        Mulc_SPEC,
1008        crate::common::RW,
1009    > {
1010        crate::common::RegisterField::<
1011            4,
1012            0x1,
1013            1,
1014            0,
1015            mulc::Mulfrac,
1016            mulc::Mulfrac,
1017            Mulc_SPEC,
1018            crate::common::RW,
1019        >::from_register(self, 0)
1020    }
1021
1022    #[doc = "Signedness Selection"]
1023    #[inline(always)]
1024    pub fn mulsm(
1025        self,
1026    ) -> crate::common::RegisterField<
1027        6,
1028        0x1,
1029        1,
1030        0,
1031        mulc::Mulsm,
1032        mulc::Mulsm,
1033        Mulc_SPEC,
1034        crate::common::RW,
1035    > {
1036        crate::common::RegisterField::<
1037            6,
1038            0x1,
1039            1,
1040            0,
1041            mulc::Mulsm,
1042            mulc::Mulsm,
1043            Mulc_SPEC,
1044            crate::common::RW,
1045        >::from_register(self, 0)
1046    }
1047
1048    #[doc = "Operation Mode Selection"]
1049    #[inline(always)]
1050    pub fn macmode(
1051        self,
1052    ) -> crate::common::RegisterField<
1053        7,
1054        0x1,
1055        1,
1056        0,
1057        mulc::Macmode,
1058        mulc::Macmode,
1059        Mulc_SPEC,
1060        crate::common::RW,
1061    > {
1062        crate::common::RegisterField::<
1063            7,
1064            0x1,
1065            1,
1066            0,
1067            mulc::Macmode,
1068            mulc::Macmode,
1069            Mulc_SPEC,
1070            crate::common::RW,
1071        >::from_register(self, 0)
1072    }
1073}
1074impl ::core::default::Default for Mulc {
1075    #[inline(always)]
1076    fn default() -> Mulc {
1077        <crate::RegValueT<Mulc_SPEC> as RegisterValue<_>>::new(0)
1078    }
1079}
1080pub mod mulc {
1081
1082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1083    pub struct Mulst_SPEC;
1084    pub type Mulst = crate::EnumBitfieldStruct<u8, Mulst_SPEC>;
1085    impl Mulst {
1086        #[doc = "Completion of operation processing"]
1087        pub const _0: Self = Self::new(0);
1088
1089        #[doc = "During operation processing"]
1090        pub const _1: Self = Self::new(1);
1091    }
1092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1093    pub struct Macsf_SPEC;
1094    pub type Macsf = crate::EnumBitfieldStruct<u8, Macsf_SPEC>;
1095    impl Macsf {
1096        #[doc = "Positive accumulation value"]
1097        pub const _0: Self = Self::new(0);
1098
1099        #[doc = "Negative accumulation value"]
1100        pub const _1: Self = Self::new(1);
1101    }
1102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1103    pub struct Macof_SPEC;
1104    pub type Macof = crate::EnumBitfieldStruct<u8, Macof_SPEC>;
1105    impl Macof {
1106        #[doc = "No overflow/underflow occurred"]
1107        pub const _0: Self = Self::new(0);
1108
1109        #[doc = "Overflow/underflow occurred"]
1110        pub const _1: Self = Self::new(1);
1111    }
1112    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1113    pub struct Mulfrac_SPEC;
1114    pub type Mulfrac = crate::EnumBitfieldStruct<u8, Mulfrac_SPEC>;
1115    impl Mulfrac {
1116        #[doc = "Disabled"]
1117        pub const _0: Self = Self::new(0);
1118
1119        #[doc = "Enabled"]
1120        pub const _1: Self = Self::new(1);
1121    }
1122    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1123    pub struct Mulsm_SPEC;
1124    pub type Mulsm = crate::EnumBitfieldStruct<u8, Mulsm_SPEC>;
1125    impl Mulsm {
1126        #[doc = "Unsigned"]
1127        pub const _0: Self = Self::new(0);
1128
1129        #[doc = "Signed"]
1130        pub const _1: Self = Self::new(1);
1131    }
1132    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1133    pub struct Macmode_SPEC;
1134    pub type Macmode = crate::EnumBitfieldStruct<u8, Macmode_SPEC>;
1135    impl Macmode {
1136        #[doc = "Multiplication mode"]
1137        pub const _0: Self = Self::new(0);
1138
1139        #[doc = "Multiply-accumulation mode"]
1140        pub const _1: Self = Self::new(1);
1141    }
1142}
1143#[doc(hidden)]
1144#[derive(Copy, Clone, Eq, PartialEq)]
1145pub struct Mulrclr_SPEC;
1146impl crate::sealed::RegSpec for Mulrclr_SPEC {
1147    type DataType = u32;
1148}
1149
1150#[doc = "Multiplication Result Clear Register"]
1151pub type Mulrclr = crate::RegValueT<Mulrclr_SPEC>;
1152
1153impl NoBitfieldReg<Mulrclr_SPEC> for Mulrclr {}
1154impl ::core::default::Default for Mulrclr {
1155    #[inline(always)]
1156    fn default() -> Mulrclr {
1157        <crate::RegValueT<Mulrclr_SPEC> as RegisterValue<_>>::new(0)
1158    }
1159}