1#![allow(non_snake_case, non_camel_case_types)]
2use super::{assembler::*, instdb::*, operands::*};
3use crate::core::globals::CondCode;
4use crate::core::operand::*;
5
6pub trait AdcEmitter<T0, T1, T2> {
7 fn adc(&mut self, op0: T0, op1: T1, op2: T2);
8}
9
10pub trait AdcsEmitter<T0, T1, T2> {
11 fn adcs(&mut self, op0: T0, op1: T1, op2: T2);
12}
13
14pub trait AddEmitter<T0, T1, T2> {
15 fn add(&mut self, op0: T0, op1: T1, op2: T2);
16}
17
18pub trait Add4Emitter<T0, T1, T2, T3> {
19 fn add_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
20}
21
22pub trait AddsEmitter<T0, T1, T2> {
23 fn adds(&mut self, op0: T0, op1: T1, op2: T2);
24}
25
26pub trait Adds4Emitter<T0, T1, T2, T3> {
27 fn adds_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
28}
29
30pub trait AdrEmitter<T0, T1> {
31 fn adr(&mut self, op0: T0, op1: T1);
32}
33
34pub trait AdrpEmitter<T0, T1> {
35 fn adrp(&mut self, op0: T0, op1: T1);
36}
37
38pub trait AndEmitter<T0, T1, T2> {
39 fn and_(&mut self, op0: T0, op1: T1, op2: T2);
40}
41
42pub trait And4Emitter<T0, T1, T2, T3> {
43 fn and__4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
44}
45
46pub trait AndsEmitter<T0, T1, T2> {
47 fn ands(&mut self, op0: T0, op1: T1, op2: T2);
48}
49
50pub trait Ands4Emitter<T0, T1, T2, T3> {
51 fn ands_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
52}
53
54pub trait AsrEmitter<T0, T1, T2> {
55 fn asr(&mut self, op0: T0, op1: T1, op2: T2);
56}
57
58pub trait AsrvEmitter<T0, T1, T2> {
59 fn asrv(&mut self, op0: T0, op1: T1, op2: T2);
60}
61
62pub trait AtEmitter<T0, T1> {
63 fn at(&mut self, op0: T0, op1: T1);
64}
65
66pub trait BfcEmitter<T0, T1, T2> {
67 fn bfc(&mut self, op0: T0, op1: T1, op2: T2);
68}
69
70pub trait BfiEmitter<T0, T1, T2, T3> {
71 fn bfi(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
72}
73
74pub trait BfmEmitter<T0, T1, T2, T3> {
75 fn bfm(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
76}
77
78pub trait BfxilEmitter<T0, T1, T2, T3> {
79 fn bfxil(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
80}
81
82pub trait BicEmitter<T0, T1, T2> {
83 fn bic(&mut self, op0: T0, op1: T1, op2: T2);
84}
85
86pub trait Bic4Emitter<T0, T1, T2, T3> {
87 fn bic_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
88}
89
90pub trait BicsEmitter<T0, T1, T2> {
91 fn bics(&mut self, op0: T0, op1: T1, op2: T2);
92}
93
94pub trait Bics4Emitter<T0, T1, T2, T3> {
95 fn bics_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
96}
97
98pub trait BrkEmitter<T0> {
99 fn brk(&mut self, op0: T0);
100}
101
102pub trait CcmnEmitter<T0, T1, T2, T3> {
103 fn ccmn(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
104}
105
106pub trait CcmpEmitter<T0, T1, T2, T3> {
107 fn ccmp(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
108}
109
110pub trait CincEmitter<T0, T1, T2> {
111 fn cinc(&mut self, op0: T0, op1: T1, op2: T2);
112}
113
114pub trait CinvEmitter<T0, T1, T2> {
115 fn cinv(&mut self, op0: T0, op1: T1, op2: T2);
116}
117
118pub trait ClrexEmitter<T0> {
119 fn clrex(&mut self, op0: T0);
120}
121
122pub trait ClsEmitter<T0, T1> {
123 fn cls(&mut self, op0: T0, op1: T1);
124}
125
126pub trait ClzEmitter<T0, T1> {
127 fn clz(&mut self, op0: T0, op1: T1);
128}
129
130pub trait CmnEmitter<T0, T1> {
131 fn cmn(&mut self, op0: T0, op1: T1);
132}
133
134pub trait Cmn3Emitter<T0, T1, T2> {
135 fn cmn_3(&mut self, op0: T0, op1: T1, op2: T2);
136}
137
138pub trait CmpEmitter<T0, T1> {
139 fn cmp(&mut self, op0: T0, op1: T1);
140}
141
142pub trait Cmp3Emitter<T0, T1, T2> {
143 fn cmp_3(&mut self, op0: T0, op1: T1, op2: T2);
144}
145
146pub trait CnegEmitter<T0, T1, T2> {
147 fn cneg(&mut self, op0: T0, op1: T1, op2: T2);
148}
149
150pub trait CselEmitter<T0, T1, T2, T3> {
151 fn csel(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
152}
153
154pub trait CsetEmitter<T0, T1> {
155 fn cset(&mut self, op0: T0, op1: T1);
156}
157
158pub trait CsetmEmitter<T0, T1> {
159 fn csetm(&mut self, op0: T0, op1: T1);
160}
161
162pub trait CsincEmitter<T0, T1, T2, T3> {
163 fn csinc(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
164}
165
166pub trait CsinvEmitter<T0, T1, T2, T3> {
167 fn csinv(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
168}
169
170pub trait CsnegEmitter<T0, T1, T2, T3> {
171 fn csneg(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
172}
173
174pub trait DcEmitter<T0, T1> {
175 fn dc(&mut self, op0: T0, op1: T1);
176}
177
178pub trait DmbEmitter<T0> {
179 fn dmb(&mut self, op0: T0);
180}
181
182pub trait DsbEmitter<T0> {
183 fn dsb(&mut self, op0: T0);
184}
185
186pub trait DrpsEmitter {
187 fn drps(&mut self);
188}
189
190pub trait EonEmitter<T0, T1, T2> {
191 fn eon(&mut self, op0: T0, op1: T1, op2: T2);
192}
193
194pub trait Eon4Emitter<T0, T1, T2, T3> {
195 fn eon_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
196}
197
198pub trait EorEmitter<T0, T1, T2> {
199 fn eor(&mut self, op0: T0, op1: T1, op2: T2);
200}
201
202pub trait Eor4Emitter<T0, T1, T2, T3> {
203 fn eor_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
204}
205
206pub trait EretEmitter {
207 fn eret(&mut self);
208}
209
210pub trait EsbEmitter {
211 fn esb(&mut self);
212}
213
214pub trait ExtrEmitter<T0, T1, T2, T3> {
215 fn extr(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
216}
217
218pub trait HltEmitter<T0> {
219 fn hlt(&mut self, op0: T0);
220}
221
222pub trait HvcEmitter<T0> {
223 fn hvc(&mut self, op0: T0);
224}
225
226pub trait IcEmitter<T0, T1> {
227 fn ic(&mut self, op0: T0, op1: T1);
228}
229
230pub trait IsbEmitter<T0> {
231 fn isb(&mut self, op0: T0);
232}
233
234pub trait LslEmitter<T0, T1, T2> {
235 fn lsl(&mut self, op0: T0, op1: T1, op2: T2);
236}
237
238pub trait LslvEmitter<T0, T1, T2> {
239 fn lslv(&mut self, op0: T0, op1: T1, op2: T2);
240}
241
242pub trait LsrEmitter<T0, T1, T2> {
243 fn lsr(&mut self, op0: T0, op1: T1, op2: T2);
244}
245
246pub trait LsrvEmitter<T0, T1, T2> {
247 fn lsrv(&mut self, op0: T0, op1: T1, op2: T2);
248}
249
250pub trait MaddEmitter<T0, T1, T2, T3> {
251 fn madd(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
252}
253
254pub trait MnegEmitter<T0, T1, T2> {
255 fn mneg(&mut self, op0: T0, op1: T1, op2: T2);
256}
257
258pub trait MovEmitter<T0, T1> {
259 fn mov(&mut self, op0: T0, op1: T1);
260}
261
262pub trait MovkEmitter<T0, T1> {
263 fn movk(&mut self, op0: T0, op1: T1);
264}
265
266pub trait Movk3Emitter<T0, T1, T2> {
267 fn movk_3(&mut self, op0: T0, op1: T1, op2: T2);
268}
269
270pub trait MovnEmitter<T0, T1> {
271 fn movn(&mut self, op0: T0, op1: T1);
272}
273
274pub trait Movn3Emitter<T0, T1, T2> {
275 fn movn_3(&mut self, op0: T0, op1: T1, op2: T2);
276}
277
278pub trait MovzEmitter<T0, T1> {
279 fn movz(&mut self, op0: T0, op1: T1);
280}
281
282pub trait Movz3Emitter<T0, T1, T2> {
283 fn movz_3(&mut self, op0: T0, op1: T1, op2: T2);
284}
285
286pub trait MrsEmitter<T0, T1> {
287 fn mrs(&mut self, op0: T0, op1: T1);
288}
289
290pub trait MsrEmitter<T0, T1> {
291 fn msr(&mut self, op0: T0, op1: T1);
292}
293
294pub trait MsubEmitter<T0, T1, T2, T3> {
295 fn msub(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
296}
297
298pub trait MulEmitter<T0, T1, T2> {
299 fn mul(&mut self, op0: T0, op1: T1, op2: T2);
300}
301
302pub trait MvnEmitter<T0, T1> {
303 fn mvn(&mut self, op0: T0, op1: T1);
304}
305
306pub trait Mvn3Emitter<T0, T1, T2> {
307 fn mvn_3(&mut self, op0: T0, op1: T1, op2: T2);
308}
309
310pub trait Mvn_Emitter<T0, T1> {
311 fn mvn_(&mut self, op0: T0, op1: T1);
312}
313
314pub trait Mvn_3Emitter<T0, T1, T2> {
315 fn mvn__3(&mut self, op0: T0, op1: T1, op2: T2);
316}
317
318pub trait NegEmitter<T0, T1> {
319 fn neg(&mut self, op0: T0, op1: T1);
320}
321
322pub trait Neg3Emitter<T0, T1, T2> {
323 fn neg_3(&mut self, op0: T0, op1: T1, op2: T2);
324}
325
326pub trait NegsEmitter<T0, T1> {
327 fn negs(&mut self, op0: T0, op1: T1);
328}
329
330pub trait Negs3Emitter<T0, T1, T2> {
331 fn negs_3(&mut self, op0: T0, op1: T1, op2: T2);
332}
333
334pub trait NgcEmitter<T0, T1> {
335 fn ngc(&mut self, op0: T0, op1: T1);
336}
337
338pub trait NgcsEmitter<T0, T1> {
339 fn ngcs(&mut self, op0: T0, op1: T1);
340}
341
342pub trait OrnEmitter<T0, T1, T2> {
343 fn orn(&mut self, op0: T0, op1: T1, op2: T2);
344}
345
346pub trait Orn4Emitter<T0, T1, T2, T3> {
347 fn orn_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
348}
349
350pub trait OrrEmitter<T0, T1, T2> {
351 fn orr(&mut self, op0: T0, op1: T1, op2: T2);
352}
353
354pub trait Orr4Emitter<T0, T1, T2, T3> {
355 fn orr_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
356}
357
358pub trait RbitEmitter<T0, T1> {
359 fn rbit(&mut self, op0: T0, op1: T1);
360}
361
362pub trait RetEmitter<T0> {
363 fn ret(&mut self, op0: T0);
364}
365
366pub trait RevEmitter<T0, T1> {
367 fn rev(&mut self, op0: T0, op1: T1);
368}
369
370pub trait Rev16Emitter<T0, T1> {
371 fn rev16(&mut self, op0: T0, op1: T1);
372}
373
374pub trait Rev32Emitter<T0, T1> {
375 fn rev32(&mut self, op0: T0, op1: T1);
376}
377
378pub trait Rev64Emitter<T0, T1> {
379 fn rev64(&mut self, op0: T0, op1: T1);
380}
381
382pub trait RorEmitter<T0, T1, T2> {
383 fn ror(&mut self, op0: T0, op1: T1, op2: T2);
384}
385
386pub trait RorvEmitter<T0, T1, T2> {
387 fn rorv(&mut self, op0: T0, op1: T1, op2: T2);
388}
389
390pub trait SbcEmitter<T0, T1, T2> {
391 fn sbc(&mut self, op0: T0, op1: T1, op2: T2);
392}
393
394pub trait SbcsEmitter<T0, T1, T2> {
395 fn sbcs(&mut self, op0: T0, op1: T1, op2: T2);
396}
397
398pub trait SbfizEmitter<T0, T1, T2, T3> {
399 fn sbfiz(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
400}
401
402pub trait SbfmEmitter<T0, T1, T2, T3> {
403 fn sbfm(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
404}
405
406pub trait SbfxEmitter<T0, T1, T2, T3> {
407 fn sbfx(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
408}
409
410pub trait SdivEmitter<T0, T1, T2> {
411 fn sdiv(&mut self, op0: T0, op1: T1, op2: T2);
412}
413
414pub trait SmaddlEmitter<T0, T1, T2, T3> {
415 fn smaddl(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
416}
417
418pub trait SmcEmitter<T0> {
419 fn smc(&mut self, op0: T0);
420}
421
422pub trait SmneglEmitter<T0, T1, T2> {
423 fn smnegl(&mut self, op0: T0, op1: T1, op2: T2);
424}
425
426pub trait SmsublEmitter<T0, T1, T2, T3> {
427 fn smsubl(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
428}
429
430pub trait SmulhEmitter<T0, T1, T2> {
431 fn smulh(&mut self, op0: T0, op1: T1, op2: T2);
432}
433
434pub trait SmullEmitter<T0, T1, T2> {
435 fn smull(&mut self, op0: T0, op1: T1, op2: T2);
436}
437
438pub trait SubEmitter<T0, T1, T2> {
439 fn sub(&mut self, op0: T0, op1: T1, op2: T2);
440}
441
442pub trait Sub4Emitter<T0, T1, T2, T3> {
443 fn sub_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
444}
445
446pub trait SubsEmitter<T0, T1, T2> {
447 fn subs(&mut self, op0: T0, op1: T1, op2: T2);
448}
449
450pub trait Subs4Emitter<T0, T1, T2, T3> {
451 fn subs_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
452}
453
454pub trait SvcEmitter<T0> {
455 fn svc(&mut self, op0: T0);
456}
457
458pub trait SxtbEmitter<T0, T1> {
459 fn sxtb(&mut self, op0: T0, op1: T1);
460}
461
462pub trait SxthEmitter<T0, T1> {
463 fn sxth(&mut self, op0: T0, op1: T1);
464}
465
466pub trait SxtwEmitter<T0, T1> {
467 fn sxtw(&mut self, op0: T0, op1: T1);
468}
469
470pub trait SysEmitter<T0, T1, T2, T3> {
471 fn sys(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
472}
473
474pub trait Sys5Emitter<T0, T1, T2, T3, T4> {
475 fn sys_5(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
476}
477
478pub trait TlbiEmitter<T0, T1> {
479 fn tlbi(&mut self, op0: T0, op1: T1);
480}
481
482pub trait TstEmitter<T0, T1> {
483 fn tst(&mut self, op0: T0, op1: T1);
484}
485
486pub trait Tst3Emitter<T0, T1, T2> {
487 fn tst_3(&mut self, op0: T0, op1: T1, op2: T2);
488}
489
490pub trait UdivEmitter<T0, T1, T2> {
491 fn udiv(&mut self, op0: T0, op1: T1, op2: T2);
492}
493
494pub trait UbfizEmitter<T0, T1, T2, T3> {
495 fn ubfiz(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
496}
497
498pub trait UbfmEmitter<T0, T1, T2, T3> {
499 fn ubfm(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
500}
501
502pub trait UbfxEmitter<T0, T1, T2, T3> {
503 fn ubfx(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
504}
505
506pub trait UmaddlEmitter<T0, T1, T2, T3> {
507 fn umaddl(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
508}
509
510pub trait UmneglEmitter<T0, T1, T2> {
511 fn umnegl(&mut self, op0: T0, op1: T1, op2: T2);
512}
513
514pub trait UmsublEmitter<T0, T1, T2, T3> {
515 fn umsubl(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
516}
517
518pub trait UmullEmitter<T0, T1, T2> {
519 fn umull(&mut self, op0: T0, op1: T1, op2: T2);
520}
521
522pub trait UmulhEmitter<T0, T1, T2> {
523 fn umulh(&mut self, op0: T0, op1: T1, op2: T2);
524}
525
526pub trait UxtbEmitter<T0, T1> {
527 fn uxtb(&mut self, op0: T0, op1: T1);
528}
529
530pub trait UxthEmitter<T0, T1> {
531 fn uxth(&mut self, op0: T0, op1: T1);
532}
533
534pub trait CsdbEmitter {
535 fn csdb(&mut self);
536}
537
538pub trait Dcps1Emitter<T0> {
539 fn dcps1(&mut self, op0: T0);
540}
541
542pub trait Dcps2Emitter<T0> {
543 fn dcps2(&mut self, op0: T0);
544}
545
546pub trait Dcps3Emitter<T0> {
547 fn dcps3(&mut self, op0: T0);
548}
549
550pub trait PssbbEmitter {
551 fn pssbb(&mut self);
552}
553
554pub trait SsbbEmitter {
555 fn ssbb(&mut self);
556}
557
558pub trait UdfEmitter<T0> {
559 fn udf(&mut self, op0: T0);
560}
561
562pub trait BEmitter<T0> {
563 fn b(&mut self, op0: T0);
564 fn b_eq(&mut self, op0: T0);
565 fn b_ne(&mut self, op0: T0);
566 fn b_cs(&mut self, op0: T0);
567 fn b_hs(&mut self, op0: T0);
568 fn b_cc(&mut self, op0: T0);
569 fn b_lo(&mut self, op0: T0);
570 fn b_mi(&mut self, op0: T0);
571 fn b_pl(&mut self, op0: T0);
572 fn b_vs(&mut self, op0: T0);
573 fn b_vc(&mut self, op0: T0);
574 fn b_hi(&mut self, op0: T0);
575 fn b_ls(&mut self, op0: T0);
576 fn b_ge(&mut self, op0: T0);
577 fn b_lt(&mut self, op0: T0);
578 fn b_gt(&mut self, op0: T0);
579 fn b_le(&mut self, op0: T0);
580 fn b_al(&mut self, op0: T0);
581}
582
583pub trait BlEmitter<T0> {
584 fn bl(&mut self, op0: T0);
585}
586
587pub trait BlrEmitter<T0> {
588 fn blr(&mut self, op0: T0);
589}
590
591pub trait BrEmitter<T0> {
592 fn br(&mut self, op0: T0);
593}
594
595pub trait CbzEmitter<T0, T1> {
596 fn cbz(&mut self, op0: T0, op1: T1);
597}
598
599pub trait CbnzEmitter<T0, T1> {
600 fn cbnz(&mut self, op0: T0, op1: T1);
601}
602
603pub trait TbnzEmitter<T0, T1, T2> {
604 fn tbnz(&mut self, op0: T0, op1: T1, op2: T2);
605}
606
607pub trait TbzEmitter<T0, T1, T2> {
608 fn tbz(&mut self, op0: T0, op1: T1, op2: T2);
609}
610
611pub trait CasEmitter<T0, T1, T2> {
612 fn cas(&mut self, op0: T0, op1: T1, op2: T2);
613}
614
615pub trait CasaEmitter<T0, T1, T2> {
616 fn casa(&mut self, op0: T0, op1: T1, op2: T2);
617}
618
619pub trait CasabEmitter<T0, T1, T2> {
620 fn casab(&mut self, op0: T0, op1: T1, op2: T2);
621}
622
623pub trait CasahEmitter<T0, T1, T2> {
624 fn casah(&mut self, op0: T0, op1: T1, op2: T2);
625}
626
627pub trait CasalEmitter<T0, T1, T2> {
628 fn casal(&mut self, op0: T0, op1: T1, op2: T2);
629}
630
631pub trait CasalbEmitter<T0, T1, T2> {
632 fn casalb(&mut self, op0: T0, op1: T1, op2: T2);
633}
634
635pub trait CasalhEmitter<T0, T1, T2> {
636 fn casalh(&mut self, op0: T0, op1: T1, op2: T2);
637}
638
639pub trait CasbEmitter<T0, T1, T2> {
640 fn casb(&mut self, op0: T0, op1: T1, op2: T2);
641}
642
643pub trait CashEmitter<T0, T1, T2> {
644 fn cash(&mut self, op0: T0, op1: T1, op2: T2);
645}
646
647pub trait CaslEmitter<T0, T1, T2> {
648 fn casl(&mut self, op0: T0, op1: T1, op2: T2);
649}
650
651pub trait CaslbEmitter<T0, T1, T2> {
652 fn caslb(&mut self, op0: T0, op1: T1, op2: T2);
653}
654
655pub trait CaslhEmitter<T0, T1, T2> {
656 fn caslh(&mut self, op0: T0, op1: T1, op2: T2);
657}
658
659pub trait CaspEmitter<T0, T1, T2, T3, T4> {
660 fn casp(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
661}
662
663pub trait CaspaEmitter<T0, T1, T2, T3, T4> {
664 fn caspa(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
665}
666
667pub trait CaspalEmitter<T0, T1, T2, T3, T4> {
668 fn caspal(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
669}
670
671pub trait CasplEmitter<T0, T1, T2, T3, T4> {
672 fn caspl(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
673}
674
675pub trait LdaddEmitter<T0, T1, T2> {
676 fn ldadd(&mut self, op0: T0, op1: T1, op2: T2);
677}
678
679pub trait LdaddaEmitter<T0, T1, T2> {
680 fn ldadda(&mut self, op0: T0, op1: T1, op2: T2);
681}
682
683pub trait LdaddabEmitter<T0, T1, T2> {
684 fn ldaddab(&mut self, op0: T0, op1: T1, op2: T2);
685}
686
687pub trait LdaddahEmitter<T0, T1, T2> {
688 fn ldaddah(&mut self, op0: T0, op1: T1, op2: T2);
689}
690
691pub trait LdaddalEmitter<T0, T1, T2> {
692 fn ldaddal(&mut self, op0: T0, op1: T1, op2: T2);
693}
694
695pub trait LdaddalbEmitter<T0, T1, T2> {
696 fn ldaddalb(&mut self, op0: T0, op1: T1, op2: T2);
697}
698
699pub trait LdaddalhEmitter<T0, T1, T2> {
700 fn ldaddalh(&mut self, op0: T0, op1: T1, op2: T2);
701}
702
703pub trait LdaddbEmitter<T0, T1, T2> {
704 fn ldaddb(&mut self, op0: T0, op1: T1, op2: T2);
705}
706
707pub trait LdaddhEmitter<T0, T1, T2> {
708 fn ldaddh(&mut self, op0: T0, op1: T1, op2: T2);
709}
710
711pub trait LdaddlEmitter<T0, T1, T2> {
712 fn ldaddl(&mut self, op0: T0, op1: T1, op2: T2);
713}
714
715pub trait LdaddlbEmitter<T0, T1, T2> {
716 fn ldaddlb(&mut self, op0: T0, op1: T1, op2: T2);
717}
718
719pub trait LdaddlhEmitter<T0, T1, T2> {
720 fn ldaddlh(&mut self, op0: T0, op1: T1, op2: T2);
721}
722
723pub trait LdarEmitter<T0, T1> {
724 fn ldar(&mut self, op0: T0, op1: T1);
725}
726
727pub trait LdarbEmitter<T0, T1> {
728 fn ldarb(&mut self, op0: T0, op1: T1);
729}
730
731pub trait LdarhEmitter<T0, T1> {
732 fn ldarh(&mut self, op0: T0, op1: T1);
733}
734
735pub trait LdaxrEmitter<T0, T1> {
736 fn ldaxr(&mut self, op0: T0, op1: T1);
737}
738
739pub trait LdaxrbEmitter<T0, T1> {
740 fn ldaxrb(&mut self, op0: T0, op1: T1);
741}
742
743pub trait LdaxrhEmitter<T0, T1> {
744 fn ldaxrh(&mut self, op0: T0, op1: T1);
745}
746
747pub trait LdclrEmitter<T0, T1, T2> {
748 fn ldclr(&mut self, op0: T0, op1: T1, op2: T2);
749}
750
751pub trait LdclraEmitter<T0, T1, T2> {
752 fn ldclra(&mut self, op0: T0, op1: T1, op2: T2);
753}
754
755pub trait LdclrabEmitter<T0, T1, T2> {
756 fn ldclrab(&mut self, op0: T0, op1: T1, op2: T2);
757}
758
759pub trait LdclrahEmitter<T0, T1, T2> {
760 fn ldclrah(&mut self, op0: T0, op1: T1, op2: T2);
761}
762
763pub trait LdclralEmitter<T0, T1, T2> {
764 fn ldclral(&mut self, op0: T0, op1: T1, op2: T2);
765}
766
767pub trait LdclralbEmitter<T0, T1, T2> {
768 fn ldclralb(&mut self, op0: T0, op1: T1, op2: T2);
769}
770
771pub trait LdclralhEmitter<T0, T1, T2> {
772 fn ldclralh(&mut self, op0: T0, op1: T1, op2: T2);
773}
774
775pub trait LdclrbEmitter<T0, T1, T2> {
776 fn ldclrb(&mut self, op0: T0, op1: T1, op2: T2);
777}
778
779pub trait LdclrhEmitter<T0, T1, T2> {
780 fn ldclrh(&mut self, op0: T0, op1: T1, op2: T2);
781}
782
783pub trait LdclrlEmitter<T0, T1, T2> {
784 fn ldclrl(&mut self, op0: T0, op1: T1, op2: T2);
785}
786
787pub trait LdclrlbEmitter<T0, T1, T2> {
788 fn ldclrlb(&mut self, op0: T0, op1: T1, op2: T2);
789}
790
791pub trait LdclrlhEmitter<T0, T1, T2> {
792 fn ldclrlh(&mut self, op0: T0, op1: T1, op2: T2);
793}
794
795pub trait LdeorEmitter<T0, T1, T2> {
796 fn ldeor(&mut self, op0: T0, op1: T1, op2: T2);
797}
798
799pub trait LdeoraEmitter<T0, T1, T2> {
800 fn ldeora(&mut self, op0: T0, op1: T1, op2: T2);
801}
802
803pub trait LdeorabEmitter<T0, T1, T2> {
804 fn ldeorab(&mut self, op0: T0, op1: T1, op2: T2);
805}
806
807pub trait LdeorahEmitter<T0, T1, T2> {
808 fn ldeorah(&mut self, op0: T0, op1: T1, op2: T2);
809}
810
811pub trait LdeoralEmitter<T0, T1, T2> {
812 fn ldeoral(&mut self, op0: T0, op1: T1, op2: T2);
813}
814
815pub trait LdeoralbEmitter<T0, T1, T2> {
816 fn ldeoralb(&mut self, op0: T0, op1: T1, op2: T2);
817}
818
819pub trait LdeoralhEmitter<T0, T1, T2> {
820 fn ldeoralh(&mut self, op0: T0, op1: T1, op2: T2);
821}
822
823pub trait LdeorbEmitter<T0, T1, T2> {
824 fn ldeorb(&mut self, op0: T0, op1: T1, op2: T2);
825}
826
827pub trait LdeorhEmitter<T0, T1, T2> {
828 fn ldeorh(&mut self, op0: T0, op1: T1, op2: T2);
829}
830
831pub trait LdeorlEmitter<T0, T1, T2> {
832 fn ldeorl(&mut self, op0: T0, op1: T1, op2: T2);
833}
834
835pub trait LdeorlbEmitter<T0, T1, T2> {
836 fn ldeorlb(&mut self, op0: T0, op1: T1, op2: T2);
837}
838
839pub trait LdeorlhEmitter<T0, T1, T2> {
840 fn ldeorlh(&mut self, op0: T0, op1: T1, op2: T2);
841}
842
843pub trait LdlarEmitter<T0, T1> {
844 fn ldlar(&mut self, op0: T0, op1: T1);
845}
846
847pub trait LdlarbEmitter<T0, T1> {
848 fn ldlarb(&mut self, op0: T0, op1: T1);
849}
850
851pub trait LdlarhEmitter<T0, T1> {
852 fn ldlarh(&mut self, op0: T0, op1: T1);
853}
854
855pub trait LdnpEmitter<T0, T1, T2> {
856 fn ldnp(&mut self, op0: T0, op1: T1, op2: T2);
857}
858
859pub trait LdpEmitter<T0, T1, T2> {
860 fn ldp(&mut self, op0: T0, op1: T1, op2: T2);
861}
862
863pub trait LdpswEmitter<T0, T1, T2> {
864 fn ldpsw(&mut self, op0: T0, op1: T1, op2: T2);
865}
866
867pub trait LdrEmitter<T0, T1> {
868 fn ldr(&mut self, op0: T0, op1: T1);
869}
870
871pub trait LdrbEmitter<T0, T1> {
872 fn ldrb(&mut self, op0: T0, op1: T1);
873}
874
875pub trait LdrhEmitter<T0, T1> {
876 fn ldrh(&mut self, op0: T0, op1: T1);
877}
878
879pub trait LdrsbEmitter<T0, T1> {
880 fn ldrsb(&mut self, op0: T0, op1: T1);
881}
882
883pub trait LdrshEmitter<T0, T1> {
884 fn ldrsh(&mut self, op0: T0, op1: T1);
885}
886
887pub trait LdrswEmitter<T0, T1> {
888 fn ldrsw(&mut self, op0: T0, op1: T1);
889}
890
891pub trait LdsetEmitter<T0, T1, T2> {
892 fn ldset(&mut self, op0: T0, op1: T1, op2: T2);
893}
894
895pub trait LdsetaEmitter<T0, T1, T2> {
896 fn ldseta(&mut self, op0: T0, op1: T1, op2: T2);
897}
898
899pub trait LdsetabEmitter<T0, T1, T2> {
900 fn ldsetab(&mut self, op0: T0, op1: T1, op2: T2);
901}
902
903pub trait LdsetahEmitter<T0, T1, T2> {
904 fn ldsetah(&mut self, op0: T0, op1: T1, op2: T2);
905}
906
907pub trait LdsetalEmitter<T0, T1, T2> {
908 fn ldsetal(&mut self, op0: T0, op1: T1, op2: T2);
909}
910
911pub trait LdsetalbEmitter<T0, T1, T2> {
912 fn ldsetalb(&mut self, op0: T0, op1: T1, op2: T2);
913}
914
915pub trait LdsetalhEmitter<T0, T1, T2> {
916 fn ldsetalh(&mut self, op0: T0, op1: T1, op2: T2);
917}
918
919pub trait LdsetbEmitter<T0, T1, T2> {
920 fn ldsetb(&mut self, op0: T0, op1: T1, op2: T2);
921}
922
923pub trait LdsethEmitter<T0, T1, T2> {
924 fn ldseth(&mut self, op0: T0, op1: T1, op2: T2);
925}
926
927pub trait LdsetlEmitter<T0, T1, T2> {
928 fn ldsetl(&mut self, op0: T0, op1: T1, op2: T2);
929}
930
931pub trait LdsetlbEmitter<T0, T1, T2> {
932 fn ldsetlb(&mut self, op0: T0, op1: T1, op2: T2);
933}
934
935pub trait LdsetlhEmitter<T0, T1, T2> {
936 fn ldsetlh(&mut self, op0: T0, op1: T1, op2: T2);
937}
938
939pub trait LdsmaxEmitter<T0, T1, T2> {
940 fn ldsmax(&mut self, op0: T0, op1: T1, op2: T2);
941}
942
943pub trait LdsmaxaEmitter<T0, T1, T2> {
944 fn ldsmaxa(&mut self, op0: T0, op1: T1, op2: T2);
945}
946
947pub trait LdsmaxabEmitter<T0, T1, T2> {
948 fn ldsmaxab(&mut self, op0: T0, op1: T1, op2: T2);
949}
950
951pub trait LdsmaxahEmitter<T0, T1, T2> {
952 fn ldsmaxah(&mut self, op0: T0, op1: T1, op2: T2);
953}
954
955pub trait LdsmaxalEmitter<T0, T1, T2> {
956 fn ldsmaxal(&mut self, op0: T0, op1: T1, op2: T2);
957}
958
959pub trait LdsmaxalbEmitter<T0, T1, T2> {
960 fn ldsmaxalb(&mut self, op0: T0, op1: T1, op2: T2);
961}
962
963pub trait LdsmaxalhEmitter<T0, T1, T2> {
964 fn ldsmaxalh(&mut self, op0: T0, op1: T1, op2: T2);
965}
966
967pub trait LdsmaxbEmitter<T0, T1, T2> {
968 fn ldsmaxb(&mut self, op0: T0, op1: T1, op2: T2);
969}
970
971pub trait LdsmaxhEmitter<T0, T1, T2> {
972 fn ldsmaxh(&mut self, op0: T0, op1: T1, op2: T2);
973}
974
975pub trait LdsmaxlEmitter<T0, T1, T2> {
976 fn ldsmaxl(&mut self, op0: T0, op1: T1, op2: T2);
977}
978
979pub trait LdsmaxlbEmitter<T0, T1, T2> {
980 fn ldsmaxlb(&mut self, op0: T0, op1: T1, op2: T2);
981}
982
983pub trait LdsmaxlhEmitter<T0, T1, T2> {
984 fn ldsmaxlh(&mut self, op0: T0, op1: T1, op2: T2);
985}
986
987pub trait LdsminEmitter<T0, T1, T2> {
988 fn ldsmin(&mut self, op0: T0, op1: T1, op2: T2);
989}
990
991pub trait LdsminaEmitter<T0, T1, T2> {
992 fn ldsmina(&mut self, op0: T0, op1: T1, op2: T2);
993}
994
995pub trait LdsminabEmitter<T0, T1, T2> {
996 fn ldsminab(&mut self, op0: T0, op1: T1, op2: T2);
997}
998
999pub trait LdsminahEmitter<T0, T1, T2> {
1000 fn ldsminah(&mut self, op0: T0, op1: T1, op2: T2);
1001}
1002
1003pub trait LdsminalEmitter<T0, T1, T2> {
1004 fn ldsminal(&mut self, op0: T0, op1: T1, op2: T2);
1005}
1006
1007pub trait LdsminalbEmitter<T0, T1, T2> {
1008 fn ldsminalb(&mut self, op0: T0, op1: T1, op2: T2);
1009}
1010
1011pub trait LdsminalhEmitter<T0, T1, T2> {
1012 fn ldsminalh(&mut self, op0: T0, op1: T1, op2: T2);
1013}
1014
1015pub trait LdsminbEmitter<T0, T1, T2> {
1016 fn ldsminb(&mut self, op0: T0, op1: T1, op2: T2);
1017}
1018
1019pub trait LdsminhEmitter<T0, T1, T2> {
1020 fn ldsminh(&mut self, op0: T0, op1: T1, op2: T2);
1021}
1022
1023pub trait LdsminlEmitter<T0, T1, T2> {
1024 fn ldsminl(&mut self, op0: T0, op1: T1, op2: T2);
1025}
1026
1027pub trait LdsminlbEmitter<T0, T1, T2> {
1028 fn ldsminlb(&mut self, op0: T0, op1: T1, op2: T2);
1029}
1030
1031pub trait LdsminlhEmitter<T0, T1, T2> {
1032 fn ldsminlh(&mut self, op0: T0, op1: T1, op2: T2);
1033}
1034
1035pub trait LdtrEmitter<T0, T1> {
1036 fn ldtr(&mut self, op0: T0, op1: T1);
1037}
1038
1039pub trait LdtrbEmitter<T0, T1> {
1040 fn ldtrb(&mut self, op0: T0, op1: T1);
1041}
1042
1043pub trait LdtrhEmitter<T0, T1> {
1044 fn ldtrh(&mut self, op0: T0, op1: T1);
1045}
1046
1047pub trait LdtrsbEmitter<T0, T1> {
1048 fn ldtrsb(&mut self, op0: T0, op1: T1);
1049}
1050
1051pub trait LdtrshEmitter<T0, T1> {
1052 fn ldtrsh(&mut self, op0: T0, op1: T1);
1053}
1054
1055pub trait LdtrswEmitter<T0, T1> {
1056 fn ldtrsw(&mut self, op0: T0, op1: T1);
1057}
1058
1059pub trait LdumaxEmitter<T0, T1, T2> {
1060 fn ldumax(&mut self, op0: T0, op1: T1, op2: T2);
1061}
1062
1063pub trait LdumaxaEmitter<T0, T1, T2> {
1064 fn ldumaxa(&mut self, op0: T0, op1: T1, op2: T2);
1065}
1066
1067pub trait LdumaxabEmitter<T0, T1, T2> {
1068 fn ldumaxab(&mut self, op0: T0, op1: T1, op2: T2);
1069}
1070
1071pub trait LdumaxahEmitter<T0, T1, T2> {
1072 fn ldumaxah(&mut self, op0: T0, op1: T1, op2: T2);
1073}
1074
1075pub trait LdumaxalEmitter<T0, T1, T2> {
1076 fn ldumaxal(&mut self, op0: T0, op1: T1, op2: T2);
1077}
1078
1079pub trait LdumaxalbEmitter<T0, T1, T2> {
1080 fn ldumaxalb(&mut self, op0: T0, op1: T1, op2: T2);
1081}
1082
1083pub trait LdumaxalhEmitter<T0, T1, T2> {
1084 fn ldumaxalh(&mut self, op0: T0, op1: T1, op2: T2);
1085}
1086
1087pub trait LdumaxbEmitter<T0, T1, T2> {
1088 fn ldumaxb(&mut self, op0: T0, op1: T1, op2: T2);
1089}
1090
1091pub trait LdumaxhEmitter<T0, T1, T2> {
1092 fn ldumaxh(&mut self, op0: T0, op1: T1, op2: T2);
1093}
1094
1095pub trait LdumaxlEmitter<T0, T1, T2> {
1096 fn ldumaxl(&mut self, op0: T0, op1: T1, op2: T2);
1097}
1098
1099pub trait LdumaxlbEmitter<T0, T1, T2> {
1100 fn ldumaxlb(&mut self, op0: T0, op1: T1, op2: T2);
1101}
1102
1103pub trait LdumaxlhEmitter<T0, T1, T2> {
1104 fn ldumaxlh(&mut self, op0: T0, op1: T1, op2: T2);
1105}
1106
1107pub trait LduminEmitter<T0, T1, T2> {
1108 fn ldumin(&mut self, op0: T0, op1: T1, op2: T2);
1109}
1110
1111pub trait LduminaEmitter<T0, T1, T2> {
1112 fn ldumina(&mut self, op0: T0, op1: T1, op2: T2);
1113}
1114
1115pub trait LduminabEmitter<T0, T1, T2> {
1116 fn lduminab(&mut self, op0: T0, op1: T1, op2: T2);
1117}
1118
1119pub trait LduminahEmitter<T0, T1, T2> {
1120 fn lduminah(&mut self, op0: T0, op1: T1, op2: T2);
1121}
1122
1123pub trait LduminalEmitter<T0, T1, T2> {
1124 fn lduminal(&mut self, op0: T0, op1: T1, op2: T2);
1125}
1126
1127pub trait LduminalbEmitter<T0, T1, T2> {
1128 fn lduminalb(&mut self, op0: T0, op1: T1, op2: T2);
1129}
1130
1131pub trait LduminalhEmitter<T0, T1, T2> {
1132 fn lduminalh(&mut self, op0: T0, op1: T1, op2: T2);
1133}
1134
1135pub trait LduminbEmitter<T0, T1, T2> {
1136 fn lduminb(&mut self, op0: T0, op1: T1, op2: T2);
1137}
1138
1139pub trait LduminhEmitter<T0, T1, T2> {
1140 fn lduminh(&mut self, op0: T0, op1: T1, op2: T2);
1141}
1142
1143pub trait LduminlEmitter<T0, T1, T2> {
1144 fn lduminl(&mut self, op0: T0, op1: T1, op2: T2);
1145}
1146
1147pub trait LduminlbEmitter<T0, T1, T2> {
1148 fn lduminlb(&mut self, op0: T0, op1: T1, op2: T2);
1149}
1150
1151pub trait LduminlhEmitter<T0, T1, T2> {
1152 fn lduminlh(&mut self, op0: T0, op1: T1, op2: T2);
1153}
1154
1155pub trait LdurEmitter<T0, T1> {
1156 fn ldur(&mut self, op0: T0, op1: T1);
1157}
1158
1159pub trait LdurbEmitter<T0, T1> {
1160 fn ldurb(&mut self, op0: T0, op1: T1);
1161}
1162
1163pub trait LdurhEmitter<T0, T1> {
1164 fn ldurh(&mut self, op0: T0, op1: T1);
1165}
1166
1167pub trait LdursbEmitter<T0, T1> {
1168 fn ldursb(&mut self, op0: T0, op1: T1);
1169}
1170
1171pub trait LdurshEmitter<T0, T1> {
1172 fn ldursh(&mut self, op0: T0, op1: T1);
1173}
1174
1175pub trait LdurswEmitter<T0, T1> {
1176 fn ldursw(&mut self, op0: T0, op1: T1);
1177}
1178
1179pub trait LdxpEmitter<T0, T1, T2> {
1180 fn ldxp(&mut self, op0: T0, op1: T1, op2: T2);
1181}
1182
1183pub trait LdaxpEmitter<T0, T1, T2> {
1184 fn ldaxp(&mut self, op0: T0, op1: T1, op2: T2);
1185}
1186
1187pub trait LdxrEmitter<T0, T1> {
1188 fn ldxr(&mut self, op0: T0, op1: T1);
1189}
1190
1191pub trait LdxrbEmitter<T0, T1> {
1192 fn ldxrb(&mut self, op0: T0, op1: T1);
1193}
1194
1195pub trait LdxrhEmitter<T0, T1> {
1196 fn ldxrh(&mut self, op0: T0, op1: T1);
1197}
1198
1199pub trait PrfmEmitter<T0, T1> {
1200 fn prfm(&mut self, op0: T0, op1: T1);
1201}
1202
1203pub trait StaddEmitter<T0, T1> {
1204 fn stadd(&mut self, op0: T0, op1: T1);
1205}
1206
1207pub trait StaddbEmitter<T0, T1> {
1208 fn staddb(&mut self, op0: T0, op1: T1);
1209}
1210
1211pub trait StaddhEmitter<T0, T1> {
1212 fn staddh(&mut self, op0: T0, op1: T1);
1213}
1214
1215pub trait StaddlEmitter<T0, T1> {
1216 fn staddl(&mut self, op0: T0, op1: T1);
1217}
1218
1219pub trait StaddlbEmitter<T0, T1> {
1220 fn staddlb(&mut self, op0: T0, op1: T1);
1221}
1222
1223pub trait StaddlhEmitter<T0, T1> {
1224 fn staddlh(&mut self, op0: T0, op1: T1);
1225}
1226
1227pub trait StclrEmitter<T0, T1> {
1228 fn stclr(&mut self, op0: T0, op1: T1);
1229}
1230
1231pub trait StclrbEmitter<T0, T1> {
1232 fn stclrb(&mut self, op0: T0, op1: T1);
1233}
1234
1235pub trait StclrhEmitter<T0, T1> {
1236 fn stclrh(&mut self, op0: T0, op1: T1);
1237}
1238
1239pub trait StclrlEmitter<T0, T1> {
1240 fn stclrl(&mut self, op0: T0, op1: T1);
1241}
1242
1243pub trait StclrlbEmitter<T0, T1> {
1244 fn stclrlb(&mut self, op0: T0, op1: T1);
1245}
1246
1247pub trait StclrlhEmitter<T0, T1> {
1248 fn stclrlh(&mut self, op0: T0, op1: T1);
1249}
1250
1251pub trait SteorEmitter<T0, T1> {
1252 fn steor(&mut self, op0: T0, op1: T1);
1253}
1254
1255pub trait SteorbEmitter<T0, T1> {
1256 fn steorb(&mut self, op0: T0, op1: T1);
1257}
1258
1259pub trait SteorhEmitter<T0, T1> {
1260 fn steorh(&mut self, op0: T0, op1: T1);
1261}
1262
1263pub trait SteorlEmitter<T0, T1> {
1264 fn steorl(&mut self, op0: T0, op1: T1);
1265}
1266
1267pub trait SteorlbEmitter<T0, T1> {
1268 fn steorlb(&mut self, op0: T0, op1: T1);
1269}
1270
1271pub trait SteorlhEmitter<T0, T1> {
1272 fn steorlh(&mut self, op0: T0, op1: T1);
1273}
1274
1275pub trait StllrEmitter<T0, T1> {
1276 fn stllr(&mut self, op0: T0, op1: T1);
1277}
1278
1279pub trait StllrbEmitter<T0, T1> {
1280 fn stllrb(&mut self, op0: T0, op1: T1);
1281}
1282
1283pub trait StllrhEmitter<T0, T1> {
1284 fn stllrh(&mut self, op0: T0, op1: T1);
1285}
1286
1287pub trait StlrEmitter<T0, T1> {
1288 fn stlr(&mut self, op0: T0, op1: T1);
1289}
1290
1291pub trait StlrbEmitter<T0, T1> {
1292 fn stlrb(&mut self, op0: T0, op1: T1);
1293}
1294
1295pub trait StlrhEmitter<T0, T1> {
1296 fn stlrh(&mut self, op0: T0, op1: T1);
1297}
1298
1299pub trait StlxrEmitter<T0, T1, T2> {
1300 fn stlxr(&mut self, op0: T0, op1: T1, op2: T2);
1301}
1302
1303pub trait StlxrbEmitter<T0, T1, T2> {
1304 fn stlxrb(&mut self, op0: T0, op1: T1, op2: T2);
1305}
1306
1307pub trait StlxrhEmitter<T0, T1, T2> {
1308 fn stlxrh(&mut self, op0: T0, op1: T1, op2: T2);
1309}
1310
1311pub trait StnpEmitter<T0, T1, T2> {
1312 fn stnp(&mut self, op0: T0, op1: T1, op2: T2);
1313}
1314
1315pub trait StpEmitter<T0, T1, T2> {
1316 fn stp(&mut self, op0: T0, op1: T1, op2: T2);
1317}
1318
1319pub trait StrEmitter<T0, T1> {
1320 fn str(&mut self, op0: T0, op1: T1);
1321}
1322
1323pub trait StrbEmitter<T0, T1> {
1324 fn strb(&mut self, op0: T0, op1: T1);
1325}
1326
1327pub trait StrhEmitter<T0, T1> {
1328 fn strh(&mut self, op0: T0, op1: T1);
1329}
1330
1331pub trait StsetEmitter<T0, T1> {
1332 fn stset(&mut self, op0: T0, op1: T1);
1333}
1334
1335pub trait StsetbEmitter<T0, T1> {
1336 fn stsetb(&mut self, op0: T0, op1: T1);
1337}
1338
1339pub trait StsethEmitter<T0, T1> {
1340 fn stseth(&mut self, op0: T0, op1: T1);
1341}
1342
1343pub trait StsetlEmitter<T0, T1> {
1344 fn stsetl(&mut self, op0: T0, op1: T1);
1345}
1346
1347pub trait StsetlbEmitter<T0, T1> {
1348 fn stsetlb(&mut self, op0: T0, op1: T1);
1349}
1350
1351pub trait StsetlhEmitter<T0, T1> {
1352 fn stsetlh(&mut self, op0: T0, op1: T1);
1353}
1354
1355pub trait StsmaxEmitter<T0, T1> {
1356 fn stsmax(&mut self, op0: T0, op1: T1);
1357}
1358
1359pub trait StsmaxbEmitter<T0, T1> {
1360 fn stsmaxb(&mut self, op0: T0, op1: T1);
1361}
1362
1363pub trait StsmaxhEmitter<T0, T1> {
1364 fn stsmaxh(&mut self, op0: T0, op1: T1);
1365}
1366
1367pub trait StsmaxlEmitter<T0, T1> {
1368 fn stsmaxl(&mut self, op0: T0, op1: T1);
1369}
1370
1371pub trait StsmaxlbEmitter<T0, T1> {
1372 fn stsmaxlb(&mut self, op0: T0, op1: T1);
1373}
1374
1375pub trait StsmaxlhEmitter<T0, T1> {
1376 fn stsmaxlh(&mut self, op0: T0, op1: T1);
1377}
1378
1379pub trait StsminEmitter<T0, T1> {
1380 fn stsmin(&mut self, op0: T0, op1: T1);
1381}
1382
1383pub trait StsminbEmitter<T0, T1> {
1384 fn stsminb(&mut self, op0: T0, op1: T1);
1385}
1386
1387pub trait StsminhEmitter<T0, T1> {
1388 fn stsminh(&mut self, op0: T0, op1: T1);
1389}
1390
1391pub trait StsminlEmitter<T0, T1> {
1392 fn stsminl(&mut self, op0: T0, op1: T1);
1393}
1394
1395pub trait StsminlbEmitter<T0, T1> {
1396 fn stsminlb(&mut self, op0: T0, op1: T1);
1397}
1398
1399pub trait StsminlhEmitter<T0, T1> {
1400 fn stsminlh(&mut self, op0: T0, op1: T1);
1401}
1402
1403pub trait SttrEmitter<T0, T1> {
1404 fn sttr(&mut self, op0: T0, op1: T1);
1405}
1406
1407pub trait SttrbEmitter<T0, T1> {
1408 fn sttrb(&mut self, op0: T0, op1: T1);
1409}
1410
1411pub trait SttrhEmitter<T0, T1> {
1412 fn sttrh(&mut self, op0: T0, op1: T1);
1413}
1414
1415pub trait StumaxEmitter<T0, T1> {
1416 fn stumax(&mut self, op0: T0, op1: T1);
1417}
1418
1419pub trait StumaxbEmitter<T0, T1> {
1420 fn stumaxb(&mut self, op0: T0, op1: T1);
1421}
1422
1423pub trait StumaxhEmitter<T0, T1> {
1424 fn stumaxh(&mut self, op0: T0, op1: T1);
1425}
1426
1427pub trait StumaxlEmitter<T0, T1> {
1428 fn stumaxl(&mut self, op0: T0, op1: T1);
1429}
1430
1431pub trait StumaxlbEmitter<T0, T1> {
1432 fn stumaxlb(&mut self, op0: T0, op1: T1);
1433}
1434
1435pub trait StumaxlhEmitter<T0, T1> {
1436 fn stumaxlh(&mut self, op0: T0, op1: T1);
1437}
1438
1439pub trait StuminEmitter<T0, T1> {
1440 fn stumin(&mut self, op0: T0, op1: T1);
1441}
1442
1443pub trait StuminbEmitter<T0, T1> {
1444 fn stuminb(&mut self, op0: T0, op1: T1);
1445}
1446
1447pub trait StuminhEmitter<T0, T1> {
1448 fn stuminh(&mut self, op0: T0, op1: T1);
1449}
1450
1451pub trait StuminlEmitter<T0, T1> {
1452 fn stuminl(&mut self, op0: T0, op1: T1);
1453}
1454
1455pub trait StuminlbEmitter<T0, T1> {
1456 fn stuminlb(&mut self, op0: T0, op1: T1);
1457}
1458
1459pub trait StuminlhEmitter<T0, T1> {
1460 fn stuminlh(&mut self, op0: T0, op1: T1);
1461}
1462
1463pub trait SturEmitter<T0, T1> {
1464 fn stur(&mut self, op0: T0, op1: T1);
1465}
1466
1467pub trait SturbEmitter<T0, T1> {
1468 fn sturb(&mut self, op0: T0, op1: T1);
1469}
1470
1471pub trait SturhEmitter<T0, T1> {
1472 fn sturh(&mut self, op0: T0, op1: T1);
1473}
1474
1475pub trait StxpEmitter<T0, T1, T2, T3> {
1476 fn stxp(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1477}
1478
1479pub trait StlxpEmitter<T0, T1, T2, T3> {
1480 fn stlxp(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1481}
1482
1483pub trait StxrEmitter<T0, T1, T2> {
1484 fn stxr(&mut self, op0: T0, op1: T1, op2: T2);
1485}
1486
1487pub trait StxrbEmitter<T0, T1, T2> {
1488 fn stxrb(&mut self, op0: T0, op1: T1, op2: T2);
1489}
1490
1491pub trait StxrhEmitter<T0, T1, T2> {
1492 fn stxrh(&mut self, op0: T0, op1: T1, op2: T2);
1493}
1494
1495pub trait SwpEmitter<T0, T1, T2> {
1496 fn swp(&mut self, op0: T0, op1: T1, op2: T2);
1497}
1498
1499pub trait SwpaEmitter<T0, T1, T2> {
1500 fn swpa(&mut self, op0: T0, op1: T1, op2: T2);
1501}
1502
1503pub trait SwpabEmitter<T0, T1, T2> {
1504 fn swpab(&mut self, op0: T0, op1: T1, op2: T2);
1505}
1506
1507pub trait SwpahEmitter<T0, T1, T2> {
1508 fn swpah(&mut self, op0: T0, op1: T1, op2: T2);
1509}
1510
1511pub trait SwpalEmitter<T0, T1, T2> {
1512 fn swpal(&mut self, op0: T0, op1: T1, op2: T2);
1513}
1514
1515pub trait SwpalbEmitter<T0, T1, T2> {
1516 fn swpalb(&mut self, op0: T0, op1: T1, op2: T2);
1517}
1518
1519pub trait SwpalhEmitter<T0, T1, T2> {
1520 fn swpalh(&mut self, op0: T0, op1: T1, op2: T2);
1521}
1522
1523pub trait SwpbEmitter<T0, T1, T2> {
1524 fn swpb(&mut self, op0: T0, op1: T1, op2: T2);
1525}
1526
1527pub trait SwphEmitter<T0, T1, T2> {
1528 fn swph(&mut self, op0: T0, op1: T1, op2: T2);
1529}
1530
1531pub trait SwplEmitter<T0, T1, T2> {
1532 fn swpl(&mut self, op0: T0, op1: T1, op2: T2);
1533}
1534
1535pub trait SwplbEmitter<T0, T1, T2> {
1536 fn swplb(&mut self, op0: T0, op1: T1, op2: T2);
1537}
1538
1539pub trait SwplhEmitter<T0, T1, T2> {
1540 fn swplh(&mut self, op0: T0, op1: T1, op2: T2);
1541}
1542
1543pub trait BtiEmitter<T0> {
1544 fn bti(&mut self, op0: T0);
1545}
1546
1547pub trait ChkfeatEmitter<T0> {
1548 fn chkfeat(&mut self, op0: T0);
1549}
1550
1551pub trait ClrbhbEmitter {
1552 fn clrbhb(&mut self);
1553}
1554
1555pub trait Crc32bEmitter<T0, T1, T2> {
1556 fn crc32b(&mut self, op0: T0, op1: T1, op2: T2);
1557}
1558
1559pub trait Crc32hEmitter<T0, T1, T2> {
1560 fn crc32h(&mut self, op0: T0, op1: T1, op2: T2);
1561}
1562
1563pub trait Crc32wEmitter<T0, T1, T2> {
1564 fn crc32w(&mut self, op0: T0, op1: T1, op2: T2);
1565}
1566
1567pub trait Crc32xEmitter<T0, T1, T2> {
1568 fn crc32x(&mut self, op0: T0, op1: T1, op2: T2);
1569}
1570
1571pub trait Crc32cbEmitter<T0, T1, T2> {
1572 fn crc32cb(&mut self, op0: T0, op1: T1, op2: T2);
1573}
1574
1575pub trait Crc32chEmitter<T0, T1, T2> {
1576 fn crc32ch(&mut self, op0: T0, op1: T1, op2: T2);
1577}
1578
1579pub trait Crc32cwEmitter<T0, T1, T2> {
1580 fn crc32cw(&mut self, op0: T0, op1: T1, op2: T2);
1581}
1582
1583pub trait Crc32cxEmitter<T0, T1, T2> {
1584 fn crc32cx(&mut self, op0: T0, op1: T1, op2: T2);
1585}
1586
1587pub trait AbsEmitter<T0, T1> {
1588 fn abs(&mut self, op0: T0, op1: T1);
1589}
1590
1591pub trait CntEmitter<T0, T1> {
1592 fn cnt(&mut self, op0: T0, op1: T1);
1593}
1594
1595pub trait CtzEmitter<T0, T1> {
1596 fn ctz(&mut self, op0: T0, op1: T1);
1597}
1598
1599pub trait SmaxEmitter<T0, T1, T2> {
1600 fn smax(&mut self, op0: T0, op1: T1, op2: T2);
1601}
1602
1603pub trait SminEmitter<T0, T1, T2> {
1604 fn smin(&mut self, op0: T0, op1: T1, op2: T2);
1605}
1606
1607pub trait UmaxEmitter<T0, T1, T2> {
1608 fn umax(&mut self, op0: T0, op1: T1, op2: T2);
1609}
1610
1611pub trait UminEmitter<T0, T1, T2> {
1612 fn umin(&mut self, op0: T0, op1: T1, op2: T2);
1613}
1614
1615pub trait DghEmitter {
1616 fn dgh(&mut self);
1617}
1618
1619pub trait CfinvEmitter {
1620 fn cfinv(&mut self);
1621}
1622
1623pub trait Setf8Emitter<T0> {
1624 fn setf8(&mut self, op0: T0);
1625}
1626
1627pub trait Setf16Emitter<T0> {
1628 fn setf16(&mut self, op0: T0);
1629}
1630
1631pub trait AxflagEmitter {
1632 fn axflag(&mut self);
1633}
1634
1635pub trait XaflagEmitter {
1636 fn xaflag(&mut self);
1637}
1638
1639pub trait BcEmitter<T0> {
1640 fn bc_eq(&mut self, op0: T0);
1641 fn bc_ne(&mut self, op0: T0);
1642 fn bc_cs(&mut self, op0: T0);
1643 fn bc_hs(&mut self, op0: T0);
1644 fn bc_cc(&mut self, op0: T0);
1645 fn bc_lo(&mut self, op0: T0);
1646 fn bc_mi(&mut self, op0: T0);
1647 fn bc_pl(&mut self, op0: T0);
1648 fn bc_vs(&mut self, op0: T0);
1649 fn bc_vc(&mut self, op0: T0);
1650 fn bc_hi(&mut self, op0: T0);
1651 fn bc_ls(&mut self, op0: T0);
1652 fn bc_ge(&mut self, op0: T0);
1653 fn bc_lt(&mut self, op0: T0);
1654 fn bc_gt(&mut self, op0: T0);
1655 fn bc_le(&mut self, op0: T0);
1656 fn bc_al(&mut self, op0: T0);
1657}
1658
1659pub trait AutdaEmitter<T0, T1> {
1660 fn autda(&mut self, op0: T0, op1: T1);
1661}
1662
1663pub trait AutdbEmitter<T0, T1> {
1664 fn autdb(&mut self, op0: T0, op1: T1);
1665}
1666
1667pub trait AutdzaEmitter<T0> {
1668 fn autdza(&mut self, op0: T0);
1669}
1670
1671pub trait AutdzbEmitter<T0> {
1672 fn autdzb(&mut self, op0: T0);
1673}
1674
1675pub trait AutiaEmitter<T0, T1> {
1676 fn autia(&mut self, op0: T0, op1: T1);
1677}
1678
1679pub trait Autia1716Emitter {
1680 fn autia1716(&mut self);
1681}
1682
1683pub trait AutiaspEmitter {
1684 fn autiasp(&mut self);
1685}
1686
1687pub trait AutiazEmitter {
1688 fn autiaz(&mut self);
1689}
1690
1691pub trait AutibEmitter<T0, T1> {
1692 fn autib(&mut self, op0: T0, op1: T1);
1693}
1694
1695pub trait Autib1716Emitter {
1696 fn autib1716(&mut self);
1697}
1698
1699pub trait AutibspEmitter {
1700 fn autibsp(&mut self);
1701}
1702
1703pub trait AutibzEmitter {
1704 fn autibz(&mut self);
1705}
1706
1707pub trait AutizaEmitter<T0> {
1708 fn autiza(&mut self, op0: T0);
1709}
1710
1711pub trait AutizbEmitter<T0> {
1712 fn autizb(&mut self, op0: T0);
1713}
1714
1715pub trait GmiEmitter<T0, T1, T2> {
1716 fn gmi(&mut self, op0: T0, op1: T1, op2: T2);
1717}
1718
1719pub trait CmppEmitter<T0, T1> {
1720 fn cmpp(&mut self, op0: T0, op1: T1);
1721}
1722
1723pub trait AddgEmitter<T0, T1, T2, T3> {
1724 fn addg(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1725}
1726
1727pub trait LdgEmitter<T0, T1> {
1728 fn ldg(&mut self, op0: T0, op1: T1);
1729}
1730
1731pub trait LdgmEmitter<T0, T1> {
1732 fn ldgm(&mut self, op0: T0, op1: T1);
1733}
1734
1735pub trait LdraaEmitter<T0, T1> {
1736 fn ldraa(&mut self, op0: T0, op1: T1);
1737}
1738
1739pub trait LdrabEmitter<T0, T1> {
1740 fn ldrab(&mut self, op0: T0, op1: T1);
1741}
1742
1743pub trait PacdaEmitter<T0, T1> {
1744 fn pacda(&mut self, op0: T0, op1: T1);
1745}
1746
1747pub trait PacdbEmitter<T0, T1> {
1748 fn pacdb(&mut self, op0: T0, op1: T1);
1749}
1750
1751pub trait PacdzaEmitter<T0> {
1752 fn pacdza(&mut self, op0: T0);
1753}
1754
1755pub trait PacdzbEmitter<T0> {
1756 fn pacdzb(&mut self, op0: T0);
1757}
1758
1759pub trait PacgaEmitter<T0, T1, T2> {
1760 fn pacga(&mut self, op0: T0, op1: T1, op2: T2);
1761}
1762
1763pub trait SubpEmitter<T0, T1, T2> {
1764 fn subp(&mut self, op0: T0, op1: T1, op2: T2);
1765}
1766
1767pub trait SubpsEmitter<T0, T1, T2> {
1768 fn subps(&mut self, op0: T0, op1: T1, op2: T2);
1769}
1770
1771pub trait SubgEmitter<T0, T1, T2, T3> {
1772 fn subg(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1773}
1774
1775pub trait St2gEmitter<T0, T1> {
1776 fn st2g(&mut self, op0: T0, op1: T1);
1777}
1778
1779pub trait StgEmitter<T0, T1> {
1780 fn stg(&mut self, op0: T0, op1: T1);
1781}
1782
1783pub trait StgpEmitter<T0, T1, T2> {
1784 fn stgp(&mut self, op0: T0, op1: T1, op2: T2);
1785}
1786
1787pub trait StgmEmitter<T0, T1> {
1788 fn stgm(&mut self, op0: T0, op1: T1);
1789}
1790
1791pub trait StzgEmitter<T0, T1> {
1792 fn stzg(&mut self, op0: T0, op1: T1);
1793}
1794
1795pub trait Stz2gEmitter<T0, T1> {
1796 fn stz2g(&mut self, op0: T0, op1: T1);
1797}
1798
1799pub trait StzgmEmitter<T0, T1> {
1800 fn stzgm(&mut self, op0: T0, op1: T1);
1801}
1802
1803pub trait XpacdEmitter<T0> {
1804 fn xpacd(&mut self, op0: T0);
1805}
1806
1807pub trait XpaciEmitter<T0> {
1808 fn xpaci(&mut self, op0: T0);
1809}
1810
1811pub trait XpaclriEmitter {
1812 fn xpaclri(&mut self);
1813}
1814
1815pub trait HintEmitter<T0> {
1816 fn hint(&mut self, op0: T0);
1817}
1818
1819pub trait NopEmitter {
1820 fn nop(&mut self);
1821}
1822
1823pub trait SevEmitter {
1824 fn sev(&mut self);
1825}
1826
1827pub trait SevlEmitter {
1828 fn sevl(&mut self);
1829}
1830
1831pub trait WfeEmitter {
1832 fn wfe(&mut self);
1833}
1834
1835pub trait WfiEmitter {
1836 fn wfi(&mut self);
1837}
1838
1839pub trait YieldEmitter {
1840 fn r#yield(&mut self);
1841}
1842
1843pub trait AddhnEmitter<T0, T1, T2> {
1844 fn addhn(&mut self, op0: T0, op1: T1, op2: T2);
1845}
1846
1847pub trait Addhn2Emitter<T0, T1, T2> {
1848 fn addhn2(&mut self, op0: T0, op1: T1, op2: T2);
1849}
1850
1851pub trait AddpEmitter<T0, T1> {
1852 fn addp(&mut self, op0: T0, op1: T1);
1853}
1854
1855pub trait Addp3Emitter<T0, T1, T2> {
1856 fn addp_3(&mut self, op0: T0, op1: T1, op2: T2);
1857}
1858
1859pub trait AddvEmitter<T0, T1> {
1860 fn addv(&mut self, op0: T0, op1: T1);
1861}
1862
1863pub trait Bic2Emitter<T0, T1> {
1864 fn bic_2(&mut self, op0: T0, op1: T1);
1865}
1866
1867pub trait BifEmitter<T0, T1, T2> {
1868 fn bif(&mut self, op0: T0, op1: T1, op2: T2);
1869}
1870
1871pub trait BitEmitter<T0, T1, T2> {
1872 fn bit(&mut self, op0: T0, op1: T1, op2: T2);
1873}
1874
1875pub trait BslEmitter<T0, T1, T2> {
1876 fn bsl(&mut self, op0: T0, op1: T1, op2: T2);
1877}
1878
1879pub trait CmeqEmitter<T0, T1, T2> {
1880 fn cmeq(&mut self, op0: T0, op1: T1, op2: T2);
1881}
1882
1883pub trait CmgeEmitter<T0, T1, T2> {
1884 fn cmge(&mut self, op0: T0, op1: T1, op2: T2);
1885}
1886
1887pub trait CmgtEmitter<T0, T1, T2> {
1888 fn cmgt(&mut self, op0: T0, op1: T1, op2: T2);
1889}
1890
1891pub trait CmhiEmitter<T0, T1, T2> {
1892 fn cmhi(&mut self, op0: T0, op1: T1, op2: T2);
1893}
1894
1895pub trait CmhsEmitter<T0, T1, T2> {
1896 fn cmhs(&mut self, op0: T0, op1: T1, op2: T2);
1897}
1898
1899pub trait CmleEmitter<T0, T1, T2> {
1900 fn cmle(&mut self, op0: T0, op1: T1, op2: T2);
1901}
1902
1903pub trait CmltEmitter<T0, T1, T2> {
1904 fn cmlt(&mut self, op0: T0, op1: T1, op2: T2);
1905}
1906
1907pub trait CmtstEmitter<T0, T1, T2> {
1908 fn cmtst(&mut self, op0: T0, op1: T1, op2: T2);
1909}
1910
1911pub trait DupEmitter<T0, T1> {
1912 fn dup(&mut self, op0: T0, op1: T1);
1913}
1914
1915pub trait ExtEmitter<T0, T1, T2, T3> {
1916 fn ext(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1917}
1918
1919pub trait FabdEmitter<T0, T1, T2> {
1920 fn fabd(&mut self, op0: T0, op1: T1, op2: T2);
1921}
1922
1923pub trait FabsEmitter<T0, T1> {
1924 fn fabs(&mut self, op0: T0, op1: T1);
1925}
1926
1927pub trait FacgeEmitter<T0, T1, T2> {
1928 fn facge(&mut self, op0: T0, op1: T1, op2: T2);
1929}
1930
1931pub trait FacgtEmitter<T0, T1, T2> {
1932 fn facgt(&mut self, op0: T0, op1: T1, op2: T2);
1933}
1934
1935pub trait FaddEmitter<T0, T1, T2> {
1936 fn fadd(&mut self, op0: T0, op1: T1, op2: T2);
1937}
1938
1939pub trait FaddpEmitter<T0, T1> {
1940 fn faddp(&mut self, op0: T0, op1: T1);
1941}
1942
1943pub trait Faddp3Emitter<T0, T1, T2> {
1944 fn faddp_3(&mut self, op0: T0, op1: T1, op2: T2);
1945}
1946
1947pub trait FccmpEmitter<T0, T1, T2, T3> {
1948 fn fccmp(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1949}
1950
1951pub trait FccmpeEmitter<T0, T1, T2, T3> {
1952 fn fccmpe(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1953}
1954
1955pub trait FcmeqEmitter<T0, T1, T2> {
1956 fn fcmeq(&mut self, op0: T0, op1: T1, op2: T2);
1957}
1958
1959pub trait FcmgeEmitter<T0, T1, T2> {
1960 fn fcmge(&mut self, op0: T0, op1: T1, op2: T2);
1961}
1962
1963pub trait FcmgtEmitter<T0, T1, T2> {
1964 fn fcmgt(&mut self, op0: T0, op1: T1, op2: T2);
1965}
1966
1967pub trait FcmleEmitter<T0, T1, T2> {
1968 fn fcmle(&mut self, op0: T0, op1: T1, op2: T2);
1969}
1970
1971pub trait FcmltEmitter<T0, T1, T2> {
1972 fn fcmlt(&mut self, op0: T0, op1: T1, op2: T2);
1973}
1974
1975pub trait FcmpEmitter<T0, T1> {
1976 fn fcmp(&mut self, op0: T0, op1: T1);
1977}
1978
1979pub trait FcmpeEmitter<T0, T1> {
1980 fn fcmpe(&mut self, op0: T0, op1: T1);
1981}
1982
1983pub trait FcselEmitter<T0, T1, T2, T3> {
1984 fn fcsel(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
1985}
1986
1987pub trait FcvtEmitter<T0, T1> {
1988 fn fcvt(&mut self, op0: T0, op1: T1);
1989}
1990
1991pub trait FcvtasEmitter<T0, T1> {
1992 fn fcvtas(&mut self, op0: T0, op1: T1);
1993}
1994
1995pub trait FcvtauEmitter<T0, T1> {
1996 fn fcvtau(&mut self, op0: T0, op1: T1);
1997}
1998
1999pub trait FcvtlEmitter<T0, T1> {
2000 fn fcvtl(&mut self, op0: T0, op1: T1);
2001}
2002
2003pub trait Fcvtl2Emitter<T0, T1> {
2004 fn fcvtl2(&mut self, op0: T0, op1: T1);
2005}
2006
2007pub trait FcvtmsEmitter<T0, T1> {
2008 fn fcvtms(&mut self, op0: T0, op1: T1);
2009}
2010
2011pub trait FcvtmuEmitter<T0, T1> {
2012 fn fcvtmu(&mut self, op0: T0, op1: T1);
2013}
2014
2015pub trait FcvtnEmitter<T0, T1> {
2016 fn fcvtn(&mut self, op0: T0, op1: T1);
2017}
2018
2019pub trait Fcvtn2Emitter<T0, T1> {
2020 fn fcvtn2(&mut self, op0: T0, op1: T1);
2021}
2022
2023pub trait FcvtnsEmitter<T0, T1> {
2024 fn fcvtns(&mut self, op0: T0, op1: T1);
2025}
2026
2027pub trait FcvtnuEmitter<T0, T1> {
2028 fn fcvtnu(&mut self, op0: T0, op1: T1);
2029}
2030
2031pub trait FcvtpsEmitter<T0, T1> {
2032 fn fcvtps(&mut self, op0: T0, op1: T1);
2033}
2034
2035pub trait FcvtpuEmitter<T0, T1> {
2036 fn fcvtpu(&mut self, op0: T0, op1: T1);
2037}
2038
2039pub trait FcvtxnEmitter<T0, T1> {
2040 fn fcvtxn(&mut self, op0: T0, op1: T1);
2041}
2042
2043pub trait Fcvtxn2Emitter<T0, T1> {
2044 fn fcvtxn2(&mut self, op0: T0, op1: T1);
2045}
2046
2047pub trait FcvtzsEmitter<T0, T1> {
2048 fn fcvtzs(&mut self, op0: T0, op1: T1);
2049}
2050
2051pub trait Fcvtzs3Emitter<T0, T1, T2> {
2052 fn fcvtzs_3(&mut self, op0: T0, op1: T1, op2: T2);
2053}
2054
2055pub trait FcvtzuEmitter<T0, T1> {
2056 fn fcvtzu(&mut self, op0: T0, op1: T1);
2057}
2058
2059pub trait Fcvtzu3Emitter<T0, T1, T2> {
2060 fn fcvtzu_3(&mut self, op0: T0, op1: T1, op2: T2);
2061}
2062
2063pub trait FdivEmitter<T0, T1, T2> {
2064 fn fdiv(&mut self, op0: T0, op1: T1, op2: T2);
2065}
2066
2067pub trait FmaddEmitter<T0, T1, T2, T3> {
2068 fn fmadd(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2069}
2070
2071pub trait FmaxEmitter<T0, T1, T2> {
2072 fn fmax(&mut self, op0: T0, op1: T1, op2: T2);
2073}
2074
2075pub trait FmaxnmEmitter<T0, T1, T2> {
2076 fn fmaxnm(&mut self, op0: T0, op1: T1, op2: T2);
2077}
2078
2079pub trait FmaxnmpEmitter<T0, T1, T2> {
2080 fn fmaxnmp(&mut self, op0: T0, op1: T1, op2: T2);
2081}
2082
2083pub trait Fmaxnmp2Emitter<T0, T1> {
2084 fn fmaxnmp_2(&mut self, op0: T0, op1: T1);
2085}
2086
2087pub trait FmaxnmvEmitter<T0, T1> {
2088 fn fmaxnmv(&mut self, op0: T0, op1: T1);
2089}
2090
2091pub trait FmaxpEmitter<T0, T1, T2> {
2092 fn fmaxp(&mut self, op0: T0, op1: T1, op2: T2);
2093}
2094
2095pub trait Fmaxp2Emitter<T0, T1> {
2096 fn fmaxp_2(&mut self, op0: T0, op1: T1);
2097}
2098
2099pub trait FmaxvEmitter<T0, T1> {
2100 fn fmaxv(&mut self, op0: T0, op1: T1);
2101}
2102
2103pub trait FminEmitter<T0, T1, T2> {
2104 fn fmin(&mut self, op0: T0, op1: T1, op2: T2);
2105}
2106
2107pub trait FminnmEmitter<T0, T1, T2> {
2108 fn fminnm(&mut self, op0: T0, op1: T1, op2: T2);
2109}
2110
2111pub trait FminnmvEmitter<T0, T1> {
2112 fn fminnmv(&mut self, op0: T0, op1: T1);
2113}
2114
2115pub trait FminnmpEmitter<T0, T1, T2> {
2116 fn fminnmp(&mut self, op0: T0, op1: T1, op2: T2);
2117}
2118
2119pub trait Fminnmp2Emitter<T0, T1> {
2120 fn fminnmp_2(&mut self, op0: T0, op1: T1);
2121}
2122
2123pub trait FminpEmitter<T0, T1> {
2124 fn fminp(&mut self, op0: T0, op1: T1);
2125}
2126
2127pub trait Fminp3Emitter<T0, T1, T2> {
2128 fn fminp_3(&mut self, op0: T0, op1: T1, op2: T2);
2129}
2130
2131pub trait FminvEmitter<T0, T1> {
2132 fn fminv(&mut self, op0: T0, op1: T1);
2133}
2134
2135pub trait FmlaEmitter<T0, T1, T2> {
2136 fn fmla(&mut self, op0: T0, op1: T1, op2: T2);
2137}
2138
2139pub trait FmlsEmitter<T0, T1, T2> {
2140 fn fmls(&mut self, op0: T0, op1: T1, op2: T2);
2141}
2142
2143pub trait FmovEmitter<T0, T1> {
2144 fn fmov(&mut self, op0: T0, op1: T1);
2145}
2146
2147pub trait FmsubEmitter<T0, T1, T2, T3> {
2148 fn fmsub(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2149}
2150
2151pub trait FmulEmitter<T0, T1, T2> {
2152 fn fmul(&mut self, op0: T0, op1: T1, op2: T2);
2153}
2154
2155pub trait FmulxEmitter<T0, T1, T2> {
2156 fn fmulx(&mut self, op0: T0, op1: T1, op2: T2);
2157}
2158
2159pub trait FnegEmitter<T0, T1> {
2160 fn fneg(&mut self, op0: T0, op1: T1);
2161}
2162
2163pub trait FnmaddEmitter<T0, T1, T2, T3> {
2164 fn fnmadd(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2165}
2166
2167pub trait FnmsubEmitter<T0, T1, T2, T3> {
2168 fn fnmsub(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2169}
2170
2171pub trait FnmulEmitter<T0, T1, T2> {
2172 fn fnmul(&mut self, op0: T0, op1: T1, op2: T2);
2173}
2174
2175pub trait FrecpeEmitter<T0, T1> {
2176 fn frecpe(&mut self, op0: T0, op1: T1);
2177}
2178
2179pub trait FrecpsEmitter<T0, T1, T2> {
2180 fn frecps(&mut self, op0: T0, op1: T1, op2: T2);
2181}
2182
2183pub trait FrecpxEmitter<T0, T1> {
2184 fn frecpx(&mut self, op0: T0, op1: T1);
2185}
2186
2187pub trait Frint32xEmitter<T0, T1> {
2188 fn frint32x(&mut self, op0: T0, op1: T1);
2189}
2190
2191pub trait Frint32zEmitter<T0, T1> {
2192 fn frint32z(&mut self, op0: T0, op1: T1);
2193}
2194
2195pub trait Frint64xEmitter<T0, T1> {
2196 fn frint64x(&mut self, op0: T0, op1: T1);
2197}
2198
2199pub trait Frint64zEmitter<T0, T1> {
2200 fn frint64z(&mut self, op0: T0, op1: T1);
2201}
2202
2203pub trait FrintaEmitter<T0, T1> {
2204 fn frinta(&mut self, op0: T0, op1: T1);
2205}
2206
2207pub trait FrintiEmitter<T0, T1> {
2208 fn frinti(&mut self, op0: T0, op1: T1);
2209}
2210
2211pub trait FrintmEmitter<T0, T1> {
2212 fn frintm(&mut self, op0: T0, op1: T1);
2213}
2214
2215pub trait FrintnEmitter<T0, T1> {
2216 fn frintn(&mut self, op0: T0, op1: T1);
2217}
2218
2219pub trait FrintpEmitter<T0, T1> {
2220 fn frintp(&mut self, op0: T0, op1: T1);
2221}
2222
2223pub trait FrintxEmitter<T0, T1> {
2224 fn frintx(&mut self, op0: T0, op1: T1);
2225}
2226
2227pub trait FrintzEmitter<T0, T1> {
2228 fn frintz(&mut self, op0: T0, op1: T1);
2229}
2230
2231pub trait FrsqrteEmitter<T0, T1> {
2232 fn frsqrte(&mut self, op0: T0, op1: T1);
2233}
2234
2235pub trait FrsqrtsEmitter<T0, T1, T2> {
2236 fn frsqrts(&mut self, op0: T0, op1: T1, op2: T2);
2237}
2238
2239pub trait FsqrtEmitter<T0, T1> {
2240 fn fsqrt(&mut self, op0: T0, op1: T1);
2241}
2242
2243pub trait FsubEmitter<T0, T1, T2> {
2244 fn fsub(&mut self, op0: T0, op1: T1, op2: T2);
2245}
2246
2247pub trait InsEmitter<T0, T1> {
2248 fn ins(&mut self, op0: T0, op1: T1);
2249}
2250
2251pub trait Ld1Emitter<T0, T1> {
2252 fn ld1(&mut self, op0: T0, op1: T1);
2253}
2254
2255pub trait Ld13Emitter<T0, T1, T2> {
2256 fn ld1_3(&mut self, op0: T0, op1: T1, op2: T2);
2257}
2258
2259pub trait Ld14Emitter<T0, T1, T2, T3> {
2260 fn ld1_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2261}
2262
2263pub trait Ld15Emitter<T0, T1, T2, T3, T4> {
2264 fn ld1_5(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2265}
2266
2267pub trait Ld1rEmitter<T0, T1> {
2268 fn ld1r(&mut self, op0: T0, op1: T1);
2269}
2270
2271pub trait Ld2Emitter<T0, T1, T2> {
2272 fn ld2(&mut self, op0: T0, op1: T1, op2: T2);
2273}
2274
2275pub trait Ld2rEmitter<T0, T1, T2> {
2276 fn ld2r(&mut self, op0: T0, op1: T1, op2: T2);
2277}
2278
2279pub trait Ld3Emitter<T0, T1, T2, T3> {
2280 fn ld3(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2281}
2282
2283pub trait Ld3rEmitter<T0, T1, T2, T3> {
2284 fn ld3r(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2285}
2286
2287pub trait Ld4Emitter<T0, T1, T2, T3, T4> {
2288 fn ld4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2289}
2290
2291pub trait Ld4rEmitter<T0, T1, T2, T3, T4> {
2292 fn ld4r(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2293}
2294
2295pub trait MlaEmitter<T0, T1, T2> {
2296 fn mla(&mut self, op0: T0, op1: T1, op2: T2);
2297}
2298
2299pub trait MlsEmitter<T0, T1, T2> {
2300 fn mls(&mut self, op0: T0, op1: T1, op2: T2);
2301}
2302
2303pub trait MoviEmitter<T0, T1> {
2304 fn movi(&mut self, op0: T0, op1: T1);
2305}
2306
2307pub trait Movi3Emitter<T0, T1, T2> {
2308 fn movi_3(&mut self, op0: T0, op1: T1, op2: T2);
2309}
2310
2311pub trait MvniEmitter<T0, T1> {
2312 fn mvni(&mut self, op0: T0, op1: T1);
2313}
2314
2315pub trait Mvni3Emitter<T0, T1, T2> {
2316 fn mvni_3(&mut self, op0: T0, op1: T1, op2: T2);
2317}
2318
2319pub trait NotEmitter<T0, T1> {
2320 fn not_(&mut self, op0: T0, op1: T1);
2321}
2322
2323pub trait Orr2Emitter<T0, T1> {
2324 fn orr_2(&mut self, op0: T0, op1: T1);
2325}
2326
2327pub trait PmulEmitter<T0, T1, T2> {
2328 fn pmul(&mut self, op0: T0, op1: T1, op2: T2);
2329}
2330
2331pub trait PmullEmitter<T0, T1, T2> {
2332 fn pmull(&mut self, op0: T0, op1: T1, op2: T2);
2333}
2334
2335pub trait Pmull2Emitter<T0, T1, T2> {
2336 fn pmull2(&mut self, op0: T0, op1: T1, op2: T2);
2337}
2338
2339pub trait RaddhnEmitter<T0, T1, T2> {
2340 fn raddhn(&mut self, op0: T0, op1: T1, op2: T2);
2341}
2342
2343pub trait Raddhn2Emitter<T0, T1, T2> {
2344 fn raddhn2(&mut self, op0: T0, op1: T1, op2: T2);
2345}
2346
2347pub trait RshrnEmitter<T0, T1, T2> {
2348 fn rshrn(&mut self, op0: T0, op1: T1, op2: T2);
2349}
2350
2351pub trait Rshrn2Emitter<T0, T1, T2> {
2352 fn rshrn2(&mut self, op0: T0, op1: T1, op2: T2);
2353}
2354
2355pub trait RsubhnEmitter<T0, T1, T2> {
2356 fn rsubhn(&mut self, op0: T0, op1: T1, op2: T2);
2357}
2358
2359pub trait Rsubhn2Emitter<T0, T1, T2> {
2360 fn rsubhn2(&mut self, op0: T0, op1: T1, op2: T2);
2361}
2362
2363pub trait SabaEmitter<T0, T1, T2> {
2364 fn saba(&mut self, op0: T0, op1: T1, op2: T2);
2365}
2366
2367pub trait SabalEmitter<T0, T1, T2> {
2368 fn sabal(&mut self, op0: T0, op1: T1, op2: T2);
2369}
2370
2371pub trait Sabal2Emitter<T0, T1, T2> {
2372 fn sabal2(&mut self, op0: T0, op1: T1, op2: T2);
2373}
2374
2375pub trait SabdEmitter<T0, T1, T2> {
2376 fn sabd(&mut self, op0: T0, op1: T1, op2: T2);
2377}
2378
2379pub trait SabdlEmitter<T0, T1, T2> {
2380 fn sabdl(&mut self, op0: T0, op1: T1, op2: T2);
2381}
2382
2383pub trait Sabdl2Emitter<T0, T1, T2> {
2384 fn sabdl2(&mut self, op0: T0, op1: T1, op2: T2);
2385}
2386
2387pub trait SadalpEmitter<T0, T1> {
2388 fn sadalp(&mut self, op0: T0, op1: T1);
2389}
2390
2391pub trait SaddlEmitter<T0, T1, T2> {
2392 fn saddl(&mut self, op0: T0, op1: T1, op2: T2);
2393}
2394
2395pub trait Saddl2Emitter<T0, T1, T2> {
2396 fn saddl2(&mut self, op0: T0, op1: T1, op2: T2);
2397}
2398
2399pub trait SaddlpEmitter<T0, T1> {
2400 fn saddlp(&mut self, op0: T0, op1: T1);
2401}
2402
2403pub trait SaddlvEmitter<T0, T1> {
2404 fn saddlv(&mut self, op0: T0, op1: T1);
2405}
2406
2407pub trait SaddwEmitter<T0, T1, T2> {
2408 fn saddw(&mut self, op0: T0, op1: T1, op2: T2);
2409}
2410
2411pub trait Saddw2Emitter<T0, T1, T2> {
2412 fn saddw2(&mut self, op0: T0, op1: T1, op2: T2);
2413}
2414
2415pub trait ScvtfEmitter<T0, T1> {
2416 fn scvtf(&mut self, op0: T0, op1: T1);
2417}
2418
2419pub trait Scvtf3Emitter<T0, T1, T2> {
2420 fn scvtf_3(&mut self, op0: T0, op1: T1, op2: T2);
2421}
2422
2423pub trait ShaddEmitter<T0, T1, T2> {
2424 fn shadd(&mut self, op0: T0, op1: T1, op2: T2);
2425}
2426
2427pub trait ShlEmitter<T0, T1, T2> {
2428 fn shl(&mut self, op0: T0, op1: T1, op2: T2);
2429}
2430
2431pub trait ShllEmitter<T0, T1, T2> {
2432 fn shll(&mut self, op0: T0, op1: T1, op2: T2);
2433}
2434
2435pub trait Shll2Emitter<T0, T1, T2> {
2436 fn shll2(&mut self, op0: T0, op1: T1, op2: T2);
2437}
2438
2439pub trait ShrnEmitter<T0, T1, T2> {
2440 fn shrn(&mut self, op0: T0, op1: T1, op2: T2);
2441}
2442
2443pub trait Shrn2Emitter<T0, T1, T2> {
2444 fn shrn2(&mut self, op0: T0, op1: T1, op2: T2);
2445}
2446
2447pub trait ShsubEmitter<T0, T1, T2> {
2448 fn shsub(&mut self, op0: T0, op1: T1, op2: T2);
2449}
2450
2451pub trait SliEmitter<T0, T1, T2> {
2452 fn sli(&mut self, op0: T0, op1: T1, op2: T2);
2453}
2454
2455pub trait SmaxpEmitter<T0, T1, T2> {
2456 fn smaxp(&mut self, op0: T0, op1: T1, op2: T2);
2457}
2458
2459pub trait SmaxvEmitter<T0, T1> {
2460 fn smaxv(&mut self, op0: T0, op1: T1);
2461}
2462
2463pub trait SminpEmitter<T0, T1, T2> {
2464 fn sminp(&mut self, op0: T0, op1: T1, op2: T2);
2465}
2466
2467pub trait SminvEmitter<T0, T1> {
2468 fn sminv(&mut self, op0: T0, op1: T1);
2469}
2470
2471pub trait SmlalEmitter<T0, T1, T2> {
2472 fn smlal(&mut self, op0: T0, op1: T1, op2: T2);
2473}
2474
2475pub trait Smlal2Emitter<T0, T1, T2> {
2476 fn smlal2(&mut self, op0: T0, op1: T1, op2: T2);
2477}
2478
2479pub trait SmlslEmitter<T0, T1, T2> {
2480 fn smlsl(&mut self, op0: T0, op1: T1, op2: T2);
2481}
2482
2483pub trait Smlsl2Emitter<T0, T1, T2> {
2484 fn smlsl2(&mut self, op0: T0, op1: T1, op2: T2);
2485}
2486
2487pub trait SmovEmitter<T0, T1> {
2488 fn smov(&mut self, op0: T0, op1: T1);
2489}
2490
2491pub trait Smull2Emitter<T0, T1, T2> {
2492 fn smull2(&mut self, op0: T0, op1: T1, op2: T2);
2493}
2494
2495pub trait SqabsEmitter<T0, T1> {
2496 fn sqabs(&mut self, op0: T0, op1: T1);
2497}
2498
2499pub trait SqaddEmitter<T0, T1, T2> {
2500 fn sqadd(&mut self, op0: T0, op1: T1, op2: T2);
2501}
2502
2503pub trait SqdmlalEmitter<T0, T1, T2> {
2504 fn sqdmlal(&mut self, op0: T0, op1: T1, op2: T2);
2505}
2506
2507pub trait Sqdmlal2Emitter<T0, T1, T2> {
2508 fn sqdmlal2(&mut self, op0: T0, op1: T1, op2: T2);
2509}
2510
2511pub trait SqdmlslEmitter<T0, T1, T2> {
2512 fn sqdmlsl(&mut self, op0: T0, op1: T1, op2: T2);
2513}
2514
2515pub trait Sqdmlsl2Emitter<T0, T1, T2> {
2516 fn sqdmlsl2(&mut self, op0: T0, op1: T1, op2: T2);
2517}
2518
2519pub trait SqdmulhEmitter<T0, T1, T2> {
2520 fn sqdmulh(&mut self, op0: T0, op1: T1, op2: T2);
2521}
2522
2523pub trait SqdmullEmitter<T0, T1, T2> {
2524 fn sqdmull(&mut self, op0: T0, op1: T1, op2: T2);
2525}
2526
2527pub trait Sqdmull2Emitter<T0, T1, T2> {
2528 fn sqdmull2(&mut self, op0: T0, op1: T1, op2: T2);
2529}
2530
2531pub trait SqnegEmitter<T0, T1> {
2532 fn sqneg(&mut self, op0: T0, op1: T1);
2533}
2534
2535pub trait SqrdmulhEmitter<T0, T1, T2> {
2536 fn sqrdmulh(&mut self, op0: T0, op1: T1, op2: T2);
2537}
2538
2539pub trait SqrshlEmitter<T0, T1, T2> {
2540 fn sqrshl(&mut self, op0: T0, op1: T1, op2: T2);
2541}
2542
2543pub trait SqrshrnEmitter<T0, T1, T2> {
2544 fn sqrshrn(&mut self, op0: T0, op1: T1, op2: T2);
2545}
2546
2547pub trait Sqrshrn2Emitter<T0, T1, T2> {
2548 fn sqrshrn2(&mut self, op0: T0, op1: T1, op2: T2);
2549}
2550
2551pub trait SqrshrunEmitter<T0, T1, T2> {
2552 fn sqrshrun(&mut self, op0: T0, op1: T1, op2: T2);
2553}
2554
2555pub trait Sqrshrun2Emitter<T0, T1, T2> {
2556 fn sqrshrun2(&mut self, op0: T0, op1: T1, op2: T2);
2557}
2558
2559pub trait SqshlEmitter<T0, T1, T2> {
2560 fn sqshl(&mut self, op0: T0, op1: T1, op2: T2);
2561}
2562
2563pub trait SqshluEmitter<T0, T1, T2> {
2564 fn sqshlu(&mut self, op0: T0, op1: T1, op2: T2);
2565}
2566
2567pub trait SqshrnEmitter<T0, T1, T2> {
2568 fn sqshrn(&mut self, op0: T0, op1: T1, op2: T2);
2569}
2570
2571pub trait Sqshrn2Emitter<T0, T1, T2> {
2572 fn sqshrn2(&mut self, op0: T0, op1: T1, op2: T2);
2573}
2574
2575pub trait SqshrunEmitter<T0, T1, T2> {
2576 fn sqshrun(&mut self, op0: T0, op1: T1, op2: T2);
2577}
2578
2579pub trait Sqshrun2Emitter<T0, T1, T2> {
2580 fn sqshrun2(&mut self, op0: T0, op1: T1, op2: T2);
2581}
2582
2583pub trait SqsubEmitter<T0, T1, T2> {
2584 fn sqsub(&mut self, op0: T0, op1: T1, op2: T2);
2585}
2586
2587pub trait SqxtnEmitter<T0, T1> {
2588 fn sqxtn(&mut self, op0: T0, op1: T1);
2589}
2590
2591pub trait Sqxtn2Emitter<T0, T1> {
2592 fn sqxtn2(&mut self, op0: T0, op1: T1);
2593}
2594
2595pub trait SqxtunEmitter<T0, T1> {
2596 fn sqxtun(&mut self, op0: T0, op1: T1);
2597}
2598
2599pub trait Sqxtun2Emitter<T0, T1> {
2600 fn sqxtun2(&mut self, op0: T0, op1: T1);
2601}
2602
2603pub trait SrhaddEmitter<T0, T1, T2> {
2604 fn srhadd(&mut self, op0: T0, op1: T1, op2: T2);
2605}
2606
2607pub trait SriEmitter<T0, T1, T2> {
2608 fn sri(&mut self, op0: T0, op1: T1, op2: T2);
2609}
2610
2611pub trait SrshlEmitter<T0, T1, T2> {
2612 fn srshl(&mut self, op0: T0, op1: T1, op2: T2);
2613}
2614
2615pub trait SrshrEmitter<T0, T1, T2> {
2616 fn srshr(&mut self, op0: T0, op1: T1, op2: T2);
2617}
2618
2619pub trait SrsraEmitter<T0, T1, T2> {
2620 fn srsra(&mut self, op0: T0, op1: T1, op2: T2);
2621}
2622
2623pub trait SshlEmitter<T0, T1, T2> {
2624 fn sshl(&mut self, op0: T0, op1: T1, op2: T2);
2625}
2626
2627pub trait SshllEmitter<T0, T1, T2> {
2628 fn sshll(&mut self, op0: T0, op1: T1, op2: T2);
2629}
2630
2631pub trait Sshll2Emitter<T0, T1, T2> {
2632 fn sshll2(&mut self, op0: T0, op1: T1, op2: T2);
2633}
2634
2635pub trait SshrEmitter<T0, T1, T2> {
2636 fn sshr(&mut self, op0: T0, op1: T1, op2: T2);
2637}
2638
2639pub trait SsraEmitter<T0, T1, T2> {
2640 fn ssra(&mut self, op0: T0, op1: T1, op2: T2);
2641}
2642
2643pub trait SsublEmitter<T0, T1, T2> {
2644 fn ssubl(&mut self, op0: T0, op1: T1, op2: T2);
2645}
2646
2647pub trait Ssubl2Emitter<T0, T1, T2> {
2648 fn ssubl2(&mut self, op0: T0, op1: T1, op2: T2);
2649}
2650
2651pub trait SsubwEmitter<T0, T1, T2> {
2652 fn ssubw(&mut self, op0: T0, op1: T1, op2: T2);
2653}
2654
2655pub trait Ssubw2Emitter<T0, T1, T2> {
2656 fn ssubw2(&mut self, op0: T0, op1: T1, op2: T2);
2657}
2658
2659pub trait St1Emitter<T0, T1> {
2660 fn st1(&mut self, op0: T0, op1: T1);
2661}
2662
2663pub trait St13Emitter<T0, T1, T2> {
2664 fn st1_3(&mut self, op0: T0, op1: T1, op2: T2);
2665}
2666
2667pub trait St14Emitter<T0, T1, T2, T3> {
2668 fn st1_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2669}
2670
2671pub trait St15Emitter<T0, T1, T2, T3, T4> {
2672 fn st1_5(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2673}
2674
2675pub trait St2Emitter<T0, T1, T2> {
2676 fn st2(&mut self, op0: T0, op1: T1, op2: T2);
2677}
2678
2679pub trait St3Emitter<T0, T1, T2, T3> {
2680 fn st3(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2681}
2682
2683pub trait St4Emitter<T0, T1, T2, T3, T4> {
2684 fn st4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2685}
2686
2687pub trait SubhnEmitter<T0, T1, T2> {
2688 fn subhn(&mut self, op0: T0, op1: T1, op2: T2);
2689}
2690
2691pub trait Subhn2Emitter<T0, T1, T2> {
2692 fn subhn2(&mut self, op0: T0, op1: T1, op2: T2);
2693}
2694
2695pub trait SuqaddEmitter<T0, T1> {
2696 fn suqadd(&mut self, op0: T0, op1: T1);
2697}
2698
2699pub trait SxtlEmitter<T0, T1> {
2700 fn sxtl(&mut self, op0: T0, op1: T1);
2701}
2702
2703pub trait Sxtl2Emitter<T0, T1> {
2704 fn sxtl2(&mut self, op0: T0, op1: T1);
2705}
2706
2707pub trait TblEmitter<T0, T1, T2> {
2708 fn tbl(&mut self, op0: T0, op1: T1, op2: T2);
2709}
2710
2711pub trait Tbl4Emitter<T0, T1, T2, T3> {
2712 fn tbl_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2713}
2714
2715pub trait Tbl5Emitter<T0, T1, T2, T3, T4> {
2716 fn tbl_5(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2717}
2718
2719pub trait Tbl6Emitter<T0, T1, T2, T3, T4, T5> {
2720 fn tbl_6(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4, op5: T5);
2721}
2722
2723pub trait TbxEmitter<T0, T1, T2> {
2724 fn tbx(&mut self, op0: T0, op1: T1, op2: T2);
2725}
2726
2727pub trait Tbx4Emitter<T0, T1, T2, T3> {
2728 fn tbx_4(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
2729}
2730
2731pub trait Tbx5Emitter<T0, T1, T2, T3, T4> {
2732 fn tbx_5(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4);
2733}
2734
2735pub trait Tbx6Emitter<T0, T1, T2, T3, T4, T5> {
2736 fn tbx_6(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4, op5: T5);
2737}
2738
2739pub trait Trn1Emitter<T0, T1, T2> {
2740 fn trn1(&mut self, op0: T0, op1: T1, op2: T2);
2741}
2742
2743pub trait Trn2Emitter<T0, T1, T2> {
2744 fn trn2(&mut self, op0: T0, op1: T1, op2: T2);
2745}
2746
2747pub trait UabaEmitter<T0, T1, T2> {
2748 fn uaba(&mut self, op0: T0, op1: T1, op2: T2);
2749}
2750
2751pub trait UabalEmitter<T0, T1, T2> {
2752 fn uabal(&mut self, op0: T0, op1: T1, op2: T2);
2753}
2754
2755pub trait Uabal2Emitter<T0, T1, T2> {
2756 fn uabal2(&mut self, op0: T0, op1: T1, op2: T2);
2757}
2758
2759pub trait UabdEmitter<T0, T1, T2> {
2760 fn uabd(&mut self, op0: T0, op1: T1, op2: T2);
2761}
2762
2763pub trait UabdlEmitter<T0, T1, T2> {
2764 fn uabdl(&mut self, op0: T0, op1: T1, op2: T2);
2765}
2766
2767pub trait Uabdl2Emitter<T0, T1, T2> {
2768 fn uabdl2(&mut self, op0: T0, op1: T1, op2: T2);
2769}
2770
2771pub trait UadalpEmitter<T0, T1> {
2772 fn uadalp(&mut self, op0: T0, op1: T1);
2773}
2774
2775pub trait UaddlEmitter<T0, T1, T2> {
2776 fn uaddl(&mut self, op0: T0, op1: T1, op2: T2);
2777}
2778
2779pub trait Uaddl2Emitter<T0, T1, T2> {
2780 fn uaddl2(&mut self, op0: T0, op1: T1, op2: T2);
2781}
2782
2783pub trait UaddlpEmitter<T0, T1> {
2784 fn uaddlp(&mut self, op0: T0, op1: T1);
2785}
2786
2787pub trait UaddlvEmitter<T0, T1> {
2788 fn uaddlv(&mut self, op0: T0, op1: T1);
2789}
2790
2791pub trait UaddwEmitter<T0, T1, T2> {
2792 fn uaddw(&mut self, op0: T0, op1: T1, op2: T2);
2793}
2794
2795pub trait Uaddw2Emitter<T0, T1, T2> {
2796 fn uaddw2(&mut self, op0: T0, op1: T1, op2: T2);
2797}
2798
2799pub trait UcvtfEmitter<T0, T1> {
2800 fn ucvtf(&mut self, op0: T0, op1: T1);
2801}
2802
2803pub trait Ucvtf3Emitter<T0, T1, T2> {
2804 fn ucvtf_3(&mut self, op0: T0, op1: T1, op2: T2);
2805}
2806
2807pub trait UhaddEmitter<T0, T1, T2> {
2808 fn uhadd(&mut self, op0: T0, op1: T1, op2: T2);
2809}
2810
2811pub trait UhsubEmitter<T0, T1, T2> {
2812 fn uhsub(&mut self, op0: T0, op1: T1, op2: T2);
2813}
2814
2815pub trait UmaxpEmitter<T0, T1, T2> {
2816 fn umaxp(&mut self, op0: T0, op1: T1, op2: T2);
2817}
2818
2819pub trait UmaxvEmitter<T0, T1> {
2820 fn umaxv(&mut self, op0: T0, op1: T1);
2821}
2822
2823pub trait UminpEmitter<T0, T1, T2> {
2824 fn uminp(&mut self, op0: T0, op1: T1, op2: T2);
2825}
2826
2827pub trait UminvEmitter<T0, T1> {
2828 fn uminv(&mut self, op0: T0, op1: T1);
2829}
2830
2831pub trait UmlalEmitter<T0, T1, T2> {
2832 fn umlal(&mut self, op0: T0, op1: T1, op2: T2);
2833}
2834
2835pub trait Umlal2Emitter<T0, T1, T2> {
2836 fn umlal2(&mut self, op0: T0, op1: T1, op2: T2);
2837}
2838
2839pub trait UmlslEmitter<T0, T1, T2> {
2840 fn umlsl(&mut self, op0: T0, op1: T1, op2: T2);
2841}
2842
2843pub trait Umlsl2Emitter<T0, T1, T2> {
2844 fn umlsl2(&mut self, op0: T0, op1: T1, op2: T2);
2845}
2846
2847pub trait UmovEmitter<T0, T1> {
2848 fn umov(&mut self, op0: T0, op1: T1);
2849}
2850
2851pub trait Umull2Emitter<T0, T1, T2> {
2852 fn umull2(&mut self, op0: T0, op1: T1, op2: T2);
2853}
2854
2855pub trait UqaddEmitter<T0, T1, T2> {
2856 fn uqadd(&mut self, op0: T0, op1: T1, op2: T2);
2857}
2858
2859pub trait UqrshlEmitter<T0, T1, T2> {
2860 fn uqrshl(&mut self, op0: T0, op1: T1, op2: T2);
2861}
2862
2863pub trait UqrshrnEmitter<T0, T1, T2> {
2864 fn uqrshrn(&mut self, op0: T0, op1: T1, op2: T2);
2865}
2866
2867pub trait Uqrshrn2Emitter<T0, T1, T2> {
2868 fn uqrshrn2(&mut self, op0: T0, op1: T1, op2: T2);
2869}
2870
2871pub trait UqshlEmitter<T0, T1, T2> {
2872 fn uqshl(&mut self, op0: T0, op1: T1, op2: T2);
2873}
2874
2875pub trait UqshrnEmitter<T0, T1, T2> {
2876 fn uqshrn(&mut self, op0: T0, op1: T1, op2: T2);
2877}
2878
2879pub trait Uqshrn2Emitter<T0, T1, T2> {
2880 fn uqshrn2(&mut self, op0: T0, op1: T1, op2: T2);
2881}
2882
2883pub trait UqsubEmitter<T0, T1, T2> {
2884 fn uqsub(&mut self, op0: T0, op1: T1, op2: T2);
2885}
2886
2887pub trait UqxtnEmitter<T0, T1> {
2888 fn uqxtn(&mut self, op0: T0, op1: T1);
2889}
2890
2891pub trait Uqxtn2Emitter<T0, T1> {
2892 fn uqxtn2(&mut self, op0: T0, op1: T1);
2893}
2894
2895pub trait UrecpeEmitter<T0, T1> {
2896 fn urecpe(&mut self, op0: T0, op1: T1);
2897}
2898
2899pub trait UrhaddEmitter<T0, T1, T2> {
2900 fn urhadd(&mut self, op0: T0, op1: T1, op2: T2);
2901}
2902
2903pub trait UrshlEmitter<T0, T1, T2> {
2904 fn urshl(&mut self, op0: T0, op1: T1, op2: T2);
2905}
2906
2907pub trait UrshrEmitter<T0, T1, T2> {
2908 fn urshr(&mut self, op0: T0, op1: T1, op2: T2);
2909}
2910
2911pub trait UrsqrteEmitter<T0, T1> {
2912 fn ursqrte(&mut self, op0: T0, op1: T1);
2913}
2914
2915pub trait UrsraEmitter<T0, T1, T2> {
2916 fn ursra(&mut self, op0: T0, op1: T1, op2: T2);
2917}
2918
2919pub trait UshlEmitter<T0, T1, T2> {
2920 fn ushl(&mut self, op0: T0, op1: T1, op2: T2);
2921}
2922
2923pub trait UshllEmitter<T0, T1, T2> {
2924 fn ushll(&mut self, op0: T0, op1: T1, op2: T2);
2925}
2926
2927pub trait Ushll2Emitter<T0, T1, T2> {
2928 fn ushll2(&mut self, op0: T0, op1: T1, op2: T2);
2929}
2930
2931pub trait UshrEmitter<T0, T1, T2> {
2932 fn ushr(&mut self, op0: T0, op1: T1, op2: T2);
2933}
2934
2935pub trait UsqaddEmitter<T0, T1> {
2936 fn usqadd(&mut self, op0: T0, op1: T1);
2937}
2938
2939pub trait UsraEmitter<T0, T1, T2> {
2940 fn usra(&mut self, op0: T0, op1: T1, op2: T2);
2941}
2942
2943pub trait UsublEmitter<T0, T1, T2> {
2944 fn usubl(&mut self, op0: T0, op1: T1, op2: T2);
2945}
2946
2947pub trait Usubl2Emitter<T0, T1, T2> {
2948 fn usubl2(&mut self, op0: T0, op1: T1, op2: T2);
2949}
2950
2951pub trait UsubwEmitter<T0, T1, T2> {
2952 fn usubw(&mut self, op0: T0, op1: T1, op2: T2);
2953}
2954
2955pub trait Usubw2Emitter<T0, T1, T2> {
2956 fn usubw2(&mut self, op0: T0, op1: T1, op2: T2);
2957}
2958
2959pub trait UxtlEmitter<T0, T1> {
2960 fn uxtl(&mut self, op0: T0, op1: T1);
2961}
2962
2963pub trait Uxtl2Emitter<T0, T1> {
2964 fn uxtl2(&mut self, op0: T0, op1: T1);
2965}
2966
2967pub trait Uzp1Emitter<T0, T1, T2> {
2968 fn uzp1(&mut self, op0: T0, op1: T1, op2: T2);
2969}
2970
2971pub trait Uzp2Emitter<T0, T1, T2> {
2972 fn uzp2(&mut self, op0: T0, op1: T1, op2: T2);
2973}
2974
2975pub trait XtnEmitter<T0, T1> {
2976 fn xtn(&mut self, op0: T0, op1: T1);
2977}
2978
2979pub trait Xtn2Emitter<T0, T1> {
2980 fn xtn2(&mut self, op0: T0, op1: T1);
2981}
2982
2983pub trait Zip1Emitter<T0, T1, T2> {
2984 fn zip1(&mut self, op0: T0, op1: T1, op2: T2);
2985}
2986
2987pub trait Zip2Emitter<T0, T1, T2> {
2988 fn zip2(&mut self, op0: T0, op1: T1, op2: T2);
2989}
2990
2991pub trait AesdEmitter<T0, T1> {
2992 fn aesd(&mut self, op0: T0, op1: T1);
2993}
2994
2995pub trait AeseEmitter<T0, T1> {
2996 fn aese(&mut self, op0: T0, op1: T1);
2997}
2998
2999pub trait AesimcEmitter<T0, T1> {
3000 fn aesimc(&mut self, op0: T0, op1: T1);
3001}
3002
3003pub trait AesmcEmitter<T0, T1> {
3004 fn aesmc(&mut self, op0: T0, op1: T1);
3005}
3006
3007pub trait Sha1cEmitter<T0, T1, T2> {
3008 fn sha1c(&mut self, op0: T0, op1: T1, op2: T2);
3009}
3010
3011pub trait Sha1hEmitter<T0, T1> {
3012 fn sha1h(&mut self, op0: T0, op1: T1);
3013}
3014
3015pub trait Sha1mEmitter<T0, T1, T2> {
3016 fn sha1m(&mut self, op0: T0, op1: T1, op2: T2);
3017}
3018
3019pub trait Sha1pEmitter<T0, T1, T2> {
3020 fn sha1p(&mut self, op0: T0, op1: T1, op2: T2);
3021}
3022
3023pub trait Sha1su0Emitter<T0, T1, T2> {
3024 fn sha1su0(&mut self, op0: T0, op1: T1, op2: T2);
3025}
3026
3027pub trait Sha1su1Emitter<T0, T1> {
3028 fn sha1su1(&mut self, op0: T0, op1: T1);
3029}
3030
3031pub trait Sha256hEmitter<T0, T1, T2> {
3032 fn sha256h(&mut self, op0: T0, op1: T1, op2: T2);
3033}
3034
3035pub trait Sha256h2Emitter<T0, T1, T2> {
3036 fn sha256h2(&mut self, op0: T0, op1: T1, op2: T2);
3037}
3038
3039pub trait Sha256su0Emitter<T0, T1> {
3040 fn sha256su0(&mut self, op0: T0, op1: T1);
3041}
3042
3043pub trait Sha256su1Emitter<T0, T1, T2> {
3044 fn sha256su1(&mut self, op0: T0, op1: T1, op2: T2);
3045}
3046
3047pub trait SqrdmlahEmitter<T0, T1, T2> {
3048 fn sqrdmlah(&mut self, op0: T0, op1: T1, op2: T2);
3049}
3050
3051pub trait SqrdmlshEmitter<T0, T1, T2> {
3052 fn sqrdmlsh(&mut self, op0: T0, op1: T1, op2: T2);
3053}
3054
3055pub trait FcaddEmitter<T0, T1, T2, T3> {
3056 fn fcadd(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
3057}
3058
3059pub trait FcmlaEmitter<T0, T1, T2, T3> {
3060 fn fcmla(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
3061}
3062
3063pub trait FjcvtzsEmitter<T0, T1> {
3064 fn fjcvtzs(&mut self, op0: T0, op1: T1);
3065}
3066
3067pub trait FmlalEmitter<T0, T1, T2> {
3068 fn fmlal(&mut self, op0: T0, op1: T1, op2: T2);
3069}
3070
3071pub trait Fmlal2Emitter<T0, T1, T2> {
3072 fn fmlal2(&mut self, op0: T0, op1: T1, op2: T2);
3073}
3074
3075pub trait FmlslEmitter<T0, T1, T2> {
3076 fn fmlsl(&mut self, op0: T0, op1: T1, op2: T2);
3077}
3078
3079pub trait Fmlsl2Emitter<T0, T1, T2> {
3080 fn fmlsl2(&mut self, op0: T0, op1: T1, op2: T2);
3081}
3082
3083pub trait BcaxEmitter<T0, T1, T2, T3> {
3084 fn bcax(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
3085}
3086
3087pub trait Eor3Emitter<T0, T1, T2, T3> {
3088 fn eor3(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
3089}
3090
3091pub trait Rax1Emitter<T0, T1, T2> {
3092 fn rax1(&mut self, op0: T0, op1: T1, op2: T2);
3093}
3094
3095pub trait XarEmitter<T0, T1, T2, T3> {
3096 fn xar(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
3097}
3098
3099pub trait Sha512hEmitter<T0, T1, T2> {
3100 fn sha512h(&mut self, op0: T0, op1: T1, op2: T2);
3101}
3102
3103pub trait Sha512h2Emitter<T0, T1, T2> {
3104 fn sha512h2(&mut self, op0: T0, op1: T1, op2: T2);
3105}
3106
3107pub trait Sha512su0Emitter<T0, T1> {
3108 fn sha512su0(&mut self, op0: T0, op1: T1);
3109}
3110
3111pub trait Sha512su1Emitter<T0, T1, T2> {
3112 fn sha512su1(&mut self, op0: T0, op1: T1, op2: T2);
3113}
3114
3115pub trait Sm3partw1Emitter<T0, T1, T2> {
3116 fn sm3partw1(&mut self, op0: T0, op1: T1, op2: T2);
3117}
3118
3119pub trait Sm3partw2Emitter<T0, T1, T2> {
3120 fn sm3partw2(&mut self, op0: T0, op1: T1, op2: T2);
3121}
3122
3123pub trait Sm3ss1Emitter<T0, T1, T2, T3> {
3124 fn sm3ss1(&mut self, op0: T0, op1: T1, op2: T2, op3: T3);
3125}
3126
3127pub trait Sm3tt1aEmitter<T0, T1, T2> {
3128 fn sm3tt1a(&mut self, op0: T0, op1: T1, op2: T2);
3129}
3130
3131pub trait Sm3tt1bEmitter<T0, T1, T2> {
3132 fn sm3tt1b(&mut self, op0: T0, op1: T1, op2: T2);
3133}
3134
3135pub trait Sm3tt2aEmitter<T0, T1, T2> {
3136 fn sm3tt2a(&mut self, op0: T0, op1: T1, op2: T2);
3137}
3138
3139pub trait Sm3tt2bEmitter<T0, T1, T2> {
3140 fn sm3tt2b(&mut self, op0: T0, op1: T1, op2: T2);
3141}
3142
3143pub trait Sm4eEmitter<T0, T1> {
3144 fn sm4e(&mut self, op0: T0, op1: T1);
3145}
3146
3147pub trait Sm4ekeyEmitter<T0, T1, T2> {
3148 fn sm4ekey(&mut self, op0: T0, op1: T1, op2: T2);
3149}
3150
3151pub trait SdotEmitter<T0, T1, T2> {
3152 fn sdot(&mut self, op0: T0, op1: T1, op2: T2);
3153}
3154
3155pub trait UdotEmitter<T0, T1, T2> {
3156 fn udot(&mut self, op0: T0, op1: T1, op2: T2);
3157}
3158
3159pub trait BfcvtEmitter<T0, T1> {
3160 fn bfcvt(&mut self, op0: T0, op1: T1);
3161}
3162
3163pub trait BfcvtnEmitter<T0, T1> {
3164 fn bfcvtn(&mut self, op0: T0, op1: T1);
3165}
3166
3167pub trait Bfcvtn2Emitter<T0, T1> {
3168 fn bfcvtn2(&mut self, op0: T0, op1: T1);
3169}
3170
3171pub trait BfmlalbEmitter<T0, T1, T2> {
3172 fn bfmlalb(&mut self, op0: T0, op1: T1, op2: T2);
3173}
3174
3175pub trait BfmlaltEmitter<T0, T1, T2> {
3176 fn bfmlalt(&mut self, op0: T0, op1: T1, op2: T2);
3177}
3178
3179pub trait BfmmlaEmitter<T0, T1, T2> {
3180 fn bfmmla(&mut self, op0: T0, op1: T1, op2: T2);
3181}
3182
3183pub trait BfdotEmitter<T0, T1, T2> {
3184 fn bfdot(&mut self, op0: T0, op1: T1, op2: T2);
3185}
3186
3187pub trait SmmlaEmitter<T0, T1, T2> {
3188 fn smmla(&mut self, op0: T0, op1: T1, op2: T2);
3189}
3190
3191pub trait SudotEmitter<T0, T1, T2> {
3192 fn sudot(&mut self, op0: T0, op1: T1, op2: T2);
3193}
3194
3195pub trait UmmlaEmitter<T0, T1, T2> {
3196 fn ummla(&mut self, op0: T0, op1: T1, op2: T2);
3197}
3198
3199pub trait UsdotEmitter<T0, T1, T2> {
3200 fn usdot(&mut self, op0: T0, op1: T1, op2: T2);
3201}
3202
3203pub trait UsmmlaEmitter<T0, T1, T2> {
3204 fn usmmla(&mut self, op0: T0, op1: T1, op2: T2);
3205}
3206
3207impl AdcEmitter<Gp, Gp, Gp> for Assembler<'_> {
3208 fn adc(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3209 self.emit_n(
3210 InstId::Adc,
3211 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3212 );
3213 }
3214}
3215
3216impl AdcsEmitter<Gp, Gp, Gp> for Assembler<'_> {
3217 fn adcs(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3218 self.emit_n(
3219 InstId::Adcs,
3220 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3221 );
3222 }
3223}
3224
3225impl AddEmitter<Gp, Gp, Gp> for Assembler<'_> {
3226 fn add(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3227 self.emit_n(
3228 InstId::Add,
3229 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3230 );
3231 }
3232}
3233
3234impl AddEmitter<Gp, Gp, Imm> for Assembler<'_> {
3235 fn add(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3236 self.emit_n(
3237 InstId::Add,
3238 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3239 );
3240 }
3241}
3242
3243impl AddEmitter<Vec, Vec, Vec> for Assembler<'_> {
3244 fn add(&mut self, op0: Vec, op1: Vec, op2: Vec) {
3245 self.emit_n(
3246 InstId::Add_v,
3247 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3248 );
3249 }
3250}
3251
3252impl Add4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3253 fn add_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3254 self.emit_n(
3255 InstId::Add,
3256 &[
3257 op0.as_operand(),
3258 op1.as_operand(),
3259 op2.as_operand(),
3260 op3.as_operand(),
3261 ],
3262 );
3263 }
3264}
3265
3266impl Add4Emitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3267 fn add_4(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3268 self.emit_n(
3269 InstId::Add,
3270 &[
3271 op0.as_operand(),
3272 op1.as_operand(),
3273 op2.as_operand(),
3274 op3.as_operand(),
3275 ],
3276 );
3277 }
3278}
3279
3280impl AddsEmitter<Gp, Gp, Gp> for Assembler<'_> {
3281 fn adds(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3282 self.emit_n(
3283 InstId::Adds,
3284 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3285 );
3286 }
3287}
3288
3289impl AddsEmitter<Gp, Gp, Imm> for Assembler<'_> {
3290 fn adds(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3291 self.emit_n(
3292 InstId::Adds,
3293 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3294 );
3295 }
3296}
3297
3298impl Adds4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3299 fn adds_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3300 self.emit_n(
3301 InstId::Adds,
3302 &[
3303 op0.as_operand(),
3304 op1.as_operand(),
3305 op2.as_operand(),
3306 op3.as_operand(),
3307 ],
3308 );
3309 }
3310}
3311
3312impl Adds4Emitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3313 fn adds_4(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3314 self.emit_n(
3315 InstId::Adds,
3316 &[
3317 op0.as_operand(),
3318 op1.as_operand(),
3319 op2.as_operand(),
3320 op3.as_operand(),
3321 ],
3322 );
3323 }
3324}
3325
3326impl AdrEmitter<Gp, Imm> for Assembler<'_> {
3327 fn adr(&mut self, op0: Gp, op1: Imm) {
3328 self.emit_n(InstId::Adr, &[op0.as_operand(), op1.as_operand()]);
3329 }
3330}
3331
3332impl AdrEmitter<Gp, Label> for Assembler<'_> {
3333 fn adr(&mut self, op0: Gp, op1: Label) {
3334 self.emit_n(InstId::Adr, &[op0.as_operand(), op1.as_operand()]);
3335 }
3336}
3337
3338impl AdrEmitter<Gp, Sym> for Assembler<'_> {
3339 fn adr(&mut self, op0: Gp, op1: Sym) {
3340 self.emit_n(InstId::Adr, &[op0.as_operand(), op1.as_operand()]);
3341 }
3342}
3343
3344impl AdrpEmitter<Gp, Imm> for Assembler<'_> {
3345 fn adrp(&mut self, op0: Gp, op1: Imm) {
3346 self.emit_n(InstId::Adrp, &[op0.as_operand(), op1.as_operand()]);
3347 }
3348}
3349
3350impl AdrpEmitter<Gp, Label> for Assembler<'_> {
3351 fn adrp(&mut self, op0: Gp, op1: Label) {
3352 self.emit_n(InstId::Adrp, &[op0.as_operand(), op1.as_operand()]);
3353 }
3354}
3355
3356impl AdrpEmitter<Gp, Sym> for Assembler<'_> {
3357 fn adrp(&mut self, op0: Gp, op1: Sym) {
3358 self.emit_n(InstId::Adrp, &[op0.as_operand(), op1.as_operand()]);
3359 }
3360}
3361
3362impl AndEmitter<Gp, Gp, Imm> for Assembler<'_> {
3363 fn and_(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3364 self.emit_n(
3365 InstId::And,
3366 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3367 );
3368 }
3369}
3370
3371impl AndEmitter<Gp, Gp, Gp> for Assembler<'_> {
3372 fn and_(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3373 self.emit_n(
3374 InstId::And,
3375 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3376 );
3377 }
3378}
3379
3380impl AndEmitter<Vec, Vec, Vec> for Assembler<'_> {
3381 fn and_(&mut self, op0: Vec, op1: Vec, op2: Vec) {
3382 self.emit_n(
3383 InstId::And_v,
3384 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3385 );
3386 }
3387}
3388
3389impl And4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3390 fn and__4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3391 self.emit_n(
3392 InstId::And,
3393 &[
3394 op0.as_operand(),
3395 op1.as_operand(),
3396 op2.as_operand(),
3397 op3.as_operand(),
3398 ],
3399 );
3400 }
3401}
3402
3403impl AndsEmitter<Gp, Gp, Imm> for Assembler<'_> {
3404 fn ands(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3405 self.emit_n(
3406 InstId::Ands,
3407 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3408 );
3409 }
3410}
3411
3412impl AndsEmitter<Gp, Gp, Gp> for Assembler<'_> {
3413 fn ands(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3414 self.emit_n(
3415 InstId::Ands,
3416 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3417 );
3418 }
3419}
3420
3421impl Ands4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3422 fn ands_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3423 self.emit_n(
3424 InstId::Ands,
3425 &[
3426 op0.as_operand(),
3427 op1.as_operand(),
3428 op2.as_operand(),
3429 op3.as_operand(),
3430 ],
3431 );
3432 }
3433}
3434
3435impl AsrEmitter<Gp, Gp, Imm> for Assembler<'_> {
3436 fn asr(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3437 self.emit_n(
3438 InstId::Asr,
3439 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3440 );
3441 }
3442}
3443
3444impl AsrEmitter<Gp, Gp, Gp> for Assembler<'_> {
3445 fn asr(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3446 self.emit_n(
3447 InstId::Asr,
3448 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3449 );
3450 }
3451}
3452
3453impl AsrvEmitter<Gp, Gp, Gp> for Assembler<'_> {
3454 fn asrv(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3455 self.emit_n(
3456 InstId::Asrv,
3457 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3458 );
3459 }
3460}
3461
3462impl AtEmitter<Imm, Gp> for Assembler<'_> {
3463 fn at(&mut self, op0: Imm, op1: Gp) {
3464 self.emit_n(InstId::At, &[op0.as_operand(), op1.as_operand()]);
3465 }
3466}
3467
3468impl BfcEmitter<Gp, Imm, Imm> for Assembler<'_> {
3469 fn bfc(&mut self, op0: Gp, op1: Imm, op2: Imm) {
3470 self.emit_n(
3471 InstId::Bfc,
3472 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3473 );
3474 }
3475}
3476
3477impl BfiEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3478 fn bfi(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3479 self.emit_n(
3480 InstId::Bfi,
3481 &[
3482 op0.as_operand(),
3483 op1.as_operand(),
3484 op2.as_operand(),
3485 op3.as_operand(),
3486 ],
3487 );
3488 }
3489}
3490
3491impl BfmEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3492 fn bfm(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3493 self.emit_n(
3494 InstId::Bfm,
3495 &[
3496 op0.as_operand(),
3497 op1.as_operand(),
3498 op2.as_operand(),
3499 op3.as_operand(),
3500 ],
3501 );
3502 }
3503}
3504
3505impl BfxilEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3506 fn bfxil(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3507 self.emit_n(
3508 InstId::Bfxil,
3509 &[
3510 op0.as_operand(),
3511 op1.as_operand(),
3512 op2.as_operand(),
3513 op3.as_operand(),
3514 ],
3515 );
3516 }
3517}
3518
3519impl BicEmitter<Gp, Gp, Imm> for Assembler<'_> {
3520 fn bic(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3521 self.emit_n(
3522 InstId::Bic,
3523 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3524 );
3525 }
3526}
3527
3528impl BicEmitter<Gp, Gp, Gp> for Assembler<'_> {
3529 fn bic(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3530 self.emit_n(
3531 InstId::Bic,
3532 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3533 );
3534 }
3535}
3536
3537impl BicEmitter<Vec, Vec, Vec> for Assembler<'_> {
3538 fn bic(&mut self, op0: Vec, op1: Vec, op2: Vec) {
3539 self.emit_n(
3540 InstId::Bic_v,
3541 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3542 );
3543 }
3544}
3545
3546impl BicEmitter<Vec, Imm, Imm> for Assembler<'_> {
3547 fn bic(&mut self, op0: Vec, op1: Imm, op2: Imm) {
3548 self.emit_n(
3549 InstId::Bic_v,
3550 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3551 );
3552 }
3553}
3554
3555impl Bic4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3556 fn bic_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3557 self.emit_n(
3558 InstId::Bic,
3559 &[
3560 op0.as_operand(),
3561 op1.as_operand(),
3562 op2.as_operand(),
3563 op3.as_operand(),
3564 ],
3565 );
3566 }
3567}
3568
3569impl BicsEmitter<Gp, Gp, Imm> for Assembler<'_> {
3570 fn bics(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3571 self.emit_n(
3572 InstId::Bics,
3573 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3574 );
3575 }
3576}
3577
3578impl BicsEmitter<Gp, Gp, Gp> for Assembler<'_> {
3579 fn bics(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3580 self.emit_n(
3581 InstId::Bics,
3582 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3583 );
3584 }
3585}
3586
3587impl Bics4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3588 fn bics_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3589 self.emit_n(
3590 InstId::Bics,
3591 &[
3592 op0.as_operand(),
3593 op1.as_operand(),
3594 op2.as_operand(),
3595 op3.as_operand(),
3596 ],
3597 );
3598 }
3599}
3600
3601impl BrkEmitter<Imm> for Assembler<'_> {
3602 fn brk(&mut self, op0: Imm) {
3603 self.emit_n(InstId::Brk, &[op0.as_operand()]);
3604 }
3605}
3606
3607impl CcmnEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3608 fn ccmn(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3609 self.emit_n(
3610 InstId::Ccmn,
3611 &[
3612 op0.as_operand(),
3613 op1.as_operand(),
3614 op2.as_operand(),
3615 op3.as_operand(),
3616 ],
3617 );
3618 }
3619}
3620
3621impl CcmnEmitter<Gp, Imm, Imm, Imm> for Assembler<'_> {
3622 fn ccmn(&mut self, op0: Gp, op1: Imm, op2: Imm, op3: Imm) {
3623 self.emit_n(
3624 InstId::Ccmn,
3625 &[
3626 op0.as_operand(),
3627 op1.as_operand(),
3628 op2.as_operand(),
3629 op3.as_operand(),
3630 ],
3631 );
3632 }
3633}
3634
3635impl CcmpEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
3636 fn ccmp(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
3637 self.emit_n(
3638 InstId::Ccmp,
3639 &[
3640 op0.as_operand(),
3641 op1.as_operand(),
3642 op2.as_operand(),
3643 op3.as_operand(),
3644 ],
3645 );
3646 }
3647}
3648
3649impl CcmpEmitter<Gp, Imm, Imm, Imm> for Assembler<'_> {
3650 fn ccmp(&mut self, op0: Gp, op1: Imm, op2: Imm, op3: Imm) {
3651 self.emit_n(
3652 InstId::Ccmp,
3653 &[
3654 op0.as_operand(),
3655 op1.as_operand(),
3656 op2.as_operand(),
3657 op3.as_operand(),
3658 ],
3659 );
3660 }
3661}
3662
3663impl CincEmitter<Gp, Gp, Imm> for Assembler<'_> {
3664 fn cinc(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3665 self.emit_n(
3666 InstId::Cinc,
3667 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3668 );
3669 }
3670}
3671
3672impl CinvEmitter<Gp, Gp, Imm> for Assembler<'_> {
3673 fn cinv(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3674 self.emit_n(
3675 InstId::Cinv,
3676 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3677 );
3678 }
3679}
3680
3681impl ClrexEmitter<Imm> for Assembler<'_> {
3682 fn clrex(&mut self, op0: Imm) {
3683 self.emit_n(InstId::Clrex, &[op0.as_operand()]);
3684 }
3685}
3686
3687impl ClsEmitter<Gp, Gp> for Assembler<'_> {
3688 fn cls(&mut self, op0: Gp, op1: Gp) {
3689 self.emit_n(InstId::Cls, &[op0.as_operand(), op1.as_operand()]);
3690 }
3691}
3692
3693impl ClsEmitter<Vec, Vec> for Assembler<'_> {
3694 fn cls(&mut self, op0: Vec, op1: Vec) {
3695 self.emit_n(InstId::Cls_v, &[op0.as_operand(), op1.as_operand()]);
3696 }
3697}
3698
3699impl ClzEmitter<Gp, Gp> for Assembler<'_> {
3700 fn clz(&mut self, op0: Gp, op1: Gp) {
3701 self.emit_n(InstId::Clz, &[op0.as_operand(), op1.as_operand()]);
3702 }
3703}
3704
3705impl ClzEmitter<Vec, Vec> for Assembler<'_> {
3706 fn clz(&mut self, op0: Vec, op1: Vec) {
3707 self.emit_n(InstId::Clz_v, &[op0.as_operand(), op1.as_operand()]);
3708 }
3709}
3710
3711impl CmnEmitter<Gp, Gp> for Assembler<'_> {
3712 fn cmn(&mut self, op0: Gp, op1: Gp) {
3713 self.emit_n(InstId::Cmn, &[op0.as_operand(), op1.as_operand()]);
3714 }
3715}
3716
3717impl CmnEmitter<Gp, Imm> for Assembler<'_> {
3718 fn cmn(&mut self, op0: Gp, op1: Imm) {
3719 self.emit_n(InstId::Cmn, &[op0.as_operand(), op1.as_operand()]);
3720 }
3721}
3722
3723impl Cmn3Emitter<Gp, Gp, Imm> for Assembler<'_> {
3724 fn cmn_3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3725 self.emit_n(
3726 InstId::Cmn,
3727 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3728 );
3729 }
3730}
3731
3732impl Cmn3Emitter<Gp, Imm, Imm> for Assembler<'_> {
3733 fn cmn_3(&mut self, op0: Gp, op1: Imm, op2: Imm) {
3734 self.emit_n(
3735 InstId::Cmn,
3736 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3737 );
3738 }
3739}
3740
3741impl CmpEmitter<Gp, Gp> for Assembler<'_> {
3742 fn cmp(&mut self, op0: Gp, op1: Gp) {
3743 self.emit_n(InstId::Cmp, &[op0.as_operand(), op1.as_operand()]);
3744 }
3745}
3746
3747impl CmpEmitter<Gp, Imm> for Assembler<'_> {
3748 fn cmp(&mut self, op0: Gp, op1: Imm) {
3749 self.emit_n(InstId::Cmp, &[op0.as_operand(), op1.as_operand()]);
3750 }
3751}
3752
3753impl Cmp3Emitter<Gp, Gp, Imm> for Assembler<'_> {
3754 fn cmp_3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3755 self.emit_n(
3756 InstId::Cmp,
3757 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3758 );
3759 }
3760}
3761
3762impl Cmp3Emitter<Gp, Imm, Imm> for Assembler<'_> {
3763 fn cmp_3(&mut self, op0: Gp, op1: Imm, op2: Imm) {
3764 self.emit_n(
3765 InstId::Cmp,
3766 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3767 );
3768 }
3769}
3770
3771impl CnegEmitter<Gp, Gp, Imm> for Assembler<'_> {
3772 fn cneg(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3773 self.emit_n(
3774 InstId::Cneg,
3775 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3776 );
3777 }
3778}
3779
3780impl CselEmitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3781 fn csel(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3782 self.emit_n(
3783 InstId::Csel,
3784 &[
3785 op0.as_operand(),
3786 op1.as_operand(),
3787 op2.as_operand(),
3788 op3.as_operand(),
3789 ],
3790 );
3791 }
3792}
3793
3794impl CsetEmitter<Gp, Imm> for Assembler<'_> {
3795 fn cset(&mut self, op0: Gp, op1: Imm) {
3796 self.emit_n(InstId::Cset, &[op0.as_operand(), op1.as_operand()]);
3797 }
3798}
3799
3800impl CsetmEmitter<Gp, Imm> for Assembler<'_> {
3801 fn csetm(&mut self, op0: Gp, op1: Imm) {
3802 self.emit_n(InstId::Csetm, &[op0.as_operand(), op1.as_operand()]);
3803 }
3804}
3805
3806impl CsincEmitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3807 fn csinc(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3808 self.emit_n(
3809 InstId::Csinc,
3810 &[
3811 op0.as_operand(),
3812 op1.as_operand(),
3813 op2.as_operand(),
3814 op3.as_operand(),
3815 ],
3816 );
3817 }
3818}
3819
3820impl CsinvEmitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3821 fn csinv(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3822 self.emit_n(
3823 InstId::Csinv,
3824 &[
3825 op0.as_operand(),
3826 op1.as_operand(),
3827 op2.as_operand(),
3828 op3.as_operand(),
3829 ],
3830 );
3831 }
3832}
3833
3834impl CsnegEmitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3835 fn csneg(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3836 self.emit_n(
3837 InstId::Csneg,
3838 &[
3839 op0.as_operand(),
3840 op1.as_operand(),
3841 op2.as_operand(),
3842 op3.as_operand(),
3843 ],
3844 );
3845 }
3846}
3847
3848impl DcEmitter<Imm, Gp> for Assembler<'_> {
3849 fn dc(&mut self, op0: Imm, op1: Gp) {
3850 self.emit_n(InstId::Dc, &[op0.as_operand(), op1.as_operand()]);
3851 }
3852}
3853
3854impl DmbEmitter<Imm> for Assembler<'_> {
3855 fn dmb(&mut self, op0: Imm) {
3856 self.emit_n(InstId::Dmb, &[op0.as_operand()]);
3857 }
3858}
3859
3860impl DsbEmitter<Imm> for Assembler<'_> {
3861 fn dsb(&mut self, op0: Imm) {
3862 self.emit_n(InstId::Dsb, &[op0.as_operand()]);
3863 }
3864}
3865
3866impl DrpsEmitter for Assembler<'_> {
3867 fn drps(&mut self) {
3868 self.emit_n(InstId::Drps, &[]);
3869 }
3870}
3871
3872impl EonEmitter<Gp, Gp, Gp> for Assembler<'_> {
3873 fn eon(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3874 self.emit_n(
3875 InstId::Eon,
3876 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3877 );
3878 }
3879}
3880
3881impl Eon4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3882 fn eon_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3883 self.emit_n(
3884 InstId::Eon,
3885 &[
3886 op0.as_operand(),
3887 op1.as_operand(),
3888 op2.as_operand(),
3889 op3.as_operand(),
3890 ],
3891 );
3892 }
3893}
3894
3895impl EorEmitter<Gp, Gp, Imm> for Assembler<'_> {
3896 fn eor(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3897 self.emit_n(
3898 InstId::Eor,
3899 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3900 );
3901 }
3902}
3903
3904impl EorEmitter<Gp, Gp, Gp> for Assembler<'_> {
3905 fn eor(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3906 self.emit_n(
3907 InstId::Eor,
3908 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3909 );
3910 }
3911}
3912
3913impl EorEmitter<Vec, Vec, Vec> for Assembler<'_> {
3914 fn eor(&mut self, op0: Vec, op1: Vec, op2: Vec) {
3915 self.emit_n(
3916 InstId::Eor_v,
3917 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3918 );
3919 }
3920}
3921
3922impl Eor4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3923 fn eor_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3924 self.emit_n(
3925 InstId::Eor,
3926 &[
3927 op0.as_operand(),
3928 op1.as_operand(),
3929 op2.as_operand(),
3930 op3.as_operand(),
3931 ],
3932 );
3933 }
3934}
3935
3936impl EretEmitter for Assembler<'_> {
3937 fn eret(&mut self) {
3938 self.emit_n(InstId::Eret, &[]);
3939 }
3940}
3941
3942impl EsbEmitter for Assembler<'_> {
3943 fn esb(&mut self) {
3944 self.emit_n(InstId::Esb, &[]);
3945 }
3946}
3947
3948impl ExtrEmitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
3949 fn extr(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
3950 self.emit_n(
3951 InstId::Extr,
3952 &[
3953 op0.as_operand(),
3954 op1.as_operand(),
3955 op2.as_operand(),
3956 op3.as_operand(),
3957 ],
3958 );
3959 }
3960}
3961
3962impl HltEmitter<Imm> for Assembler<'_> {
3963 fn hlt(&mut self, op0: Imm) {
3964 self.emit_n(InstId::Hlt, &[op0.as_operand()]);
3965 }
3966}
3967
3968impl HvcEmitter<Imm> for Assembler<'_> {
3969 fn hvc(&mut self, op0: Imm) {
3970 self.emit_n(InstId::Hvc, &[op0.as_operand()]);
3971 }
3972}
3973
3974impl IcEmitter<Imm, Gp> for Assembler<'_> {
3975 fn ic(&mut self, op0: Imm, op1: Gp) {
3976 self.emit_n(InstId::Ic, &[op0.as_operand(), op1.as_operand()]);
3977 }
3978}
3979
3980impl IsbEmitter<Imm> for Assembler<'_> {
3981 fn isb(&mut self, op0: Imm) {
3982 self.emit_n(InstId::Isb, &[op0.as_operand()]);
3983 }
3984}
3985
3986impl LslEmitter<Gp, Gp, Imm> for Assembler<'_> {
3987 fn lsl(&mut self, op0: Gp, op1: Gp, op2: Imm) {
3988 self.emit_n(
3989 InstId::Lsl,
3990 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
3991 );
3992 }
3993}
3994
3995impl LslEmitter<Gp, Gp, Gp> for Assembler<'_> {
3996 fn lsl(&mut self, op0: Gp, op1: Gp, op2: Gp) {
3997 self.emit_n(
3998 InstId::Lsl,
3999 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4000 );
4001 }
4002}
4003
4004impl LslvEmitter<Gp, Gp, Gp> for Assembler<'_> {
4005 fn lslv(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4006 self.emit_n(
4007 InstId::Lslv,
4008 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4009 );
4010 }
4011}
4012
4013impl LsrEmitter<Gp, Gp, Imm> for Assembler<'_> {
4014 fn lsr(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4015 self.emit_n(
4016 InstId::Lsr,
4017 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4018 );
4019 }
4020}
4021
4022impl LsrEmitter<Gp, Gp, Gp> for Assembler<'_> {
4023 fn lsr(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4024 self.emit_n(
4025 InstId::Lsr,
4026 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4027 );
4028 }
4029}
4030
4031impl LsrvEmitter<Gp, Gp, Gp> for Assembler<'_> {
4032 fn lsrv(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4033 self.emit_n(
4034 InstId::Lsrv,
4035 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4036 );
4037 }
4038}
4039
4040impl MaddEmitter<Gp, Gp, Gp, Gp> for Assembler<'_> {
4041 fn madd(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp) {
4042 self.emit_n(
4043 InstId::Madd,
4044 &[
4045 op0.as_operand(),
4046 op1.as_operand(),
4047 op2.as_operand(),
4048 op3.as_operand(),
4049 ],
4050 );
4051 }
4052}
4053
4054impl MnegEmitter<Gp, Gp, Gp> for Assembler<'_> {
4055 fn mneg(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4056 self.emit_n(
4057 InstId::Mneg,
4058 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4059 );
4060 }
4061}
4062
4063impl MovEmitter<Gp, Gp> for Assembler<'_> {
4064 fn mov(&mut self, op0: Gp, op1: Gp) {
4065 self.emit_n(InstId::Mov, &[op0.as_operand(), op1.as_operand()]);
4066 }
4067}
4068
4069impl MovEmitter<Gp, Imm> for Assembler<'_> {
4070 fn mov(&mut self, op0: Gp, op1: Imm) {
4071 self.emit_n(InstId::Mov, &[op0.as_operand(), op1.as_operand()]);
4072 }
4073}
4074
4075impl MovEmitter<Vec, Vec> for Assembler<'_> {
4076 fn mov(&mut self, op0: Vec, op1: Vec) {
4077 self.emit_n(InstId::Mov_v, &[op0.as_operand(), op1.as_operand()]);
4078 }
4079}
4080
4081impl MovEmitter<Gp, Vec> for Assembler<'_> {
4082 fn mov(&mut self, op0: Gp, op1: Vec) {
4083 self.emit_n(InstId::Mov_v, &[op0.as_operand(), op1.as_operand()]);
4084 }
4085}
4086
4087impl MovEmitter<Vec, Gp> for Assembler<'_> {
4088 fn mov(&mut self, op0: Vec, op1: Gp) {
4089 self.emit_n(InstId::Mov_v, &[op0.as_operand(), op1.as_operand()]);
4090 }
4091}
4092
4093impl MovkEmitter<Gp, Imm> for Assembler<'_> {
4094 fn movk(&mut self, op0: Gp, op1: Imm) {
4095 self.emit_n(InstId::Movk, &[op0.as_operand(), op1.as_operand()]);
4096 }
4097}
4098
4099impl Movk3Emitter<Gp, Imm, Imm> for Assembler<'_> {
4100 fn movk_3(&mut self, op0: Gp, op1: Imm, op2: Imm) {
4101 self.emit_n(
4102 InstId::Movk,
4103 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4104 );
4105 }
4106}
4107
4108impl MovnEmitter<Gp, Imm> for Assembler<'_> {
4109 fn movn(&mut self, op0: Gp, op1: Imm) {
4110 self.emit_n(InstId::Movn, &[op0.as_operand(), op1.as_operand()]);
4111 }
4112}
4113
4114impl Movn3Emitter<Gp, Imm, Imm> for Assembler<'_> {
4115 fn movn_3(&mut self, op0: Gp, op1: Imm, op2: Imm) {
4116 self.emit_n(
4117 InstId::Movn,
4118 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4119 );
4120 }
4121}
4122
4123impl MovzEmitter<Gp, Imm> for Assembler<'_> {
4124 fn movz(&mut self, op0: Gp, op1: Imm) {
4125 self.emit_n(InstId::Movz, &[op0.as_operand(), op1.as_operand()]);
4126 }
4127}
4128
4129impl Movz3Emitter<Gp, Imm, Imm> for Assembler<'_> {
4130 fn movz_3(&mut self, op0: Gp, op1: Imm, op2: Imm) {
4131 self.emit_n(
4132 InstId::Movz,
4133 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4134 );
4135 }
4136}
4137
4138impl MrsEmitter<Gp, Imm> for Assembler<'_> {
4139 fn mrs(&mut self, op0: Gp, op1: Imm) {
4140 self.emit_n(InstId::Mrs, &[op0.as_operand(), op1.as_operand()]);
4141 }
4142}
4143
4144impl MsrEmitter<Imm, Gp> for Assembler<'_> {
4145 fn msr(&mut self, op0: Imm, op1: Gp) {
4146 self.emit_n(InstId::Msr, &[op0.as_operand(), op1.as_operand()]);
4147 }
4148}
4149
4150impl MsrEmitter<Imm, Imm> for Assembler<'_> {
4151 fn msr(&mut self, op0: Imm, op1: Imm) {
4152 self.emit_n(InstId::Msr, &[op0.as_operand(), op1.as_operand()]);
4153 }
4154}
4155
4156impl MsubEmitter<Gp, Gp, Gp, Gp> for Assembler<'_> {
4157 fn msub(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp) {
4158 self.emit_n(
4159 InstId::Msub,
4160 &[
4161 op0.as_operand(),
4162 op1.as_operand(),
4163 op2.as_operand(),
4164 op3.as_operand(),
4165 ],
4166 );
4167 }
4168}
4169
4170impl MulEmitter<Gp, Gp, Gp> for Assembler<'_> {
4171 fn mul(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4172 self.emit_n(
4173 InstId::Mul,
4174 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4175 );
4176 }
4177}
4178
4179impl MulEmitter<Vec, Vec, Vec> for Assembler<'_> {
4180 fn mul(&mut self, op0: Vec, op1: Vec, op2: Vec) {
4181 self.emit_n(
4182 InstId::Mul_v,
4183 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4184 );
4185 }
4186}
4187
4188impl MvnEmitter<Gp, Gp> for Assembler<'_> {
4189 fn mvn(&mut self, op0: Gp, op1: Gp) {
4190 self.emit_n(InstId::Mvn, &[op0.as_operand(), op1.as_operand()]);
4191 }
4192}
4193
4194impl MvnEmitter<Vec, Vec> for Assembler<'_> {
4195 fn mvn(&mut self, op0: Vec, op1: Vec) {
4196 self.emit_n(InstId::Mvn_v, &[op0.as_operand(), op1.as_operand()]);
4197 }
4198}
4199
4200impl Mvn3Emitter<Gp, Gp, Imm> for Assembler<'_> {
4201 fn mvn_3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4202 self.emit_n(
4203 InstId::Mvn,
4204 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4205 );
4206 }
4207}
4208
4209impl Mvn_Emitter<Gp, Gp> for Assembler<'_> {
4210 fn mvn_(&mut self, op0: Gp, op1: Gp) {
4211 self.emit_n(InstId::Mvn, &[op0.as_operand(), op1.as_operand()]);
4212 }
4213}
4214
4215impl Mvn_Emitter<Vec, Vec> for Assembler<'_> {
4216 fn mvn_(&mut self, op0: Vec, op1: Vec) {
4217 self.emit_n(InstId::Mvn_v, &[op0.as_operand(), op1.as_operand()]);
4218 }
4219}
4220
4221impl Mvn_3Emitter<Gp, Gp, Imm> for Assembler<'_> {
4222 fn mvn__3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4223 self.emit_n(
4224 InstId::Mvn,
4225 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4226 );
4227 }
4228}
4229
4230impl NegEmitter<Gp, Gp> for Assembler<'_> {
4231 fn neg(&mut self, op0: Gp, op1: Gp) {
4232 self.emit_n(InstId::Neg, &[op0.as_operand(), op1.as_operand()]);
4233 }
4234}
4235
4236impl NegEmitter<Vec, Vec> for Assembler<'_> {
4237 fn neg(&mut self, op0: Vec, op1: Vec) {
4238 self.emit_n(InstId::Neg_v, &[op0.as_operand(), op1.as_operand()]);
4239 }
4240}
4241
4242impl Neg3Emitter<Gp, Gp, Imm> for Assembler<'_> {
4243 fn neg_3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4244 self.emit_n(
4245 InstId::Neg,
4246 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4247 );
4248 }
4249}
4250
4251impl NegsEmitter<Gp, Gp> for Assembler<'_> {
4252 fn negs(&mut self, op0: Gp, op1: Gp) {
4253 self.emit_n(InstId::Negs, &[op0.as_operand(), op1.as_operand()]);
4254 }
4255}
4256
4257impl Negs3Emitter<Gp, Gp, Imm> for Assembler<'_> {
4258 fn negs_3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4259 self.emit_n(
4260 InstId::Negs,
4261 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4262 );
4263 }
4264}
4265
4266impl NgcEmitter<Gp, Gp> for Assembler<'_> {
4267 fn ngc(&mut self, op0: Gp, op1: Gp) {
4268 self.emit_n(InstId::Ngc, &[op0.as_operand(), op1.as_operand()]);
4269 }
4270}
4271
4272impl NgcsEmitter<Gp, Gp> for Assembler<'_> {
4273 fn ngcs(&mut self, op0: Gp, op1: Gp) {
4274 self.emit_n(InstId::Ngcs, &[op0.as_operand(), op1.as_operand()]);
4275 }
4276}
4277
4278impl OrnEmitter<Gp, Gp, Gp> for Assembler<'_> {
4279 fn orn(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4280 self.emit_n(
4281 InstId::Orn,
4282 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4283 );
4284 }
4285}
4286
4287impl OrnEmitter<Vec, Vec, Vec> for Assembler<'_> {
4288 fn orn(&mut self, op0: Vec, op1: Vec, op2: Vec) {
4289 self.emit_n(
4290 InstId::Orn_v,
4291 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4292 );
4293 }
4294}
4295
4296impl Orn4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
4297 fn orn_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
4298 self.emit_n(
4299 InstId::Orn,
4300 &[
4301 op0.as_operand(),
4302 op1.as_operand(),
4303 op2.as_operand(),
4304 op3.as_operand(),
4305 ],
4306 );
4307 }
4308}
4309
4310impl OrrEmitter<Gp, Gp, Imm> for Assembler<'_> {
4311 fn orr(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4312 self.emit_n(
4313 InstId::Orr,
4314 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4315 );
4316 }
4317}
4318
4319impl OrrEmitter<Gp, Gp, Gp> for Assembler<'_> {
4320 fn orr(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4321 self.emit_n(
4322 InstId::Orr,
4323 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4324 );
4325 }
4326}
4327
4328impl OrrEmitter<Vec, Vec, Vec> for Assembler<'_> {
4329 fn orr(&mut self, op0: Vec, op1: Vec, op2: Vec) {
4330 self.emit_n(
4331 InstId::Orr_v,
4332 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4333 );
4334 }
4335}
4336
4337impl OrrEmitter<Vec, Imm, Imm> for Assembler<'_> {
4338 fn orr(&mut self, op0: Vec, op1: Imm, op2: Imm) {
4339 self.emit_n(
4340 InstId::Orr_v,
4341 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4342 );
4343 }
4344}
4345
4346impl Orr4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
4347 fn orr_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
4348 self.emit_n(
4349 InstId::Orr,
4350 &[
4351 op0.as_operand(),
4352 op1.as_operand(),
4353 op2.as_operand(),
4354 op3.as_operand(),
4355 ],
4356 );
4357 }
4358}
4359
4360impl RbitEmitter<Gp, Gp> for Assembler<'_> {
4361 fn rbit(&mut self, op0: Gp, op1: Gp) {
4362 self.emit_n(InstId::Rbit, &[op0.as_operand(), op1.as_operand()]);
4363 }
4364}
4365
4366impl RbitEmitter<Vec, Vec> for Assembler<'_> {
4367 fn rbit(&mut self, op0: Vec, op1: Vec) {
4368 self.emit_n(InstId::Rbit_v, &[op0.as_operand(), op1.as_operand()]);
4369 }
4370}
4371
4372impl RetEmitter<Gp> for Assembler<'_> {
4373 fn ret(&mut self, op0: Gp) {
4374 self.emit_n(InstId::Ret, &[op0.as_operand()]);
4375 }
4376}
4377
4378impl RevEmitter<Gp, Gp> for Assembler<'_> {
4379 fn rev(&mut self, op0: Gp, op1: Gp) {
4380 self.emit_n(InstId::Rev, &[op0.as_operand(), op1.as_operand()]);
4381 }
4382}
4383
4384impl Rev16Emitter<Gp, Gp> for Assembler<'_> {
4385 fn rev16(&mut self, op0: Gp, op1: Gp) {
4386 self.emit_n(InstId::Rev16, &[op0.as_operand(), op1.as_operand()]);
4387 }
4388}
4389
4390impl Rev16Emitter<Vec, Vec> for Assembler<'_> {
4391 fn rev16(&mut self, op0: Vec, op1: Vec) {
4392 self.emit_n(InstId::Rev16_v, &[op0.as_operand(), op1.as_operand()]);
4393 }
4394}
4395
4396impl Rev32Emitter<Gp, Gp> for Assembler<'_> {
4397 fn rev32(&mut self, op0: Gp, op1: Gp) {
4398 self.emit_n(InstId::Rev32, &[op0.as_operand(), op1.as_operand()]);
4399 }
4400}
4401
4402impl Rev32Emitter<Vec, Vec> for Assembler<'_> {
4403 fn rev32(&mut self, op0: Vec, op1: Vec) {
4404 self.emit_n(InstId::Rev32_v, &[op0.as_operand(), op1.as_operand()]);
4405 }
4406}
4407
4408impl Rev64Emitter<Gp, Gp> for Assembler<'_> {
4409 fn rev64(&mut self, op0: Gp, op1: Gp) {
4410 self.emit_n(InstId::Rev64, &[op0.as_operand(), op1.as_operand()]);
4411 }
4412}
4413
4414impl Rev64Emitter<Vec, Vec> for Assembler<'_> {
4415 fn rev64(&mut self, op0: Vec, op1: Vec) {
4416 self.emit_n(InstId::Rev64_v, &[op0.as_operand(), op1.as_operand()]);
4417 }
4418}
4419
4420impl RorEmitter<Gp, Gp, Imm> for Assembler<'_> {
4421 fn ror(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4422 self.emit_n(
4423 InstId::Ror,
4424 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4425 );
4426 }
4427}
4428
4429impl RorEmitter<Gp, Gp, Gp> for Assembler<'_> {
4430 fn ror(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4431 self.emit_n(
4432 InstId::Ror,
4433 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4434 );
4435 }
4436}
4437
4438impl RorvEmitter<Gp, Gp, Gp> for Assembler<'_> {
4439 fn rorv(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4440 self.emit_n(
4441 InstId::Rorv,
4442 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4443 );
4444 }
4445}
4446
4447impl SbcEmitter<Gp, Gp, Gp> for Assembler<'_> {
4448 fn sbc(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4449 self.emit_n(
4450 InstId::Sbc,
4451 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4452 );
4453 }
4454}
4455
4456impl SbcsEmitter<Gp, Gp, Gp> for Assembler<'_> {
4457 fn sbcs(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4458 self.emit_n(
4459 InstId::Sbcs,
4460 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4461 );
4462 }
4463}
4464
4465impl SbfizEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4466 fn sbfiz(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4467 self.emit_n(
4468 InstId::Sbfiz,
4469 &[
4470 op0.as_operand(),
4471 op1.as_operand(),
4472 op2.as_operand(),
4473 op3.as_operand(),
4474 ],
4475 );
4476 }
4477}
4478
4479impl SbfmEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4480 fn sbfm(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4481 self.emit_n(
4482 InstId::Sbfm,
4483 &[
4484 op0.as_operand(),
4485 op1.as_operand(),
4486 op2.as_operand(),
4487 op3.as_operand(),
4488 ],
4489 );
4490 }
4491}
4492
4493impl SbfxEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4494 fn sbfx(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4495 self.emit_n(
4496 InstId::Sbfx,
4497 &[
4498 op0.as_operand(),
4499 op1.as_operand(),
4500 op2.as_operand(),
4501 op3.as_operand(),
4502 ],
4503 );
4504 }
4505}
4506
4507impl SdivEmitter<Gp, Gp, Gp> for Assembler<'_> {
4508 fn sdiv(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4509 self.emit_n(
4510 InstId::Sdiv,
4511 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4512 );
4513 }
4514}
4515
4516impl SmaddlEmitter<Gp, Gp, Gp, Gp> for Assembler<'_> {
4517 fn smaddl(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp) {
4518 self.emit_n(
4519 InstId::Smaddl,
4520 &[
4521 op0.as_operand(),
4522 op1.as_operand(),
4523 op2.as_operand(),
4524 op3.as_operand(),
4525 ],
4526 );
4527 }
4528}
4529
4530impl SmcEmitter<Imm> for Assembler<'_> {
4531 fn smc(&mut self, op0: Imm) {
4532 self.emit_n(InstId::Smc, &[op0.as_operand()]);
4533 }
4534}
4535
4536impl SmneglEmitter<Gp, Gp, Gp> for Assembler<'_> {
4537 fn smnegl(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4538 self.emit_n(
4539 InstId::Smnegl,
4540 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4541 );
4542 }
4543}
4544
4545impl SmsublEmitter<Gp, Gp, Gp, Gp> for Assembler<'_> {
4546 fn smsubl(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp) {
4547 self.emit_n(
4548 InstId::Smsubl,
4549 &[
4550 op0.as_operand(),
4551 op1.as_operand(),
4552 op2.as_operand(),
4553 op3.as_operand(),
4554 ],
4555 );
4556 }
4557}
4558
4559impl SmulhEmitter<Gp, Gp, Gp> for Assembler<'_> {
4560 fn smulh(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4561 self.emit_n(
4562 InstId::Smulh,
4563 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4564 );
4565 }
4566}
4567
4568impl SmullEmitter<Gp, Gp, Gp> for Assembler<'_> {
4569 fn smull(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4570 self.emit_n(
4571 InstId::Smull,
4572 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4573 );
4574 }
4575}
4576
4577impl SmullEmitter<Vec, Vec, Vec> for Assembler<'_> {
4578 fn smull(&mut self, op0: Vec, op1: Vec, op2: Vec) {
4579 self.emit_n(
4580 InstId::Smull_v,
4581 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4582 );
4583 }
4584}
4585
4586impl SubEmitter<Gp, Gp, Gp> for Assembler<'_> {
4587 fn sub(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4588 self.emit_n(
4589 InstId::Sub,
4590 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4591 );
4592 }
4593}
4594
4595impl SubEmitter<Gp, Gp, Imm> for Assembler<'_> {
4596 fn sub(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4597 self.emit_n(
4598 InstId::Sub,
4599 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4600 );
4601 }
4602}
4603
4604impl SubEmitter<Vec, Vec, Vec> for Assembler<'_> {
4605 fn sub(&mut self, op0: Vec, op1: Vec, op2: Vec) {
4606 self.emit_n(
4607 InstId::Sub_v,
4608 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4609 );
4610 }
4611}
4612
4613impl Sub4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
4614 fn sub_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
4615 self.emit_n(
4616 InstId::Sub,
4617 &[
4618 op0.as_operand(),
4619 op1.as_operand(),
4620 op2.as_operand(),
4621 op3.as_operand(),
4622 ],
4623 );
4624 }
4625}
4626
4627impl Sub4Emitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4628 fn sub_4(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4629 self.emit_n(
4630 InstId::Sub,
4631 &[
4632 op0.as_operand(),
4633 op1.as_operand(),
4634 op2.as_operand(),
4635 op3.as_operand(),
4636 ],
4637 );
4638 }
4639}
4640
4641impl SubsEmitter<Gp, Gp, Gp> for Assembler<'_> {
4642 fn subs(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4643 self.emit_n(
4644 InstId::Subs,
4645 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4646 );
4647 }
4648}
4649
4650impl SubsEmitter<Gp, Gp, Imm> for Assembler<'_> {
4651 fn subs(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4652 self.emit_n(
4653 InstId::Subs,
4654 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4655 );
4656 }
4657}
4658
4659impl Subs4Emitter<Gp, Gp, Gp, Imm> for Assembler<'_> {
4660 fn subs_4(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Imm) {
4661 self.emit_n(
4662 InstId::Subs,
4663 &[
4664 op0.as_operand(),
4665 op1.as_operand(),
4666 op2.as_operand(),
4667 op3.as_operand(),
4668 ],
4669 );
4670 }
4671}
4672
4673impl Subs4Emitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4674 fn subs_4(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4675 self.emit_n(
4676 InstId::Subs,
4677 &[
4678 op0.as_operand(),
4679 op1.as_operand(),
4680 op2.as_operand(),
4681 op3.as_operand(),
4682 ],
4683 );
4684 }
4685}
4686
4687impl SvcEmitter<Imm> for Assembler<'_> {
4688 fn svc(&mut self, op0: Imm) {
4689 self.emit_n(InstId::Svc, &[op0.as_operand()]);
4690 }
4691}
4692
4693impl SxtbEmitter<Gp, Gp> for Assembler<'_> {
4694 fn sxtb(&mut self, op0: Gp, op1: Gp) {
4695 self.emit_n(InstId::Sxtb, &[op0.as_operand(), op1.as_operand()]);
4696 }
4697}
4698
4699impl SxthEmitter<Gp, Gp> for Assembler<'_> {
4700 fn sxth(&mut self, op0: Gp, op1: Gp) {
4701 self.emit_n(InstId::Sxth, &[op0.as_operand(), op1.as_operand()]);
4702 }
4703}
4704
4705impl SxtwEmitter<Gp, Gp> for Assembler<'_> {
4706 fn sxtw(&mut self, op0: Gp, op1: Gp) {
4707 self.emit_n(InstId::Sxtw, &[op0.as_operand(), op1.as_operand()]);
4708 }
4709}
4710
4711impl SysEmitter<Imm, Imm, Imm, Imm> for Assembler<'_> {
4712 fn sys(&mut self, op0: Imm, op1: Imm, op2: Imm, op3: Imm) {
4713 self.emit_n(
4714 InstId::Sys,
4715 &[
4716 op0.as_operand(),
4717 op1.as_operand(),
4718 op2.as_operand(),
4719 op3.as_operand(),
4720 ],
4721 );
4722 }
4723}
4724
4725impl Sys5Emitter<Imm, Imm, Imm, Imm, Gp> for Assembler<'_> {
4726 fn sys_5(&mut self, op0: Imm, op1: Imm, op2: Imm, op3: Imm, op4: Gp) {
4727 self.emit_n(
4728 InstId::Sys,
4729 &[
4730 op0.as_operand(),
4731 op1.as_operand(),
4732 op2.as_operand(),
4733 op3.as_operand(),
4734 op4.as_operand(),
4735 ],
4736 );
4737 }
4738}
4739
4740impl TlbiEmitter<Imm, Gp> for Assembler<'_> {
4741 fn tlbi(&mut self, op0: Imm, op1: Gp) {
4742 self.emit_n(InstId::Tlbi, &[op0.as_operand(), op1.as_operand()]);
4743 }
4744}
4745
4746impl TstEmitter<Gp, Imm> for Assembler<'_> {
4747 fn tst(&mut self, op0: Gp, op1: Imm) {
4748 self.emit_n(InstId::Tst, &[op0.as_operand(), op1.as_operand()]);
4749 }
4750}
4751
4752impl TstEmitter<Gp, Gp> for Assembler<'_> {
4753 fn tst(&mut self, op0: Gp, op1: Gp) {
4754 self.emit_n(InstId::Tst, &[op0.as_operand(), op1.as_operand()]);
4755 }
4756}
4757
4758impl Tst3Emitter<Gp, Gp, Imm> for Assembler<'_> {
4759 fn tst_3(&mut self, op0: Gp, op1: Gp, op2: Imm) {
4760 self.emit_n(
4761 InstId::Tst,
4762 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4763 );
4764 }
4765}
4766
4767impl UdivEmitter<Gp, Gp, Gp> for Assembler<'_> {
4768 fn udiv(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4769 self.emit_n(
4770 InstId::Udiv,
4771 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4772 );
4773 }
4774}
4775
4776impl UbfizEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4777 fn ubfiz(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4778 self.emit_n(
4779 InstId::Ubfiz,
4780 &[
4781 op0.as_operand(),
4782 op1.as_operand(),
4783 op2.as_operand(),
4784 op3.as_operand(),
4785 ],
4786 );
4787 }
4788}
4789
4790impl UbfmEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4791 fn ubfm(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4792 self.emit_n(
4793 InstId::Ubfm,
4794 &[
4795 op0.as_operand(),
4796 op1.as_operand(),
4797 op2.as_operand(),
4798 op3.as_operand(),
4799 ],
4800 );
4801 }
4802}
4803
4804impl UbfxEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
4805 fn ubfx(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
4806 self.emit_n(
4807 InstId::Ubfx,
4808 &[
4809 op0.as_operand(),
4810 op1.as_operand(),
4811 op2.as_operand(),
4812 op3.as_operand(),
4813 ],
4814 );
4815 }
4816}
4817
4818impl UmaddlEmitter<Gp, Gp, Gp, Gp> for Assembler<'_> {
4819 fn umaddl(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp) {
4820 self.emit_n(
4821 InstId::Umaddl,
4822 &[
4823 op0.as_operand(),
4824 op1.as_operand(),
4825 op2.as_operand(),
4826 op3.as_operand(),
4827 ],
4828 );
4829 }
4830}
4831
4832impl UmneglEmitter<Gp, Gp, Gp> for Assembler<'_> {
4833 fn umnegl(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4834 self.emit_n(
4835 InstId::Umnegl,
4836 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4837 );
4838 }
4839}
4840
4841impl UmsublEmitter<Gp, Gp, Gp, Gp> for Assembler<'_> {
4842 fn umsubl(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp) {
4843 self.emit_n(
4844 InstId::Umsubl,
4845 &[
4846 op0.as_operand(),
4847 op1.as_operand(),
4848 op2.as_operand(),
4849 op3.as_operand(),
4850 ],
4851 );
4852 }
4853}
4854
4855impl UmullEmitter<Gp, Gp, Gp> for Assembler<'_> {
4856 fn umull(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4857 self.emit_n(
4858 InstId::Umull,
4859 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4860 );
4861 }
4862}
4863
4864impl UmullEmitter<Vec, Vec, Vec> for Assembler<'_> {
4865 fn umull(&mut self, op0: Vec, op1: Vec, op2: Vec) {
4866 self.emit_n(
4867 InstId::Umull_v,
4868 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4869 );
4870 }
4871}
4872
4873impl UmulhEmitter<Gp, Gp, Gp> for Assembler<'_> {
4874 fn umulh(&mut self, op0: Gp, op1: Gp, op2: Gp) {
4875 self.emit_n(
4876 InstId::Umulh,
4877 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
4878 );
4879 }
4880}
4881
4882impl UxtbEmitter<Gp, Gp> for Assembler<'_> {
4883 fn uxtb(&mut self, op0: Gp, op1: Gp) {
4884 self.emit_n(InstId::Uxtb, &[op0.as_operand(), op1.as_operand()]);
4885 }
4886}
4887
4888impl UxthEmitter<Gp, Gp> for Assembler<'_> {
4889 fn uxth(&mut self, op0: Gp, op1: Gp) {
4890 self.emit_n(InstId::Uxth, &[op0.as_operand(), op1.as_operand()]);
4891 }
4892}
4893
4894impl CsdbEmitter for Assembler<'_> {
4895 fn csdb(&mut self) {
4896 self.emit_n(InstId::Csdb, &[]);
4897 }
4898}
4899
4900impl Dcps1Emitter<Imm> for Assembler<'_> {
4901 fn dcps1(&mut self, op0: Imm) {
4902 self.emit_n(InstId::Dcps1, &[op0.as_operand()]);
4903 }
4904}
4905
4906impl Dcps2Emitter<Imm> for Assembler<'_> {
4907 fn dcps2(&mut self, op0: Imm) {
4908 self.emit_n(InstId::Dcps2, &[op0.as_operand()]);
4909 }
4910}
4911
4912impl Dcps3Emitter<Imm> for Assembler<'_> {
4913 fn dcps3(&mut self, op0: Imm) {
4914 self.emit_n(InstId::Dcps3, &[op0.as_operand()]);
4915 }
4916}
4917
4918impl PssbbEmitter for Assembler<'_> {
4919 fn pssbb(&mut self) {
4920 self.emit_n(InstId::Pssbb, &[]);
4921 }
4922}
4923
4924impl SsbbEmitter for Assembler<'_> {
4925 fn ssbb(&mut self) {
4926 self.emit_n(InstId::Ssbb, &[]);
4927 }
4928}
4929
4930impl UdfEmitter<Imm> for Assembler<'_> {
4931 fn udf(&mut self, op0: Imm) {
4932 self.emit_n(InstId::Udf, &[op0.as_operand()]);
4933 }
4934}
4935
4936impl BEmitter<Imm> for Assembler<'_> {
4937 fn b(&mut self, op0: Imm) {
4938 self.emit_n(InstId::B, &[op0.as_operand()]);
4939 }
4940
4941 fn b_eq(&mut self, op0: Imm) {
4942 self.emit_n(InstId::B.with_cc(CondCode::EQ), &[op0.as_operand()]);
4943 }
4944 fn b_ne(&mut self, op0: Imm) {
4945 self.emit_n(InstId::B.with_cc(CondCode::NE), &[op0.as_operand()]);
4946 }
4947 fn b_cs(&mut self, op0: Imm) {
4948 self.emit_n(InstId::B.with_cc(CondCode::CS), &[op0.as_operand()]);
4949 }
4950 fn b_hs(&mut self, op0: Imm) {
4951 self.emit_n(InstId::B.with_cc(CondCode::HS), &[op0.as_operand()]);
4952 }
4953 fn b_cc(&mut self, op0: Imm) {
4954 self.emit_n(InstId::B.with_cc(CondCode::CC), &[op0.as_operand()]);
4955 }
4956 fn b_lo(&mut self, op0: Imm) {
4957 self.emit_n(InstId::B.with_cc(CondCode::LO), &[op0.as_operand()]);
4958 }
4959 fn b_mi(&mut self, op0: Imm) {
4960 self.emit_n(InstId::B.with_cc(CondCode::MI), &[op0.as_operand()]);
4961 }
4962 fn b_pl(&mut self, op0: Imm) {
4963 self.emit_n(InstId::B.with_cc(CondCode::PL), &[op0.as_operand()]);
4964 }
4965 fn b_vs(&mut self, op0: Imm) {
4966 self.emit_n(InstId::B.with_cc(CondCode::VS), &[op0.as_operand()]);
4967 }
4968 fn b_vc(&mut self, op0: Imm) {
4969 self.emit_n(InstId::B.with_cc(CondCode::VC), &[op0.as_operand()]);
4970 }
4971 fn b_hi(&mut self, op0: Imm) {
4972 self.emit_n(InstId::B.with_cc(CondCode::HI), &[op0.as_operand()]);
4973 }
4974 fn b_ls(&mut self, op0: Imm) {
4975 self.emit_n(InstId::B.with_cc(CondCode::LS), &[op0.as_operand()]);
4976 }
4977 fn b_ge(&mut self, op0: Imm) {
4978 self.emit_n(InstId::B.with_cc(CondCode::GE), &[op0.as_operand()]);
4979 }
4980 fn b_lt(&mut self, op0: Imm) {
4981 self.emit_n(InstId::B.with_cc(CondCode::LT), &[op0.as_operand()]);
4982 }
4983 fn b_gt(&mut self, op0: Imm) {
4984 self.emit_n(InstId::B.with_cc(CondCode::GT), &[op0.as_operand()]);
4985 }
4986 fn b_le(&mut self, op0: Imm) {
4987 self.emit_n(InstId::B.with_cc(CondCode::LE), &[op0.as_operand()]);
4988 }
4989 fn b_al(&mut self, op0: Imm) {
4990 self.emit_n(InstId::B.with_cc(CondCode::AL), &[op0.as_operand()]);
4991 }
4992}
4993
4994impl BEmitter<Label> for Assembler<'_> {
4995 fn b(&mut self, op0: Label) {
4996 self.emit_n(InstId::B, &[op0.as_operand()]);
4997 }
4998
4999 fn b_eq(&mut self, op0: Label) {
5000 self.emit_n(InstId::B.with_cc(CondCode::EQ), &[op0.as_operand()]);
5001 }
5002 fn b_ne(&mut self, op0: Label) {
5003 self.emit_n(InstId::B.with_cc(CondCode::NE), &[op0.as_operand()]);
5004 }
5005 fn b_cs(&mut self, op0: Label) {
5006 self.emit_n(InstId::B.with_cc(CondCode::CS), &[op0.as_operand()]);
5007 }
5008 fn b_hs(&mut self, op0: Label) {
5009 self.emit_n(InstId::B.with_cc(CondCode::HS), &[op0.as_operand()]);
5010 }
5011 fn b_cc(&mut self, op0: Label) {
5012 self.emit_n(InstId::B.with_cc(CondCode::CC), &[op0.as_operand()]);
5013 }
5014 fn b_lo(&mut self, op0: Label) {
5015 self.emit_n(InstId::B.with_cc(CondCode::LO), &[op0.as_operand()]);
5016 }
5017 fn b_mi(&mut self, op0: Label) {
5018 self.emit_n(InstId::B.with_cc(CondCode::MI), &[op0.as_operand()]);
5019 }
5020 fn b_pl(&mut self, op0: Label) {
5021 self.emit_n(InstId::B.with_cc(CondCode::PL), &[op0.as_operand()]);
5022 }
5023 fn b_vs(&mut self, op0: Label) {
5024 self.emit_n(InstId::B.with_cc(CondCode::VS), &[op0.as_operand()]);
5025 }
5026 fn b_vc(&mut self, op0: Label) {
5027 self.emit_n(InstId::B.with_cc(CondCode::VC), &[op0.as_operand()]);
5028 }
5029 fn b_hi(&mut self, op0: Label) {
5030 self.emit_n(InstId::B.with_cc(CondCode::HI), &[op0.as_operand()]);
5031 }
5032 fn b_ls(&mut self, op0: Label) {
5033 self.emit_n(InstId::B.with_cc(CondCode::LS), &[op0.as_operand()]);
5034 }
5035 fn b_ge(&mut self, op0: Label) {
5036 self.emit_n(InstId::B.with_cc(CondCode::GE), &[op0.as_operand()]);
5037 }
5038 fn b_lt(&mut self, op0: Label) {
5039 self.emit_n(InstId::B.with_cc(CondCode::LT), &[op0.as_operand()]);
5040 }
5041 fn b_gt(&mut self, op0: Label) {
5042 self.emit_n(InstId::B.with_cc(CondCode::GT), &[op0.as_operand()]);
5043 }
5044 fn b_le(&mut self, op0: Label) {
5045 self.emit_n(InstId::B.with_cc(CondCode::LE), &[op0.as_operand()]);
5046 }
5047 fn b_al(&mut self, op0: Label) {
5048 self.emit_n(InstId::B.with_cc(CondCode::AL), &[op0.as_operand()]);
5049 }
5050}
5051
5052impl BlEmitter<Imm> for Assembler<'_> {
5053 fn bl(&mut self, op0: Imm) {
5054 self.emit_n(InstId::Bl, &[op0.as_operand()]);
5055 }
5056}
5057
5058impl BlEmitter<Label> for Assembler<'_> {
5059 fn bl(&mut self, op0: Label) {
5060 self.emit_n(InstId::Bl, &[op0.as_operand()]);
5061 }
5062}
5063
5064impl BlEmitter<Sym> for Assembler<'_> {
5065 fn bl(&mut self, op0: Sym) {
5066 self.emit_n(InstId::Bl, &[op0.as_operand()]);
5067 }
5068}
5069
5070impl BlrEmitter<Gp> for Assembler<'_> {
5071 fn blr(&mut self, op0: Gp) {
5072 self.emit_n(InstId::Blr, &[op0.as_operand()]);
5073 }
5074}
5075
5076impl BrEmitter<Gp> for Assembler<'_> {
5077 fn br(&mut self, op0: Gp) {
5078 self.emit_n(InstId::Br, &[op0.as_operand()]);
5079 }
5080}
5081
5082impl CbzEmitter<Gp, Imm> for Assembler<'_> {
5083 fn cbz(&mut self, op0: Gp, op1: Imm) {
5084 self.emit_n(InstId::Cbz, &[op0.as_operand(), op1.as_operand()]);
5085 }
5086}
5087
5088impl CbzEmitter<Gp, Label> for Assembler<'_> {
5089 fn cbz(&mut self, op0: Gp, op1: Label) {
5090 self.emit_n(InstId::Cbz, &[op0.as_operand(), op1.as_operand()]);
5091 }
5092}
5093
5094impl CbzEmitter<Gp, Sym> for Assembler<'_> {
5095 fn cbz(&mut self, op0: Gp, op1: Sym) {
5096 self.emit_n(InstId::Cbz, &[op0.as_operand(), op1.as_operand()]);
5097 }
5098}
5099
5100impl CbnzEmitter<Gp, Imm> for Assembler<'_> {
5101 fn cbnz(&mut self, op0: Gp, op1: Imm) {
5102 self.emit_n(InstId::Cbnz, &[op0.as_operand(), op1.as_operand()]);
5103 }
5104}
5105
5106impl CbnzEmitter<Gp, Label> for Assembler<'_> {
5107 fn cbnz(&mut self, op0: Gp, op1: Label) {
5108 self.emit_n(InstId::Cbnz, &[op0.as_operand(), op1.as_operand()]);
5109 }
5110}
5111
5112impl CbnzEmitter<Gp, Sym> for Assembler<'_> {
5113 fn cbnz(&mut self, op0: Gp, op1: Sym) {
5114 self.emit_n(InstId::Cbnz, &[op0.as_operand(), op1.as_operand()]);
5115 }
5116}
5117
5118impl TbnzEmitter<Gp, Imm, Imm> for Assembler<'_> {
5119 fn tbnz(&mut self, op0: Gp, op1: Imm, op2: Imm) {
5120 self.emit_n(
5121 InstId::Tbnz,
5122 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5123 );
5124 }
5125}
5126
5127impl TbnzEmitter<Gp, Imm, Label> for Assembler<'_> {
5128 fn tbnz(&mut self, op0: Gp, op1: Imm, op2: Label) {
5129 self.emit_n(
5130 InstId::Tbnz,
5131 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5132 );
5133 }
5134}
5135
5136impl TbnzEmitter<Gp, Imm, Sym> for Assembler<'_> {
5137 fn tbnz(&mut self, op0: Gp, op1: Imm, op2: Sym) {
5138 self.emit_n(
5139 InstId::Tbnz,
5140 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5141 );
5142 }
5143}
5144
5145impl TbzEmitter<Gp, Imm, Imm> for Assembler<'_> {
5146 fn tbz(&mut self, op0: Gp, op1: Imm, op2: Imm) {
5147 self.emit_n(
5148 InstId::Tbz,
5149 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5150 );
5151 }
5152}
5153
5154impl TbzEmitter<Gp, Imm, Label> for Assembler<'_> {
5155 fn tbz(&mut self, op0: Gp, op1: Imm, op2: Label) {
5156 self.emit_n(
5157 InstId::Tbz,
5158 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5159 );
5160 }
5161}
5162
5163impl TbzEmitter<Gp, Imm, Sym> for Assembler<'_> {
5164 fn tbz(&mut self, op0: Gp, op1: Imm, op2: Sym) {
5165 self.emit_n(
5166 InstId::Tbz,
5167 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5168 );
5169 }
5170}
5171
5172impl CasEmitter<Gp, Gp, Mem> for Assembler<'_> {
5173 fn cas(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5174 self.emit_n(
5175 InstId::Cas,
5176 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5177 );
5178 }
5179}
5180
5181impl CasaEmitter<Gp, Gp, Mem> for Assembler<'_> {
5182 fn casa(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5183 self.emit_n(
5184 InstId::Casa,
5185 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5186 );
5187 }
5188}
5189
5190impl CasabEmitter<Gp, Gp, Mem> for Assembler<'_> {
5191 fn casab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5192 self.emit_n(
5193 InstId::Casab,
5194 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5195 );
5196 }
5197}
5198
5199impl CasahEmitter<Gp, Gp, Mem> for Assembler<'_> {
5200 fn casah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5201 self.emit_n(
5202 InstId::Casah,
5203 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5204 );
5205 }
5206}
5207
5208impl CasalEmitter<Gp, Gp, Mem> for Assembler<'_> {
5209 fn casal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5210 self.emit_n(
5211 InstId::Casal,
5212 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5213 );
5214 }
5215}
5216
5217impl CasalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5218 fn casalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5219 self.emit_n(
5220 InstId::Casalb,
5221 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5222 );
5223 }
5224}
5225
5226impl CasalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5227 fn casalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5228 self.emit_n(
5229 InstId::Casalh,
5230 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5231 );
5232 }
5233}
5234
5235impl CasbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5236 fn casb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5237 self.emit_n(
5238 InstId::Casb,
5239 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5240 );
5241 }
5242}
5243
5244impl CashEmitter<Gp, Gp, Mem> for Assembler<'_> {
5245 fn cash(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5246 self.emit_n(
5247 InstId::Cash,
5248 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5249 );
5250 }
5251}
5252
5253impl CaslEmitter<Gp, Gp, Mem> for Assembler<'_> {
5254 fn casl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5255 self.emit_n(
5256 InstId::Casl,
5257 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5258 );
5259 }
5260}
5261
5262impl CaslbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5263 fn caslb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5264 self.emit_n(
5265 InstId::Caslb,
5266 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5267 );
5268 }
5269}
5270
5271impl CaslhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5272 fn caslh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5273 self.emit_n(
5274 InstId::Caslh,
5275 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5276 );
5277 }
5278}
5279
5280impl CaspEmitter<Gp, Gp, Gp, Gp, Mem> for Assembler<'_> {
5281 fn casp(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp, op4: Mem) {
5282 self.emit_n(
5283 InstId::Casp,
5284 &[
5285 op0.as_operand(),
5286 op1.as_operand(),
5287 op2.as_operand(),
5288 op3.as_operand(),
5289 op4.as_operand(),
5290 ],
5291 );
5292 }
5293}
5294
5295impl CaspaEmitter<Gp, Gp, Gp, Gp, Mem> for Assembler<'_> {
5296 fn caspa(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp, op4: Mem) {
5297 self.emit_n(
5298 InstId::Caspa,
5299 &[
5300 op0.as_operand(),
5301 op1.as_operand(),
5302 op2.as_operand(),
5303 op3.as_operand(),
5304 op4.as_operand(),
5305 ],
5306 );
5307 }
5308}
5309
5310impl CaspalEmitter<Gp, Gp, Gp, Gp, Mem> for Assembler<'_> {
5311 fn caspal(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp, op4: Mem) {
5312 self.emit_n(
5313 InstId::Caspal,
5314 &[
5315 op0.as_operand(),
5316 op1.as_operand(),
5317 op2.as_operand(),
5318 op3.as_operand(),
5319 op4.as_operand(),
5320 ],
5321 );
5322 }
5323}
5324
5325impl CasplEmitter<Gp, Gp, Gp, Gp, Mem> for Assembler<'_> {
5326 fn caspl(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Gp, op4: Mem) {
5327 self.emit_n(
5328 InstId::Caspl,
5329 &[
5330 op0.as_operand(),
5331 op1.as_operand(),
5332 op2.as_operand(),
5333 op3.as_operand(),
5334 op4.as_operand(),
5335 ],
5336 );
5337 }
5338}
5339
5340impl LdaddEmitter<Gp, Gp, Mem> for Assembler<'_> {
5341 fn ldadd(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5342 self.emit_n(
5343 InstId::Ldadd,
5344 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5345 );
5346 }
5347}
5348
5349impl LdaddaEmitter<Gp, Gp, Mem> for Assembler<'_> {
5350 fn ldadda(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5351 self.emit_n(
5352 InstId::Ldadda,
5353 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5354 );
5355 }
5356}
5357
5358impl LdaddabEmitter<Gp, Gp, Mem> for Assembler<'_> {
5359 fn ldaddab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5360 self.emit_n(
5361 InstId::Ldaddab,
5362 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5363 );
5364 }
5365}
5366
5367impl LdaddahEmitter<Gp, Gp, Mem> for Assembler<'_> {
5368 fn ldaddah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5369 self.emit_n(
5370 InstId::Ldaddah,
5371 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5372 );
5373 }
5374}
5375
5376impl LdaddalEmitter<Gp, Gp, Mem> for Assembler<'_> {
5377 fn ldaddal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5378 self.emit_n(
5379 InstId::Ldaddal,
5380 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5381 );
5382 }
5383}
5384
5385impl LdaddalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5386 fn ldaddalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5387 self.emit_n(
5388 InstId::Ldaddalb,
5389 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5390 );
5391 }
5392}
5393
5394impl LdaddalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5395 fn ldaddalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5396 self.emit_n(
5397 InstId::Ldaddalh,
5398 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5399 );
5400 }
5401}
5402
5403impl LdaddbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5404 fn ldaddb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5405 self.emit_n(
5406 InstId::Ldaddb,
5407 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5408 );
5409 }
5410}
5411
5412impl LdaddhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5413 fn ldaddh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5414 self.emit_n(
5415 InstId::Ldaddh,
5416 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5417 );
5418 }
5419}
5420
5421impl LdaddlEmitter<Gp, Gp, Mem> for Assembler<'_> {
5422 fn ldaddl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5423 self.emit_n(
5424 InstId::Ldaddl,
5425 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5426 );
5427 }
5428}
5429
5430impl LdaddlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5431 fn ldaddlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5432 self.emit_n(
5433 InstId::Ldaddlb,
5434 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5435 );
5436 }
5437}
5438
5439impl LdaddlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5440 fn ldaddlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5441 self.emit_n(
5442 InstId::Ldaddlh,
5443 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5444 );
5445 }
5446}
5447
5448impl LdarEmitter<Gp, Mem> for Assembler<'_> {
5449 fn ldar(&mut self, op0: Gp, op1: Mem) {
5450 self.emit_n(InstId::Ldar, &[op0.as_operand(), op1.as_operand()]);
5451 }
5452}
5453
5454impl LdarbEmitter<Gp, Mem> for Assembler<'_> {
5455 fn ldarb(&mut self, op0: Gp, op1: Mem) {
5456 self.emit_n(InstId::Ldarb, &[op0.as_operand(), op1.as_operand()]);
5457 }
5458}
5459
5460impl LdarhEmitter<Gp, Mem> for Assembler<'_> {
5461 fn ldarh(&mut self, op0: Gp, op1: Mem) {
5462 self.emit_n(InstId::Ldarh, &[op0.as_operand(), op1.as_operand()]);
5463 }
5464}
5465
5466impl LdaxrEmitter<Gp, Mem> for Assembler<'_> {
5467 fn ldaxr(&mut self, op0: Gp, op1: Mem) {
5468 self.emit_n(InstId::Ldaxr, &[op0.as_operand(), op1.as_operand()]);
5469 }
5470}
5471
5472impl LdaxrbEmitter<Gp, Mem> for Assembler<'_> {
5473 fn ldaxrb(&mut self, op0: Gp, op1: Mem) {
5474 self.emit_n(InstId::Ldaxrb, &[op0.as_operand(), op1.as_operand()]);
5475 }
5476}
5477
5478impl LdaxrhEmitter<Gp, Mem> for Assembler<'_> {
5479 fn ldaxrh(&mut self, op0: Gp, op1: Mem) {
5480 self.emit_n(InstId::Ldaxrh, &[op0.as_operand(), op1.as_operand()]);
5481 }
5482}
5483
5484impl LdclrEmitter<Gp, Gp, Mem> for Assembler<'_> {
5485 fn ldclr(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5486 self.emit_n(
5487 InstId::Ldclr,
5488 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5489 );
5490 }
5491}
5492
5493impl LdclraEmitter<Gp, Gp, Mem> for Assembler<'_> {
5494 fn ldclra(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5495 self.emit_n(
5496 InstId::Ldclra,
5497 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5498 );
5499 }
5500}
5501
5502impl LdclrabEmitter<Gp, Gp, Mem> for Assembler<'_> {
5503 fn ldclrab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5504 self.emit_n(
5505 InstId::Ldclrab,
5506 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5507 );
5508 }
5509}
5510
5511impl LdclrahEmitter<Gp, Gp, Mem> for Assembler<'_> {
5512 fn ldclrah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5513 self.emit_n(
5514 InstId::Ldclrah,
5515 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5516 );
5517 }
5518}
5519
5520impl LdclralEmitter<Gp, Gp, Mem> for Assembler<'_> {
5521 fn ldclral(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5522 self.emit_n(
5523 InstId::Ldclral,
5524 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5525 );
5526 }
5527}
5528
5529impl LdclralbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5530 fn ldclralb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5531 self.emit_n(
5532 InstId::Ldclralb,
5533 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5534 );
5535 }
5536}
5537
5538impl LdclralhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5539 fn ldclralh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5540 self.emit_n(
5541 InstId::Ldclralh,
5542 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5543 );
5544 }
5545}
5546
5547impl LdclrbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5548 fn ldclrb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5549 self.emit_n(
5550 InstId::Ldclrb,
5551 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5552 );
5553 }
5554}
5555
5556impl LdclrhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5557 fn ldclrh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5558 self.emit_n(
5559 InstId::Ldclrh,
5560 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5561 );
5562 }
5563}
5564
5565impl LdclrlEmitter<Gp, Gp, Mem> for Assembler<'_> {
5566 fn ldclrl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5567 self.emit_n(
5568 InstId::Ldclrl,
5569 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5570 );
5571 }
5572}
5573
5574impl LdclrlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5575 fn ldclrlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5576 self.emit_n(
5577 InstId::Ldclrlb,
5578 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5579 );
5580 }
5581}
5582
5583impl LdclrlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5584 fn ldclrlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5585 self.emit_n(
5586 InstId::Ldclrlh,
5587 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5588 );
5589 }
5590}
5591
5592impl LdeorEmitter<Gp, Gp, Mem> for Assembler<'_> {
5593 fn ldeor(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5594 self.emit_n(
5595 InstId::Ldeor,
5596 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5597 );
5598 }
5599}
5600
5601impl LdeoraEmitter<Gp, Gp, Mem> for Assembler<'_> {
5602 fn ldeora(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5603 self.emit_n(
5604 InstId::Ldeora,
5605 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5606 );
5607 }
5608}
5609
5610impl LdeorabEmitter<Gp, Gp, Mem> for Assembler<'_> {
5611 fn ldeorab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5612 self.emit_n(
5613 InstId::Ldeorab,
5614 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5615 );
5616 }
5617}
5618
5619impl LdeorahEmitter<Gp, Gp, Mem> for Assembler<'_> {
5620 fn ldeorah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5621 self.emit_n(
5622 InstId::Ldeorah,
5623 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5624 );
5625 }
5626}
5627
5628impl LdeoralEmitter<Gp, Gp, Mem> for Assembler<'_> {
5629 fn ldeoral(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5630 self.emit_n(
5631 InstId::Ldeoral,
5632 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5633 );
5634 }
5635}
5636
5637impl LdeoralbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5638 fn ldeoralb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5639 self.emit_n(
5640 InstId::Ldeoralb,
5641 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5642 );
5643 }
5644}
5645
5646impl LdeoralhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5647 fn ldeoralh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5648 self.emit_n(
5649 InstId::Ldeoralh,
5650 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5651 );
5652 }
5653}
5654
5655impl LdeorbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5656 fn ldeorb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5657 self.emit_n(
5658 InstId::Ldeorb,
5659 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5660 );
5661 }
5662}
5663
5664impl LdeorhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5665 fn ldeorh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5666 self.emit_n(
5667 InstId::Ldeorh,
5668 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5669 );
5670 }
5671}
5672
5673impl LdeorlEmitter<Gp, Gp, Mem> for Assembler<'_> {
5674 fn ldeorl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5675 self.emit_n(
5676 InstId::Ldeorl,
5677 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5678 );
5679 }
5680}
5681
5682impl LdeorlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5683 fn ldeorlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5684 self.emit_n(
5685 InstId::Ldeorlb,
5686 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5687 );
5688 }
5689}
5690
5691impl LdeorlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5692 fn ldeorlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5693 self.emit_n(
5694 InstId::Ldeorlh,
5695 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5696 );
5697 }
5698}
5699
5700impl LdlarEmitter<Gp, Mem> for Assembler<'_> {
5701 fn ldlar(&mut self, op0: Gp, op1: Mem) {
5702 self.emit_n(InstId::Ldlar, &[op0.as_operand(), op1.as_operand()]);
5703 }
5704}
5705
5706impl LdlarbEmitter<Gp, Mem> for Assembler<'_> {
5707 fn ldlarb(&mut self, op0: Gp, op1: Mem) {
5708 self.emit_n(InstId::Ldlarb, &[op0.as_operand(), op1.as_operand()]);
5709 }
5710}
5711
5712impl LdlarhEmitter<Gp, Mem> for Assembler<'_> {
5713 fn ldlarh(&mut self, op0: Gp, op1: Mem) {
5714 self.emit_n(InstId::Ldlarh, &[op0.as_operand(), op1.as_operand()]);
5715 }
5716}
5717
5718impl LdnpEmitter<Gp, Gp, Mem> for Assembler<'_> {
5719 fn ldnp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5720 self.emit_n(
5721 InstId::Ldnp,
5722 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5723 );
5724 }
5725}
5726
5727impl LdnpEmitter<Vec, Vec, Mem> for Assembler<'_> {
5728 fn ldnp(&mut self, op0: Vec, op1: Vec, op2: Mem) {
5729 self.emit_n(
5730 InstId::Ldnp_v,
5731 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5732 );
5733 }
5734}
5735
5736impl LdpEmitter<Gp, Gp, Mem> for Assembler<'_> {
5737 fn ldp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5738 self.emit_n(
5739 InstId::Ldp,
5740 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5741 );
5742 }
5743}
5744
5745impl LdpEmitter<Vec, Vec, Mem> for Assembler<'_> {
5746 fn ldp(&mut self, op0: Vec, op1: Vec, op2: Mem) {
5747 self.emit_n(
5748 InstId::Ldp_v,
5749 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5750 );
5751 }
5752}
5753
5754impl LdpswEmitter<Gp, Gp, Mem> for Assembler<'_> {
5755 fn ldpsw(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5756 self.emit_n(
5757 InstId::Ldpsw,
5758 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5759 );
5760 }
5761}
5762
5763impl LdrEmitter<Gp, Mem> for Assembler<'_> {
5764 fn ldr(&mut self, op0: Gp, op1: Mem) {
5765 self.emit_n(InstId::Ldr, &[op0.as_operand(), op1.as_operand()]);
5766 }
5767}
5768
5769impl LdrEmitter<Vec, Mem> for Assembler<'_> {
5770 fn ldr(&mut self, op0: Vec, op1: Mem) {
5771 self.emit_n(InstId::Ldr_v, &[op0.as_operand(), op1.as_operand()]);
5772 }
5773}
5774
5775impl LdrbEmitter<Gp, Mem> for Assembler<'_> {
5776 fn ldrb(&mut self, op0: Gp, op1: Mem) {
5777 self.emit_n(InstId::Ldrb, &[op0.as_operand(), op1.as_operand()]);
5778 }
5779}
5780
5781impl LdrhEmitter<Gp, Mem> for Assembler<'_> {
5782 fn ldrh(&mut self, op0: Gp, op1: Mem) {
5783 self.emit_n(InstId::Ldrh, &[op0.as_operand(), op1.as_operand()]);
5784 }
5785}
5786
5787impl LdrsbEmitter<Gp, Mem> for Assembler<'_> {
5788 fn ldrsb(&mut self, op0: Gp, op1: Mem) {
5789 self.emit_n(InstId::Ldrsb, &[op0.as_operand(), op1.as_operand()]);
5790 }
5791}
5792
5793impl LdrshEmitter<Gp, Mem> for Assembler<'_> {
5794 fn ldrsh(&mut self, op0: Gp, op1: Mem) {
5795 self.emit_n(InstId::Ldrsh, &[op0.as_operand(), op1.as_operand()]);
5796 }
5797}
5798
5799impl LdrswEmitter<Gp, Mem> for Assembler<'_> {
5800 fn ldrsw(&mut self, op0: Gp, op1: Mem) {
5801 self.emit_n(InstId::Ldrsw, &[op0.as_operand(), op1.as_operand()]);
5802 }
5803}
5804
5805impl LdsetEmitter<Gp, Gp, Mem> for Assembler<'_> {
5806 fn ldset(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5807 self.emit_n(
5808 InstId::Ldset,
5809 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5810 );
5811 }
5812}
5813
5814impl LdsetaEmitter<Gp, Gp, Mem> for Assembler<'_> {
5815 fn ldseta(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5816 self.emit_n(
5817 InstId::Ldseta,
5818 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5819 );
5820 }
5821}
5822
5823impl LdsetabEmitter<Gp, Gp, Mem> for Assembler<'_> {
5824 fn ldsetab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5825 self.emit_n(
5826 InstId::Ldsetab,
5827 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5828 );
5829 }
5830}
5831
5832impl LdsetahEmitter<Gp, Gp, Mem> for Assembler<'_> {
5833 fn ldsetah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5834 self.emit_n(
5835 InstId::Ldsetah,
5836 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5837 );
5838 }
5839}
5840
5841impl LdsetalEmitter<Gp, Gp, Mem> for Assembler<'_> {
5842 fn ldsetal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5843 self.emit_n(
5844 InstId::Ldsetal,
5845 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5846 );
5847 }
5848}
5849
5850impl LdsetalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5851 fn ldsetalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5852 self.emit_n(
5853 InstId::Ldsetalb,
5854 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5855 );
5856 }
5857}
5858
5859impl LdsetalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5860 fn ldsetalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5861 self.emit_n(
5862 InstId::Ldsetalh,
5863 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5864 );
5865 }
5866}
5867
5868impl LdsetbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5869 fn ldsetb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5870 self.emit_n(
5871 InstId::Ldsetb,
5872 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5873 );
5874 }
5875}
5876
5877impl LdsethEmitter<Gp, Gp, Mem> for Assembler<'_> {
5878 fn ldseth(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5879 self.emit_n(
5880 InstId::Ldseth,
5881 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5882 );
5883 }
5884}
5885
5886impl LdsetlEmitter<Gp, Gp, Mem> for Assembler<'_> {
5887 fn ldsetl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5888 self.emit_n(
5889 InstId::Ldsetl,
5890 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5891 );
5892 }
5893}
5894
5895impl LdsetlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5896 fn ldsetlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5897 self.emit_n(
5898 InstId::Ldsetlb,
5899 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5900 );
5901 }
5902}
5903
5904impl LdsetlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5905 fn ldsetlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5906 self.emit_n(
5907 InstId::Ldsetlh,
5908 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5909 );
5910 }
5911}
5912
5913impl LdsmaxEmitter<Gp, Gp, Mem> for Assembler<'_> {
5914 fn ldsmax(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5915 self.emit_n(
5916 InstId::Ldsmax,
5917 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5918 );
5919 }
5920}
5921
5922impl LdsmaxaEmitter<Gp, Gp, Mem> for Assembler<'_> {
5923 fn ldsmaxa(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5924 self.emit_n(
5925 InstId::Ldsmaxa,
5926 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5927 );
5928 }
5929}
5930
5931impl LdsmaxabEmitter<Gp, Gp, Mem> for Assembler<'_> {
5932 fn ldsmaxab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5933 self.emit_n(
5934 InstId::Ldsmaxab,
5935 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5936 );
5937 }
5938}
5939
5940impl LdsmaxahEmitter<Gp, Gp, Mem> for Assembler<'_> {
5941 fn ldsmaxah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5942 self.emit_n(
5943 InstId::Ldsmaxah,
5944 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5945 );
5946 }
5947}
5948
5949impl LdsmaxalEmitter<Gp, Gp, Mem> for Assembler<'_> {
5950 fn ldsmaxal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5951 self.emit_n(
5952 InstId::Ldsmaxal,
5953 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5954 );
5955 }
5956}
5957
5958impl LdsmaxalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5959 fn ldsmaxalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5960 self.emit_n(
5961 InstId::Ldsmaxalb,
5962 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5963 );
5964 }
5965}
5966
5967impl LdsmaxalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5968 fn ldsmaxalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5969 self.emit_n(
5970 InstId::Ldsmaxalh,
5971 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5972 );
5973 }
5974}
5975
5976impl LdsmaxbEmitter<Gp, Gp, Mem> for Assembler<'_> {
5977 fn ldsmaxb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5978 self.emit_n(
5979 InstId::Ldsmaxb,
5980 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5981 );
5982 }
5983}
5984
5985impl LdsmaxhEmitter<Gp, Gp, Mem> for Assembler<'_> {
5986 fn ldsmaxh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5987 self.emit_n(
5988 InstId::Ldsmaxh,
5989 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5990 );
5991 }
5992}
5993
5994impl LdsmaxlEmitter<Gp, Gp, Mem> for Assembler<'_> {
5995 fn ldsmaxl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
5996 self.emit_n(
5997 InstId::Ldsmaxl,
5998 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
5999 );
6000 }
6001}
6002
6003impl LdsmaxlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6004 fn ldsmaxlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6005 self.emit_n(
6006 InstId::Ldsmaxlb,
6007 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6008 );
6009 }
6010}
6011
6012impl LdsmaxlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6013 fn ldsmaxlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6014 self.emit_n(
6015 InstId::Ldsmaxlh,
6016 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6017 );
6018 }
6019}
6020
6021impl LdsminEmitter<Gp, Gp, Mem> for Assembler<'_> {
6022 fn ldsmin(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6023 self.emit_n(
6024 InstId::Ldsmin,
6025 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6026 );
6027 }
6028}
6029
6030impl LdsminaEmitter<Gp, Gp, Mem> for Assembler<'_> {
6031 fn ldsmina(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6032 self.emit_n(
6033 InstId::Ldsmina,
6034 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6035 );
6036 }
6037}
6038
6039impl LdsminabEmitter<Gp, Gp, Mem> for Assembler<'_> {
6040 fn ldsminab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6041 self.emit_n(
6042 InstId::Ldsminab,
6043 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6044 );
6045 }
6046}
6047
6048impl LdsminahEmitter<Gp, Gp, Mem> for Assembler<'_> {
6049 fn ldsminah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6050 self.emit_n(
6051 InstId::Ldsminah,
6052 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6053 );
6054 }
6055}
6056
6057impl LdsminalEmitter<Gp, Gp, Mem> for Assembler<'_> {
6058 fn ldsminal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6059 self.emit_n(
6060 InstId::Ldsminal,
6061 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6062 );
6063 }
6064}
6065
6066impl LdsminalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6067 fn ldsminalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6068 self.emit_n(
6069 InstId::Ldsminalb,
6070 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6071 );
6072 }
6073}
6074
6075impl LdsminalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6076 fn ldsminalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6077 self.emit_n(
6078 InstId::Ldsminalh,
6079 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6080 );
6081 }
6082}
6083
6084impl LdsminbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6085 fn ldsminb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6086 self.emit_n(
6087 InstId::Ldsminb,
6088 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6089 );
6090 }
6091}
6092
6093impl LdsminhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6094 fn ldsminh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6095 self.emit_n(
6096 InstId::Ldsminh,
6097 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6098 );
6099 }
6100}
6101
6102impl LdsminlEmitter<Gp, Gp, Mem> for Assembler<'_> {
6103 fn ldsminl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6104 self.emit_n(
6105 InstId::Ldsminl,
6106 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6107 );
6108 }
6109}
6110
6111impl LdsminlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6112 fn ldsminlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6113 self.emit_n(
6114 InstId::Ldsminlb,
6115 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6116 );
6117 }
6118}
6119
6120impl LdsminlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6121 fn ldsminlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6122 self.emit_n(
6123 InstId::Ldsminlh,
6124 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6125 );
6126 }
6127}
6128
6129impl LdtrEmitter<Gp, Mem> for Assembler<'_> {
6130 fn ldtr(&mut self, op0: Gp, op1: Mem) {
6131 self.emit_n(InstId::Ldtr, &[op0.as_operand(), op1.as_operand()]);
6132 }
6133}
6134
6135impl LdtrbEmitter<Gp, Mem> for Assembler<'_> {
6136 fn ldtrb(&mut self, op0: Gp, op1: Mem) {
6137 self.emit_n(InstId::Ldtrb, &[op0.as_operand(), op1.as_operand()]);
6138 }
6139}
6140
6141impl LdtrhEmitter<Gp, Mem> for Assembler<'_> {
6142 fn ldtrh(&mut self, op0: Gp, op1: Mem) {
6143 self.emit_n(InstId::Ldtrh, &[op0.as_operand(), op1.as_operand()]);
6144 }
6145}
6146
6147impl LdtrsbEmitter<Gp, Mem> for Assembler<'_> {
6148 fn ldtrsb(&mut self, op0: Gp, op1: Mem) {
6149 self.emit_n(InstId::Ldtrsb, &[op0.as_operand(), op1.as_operand()]);
6150 }
6151}
6152
6153impl LdtrshEmitter<Gp, Mem> for Assembler<'_> {
6154 fn ldtrsh(&mut self, op0: Gp, op1: Mem) {
6155 self.emit_n(InstId::Ldtrsh, &[op0.as_operand(), op1.as_operand()]);
6156 }
6157}
6158
6159impl LdtrswEmitter<Gp, Mem> for Assembler<'_> {
6160 fn ldtrsw(&mut self, op0: Gp, op1: Mem) {
6161 self.emit_n(InstId::Ldtrsw, &[op0.as_operand(), op1.as_operand()]);
6162 }
6163}
6164
6165impl LdumaxEmitter<Gp, Gp, Mem> for Assembler<'_> {
6166 fn ldumax(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6167 self.emit_n(
6168 InstId::Ldumax,
6169 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6170 );
6171 }
6172}
6173
6174impl LdumaxaEmitter<Gp, Gp, Mem> for Assembler<'_> {
6175 fn ldumaxa(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6176 self.emit_n(
6177 InstId::Ldumaxa,
6178 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6179 );
6180 }
6181}
6182
6183impl LdumaxabEmitter<Gp, Gp, Mem> for Assembler<'_> {
6184 fn ldumaxab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6185 self.emit_n(
6186 InstId::Ldumaxab,
6187 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6188 );
6189 }
6190}
6191
6192impl LdumaxahEmitter<Gp, Gp, Mem> for Assembler<'_> {
6193 fn ldumaxah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6194 self.emit_n(
6195 InstId::Ldumaxah,
6196 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6197 );
6198 }
6199}
6200
6201impl LdumaxalEmitter<Gp, Gp, Mem> for Assembler<'_> {
6202 fn ldumaxal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6203 self.emit_n(
6204 InstId::Ldumaxal,
6205 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6206 );
6207 }
6208}
6209
6210impl LdumaxalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6211 fn ldumaxalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6212 self.emit_n(
6213 InstId::Ldumaxalb,
6214 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6215 );
6216 }
6217}
6218
6219impl LdumaxalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6220 fn ldumaxalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6221 self.emit_n(
6222 InstId::Ldumaxalh,
6223 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6224 );
6225 }
6226}
6227
6228impl LdumaxbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6229 fn ldumaxb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6230 self.emit_n(
6231 InstId::Ldumaxb,
6232 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6233 );
6234 }
6235}
6236
6237impl LdumaxhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6238 fn ldumaxh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6239 self.emit_n(
6240 InstId::Ldumaxh,
6241 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6242 );
6243 }
6244}
6245
6246impl LdumaxlEmitter<Gp, Gp, Mem> for Assembler<'_> {
6247 fn ldumaxl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6248 self.emit_n(
6249 InstId::Ldumaxl,
6250 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6251 );
6252 }
6253}
6254
6255impl LdumaxlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6256 fn ldumaxlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6257 self.emit_n(
6258 InstId::Ldumaxlb,
6259 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6260 );
6261 }
6262}
6263
6264impl LdumaxlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6265 fn ldumaxlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6266 self.emit_n(
6267 InstId::Ldumaxlh,
6268 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6269 );
6270 }
6271}
6272
6273impl LduminEmitter<Gp, Gp, Mem> for Assembler<'_> {
6274 fn ldumin(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6275 self.emit_n(
6276 InstId::Ldumin,
6277 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6278 );
6279 }
6280}
6281
6282impl LduminaEmitter<Gp, Gp, Mem> for Assembler<'_> {
6283 fn ldumina(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6284 self.emit_n(
6285 InstId::Ldumina,
6286 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6287 );
6288 }
6289}
6290
6291impl LduminabEmitter<Gp, Gp, Mem> for Assembler<'_> {
6292 fn lduminab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6293 self.emit_n(
6294 InstId::Lduminab,
6295 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6296 );
6297 }
6298}
6299
6300impl LduminahEmitter<Gp, Gp, Mem> for Assembler<'_> {
6301 fn lduminah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6302 self.emit_n(
6303 InstId::Lduminah,
6304 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6305 );
6306 }
6307}
6308
6309impl LduminalEmitter<Gp, Gp, Mem> for Assembler<'_> {
6310 fn lduminal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6311 self.emit_n(
6312 InstId::Lduminal,
6313 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6314 );
6315 }
6316}
6317
6318impl LduminalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6319 fn lduminalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6320 self.emit_n(
6321 InstId::Lduminalb,
6322 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6323 );
6324 }
6325}
6326
6327impl LduminalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6328 fn lduminalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6329 self.emit_n(
6330 InstId::Lduminalh,
6331 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6332 );
6333 }
6334}
6335
6336impl LduminbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6337 fn lduminb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6338 self.emit_n(
6339 InstId::Lduminb,
6340 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6341 );
6342 }
6343}
6344
6345impl LduminhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6346 fn lduminh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6347 self.emit_n(
6348 InstId::Lduminh,
6349 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6350 );
6351 }
6352}
6353
6354impl LduminlEmitter<Gp, Gp, Mem> for Assembler<'_> {
6355 fn lduminl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6356 self.emit_n(
6357 InstId::Lduminl,
6358 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6359 );
6360 }
6361}
6362
6363impl LduminlbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6364 fn lduminlb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6365 self.emit_n(
6366 InstId::Lduminlb,
6367 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6368 );
6369 }
6370}
6371
6372impl LduminlhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6373 fn lduminlh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6374 self.emit_n(
6375 InstId::Lduminlh,
6376 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6377 );
6378 }
6379}
6380
6381impl LdurEmitter<Gp, Mem> for Assembler<'_> {
6382 fn ldur(&mut self, op0: Gp, op1: Mem) {
6383 self.emit_n(InstId::Ldur, &[op0.as_operand(), op1.as_operand()]);
6384 }
6385}
6386
6387impl LdurEmitter<Vec, Mem> for Assembler<'_> {
6388 fn ldur(&mut self, op0: Vec, op1: Mem) {
6389 self.emit_n(InstId::Ldur_v, &[op0.as_operand(), op1.as_operand()]);
6390 }
6391}
6392
6393impl LdurbEmitter<Gp, Mem> for Assembler<'_> {
6394 fn ldurb(&mut self, op0: Gp, op1: Mem) {
6395 self.emit_n(InstId::Ldurb, &[op0.as_operand(), op1.as_operand()]);
6396 }
6397}
6398
6399impl LdurhEmitter<Gp, Mem> for Assembler<'_> {
6400 fn ldurh(&mut self, op0: Gp, op1: Mem) {
6401 self.emit_n(InstId::Ldurh, &[op0.as_operand(), op1.as_operand()]);
6402 }
6403}
6404
6405impl LdursbEmitter<Gp, Mem> for Assembler<'_> {
6406 fn ldursb(&mut self, op0: Gp, op1: Mem) {
6407 self.emit_n(InstId::Ldursb, &[op0.as_operand(), op1.as_operand()]);
6408 }
6409}
6410
6411impl LdurshEmitter<Gp, Mem> for Assembler<'_> {
6412 fn ldursh(&mut self, op0: Gp, op1: Mem) {
6413 self.emit_n(InstId::Ldursh, &[op0.as_operand(), op1.as_operand()]);
6414 }
6415}
6416
6417impl LdurswEmitter<Gp, Mem> for Assembler<'_> {
6418 fn ldursw(&mut self, op0: Gp, op1: Mem) {
6419 self.emit_n(InstId::Ldursw, &[op0.as_operand(), op1.as_operand()]);
6420 }
6421}
6422
6423impl LdxpEmitter<Gp, Gp, Mem> for Assembler<'_> {
6424 fn ldxp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6425 self.emit_n(
6426 InstId::Ldxp,
6427 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6428 );
6429 }
6430}
6431
6432impl LdaxpEmitter<Gp, Gp, Mem> for Assembler<'_> {
6433 fn ldaxp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6434 self.emit_n(
6435 InstId::Ldaxp,
6436 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6437 );
6438 }
6439}
6440
6441impl LdxrEmitter<Gp, Mem> for Assembler<'_> {
6442 fn ldxr(&mut self, op0: Gp, op1: Mem) {
6443 self.emit_n(InstId::Ldxr, &[op0.as_operand(), op1.as_operand()]);
6444 }
6445}
6446
6447impl LdxrbEmitter<Gp, Mem> for Assembler<'_> {
6448 fn ldxrb(&mut self, op0: Gp, op1: Mem) {
6449 self.emit_n(InstId::Ldxrb, &[op0.as_operand(), op1.as_operand()]);
6450 }
6451}
6452
6453impl LdxrhEmitter<Gp, Mem> for Assembler<'_> {
6454 fn ldxrh(&mut self, op0: Gp, op1: Mem) {
6455 self.emit_n(InstId::Ldxrh, &[op0.as_operand(), op1.as_operand()]);
6456 }
6457}
6458
6459impl PrfmEmitter<Imm, Mem> for Assembler<'_> {
6460 fn prfm(&mut self, op0: Imm, op1: Mem) {
6461 self.emit_n(InstId::Prfm, &[op0.as_operand(), op1.as_operand()]);
6462 }
6463}
6464
6465impl StaddEmitter<Gp, Mem> for Assembler<'_> {
6466 fn stadd(&mut self, op0: Gp, op1: Mem) {
6467 self.emit_n(InstId::Stadd, &[op0.as_operand(), op1.as_operand()]);
6468 }
6469}
6470
6471impl StaddbEmitter<Gp, Mem> for Assembler<'_> {
6472 fn staddb(&mut self, op0: Gp, op1: Mem) {
6473 self.emit_n(InstId::Staddb, &[op0.as_operand(), op1.as_operand()]);
6474 }
6475}
6476
6477impl StaddhEmitter<Gp, Mem> for Assembler<'_> {
6478 fn staddh(&mut self, op0: Gp, op1: Mem) {
6479 self.emit_n(InstId::Staddh, &[op0.as_operand(), op1.as_operand()]);
6480 }
6481}
6482
6483impl StaddlEmitter<Gp, Mem> for Assembler<'_> {
6484 fn staddl(&mut self, op0: Gp, op1: Mem) {
6485 self.emit_n(InstId::Staddl, &[op0.as_operand(), op1.as_operand()]);
6486 }
6487}
6488
6489impl StaddlbEmitter<Gp, Mem> for Assembler<'_> {
6490 fn staddlb(&mut self, op0: Gp, op1: Mem) {
6491 self.emit_n(InstId::Staddlb, &[op0.as_operand(), op1.as_operand()]);
6492 }
6493}
6494
6495impl StaddlhEmitter<Gp, Mem> for Assembler<'_> {
6496 fn staddlh(&mut self, op0: Gp, op1: Mem) {
6497 self.emit_n(InstId::Staddlh, &[op0.as_operand(), op1.as_operand()]);
6498 }
6499}
6500
6501impl StclrEmitter<Gp, Mem> for Assembler<'_> {
6502 fn stclr(&mut self, op0: Gp, op1: Mem) {
6503 self.emit_n(InstId::Stclr, &[op0.as_operand(), op1.as_operand()]);
6504 }
6505}
6506
6507impl StclrbEmitter<Gp, Mem> for Assembler<'_> {
6508 fn stclrb(&mut self, op0: Gp, op1: Mem) {
6509 self.emit_n(InstId::Stclrb, &[op0.as_operand(), op1.as_operand()]);
6510 }
6511}
6512
6513impl StclrhEmitter<Gp, Mem> for Assembler<'_> {
6514 fn stclrh(&mut self, op0: Gp, op1: Mem) {
6515 self.emit_n(InstId::Stclrh, &[op0.as_operand(), op1.as_operand()]);
6516 }
6517}
6518
6519impl StclrlEmitter<Gp, Mem> for Assembler<'_> {
6520 fn stclrl(&mut self, op0: Gp, op1: Mem) {
6521 self.emit_n(InstId::Stclrl, &[op0.as_operand(), op1.as_operand()]);
6522 }
6523}
6524
6525impl StclrlbEmitter<Gp, Mem> for Assembler<'_> {
6526 fn stclrlb(&mut self, op0: Gp, op1: Mem) {
6527 self.emit_n(InstId::Stclrlb, &[op0.as_operand(), op1.as_operand()]);
6528 }
6529}
6530
6531impl StclrlhEmitter<Gp, Mem> for Assembler<'_> {
6532 fn stclrlh(&mut self, op0: Gp, op1: Mem) {
6533 self.emit_n(InstId::Stclrlh, &[op0.as_operand(), op1.as_operand()]);
6534 }
6535}
6536
6537impl SteorEmitter<Gp, Mem> for Assembler<'_> {
6538 fn steor(&mut self, op0: Gp, op1: Mem) {
6539 self.emit_n(InstId::Steor, &[op0.as_operand(), op1.as_operand()]);
6540 }
6541}
6542
6543impl SteorbEmitter<Gp, Mem> for Assembler<'_> {
6544 fn steorb(&mut self, op0: Gp, op1: Mem) {
6545 self.emit_n(InstId::Steorb, &[op0.as_operand(), op1.as_operand()]);
6546 }
6547}
6548
6549impl SteorhEmitter<Gp, Mem> for Assembler<'_> {
6550 fn steorh(&mut self, op0: Gp, op1: Mem) {
6551 self.emit_n(InstId::Steorh, &[op0.as_operand(), op1.as_operand()]);
6552 }
6553}
6554
6555impl SteorlEmitter<Gp, Mem> for Assembler<'_> {
6556 fn steorl(&mut self, op0: Gp, op1: Mem) {
6557 self.emit_n(InstId::Steorl, &[op0.as_operand(), op1.as_operand()]);
6558 }
6559}
6560
6561impl SteorlbEmitter<Gp, Mem> for Assembler<'_> {
6562 fn steorlb(&mut self, op0: Gp, op1: Mem) {
6563 self.emit_n(InstId::Steorlb, &[op0.as_operand(), op1.as_operand()]);
6564 }
6565}
6566
6567impl SteorlhEmitter<Gp, Mem> for Assembler<'_> {
6568 fn steorlh(&mut self, op0: Gp, op1: Mem) {
6569 self.emit_n(InstId::Steorlh, &[op0.as_operand(), op1.as_operand()]);
6570 }
6571}
6572
6573impl StllrEmitter<Gp, Mem> for Assembler<'_> {
6574 fn stllr(&mut self, op0: Gp, op1: Mem) {
6575 self.emit_n(InstId::Stllr, &[op0.as_operand(), op1.as_operand()]);
6576 }
6577}
6578
6579impl StllrbEmitter<Gp, Mem> for Assembler<'_> {
6580 fn stllrb(&mut self, op0: Gp, op1: Mem) {
6581 self.emit_n(InstId::Stllrb, &[op0.as_operand(), op1.as_operand()]);
6582 }
6583}
6584
6585impl StllrhEmitter<Gp, Mem> for Assembler<'_> {
6586 fn stllrh(&mut self, op0: Gp, op1: Mem) {
6587 self.emit_n(InstId::Stllrh, &[op0.as_operand(), op1.as_operand()]);
6588 }
6589}
6590
6591impl StlrEmitter<Gp, Mem> for Assembler<'_> {
6592 fn stlr(&mut self, op0: Gp, op1: Mem) {
6593 self.emit_n(InstId::Stllr, &[op0.as_operand(), op1.as_operand()]);
6594 }
6595}
6596
6597impl StlrbEmitter<Gp, Mem> for Assembler<'_> {
6598 fn stlrb(&mut self, op0: Gp, op1: Mem) {
6599 self.emit_n(InstId::Stllrb, &[op0.as_operand(), op1.as_operand()]);
6600 }
6601}
6602
6603impl StlrhEmitter<Gp, Mem> for Assembler<'_> {
6604 fn stlrh(&mut self, op0: Gp, op1: Mem) {
6605 self.emit_n(InstId::Stllrh, &[op0.as_operand(), op1.as_operand()]);
6606 }
6607}
6608
6609impl StlxrEmitter<Gp, Gp, Mem> for Assembler<'_> {
6610 fn stlxr(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6611 self.emit_n(
6612 InstId::Stlxr,
6613 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6614 );
6615 }
6616}
6617
6618impl StlxrbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6619 fn stlxrb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6620 self.emit_n(
6621 InstId::Stlxrb,
6622 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6623 );
6624 }
6625}
6626
6627impl StlxrhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6628 fn stlxrh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6629 self.emit_n(
6630 InstId::Stlxrh,
6631 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6632 );
6633 }
6634}
6635
6636impl StnpEmitter<Gp, Gp, Mem> for Assembler<'_> {
6637 fn stnp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6638 self.emit_n(
6639 InstId::Stnp,
6640 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6641 );
6642 }
6643}
6644
6645impl StnpEmitter<Vec, Vec, Mem> for Assembler<'_> {
6646 fn stnp(&mut self, op0: Vec, op1: Vec, op2: Mem) {
6647 self.emit_n(
6648 InstId::Stnp_v,
6649 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6650 );
6651 }
6652}
6653
6654impl StpEmitter<Gp, Gp, Mem> for Assembler<'_> {
6655 fn stp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6656 self.emit_n(
6657 InstId::Stp,
6658 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6659 );
6660 }
6661}
6662
6663impl StpEmitter<Vec, Vec, Mem> for Assembler<'_> {
6664 fn stp(&mut self, op0: Vec, op1: Vec, op2: Mem) {
6665 self.emit_n(
6666 InstId::Stp_v,
6667 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6668 );
6669 }
6670}
6671
6672impl StrEmitter<Gp, Mem> for Assembler<'_> {
6673 fn str(&mut self, op0: Gp, op1: Mem) {
6674 self.emit_n(InstId::Str, &[op0.as_operand(), op1.as_operand()]);
6675 }
6676}
6677
6678impl StrEmitter<Vec, Mem> for Assembler<'_> {
6679 fn str(&mut self, op0: Vec, op1: Mem) {
6680 self.emit_n(InstId::Str_v, &[op0.as_operand(), op1.as_operand()]);
6681 }
6682}
6683
6684impl StrbEmitter<Gp, Mem> for Assembler<'_> {
6685 fn strb(&mut self, op0: Gp, op1: Mem) {
6686 self.emit_n(InstId::Strb, &[op0.as_operand(), op1.as_operand()]);
6687 }
6688}
6689
6690impl StrhEmitter<Gp, Mem> for Assembler<'_> {
6691 fn strh(&mut self, op0: Gp, op1: Mem) {
6692 self.emit_n(InstId::Strh, &[op0.as_operand(), op1.as_operand()]);
6693 }
6694}
6695
6696impl StsetEmitter<Gp, Mem> for Assembler<'_> {
6697 fn stset(&mut self, op0: Gp, op1: Mem) {
6698 self.emit_n(InstId::Stset, &[op0.as_operand(), op1.as_operand()]);
6699 }
6700}
6701
6702impl StsetbEmitter<Gp, Mem> for Assembler<'_> {
6703 fn stsetb(&mut self, op0: Gp, op1: Mem) {
6704 self.emit_n(InstId::Stsetb, &[op0.as_operand(), op1.as_operand()]);
6705 }
6706}
6707
6708impl StsethEmitter<Gp, Mem> for Assembler<'_> {
6709 fn stseth(&mut self, op0: Gp, op1: Mem) {
6710 self.emit_n(InstId::Stseth, &[op0.as_operand(), op1.as_operand()]);
6711 }
6712}
6713
6714impl StsetlEmitter<Gp, Mem> for Assembler<'_> {
6715 fn stsetl(&mut self, op0: Gp, op1: Mem) {
6716 self.emit_n(InstId::Stsetl, &[op0.as_operand(), op1.as_operand()]);
6717 }
6718}
6719
6720impl StsetlbEmitter<Gp, Mem> for Assembler<'_> {
6721 fn stsetlb(&mut self, op0: Gp, op1: Mem) {
6722 self.emit_n(InstId::Stsetlb, &[op0.as_operand(), op1.as_operand()]);
6723 }
6724}
6725
6726impl StsetlhEmitter<Gp, Mem> for Assembler<'_> {
6727 fn stsetlh(&mut self, op0: Gp, op1: Mem) {
6728 self.emit_n(InstId::Stsetlh, &[op0.as_operand(), op1.as_operand()]);
6729 }
6730}
6731
6732impl StsmaxEmitter<Gp, Mem> for Assembler<'_> {
6733 fn stsmax(&mut self, op0: Gp, op1: Mem) {
6734 self.emit_n(InstId::Stsmax, &[op0.as_operand(), op1.as_operand()]);
6735 }
6736}
6737
6738impl StsmaxbEmitter<Gp, Mem> for Assembler<'_> {
6739 fn stsmaxb(&mut self, op0: Gp, op1: Mem) {
6740 self.emit_n(InstId::Stsmaxb, &[op0.as_operand(), op1.as_operand()]);
6741 }
6742}
6743
6744impl StsmaxhEmitter<Gp, Mem> for Assembler<'_> {
6745 fn stsmaxh(&mut self, op0: Gp, op1: Mem) {
6746 self.emit_n(InstId::Stsmaxh, &[op0.as_operand(), op1.as_operand()]);
6747 }
6748}
6749
6750impl StsmaxlEmitter<Gp, Mem> for Assembler<'_> {
6751 fn stsmaxl(&mut self, op0: Gp, op1: Mem) {
6752 self.emit_n(InstId::Stsmaxl, &[op0.as_operand(), op1.as_operand()]);
6753 }
6754}
6755
6756impl StsmaxlbEmitter<Gp, Mem> for Assembler<'_> {
6757 fn stsmaxlb(&mut self, op0: Gp, op1: Mem) {
6758 self.emit_n(InstId::Stsmaxlb, &[op0.as_operand(), op1.as_operand()]);
6759 }
6760}
6761
6762impl StsmaxlhEmitter<Gp, Mem> for Assembler<'_> {
6763 fn stsmaxlh(&mut self, op0: Gp, op1: Mem) {
6764 self.emit_n(InstId::Stsmaxlh, &[op0.as_operand(), op1.as_operand()]);
6765 }
6766}
6767
6768impl StsminEmitter<Gp, Mem> for Assembler<'_> {
6769 fn stsmin(&mut self, op0: Gp, op1: Mem) {
6770 self.emit_n(InstId::Stsmin, &[op0.as_operand(), op1.as_operand()]);
6771 }
6772}
6773
6774impl StsminbEmitter<Gp, Mem> for Assembler<'_> {
6775 fn stsminb(&mut self, op0: Gp, op1: Mem) {
6776 self.emit_n(InstId::Stsminb, &[op0.as_operand(), op1.as_operand()]);
6777 }
6778}
6779
6780impl StsminhEmitter<Gp, Mem> for Assembler<'_> {
6781 fn stsminh(&mut self, op0: Gp, op1: Mem) {
6782 self.emit_n(InstId::Stsminh, &[op0.as_operand(), op1.as_operand()]);
6783 }
6784}
6785
6786impl StsminlEmitter<Gp, Mem> for Assembler<'_> {
6787 fn stsminl(&mut self, op0: Gp, op1: Mem) {
6788 self.emit_n(InstId::Stsminl, &[op0.as_operand(), op1.as_operand()]);
6789 }
6790}
6791
6792impl StsminlbEmitter<Gp, Mem> for Assembler<'_> {
6793 fn stsminlb(&mut self, op0: Gp, op1: Mem) {
6794 self.emit_n(InstId::Stsminlb, &[op0.as_operand(), op1.as_operand()]);
6795 }
6796}
6797
6798impl StsminlhEmitter<Gp, Mem> for Assembler<'_> {
6799 fn stsminlh(&mut self, op0: Gp, op1: Mem) {
6800 self.emit_n(InstId::Stsminlh, &[op0.as_operand(), op1.as_operand()]);
6801 }
6802}
6803
6804impl SttrEmitter<Gp, Mem> for Assembler<'_> {
6805 fn sttr(&mut self, op0: Gp, op1: Mem) {
6806 self.emit_n(InstId::Sttr, &[op0.as_operand(), op1.as_operand()]);
6807 }
6808}
6809
6810impl SttrbEmitter<Gp, Mem> for Assembler<'_> {
6811 fn sttrb(&mut self, op0: Gp, op1: Mem) {
6812 self.emit_n(InstId::Sttrb, &[op0.as_operand(), op1.as_operand()]);
6813 }
6814}
6815
6816impl SttrhEmitter<Gp, Mem> for Assembler<'_> {
6817 fn sttrh(&mut self, op0: Gp, op1: Mem) {
6818 self.emit_n(InstId::Sttrh, &[op0.as_operand(), op1.as_operand()]);
6819 }
6820}
6821
6822impl StumaxEmitter<Gp, Mem> for Assembler<'_> {
6823 fn stumax(&mut self, op0: Gp, op1: Mem) {
6824 self.emit_n(InstId::Stumax, &[op0.as_operand(), op1.as_operand()]);
6825 }
6826}
6827
6828impl StumaxbEmitter<Gp, Mem> for Assembler<'_> {
6829 fn stumaxb(&mut self, op0: Gp, op1: Mem) {
6830 self.emit_n(InstId::Stumaxb, &[op0.as_operand(), op1.as_operand()]);
6831 }
6832}
6833
6834impl StumaxhEmitter<Gp, Mem> for Assembler<'_> {
6835 fn stumaxh(&mut self, op0: Gp, op1: Mem) {
6836 self.emit_n(InstId::Stumaxh, &[op0.as_operand(), op1.as_operand()]);
6837 }
6838}
6839
6840impl StumaxlEmitter<Gp, Mem> for Assembler<'_> {
6841 fn stumaxl(&mut self, op0: Gp, op1: Mem) {
6842 self.emit_n(InstId::Stumaxl, &[op0.as_operand(), op1.as_operand()]);
6843 }
6844}
6845
6846impl StumaxlbEmitter<Gp, Mem> for Assembler<'_> {
6847 fn stumaxlb(&mut self, op0: Gp, op1: Mem) {
6848 self.emit_n(InstId::Stumaxlb, &[op0.as_operand(), op1.as_operand()]);
6849 }
6850}
6851
6852impl StumaxlhEmitter<Gp, Mem> for Assembler<'_> {
6853 fn stumaxlh(&mut self, op0: Gp, op1: Mem) {
6854 self.emit_n(InstId::Stumaxlh, &[op0.as_operand(), op1.as_operand()]);
6855 }
6856}
6857
6858impl StuminEmitter<Gp, Mem> for Assembler<'_> {
6859 fn stumin(&mut self, op0: Gp, op1: Mem) {
6860 self.emit_n(InstId::Stumin, &[op0.as_operand(), op1.as_operand()]);
6861 }
6862}
6863
6864impl StuminbEmitter<Gp, Mem> for Assembler<'_> {
6865 fn stuminb(&mut self, op0: Gp, op1: Mem) {
6866 self.emit_n(InstId::Stuminb, &[op0.as_operand(), op1.as_operand()]);
6867 }
6868}
6869
6870impl StuminhEmitter<Gp, Mem> for Assembler<'_> {
6871 fn stuminh(&mut self, op0: Gp, op1: Mem) {
6872 self.emit_n(InstId::Stuminh, &[op0.as_operand(), op1.as_operand()]);
6873 }
6874}
6875
6876impl StuminlEmitter<Gp, Mem> for Assembler<'_> {
6877 fn stuminl(&mut self, op0: Gp, op1: Mem) {
6878 self.emit_n(InstId::Stuminl, &[op0.as_operand(), op1.as_operand()]);
6879 }
6880}
6881
6882impl StuminlbEmitter<Gp, Mem> for Assembler<'_> {
6883 fn stuminlb(&mut self, op0: Gp, op1: Mem) {
6884 self.emit_n(InstId::Stuminlb, &[op0.as_operand(), op1.as_operand()]);
6885 }
6886}
6887
6888impl StuminlhEmitter<Gp, Mem> for Assembler<'_> {
6889 fn stuminlh(&mut self, op0: Gp, op1: Mem) {
6890 self.emit_n(InstId::Stuminlh, &[op0.as_operand(), op1.as_operand()]);
6891 }
6892}
6893
6894impl SturEmitter<Gp, Mem> for Assembler<'_> {
6895 fn stur(&mut self, op0: Gp, op1: Mem) {
6896 self.emit_n(InstId::Stur, &[op0.as_operand(), op1.as_operand()]);
6897 }
6898}
6899
6900impl SturEmitter<Vec, Mem> for Assembler<'_> {
6901 fn stur(&mut self, op0: Vec, op1: Mem) {
6902 self.emit_n(InstId::Stur_v, &[op0.as_operand(), op1.as_operand()]);
6903 }
6904}
6905
6906impl SturbEmitter<Gp, Mem> for Assembler<'_> {
6907 fn sturb(&mut self, op0: Gp, op1: Mem) {
6908 self.emit_n(InstId::Sturb, &[op0.as_operand(), op1.as_operand()]);
6909 }
6910}
6911
6912impl SturhEmitter<Gp, Mem> for Assembler<'_> {
6913 fn sturh(&mut self, op0: Gp, op1: Mem) {
6914 self.emit_n(InstId::Sturh, &[op0.as_operand(), op1.as_operand()]);
6915 }
6916}
6917
6918impl StxpEmitter<Gp, Gp, Gp, Mem> for Assembler<'_> {
6919 fn stxp(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Mem) {
6920 self.emit_n(
6921 InstId::Stxp,
6922 &[
6923 op0.as_operand(),
6924 op1.as_operand(),
6925 op2.as_operand(),
6926 op3.as_operand(),
6927 ],
6928 );
6929 }
6930}
6931
6932impl StlxpEmitter<Gp, Gp, Gp, Mem> for Assembler<'_> {
6933 fn stlxp(&mut self, op0: Gp, op1: Gp, op2: Gp, op3: Mem) {
6934 self.emit_n(
6935 InstId::Stlxp,
6936 &[
6937 op0.as_operand(),
6938 op1.as_operand(),
6939 op2.as_operand(),
6940 op3.as_operand(),
6941 ],
6942 );
6943 }
6944}
6945
6946impl StxrEmitter<Gp, Gp, Mem> for Assembler<'_> {
6947 fn stxr(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6948 self.emit_n(
6949 InstId::Stxr,
6950 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6951 );
6952 }
6953}
6954
6955impl StxrbEmitter<Gp, Gp, Mem> for Assembler<'_> {
6956 fn stxrb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6957 self.emit_n(
6958 InstId::Stxrb,
6959 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6960 );
6961 }
6962}
6963
6964impl StxrhEmitter<Gp, Gp, Mem> for Assembler<'_> {
6965 fn stxrh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6966 self.emit_n(
6967 InstId::Stxrh,
6968 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6969 );
6970 }
6971}
6972
6973impl SwpEmitter<Gp, Gp, Mem> for Assembler<'_> {
6974 fn swp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6975 self.emit_n(
6976 InstId::Swp,
6977 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6978 );
6979 }
6980}
6981
6982impl SwpaEmitter<Gp, Gp, Mem> for Assembler<'_> {
6983 fn swpa(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6984 self.emit_n(
6985 InstId::Swpa,
6986 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6987 );
6988 }
6989}
6990
6991impl SwpabEmitter<Gp, Gp, Mem> for Assembler<'_> {
6992 fn swpab(&mut self, op0: Gp, op1: Gp, op2: Mem) {
6993 self.emit_n(
6994 InstId::Swpab,
6995 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
6996 );
6997 }
6998}
6999
7000impl SwpahEmitter<Gp, Gp, Mem> for Assembler<'_> {
7001 fn swpah(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7002 self.emit_n(
7003 InstId::Swpah,
7004 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7005 );
7006 }
7007}
7008
7009impl SwpalEmitter<Gp, Gp, Mem> for Assembler<'_> {
7010 fn swpal(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7011 self.emit_n(
7012 InstId::Swpal,
7013 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7014 );
7015 }
7016}
7017
7018impl SwpalbEmitter<Gp, Gp, Mem> for Assembler<'_> {
7019 fn swpalb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7020 self.emit_n(
7021 InstId::Swpalb,
7022 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7023 );
7024 }
7025}
7026
7027impl SwpalhEmitter<Gp, Gp, Mem> for Assembler<'_> {
7028 fn swpalh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7029 self.emit_n(
7030 InstId::Swpalh,
7031 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7032 );
7033 }
7034}
7035
7036impl SwpbEmitter<Gp, Gp, Mem> for Assembler<'_> {
7037 fn swpb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7038 self.emit_n(
7039 InstId::Swpb,
7040 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7041 );
7042 }
7043}
7044
7045impl SwphEmitter<Gp, Gp, Mem> for Assembler<'_> {
7046 fn swph(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7047 self.emit_n(
7048 InstId::Swph,
7049 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7050 );
7051 }
7052}
7053
7054impl SwplEmitter<Gp, Gp, Mem> for Assembler<'_> {
7055 fn swpl(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7056 self.emit_n(
7057 InstId::Swpl,
7058 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7059 );
7060 }
7061}
7062
7063impl SwplbEmitter<Gp, Gp, Mem> for Assembler<'_> {
7064 fn swplb(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7065 self.emit_n(
7066 InstId::Swplb,
7067 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7068 );
7069 }
7070}
7071
7072impl SwplhEmitter<Gp, Gp, Mem> for Assembler<'_> {
7073 fn swplh(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7074 self.emit_n(
7075 InstId::Swplh,
7076 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7077 );
7078 }
7079}
7080
7081impl BtiEmitter<Imm> for Assembler<'_> {
7082 fn bti(&mut self, op0: Imm) {
7083 self.emit_n(InstId::Bti, &[op0.as_operand()]);
7084 }
7085}
7086
7087impl ChkfeatEmitter<Gp> for Assembler<'_> {
7088 fn chkfeat(&mut self, op0: Gp) {
7089 self.emit_n(InstId::Chkfeat, &[op0.as_operand()]);
7090 }
7091}
7092
7093impl ClrbhbEmitter for Assembler<'_> {
7094 fn clrbhb(&mut self) {
7095 self.emit_n(InstId::Clrbhb, &[]);
7096 }
7097}
7098
7099impl Crc32bEmitter<Gp, Gp, Gp> for Assembler<'_> {
7100 fn crc32b(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7101 self.emit_n(
7102 InstId::Crc32b,
7103 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7104 );
7105 }
7106}
7107
7108impl Crc32hEmitter<Gp, Gp, Gp> for Assembler<'_> {
7109 fn crc32h(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7110 self.emit_n(
7111 InstId::Crc32h,
7112 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7113 );
7114 }
7115}
7116
7117impl Crc32wEmitter<Gp, Gp, Gp> for Assembler<'_> {
7118 fn crc32w(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7119 self.emit_n(
7120 InstId::Crc32w,
7121 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7122 );
7123 }
7124}
7125
7126impl Crc32xEmitter<Gp, Gp, Gp> for Assembler<'_> {
7127 fn crc32x(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7128 self.emit_n(
7129 InstId::Crc32x,
7130 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7131 );
7132 }
7133}
7134
7135impl Crc32cbEmitter<Gp, Gp, Gp> for Assembler<'_> {
7136 fn crc32cb(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7137 self.emit_n(
7138 InstId::Crc32cb,
7139 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7140 );
7141 }
7142}
7143
7144impl Crc32chEmitter<Gp, Gp, Gp> for Assembler<'_> {
7145 fn crc32ch(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7146 self.emit_n(
7147 InstId::Crc32ch,
7148 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7149 );
7150 }
7151}
7152
7153impl Crc32cwEmitter<Gp, Gp, Gp> for Assembler<'_> {
7154 fn crc32cw(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7155 self.emit_n(
7156 InstId::Crc32cw,
7157 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7158 );
7159 }
7160}
7161
7162impl Crc32cxEmitter<Gp, Gp, Gp> for Assembler<'_> {
7163 fn crc32cx(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7164 self.emit_n(
7165 InstId::Crc32cx,
7166 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7167 );
7168 }
7169}
7170
7171impl AbsEmitter<Gp, Gp> for Assembler<'_> {
7172 fn abs(&mut self, op0: Gp, op1: Gp) {
7173 self.emit_n(InstId::Abs, &[op0.as_operand(), op1.as_operand()]);
7174 }
7175}
7176
7177impl AbsEmitter<Vec, Vec> for Assembler<'_> {
7178 fn abs(&mut self, op0: Vec, op1: Vec) {
7179 self.emit_n(InstId::Abs_v, &[op0.as_operand(), op1.as_operand()]);
7180 }
7181}
7182
7183impl CntEmitter<Gp, Gp> for Assembler<'_> {
7184 fn cnt(&mut self, op0: Gp, op1: Gp) {
7185 self.emit_n(InstId::Cnt, &[op0.as_operand(), op1.as_operand()]);
7186 }
7187}
7188
7189impl CntEmitter<Vec, Vec> for Assembler<'_> {
7190 fn cnt(&mut self, op0: Vec, op1: Vec) {
7191 self.emit_n(InstId::Cnt_v, &[op0.as_operand(), op1.as_operand()]);
7192 }
7193}
7194
7195impl CtzEmitter<Gp, Gp> for Assembler<'_> {
7196 fn ctz(&mut self, op0: Gp, op1: Gp) {
7197 self.emit_n(InstId::Ctz, &[op0.as_operand(), op1.as_operand()]);
7198 }
7199}
7200
7201impl SmaxEmitter<Gp, Gp, Gp> for Assembler<'_> {
7202 fn smax(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7203 self.emit_n(
7204 InstId::Smax,
7205 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7206 );
7207 }
7208}
7209
7210impl SmaxEmitter<Gp, Gp, Imm> for Assembler<'_> {
7211 fn smax(&mut self, op0: Gp, op1: Gp, op2: Imm) {
7212 self.emit_n(
7213 InstId::Smax,
7214 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7215 );
7216 }
7217}
7218
7219impl SmaxEmitter<Vec, Vec, Vec> for Assembler<'_> {
7220 fn smax(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7221 self.emit_n(
7222 InstId::Smax_v,
7223 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7224 );
7225 }
7226}
7227
7228impl SminEmitter<Gp, Gp, Gp> for Assembler<'_> {
7229 fn smin(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7230 self.emit_n(
7231 InstId::Smin,
7232 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7233 );
7234 }
7235}
7236
7237impl SminEmitter<Gp, Gp, Imm> for Assembler<'_> {
7238 fn smin(&mut self, op0: Gp, op1: Gp, op2: Imm) {
7239 self.emit_n(
7240 InstId::Smin,
7241 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7242 );
7243 }
7244}
7245
7246impl SminEmitter<Vec, Vec, Vec> for Assembler<'_> {
7247 fn smin(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7248 self.emit_n(
7249 InstId::Smin_v,
7250 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7251 );
7252 }
7253}
7254
7255impl UmaxEmitter<Gp, Gp, Gp> for Assembler<'_> {
7256 fn umax(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7257 self.emit_n(
7258 InstId::Umax,
7259 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7260 );
7261 }
7262}
7263
7264impl UmaxEmitter<Gp, Gp, Imm> for Assembler<'_> {
7265 fn umax(&mut self, op0: Gp, op1: Gp, op2: Imm) {
7266 self.emit_n(
7267 InstId::Umax,
7268 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7269 );
7270 }
7271}
7272
7273impl UmaxEmitter<Vec, Vec, Vec> for Assembler<'_> {
7274 fn umax(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7275 self.emit_n(
7276 InstId::Umax_v,
7277 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7278 );
7279 }
7280}
7281
7282impl UminEmitter<Gp, Gp, Gp> for Assembler<'_> {
7283 fn umin(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7284 self.emit_n(
7285 InstId::Umin,
7286 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7287 );
7288 }
7289}
7290
7291impl UminEmitter<Gp, Gp, Imm> for Assembler<'_> {
7292 fn umin(&mut self, op0: Gp, op1: Gp, op2: Imm) {
7293 self.emit_n(
7294 InstId::Umin,
7295 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7296 );
7297 }
7298}
7299
7300impl UminEmitter<Vec, Vec, Vec> for Assembler<'_> {
7301 fn umin(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7302 self.emit_n(
7303 InstId::Umin_v,
7304 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7305 );
7306 }
7307}
7308
7309impl DghEmitter for Assembler<'_> {
7310 fn dgh(&mut self) {
7311 self.emit_n(InstId::Dgh, &[]);
7312 }
7313}
7314
7315impl CfinvEmitter for Assembler<'_> {
7316 fn cfinv(&mut self) {
7317 self.emit_n(InstId::Cfinv, &[]);
7318 }
7319}
7320
7321impl Setf8Emitter<Gp> for Assembler<'_> {
7322 fn setf8(&mut self, op0: Gp) {
7323 self.emit_n(InstId::Setf8, &[op0.as_operand()]);
7324 }
7325}
7326
7327impl Setf16Emitter<Gp> for Assembler<'_> {
7328 fn setf16(&mut self, op0: Gp) {
7329 self.emit_n(InstId::Setf16, &[op0.as_operand()]);
7330 }
7331}
7332
7333impl AxflagEmitter for Assembler<'_> {
7334 fn axflag(&mut self) {
7335 self.emit_n(InstId::Axflag, &[]);
7336 }
7337}
7338
7339impl XaflagEmitter for Assembler<'_> {
7340 fn xaflag(&mut self) {
7341 self.emit_n(InstId::Xaflag, &[]);
7342 }
7343}
7344
7345impl BcEmitter<Imm> for Assembler<'_> {
7346 fn bc_eq(&mut self, op0: Imm) {
7347 self.emit_n(InstId::Bc.with_cc(CondCode::EQ), &[op0.as_operand()]);
7348 }
7349 fn bc_ne(&mut self, op0: Imm) {
7350 self.emit_n(InstId::Bc.with_cc(CondCode::NE), &[op0.as_operand()]);
7351 }
7352 fn bc_cs(&mut self, op0: Imm) {
7353 self.emit_n(InstId::Bc.with_cc(CondCode::CS), &[op0.as_operand()]);
7354 }
7355 fn bc_hs(&mut self, op0: Imm) {
7356 self.emit_n(InstId::Bc.with_cc(CondCode::HS), &[op0.as_operand()]);
7357 }
7358 fn bc_cc(&mut self, op0: Imm) {
7359 self.emit_n(InstId::Bc.with_cc(CondCode::CC), &[op0.as_operand()]);
7360 }
7361 fn bc_lo(&mut self, op0: Imm) {
7362 self.emit_n(InstId::Bc.with_cc(CondCode::LO), &[op0.as_operand()]);
7363 }
7364 fn bc_mi(&mut self, op0: Imm) {
7365 self.emit_n(InstId::Bc.with_cc(CondCode::MI), &[op0.as_operand()]);
7366 }
7367 fn bc_pl(&mut self, op0: Imm) {
7368 self.emit_n(InstId::Bc.with_cc(CondCode::PL), &[op0.as_operand()]);
7369 }
7370 fn bc_vs(&mut self, op0: Imm) {
7371 self.emit_n(InstId::Bc.with_cc(CondCode::VS), &[op0.as_operand()]);
7372 }
7373 fn bc_vc(&mut self, op0: Imm) {
7374 self.emit_n(InstId::Bc.with_cc(CondCode::VC), &[op0.as_operand()]);
7375 }
7376 fn bc_hi(&mut self, op0: Imm) {
7377 self.emit_n(InstId::Bc.with_cc(CondCode::HI), &[op0.as_operand()]);
7378 }
7379 fn bc_ls(&mut self, op0: Imm) {
7380 self.emit_n(InstId::Bc.with_cc(CondCode::LS), &[op0.as_operand()]);
7381 }
7382 fn bc_ge(&mut self, op0: Imm) {
7383 self.emit_n(InstId::Bc.with_cc(CondCode::GE), &[op0.as_operand()]);
7384 }
7385 fn bc_lt(&mut self, op0: Imm) {
7386 self.emit_n(InstId::Bc.with_cc(CondCode::LT), &[op0.as_operand()]);
7387 }
7388 fn bc_gt(&mut self, op0: Imm) {
7389 self.emit_n(InstId::Bc.with_cc(CondCode::GT), &[op0.as_operand()]);
7390 }
7391 fn bc_le(&mut self, op0: Imm) {
7392 self.emit_n(InstId::Bc.with_cc(CondCode::LE), &[op0.as_operand()]);
7393 }
7394 fn bc_al(&mut self, op0: Imm) {
7395 self.emit_n(InstId::Bc.with_cc(CondCode::AL), &[op0.as_operand()]);
7396 }
7397}
7398
7399impl BcEmitter<Label> for Assembler<'_> {
7400 fn bc_eq(&mut self, op0: Label) {
7401 self.emit_n(InstId::Bc.with_cc(CondCode::EQ), &[op0.as_operand()]);
7402 }
7403 fn bc_ne(&mut self, op0: Label) {
7404 self.emit_n(InstId::Bc.with_cc(CondCode::NE), &[op0.as_operand()]);
7405 }
7406 fn bc_cs(&mut self, op0: Label) {
7407 self.emit_n(InstId::Bc.with_cc(CondCode::CS), &[op0.as_operand()]);
7408 }
7409 fn bc_hs(&mut self, op0: Label) {
7410 self.emit_n(InstId::Bc.with_cc(CondCode::HS), &[op0.as_operand()]);
7411 }
7412 fn bc_cc(&mut self, op0: Label) {
7413 self.emit_n(InstId::Bc.with_cc(CondCode::CC), &[op0.as_operand()]);
7414 }
7415 fn bc_lo(&mut self, op0: Label) {
7416 self.emit_n(InstId::Bc.with_cc(CondCode::LO), &[op0.as_operand()]);
7417 }
7418 fn bc_mi(&mut self, op0: Label) {
7419 self.emit_n(InstId::Bc.with_cc(CondCode::MI), &[op0.as_operand()]);
7420 }
7421 fn bc_pl(&mut self, op0: Label) {
7422 self.emit_n(InstId::Bc.with_cc(CondCode::PL), &[op0.as_operand()]);
7423 }
7424 fn bc_vs(&mut self, op0: Label) {
7425 self.emit_n(InstId::Bc.with_cc(CondCode::VS), &[op0.as_operand()]);
7426 }
7427 fn bc_vc(&mut self, op0: Label) {
7428 self.emit_n(InstId::Bc.with_cc(CondCode::VC), &[op0.as_operand()]);
7429 }
7430 fn bc_hi(&mut self, op0: Label) {
7431 self.emit_n(InstId::Bc.with_cc(CondCode::HI), &[op0.as_operand()]);
7432 }
7433 fn bc_ls(&mut self, op0: Label) {
7434 self.emit_n(InstId::Bc.with_cc(CondCode::LS), &[op0.as_operand()]);
7435 }
7436 fn bc_ge(&mut self, op0: Label) {
7437 self.emit_n(InstId::Bc.with_cc(CondCode::GE), &[op0.as_operand()]);
7438 }
7439 fn bc_lt(&mut self, op0: Label) {
7440 self.emit_n(InstId::Bc.with_cc(CondCode::LT), &[op0.as_operand()]);
7441 }
7442 fn bc_gt(&mut self, op0: Label) {
7443 self.emit_n(InstId::Bc.with_cc(CondCode::GT), &[op0.as_operand()]);
7444 }
7445 fn bc_le(&mut self, op0: Label) {
7446 self.emit_n(InstId::Bc.with_cc(CondCode::LE), &[op0.as_operand()]);
7447 }
7448 fn bc_al(&mut self, op0: Label) {
7449 self.emit_n(InstId::Bc.with_cc(CondCode::AL), &[op0.as_operand()]);
7450 }
7451}
7452
7453impl BcEmitter<Sym> for Assembler<'_> {
7454 fn bc_eq(&mut self, op0: Sym) {
7455 self.emit_n(InstId::Bc.with_cc(CondCode::EQ), &[op0.as_operand()]);
7456 }
7457 fn bc_ne(&mut self, op0: Sym) {
7458 self.emit_n(InstId::Bc.with_cc(CondCode::NE), &[op0.as_operand()]);
7459 }
7460 fn bc_cs(&mut self, op0: Sym) {
7461 self.emit_n(InstId::Bc.with_cc(CondCode::CS), &[op0.as_operand()]);
7462 }
7463 fn bc_hs(&mut self, op0: Sym) {
7464 self.emit_n(InstId::Bc.with_cc(CondCode::HS), &[op0.as_operand()]);
7465 }
7466 fn bc_cc(&mut self, op0: Sym) {
7467 self.emit_n(InstId::Bc.with_cc(CondCode::CC), &[op0.as_operand()]);
7468 }
7469 fn bc_lo(&mut self, op0: Sym) {
7470 self.emit_n(InstId::Bc.with_cc(CondCode::LO), &[op0.as_operand()]);
7471 }
7472 fn bc_mi(&mut self, op0: Sym) {
7473 self.emit_n(InstId::Bc.with_cc(CondCode::MI), &[op0.as_operand()]);
7474 }
7475 fn bc_pl(&mut self, op0: Sym) {
7476 self.emit_n(InstId::Bc.with_cc(CondCode::PL), &[op0.as_operand()]);
7477 }
7478 fn bc_vs(&mut self, op0: Sym) {
7479 self.emit_n(InstId::Bc.with_cc(CondCode::VS), &[op0.as_operand()]);
7480 }
7481 fn bc_vc(&mut self, op0: Sym) {
7482 self.emit_n(InstId::Bc.with_cc(CondCode::VC), &[op0.as_operand()]);
7483 }
7484 fn bc_hi(&mut self, op0: Sym) {
7485 self.emit_n(InstId::Bc.with_cc(CondCode::HI), &[op0.as_operand()]);
7486 }
7487 fn bc_ls(&mut self, op0: Sym) {
7488 self.emit_n(InstId::Bc.with_cc(CondCode::LS), &[op0.as_operand()]);
7489 }
7490 fn bc_ge(&mut self, op0: Sym) {
7491 self.emit_n(InstId::Bc.with_cc(CondCode::GE), &[op0.as_operand()]);
7492 }
7493 fn bc_lt(&mut self, op0: Sym) {
7494 self.emit_n(InstId::Bc.with_cc(CondCode::LT), &[op0.as_operand()]);
7495 }
7496 fn bc_gt(&mut self, op0: Sym) {
7497 self.emit_n(InstId::Bc.with_cc(CondCode::GT), &[op0.as_operand()]);
7498 }
7499 fn bc_le(&mut self, op0: Sym) {
7500 self.emit_n(InstId::Bc.with_cc(CondCode::LE), &[op0.as_operand()]);
7501 }
7502 fn bc_al(&mut self, op0: Sym) {
7503 self.emit_n(InstId::Bc.with_cc(CondCode::AL), &[op0.as_operand()]);
7504 }
7505}
7506
7507impl AutdaEmitter<Gp, Gp> for Assembler<'_> {
7508 fn autda(&mut self, op0: Gp, op1: Gp) {
7509 self.emit_n(InstId::Autda, &[op0.as_operand(), op1.as_operand()]);
7510 }
7511}
7512
7513impl AutdbEmitter<Gp, Gp> for Assembler<'_> {
7514 fn autdb(&mut self, op0: Gp, op1: Gp) {
7515 self.emit_n(InstId::Autdb, &[op0.as_operand(), op1.as_operand()]);
7516 }
7517}
7518
7519impl AutdzaEmitter<Gp> for Assembler<'_> {
7520 fn autdza(&mut self, op0: Gp) {
7521 self.emit_n(InstId::Autdza, &[op0.as_operand()]);
7522 }
7523}
7524
7525impl AutdzbEmitter<Gp> for Assembler<'_> {
7526 fn autdzb(&mut self, op0: Gp) {
7527 self.emit_n(InstId::Autdzb, &[op0.as_operand()]);
7528 }
7529}
7530
7531impl AutiaEmitter<Gp, Gp> for Assembler<'_> {
7532 fn autia(&mut self, op0: Gp, op1: Gp) {
7533 self.emit_n(InstId::Autia, &[op0.as_operand(), op1.as_operand()]);
7534 }
7535}
7536
7537impl Autia1716Emitter for Assembler<'_> {
7538 fn autia1716(&mut self) {
7539 self.emit_n(InstId::Autia1716, &[]);
7540 }
7541}
7542
7543impl AutiaspEmitter for Assembler<'_> {
7544 fn autiasp(&mut self) {
7545 self.emit_n(InstId::Autiasp, &[]);
7546 }
7547}
7548
7549impl AutiazEmitter for Assembler<'_> {
7550 fn autiaz(&mut self) {
7551 self.emit_n(InstId::Autiaz, &[]);
7552 }
7553}
7554
7555impl AutibEmitter<Gp, Gp> for Assembler<'_> {
7556 fn autib(&mut self, op0: Gp, op1: Gp) {
7557 self.emit_n(InstId::Autib, &[op0.as_operand(), op1.as_operand()]);
7558 }
7559}
7560
7561impl Autib1716Emitter for Assembler<'_> {
7562 fn autib1716(&mut self) {
7563 self.emit_n(InstId::Autib1716, &[]);
7564 }
7565}
7566
7567impl AutibspEmitter for Assembler<'_> {
7568 fn autibsp(&mut self) {
7569 self.emit_n(InstId::Autibsp, &[]);
7570 }
7571}
7572
7573impl AutibzEmitter for Assembler<'_> {
7574 fn autibz(&mut self) {
7575 self.emit_n(InstId::Autibz, &[]);
7576 }
7577}
7578
7579impl AutizaEmitter<Gp> for Assembler<'_> {
7580 fn autiza(&mut self, op0: Gp) {
7581 self.emit_n(InstId::Autiza, &[op0.as_operand()]);
7582 }
7583}
7584
7585impl AutizbEmitter<Gp> for Assembler<'_> {
7586 fn autizb(&mut self, op0: Gp) {
7587 self.emit_n(InstId::Autizb, &[op0.as_operand()]);
7588 }
7589}
7590
7591impl GmiEmitter<Gp, Gp, Gp> for Assembler<'_> {
7592 fn gmi(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7593 self.emit_n(
7594 InstId::Gmi,
7595 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7596 );
7597 }
7598}
7599
7600impl CmppEmitter<Gp, Gp> for Assembler<'_> {
7601 fn cmpp(&mut self, op0: Gp, op1: Gp) {
7602 self.emit_n(InstId::Cmpp, &[op0.as_operand(), op1.as_operand()]);
7603 }
7604}
7605
7606impl AddgEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
7607 fn addg(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
7608 self.emit_n(
7609 InstId::Addg,
7610 &[
7611 op0.as_operand(),
7612 op1.as_operand(),
7613 op2.as_operand(),
7614 op3.as_operand(),
7615 ],
7616 );
7617 }
7618}
7619
7620impl LdgEmitter<Gp, Mem> for Assembler<'_> {
7621 fn ldg(&mut self, op0: Gp, op1: Mem) {
7622 self.emit_n(InstId::Ldg, &[op0.as_operand(), op1.as_operand()]);
7623 }
7624}
7625
7626impl LdgmEmitter<Gp, Mem> for Assembler<'_> {
7627 fn ldgm(&mut self, op0: Gp, op1: Mem) {
7628 self.emit_n(InstId::Ldgm, &[op0.as_operand(), op1.as_operand()]);
7629 }
7630}
7631
7632impl LdraaEmitter<Gp, Mem> for Assembler<'_> {
7633 fn ldraa(&mut self, op0: Gp, op1: Mem) {
7634 self.emit_n(InstId::Ldraa, &[op0.as_operand(), op1.as_operand()]);
7635 }
7636}
7637
7638impl LdrabEmitter<Gp, Mem> for Assembler<'_> {
7639 fn ldrab(&mut self, op0: Gp, op1: Mem) {
7640 self.emit_n(InstId::Ldrab, &[op0.as_operand(), op1.as_operand()]);
7641 }
7642}
7643
7644impl PacdaEmitter<Gp, Gp> for Assembler<'_> {
7645 fn pacda(&mut self, op0: Gp, op1: Gp) {
7646 self.emit_n(InstId::Pacda, &[op0.as_operand(), op1.as_operand()]);
7647 }
7648}
7649
7650impl PacdbEmitter<Gp, Gp> for Assembler<'_> {
7651 fn pacdb(&mut self, op0: Gp, op1: Gp) {
7652 self.emit_n(InstId::Pacdb, &[op0.as_operand(), op1.as_operand()]);
7653 }
7654}
7655
7656impl PacdzaEmitter<Gp> for Assembler<'_> {
7657 fn pacdza(&mut self, op0: Gp) {
7658 self.emit_n(InstId::Pacdza, &[op0.as_operand()]);
7659 }
7660}
7661
7662impl PacdzbEmitter<Gp> for Assembler<'_> {
7663 fn pacdzb(&mut self, op0: Gp) {
7664 self.emit_n(InstId::Pacdzb, &[op0.as_operand()]);
7665 }
7666}
7667
7668impl PacgaEmitter<Gp, Gp, Gp> for Assembler<'_> {
7669 fn pacga(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7670 self.emit_n(
7671 InstId::Pacga,
7672 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7673 );
7674 }
7675}
7676
7677impl SubpEmitter<Gp, Gp, Gp> for Assembler<'_> {
7678 fn subp(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7679 self.emit_n(
7680 InstId::Subp,
7681 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7682 );
7683 }
7684}
7685
7686impl SubpsEmitter<Gp, Gp, Gp> for Assembler<'_> {
7687 fn subps(&mut self, op0: Gp, op1: Gp, op2: Gp) {
7688 self.emit_n(
7689 InstId::Subps,
7690 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7691 );
7692 }
7693}
7694
7695impl SubgEmitter<Gp, Gp, Imm, Imm> for Assembler<'_> {
7696 fn subg(&mut self, op0: Gp, op1: Gp, op2: Imm, op3: Imm) {
7697 self.emit_n(
7698 InstId::Subg,
7699 &[
7700 op0.as_operand(),
7701 op1.as_operand(),
7702 op2.as_operand(),
7703 op3.as_operand(),
7704 ],
7705 );
7706 }
7707}
7708
7709impl St2gEmitter<Gp, Mem> for Assembler<'_> {
7710 fn st2g(&mut self, op0: Gp, op1: Mem) {
7711 self.emit_n(InstId::St2g, &[op0.as_operand(), op1.as_operand()]);
7712 }
7713}
7714
7715impl StgEmitter<Gp, Mem> for Assembler<'_> {
7716 fn stg(&mut self, op0: Gp, op1: Mem) {
7717 self.emit_n(InstId::Stg, &[op0.as_operand(), op1.as_operand()]);
7718 }
7719}
7720
7721impl StgpEmitter<Gp, Gp, Mem> for Assembler<'_> {
7722 fn stgp(&mut self, op0: Gp, op1: Gp, op2: Mem) {
7723 self.emit_n(
7724 InstId::Stgp,
7725 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7726 );
7727 }
7728}
7729
7730impl StgmEmitter<Gp, Mem> for Assembler<'_> {
7731 fn stgm(&mut self, op0: Gp, op1: Mem) {
7732 self.emit_n(InstId::Stgm, &[op0.as_operand(), op1.as_operand()]);
7733 }
7734}
7735
7736impl StzgEmitter<Gp, Mem> for Assembler<'_> {
7737 fn stzg(&mut self, op0: Gp, op1: Mem) {
7738 self.emit_n(InstId::Stzg, &[op0.as_operand(), op1.as_operand()]);
7739 }
7740}
7741
7742impl Stz2gEmitter<Gp, Mem> for Assembler<'_> {
7743 fn stz2g(&mut self, op0: Gp, op1: Mem) {
7744 self.emit_n(InstId::Stz2g, &[op0.as_operand(), op1.as_operand()]);
7745 }
7746}
7747
7748impl StzgmEmitter<Gp, Mem> for Assembler<'_> {
7749 fn stzgm(&mut self, op0: Gp, op1: Mem) {
7750 self.emit_n(InstId::Stzgm, &[op0.as_operand(), op1.as_operand()]);
7751 }
7752}
7753
7754impl XpacdEmitter<Gp> for Assembler<'_> {
7755 fn xpacd(&mut self, op0: Gp) {
7756 self.emit_n(InstId::Xpacd, &[op0.as_operand()]);
7757 }
7758}
7759
7760impl XpaciEmitter<Gp> for Assembler<'_> {
7761 fn xpaci(&mut self, op0: Gp) {
7762 self.emit_n(InstId::Xpaci, &[op0.as_operand()]);
7763 }
7764}
7765
7766impl XpaclriEmitter for Assembler<'_> {
7767 fn xpaclri(&mut self) {
7768 self.emit_n(InstId::Xpaclri, &[]);
7769 }
7770}
7771
7772impl HintEmitter<Imm> for Assembler<'_> {
7773 fn hint(&mut self, op0: Imm) {
7774 self.emit_n(InstId::Hint, &[op0.as_operand()]);
7775 }
7776}
7777
7778impl NopEmitter for Assembler<'_> {
7779 fn nop(&mut self) {
7780 self.emit_n(InstId::Nop, &[]);
7781 }
7782}
7783
7784impl SevEmitter for Assembler<'_> {
7785 fn sev(&mut self) {
7786 self.emit_n(InstId::Sev, &[]);
7787 }
7788}
7789
7790impl SevlEmitter for Assembler<'_> {
7791 fn sevl(&mut self) {
7792 self.emit_n(InstId::Sevl, &[]);
7793 }
7794}
7795
7796impl WfeEmitter for Assembler<'_> {
7797 fn wfe(&mut self) {
7798 self.emit_n(InstId::Wfe, &[]);
7799 }
7800}
7801
7802impl WfiEmitter for Assembler<'_> {
7803 fn wfi(&mut self) {
7804 self.emit_n(InstId::Wfi, &[]);
7805 }
7806}
7807
7808impl YieldEmitter for Assembler<'_> {
7809 fn r#yield(&mut self) {
7810 self.emit_n(InstId::Yield, &[]);
7811 }
7812}
7813
7814impl AddhnEmitter<Vec, Vec, Vec> for Assembler<'_> {
7815 fn addhn(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7816 self.emit_n(
7817 InstId::Addhn_v,
7818 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7819 );
7820 }
7821}
7822
7823impl Addhn2Emitter<Vec, Vec, Vec> for Assembler<'_> {
7824 fn addhn2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7825 self.emit_n(
7826 InstId::Addhn2_v,
7827 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7828 );
7829 }
7830}
7831
7832impl AddpEmitter<Vec, Vec> for Assembler<'_> {
7833 fn addp(&mut self, op0: Vec, op1: Vec) {
7834 self.emit_n(InstId::Addp_v, &[op0.as_operand(), op1.as_operand()]);
7835 }
7836}
7837
7838impl Addp3Emitter<Vec, Vec, Vec> for Assembler<'_> {
7839 fn addp_3(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7840 self.emit_n(
7841 InstId::Addp_v,
7842 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7843 );
7844 }
7845}
7846
7847impl AddvEmitter<Vec, Vec> for Assembler<'_> {
7848 fn addv(&mut self, op0: Vec, op1: Vec) {
7849 self.emit_n(InstId::Addv_v, &[op0.as_operand(), op1.as_operand()]);
7850 }
7851}
7852
7853impl Bic2Emitter<Vec, Imm> for Assembler<'_> {
7854 fn bic_2(&mut self, op0: Vec, op1: Imm) {
7855 self.emit_n(InstId::Bic_v, &[op0.as_operand(), op1.as_operand()]);
7856 }
7857}
7858
7859impl BifEmitter<Vec, Vec, Vec> for Assembler<'_> {
7860 fn bif(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7861 self.emit_n(
7862 InstId::Bif_v,
7863 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7864 );
7865 }
7866}
7867
7868impl BitEmitter<Vec, Vec, Vec> for Assembler<'_> {
7869 fn bit(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7870 self.emit_n(
7871 InstId::Bit_v,
7872 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7873 );
7874 }
7875}
7876
7877impl BslEmitter<Vec, Vec, Vec> for Assembler<'_> {
7878 fn bsl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7879 self.emit_n(
7880 InstId::Bsl_v,
7881 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7882 );
7883 }
7884}
7885
7886impl CmeqEmitter<Vec, Vec, Vec> for Assembler<'_> {
7887 fn cmeq(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7888 self.emit_n(
7889 InstId::Cmeq_v,
7890 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7891 );
7892 }
7893}
7894
7895impl CmeqEmitter<Vec, Vec, Imm> for Assembler<'_> {
7896 fn cmeq(&mut self, op0: Vec, op1: Vec, op2: Imm) {
7897 self.emit_n(
7898 InstId::Cmeq_v,
7899 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7900 );
7901 }
7902}
7903
7904impl CmgeEmitter<Vec, Vec, Vec> for Assembler<'_> {
7905 fn cmge(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7906 self.emit_n(
7907 InstId::Cmge_v,
7908 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7909 );
7910 }
7911}
7912
7913impl CmgeEmitter<Vec, Vec, Imm> for Assembler<'_> {
7914 fn cmge(&mut self, op0: Vec, op1: Vec, op2: Imm) {
7915 self.emit_n(
7916 InstId::Cmge_v,
7917 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7918 );
7919 }
7920}
7921
7922impl CmgtEmitter<Vec, Vec, Vec> for Assembler<'_> {
7923 fn cmgt(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7924 self.emit_n(
7925 InstId::Cmgt_v,
7926 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7927 );
7928 }
7929}
7930
7931impl CmgtEmitter<Vec, Vec, Imm> for Assembler<'_> {
7932 fn cmgt(&mut self, op0: Vec, op1: Vec, op2: Imm) {
7933 self.emit_n(
7934 InstId::Cmgt_v,
7935 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7936 );
7937 }
7938}
7939
7940impl CmhiEmitter<Vec, Vec, Vec> for Assembler<'_> {
7941 fn cmhi(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7942 self.emit_n(
7943 InstId::Cmhi_v,
7944 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7945 );
7946 }
7947}
7948
7949impl CmhsEmitter<Vec, Vec, Vec> for Assembler<'_> {
7950 fn cmhs(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7951 self.emit_n(
7952 InstId::Cmhs_v,
7953 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7954 );
7955 }
7956}
7957
7958impl CmleEmitter<Vec, Vec, Imm> for Assembler<'_> {
7959 fn cmle(&mut self, op0: Vec, op1: Vec, op2: Imm) {
7960 self.emit_n(
7961 InstId::Cmle_v,
7962 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7963 );
7964 }
7965}
7966
7967impl CmltEmitter<Vec, Vec, Imm> for Assembler<'_> {
7968 fn cmlt(&mut self, op0: Vec, op1: Vec, op2: Imm) {
7969 self.emit_n(
7970 InstId::Cmlt_v,
7971 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7972 );
7973 }
7974}
7975
7976impl CmtstEmitter<Vec, Vec, Vec> for Assembler<'_> {
7977 fn cmtst(&mut self, op0: Vec, op1: Vec, op2: Vec) {
7978 self.emit_n(
7979 InstId::Cmtst_v,
7980 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
7981 );
7982 }
7983}
7984
7985impl DupEmitter<Vec, Gp> for Assembler<'_> {
7986 fn dup(&mut self, op0: Vec, op1: Gp) {
7987 self.emit_n(InstId::Dup_v, &[op0.as_operand(), op1.as_operand()]);
7988 }
7989}
7990
7991impl DupEmitter<Vec, Vec> for Assembler<'_> {
7992 fn dup(&mut self, op0: Vec, op1: Vec) {
7993 self.emit_n(InstId::Dup_v, &[op0.as_operand(), op1.as_operand()]);
7994 }
7995}
7996
7997impl ExtEmitter<Vec, Vec, Vec, Imm> for Assembler<'_> {
7998 fn ext(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Imm) {
7999 self.emit_n(
8000 InstId::Ext_v,
8001 &[
8002 op0.as_operand(),
8003 op1.as_operand(),
8004 op2.as_operand(),
8005 op3.as_operand(),
8006 ],
8007 );
8008 }
8009}
8010
8011impl FabdEmitter<Vec, Vec, Vec> for Assembler<'_> {
8012 fn fabd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8013 self.emit_n(
8014 InstId::Fabd_v,
8015 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8016 );
8017 }
8018}
8019
8020impl FabsEmitter<Vec, Vec> for Assembler<'_> {
8021 fn fabs(&mut self, op0: Vec, op1: Vec) {
8022 self.emit_n(InstId::Fabs_v, &[op0.as_operand(), op1.as_operand()]);
8023 }
8024}
8025
8026impl FacgeEmitter<Vec, Vec, Vec> for Assembler<'_> {
8027 fn facge(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8028 self.emit_n(
8029 InstId::Facge_v,
8030 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8031 );
8032 }
8033}
8034
8035impl FacgtEmitter<Vec, Vec, Vec> for Assembler<'_> {
8036 fn facgt(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8037 self.emit_n(
8038 InstId::Facgt_v,
8039 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8040 );
8041 }
8042}
8043
8044impl FaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
8045 fn fadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8046 self.emit_n(
8047 InstId::Fadd_v,
8048 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8049 );
8050 }
8051}
8052
8053impl FaddpEmitter<Vec, Vec> for Assembler<'_> {
8054 fn faddp(&mut self, op0: Vec, op1: Vec) {
8055 self.emit_n(InstId::Faddp_v, &[op0.as_operand(), op1.as_operand()]);
8056 }
8057}
8058
8059impl Faddp3Emitter<Vec, Vec, Vec> for Assembler<'_> {
8060 fn faddp_3(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8061 self.emit_n(
8062 InstId::Faddp_v,
8063 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8064 );
8065 }
8066}
8067
8068impl FccmpEmitter<Vec, Vec, Imm, Imm> for Assembler<'_> {
8069 fn fccmp(&mut self, op0: Vec, op1: Vec, op2: Imm, op3: Imm) {
8070 self.emit_n(
8071 InstId::Fccmp_v,
8072 &[
8073 op0.as_operand(),
8074 op1.as_operand(),
8075 op2.as_operand(),
8076 op3.as_operand(),
8077 ],
8078 );
8079 }
8080}
8081
8082impl FccmpeEmitter<Vec, Vec, Imm, Imm> for Assembler<'_> {
8083 fn fccmpe(&mut self, op0: Vec, op1: Vec, op2: Imm, op3: Imm) {
8084 self.emit_n(
8085 InstId::Fccmpe_v,
8086 &[
8087 op0.as_operand(),
8088 op1.as_operand(),
8089 op2.as_operand(),
8090 op3.as_operand(),
8091 ],
8092 );
8093 }
8094}
8095
8096impl FcmeqEmitter<Vec, Vec, Vec> for Assembler<'_> {
8097 fn fcmeq(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8098 self.emit_n(
8099 InstId::Fcmeq_v,
8100 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8101 );
8102 }
8103}
8104
8105impl FcmeqEmitter<Vec, Vec, Imm> for Assembler<'_> {
8106 fn fcmeq(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8107 self.emit_n(
8108 InstId::Fcmeq_v,
8109 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8110 );
8111 }
8112}
8113
8114impl FcmgeEmitter<Vec, Vec, Vec> for Assembler<'_> {
8115 fn fcmge(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8116 self.emit_n(
8117 InstId::Fcmge_v,
8118 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8119 );
8120 }
8121}
8122
8123impl FcmgeEmitter<Vec, Vec, Imm> for Assembler<'_> {
8124 fn fcmge(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8125 self.emit_n(
8126 InstId::Fcmge_v,
8127 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8128 );
8129 }
8130}
8131
8132impl FcmgtEmitter<Vec, Vec, Vec> for Assembler<'_> {
8133 fn fcmgt(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8134 self.emit_n(
8135 InstId::Fcmgt_v,
8136 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8137 );
8138 }
8139}
8140
8141impl FcmgtEmitter<Vec, Vec, Imm> for Assembler<'_> {
8142 fn fcmgt(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8143 self.emit_n(
8144 InstId::Fcmgt_v,
8145 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8146 );
8147 }
8148}
8149
8150impl FcmleEmitter<Vec, Vec, Imm> for Assembler<'_> {
8151 fn fcmle(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8152 self.emit_n(
8153 InstId::Fcmle_v,
8154 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8155 );
8156 }
8157}
8158
8159impl FcmltEmitter<Vec, Vec, Imm> for Assembler<'_> {
8160 fn fcmlt(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8161 self.emit_n(
8162 InstId::Fcmlt_v,
8163 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8164 );
8165 }
8166}
8167
8168impl FcmpEmitter<Vec, Vec> for Assembler<'_> {
8169 fn fcmp(&mut self, op0: Vec, op1: Vec) {
8170 self.emit_n(InstId::Fcmp_v, &[op0.as_operand(), op1.as_operand()]);
8171 }
8172}
8173
8174impl FcmpEmitter<Vec, Imm> for Assembler<'_> {
8175 fn fcmp(&mut self, op0: Vec, op1: Imm) {
8176 self.emit_n(InstId::Fcmp_v, &[op0.as_operand(), op1.as_operand()]);
8177 }
8178}
8179
8180impl FcmpeEmitter<Vec, Vec> for Assembler<'_> {
8181 fn fcmpe(&mut self, op0: Vec, op1: Vec) {
8182 self.emit_n(InstId::Fcmpe_v, &[op0.as_operand(), op1.as_operand()]);
8183 }
8184}
8185
8186impl FcmpeEmitter<Vec, Imm> for Assembler<'_> {
8187 fn fcmpe(&mut self, op0: Vec, op1: Imm) {
8188 self.emit_n(InstId::Fcmpe_v, &[op0.as_operand(), op1.as_operand()]);
8189 }
8190}
8191
8192impl FcselEmitter<Vec, Vec, Vec, Imm> for Assembler<'_> {
8193 fn fcsel(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Imm) {
8194 self.emit_n(
8195 InstId::Fcsel_v,
8196 &[
8197 op0.as_operand(),
8198 op1.as_operand(),
8199 op2.as_operand(),
8200 op3.as_operand(),
8201 ],
8202 );
8203 }
8204}
8205
8206impl FcvtEmitter<Vec, Vec> for Assembler<'_> {
8207 fn fcvt(&mut self, op0: Vec, op1: Vec) {
8208 self.emit_n(InstId::Fcvt_v, &[op0.as_operand(), op1.as_operand()]);
8209 }
8210}
8211
8212impl FcvtasEmitter<Gp, Vec> for Assembler<'_> {
8213 fn fcvtas(&mut self, op0: Gp, op1: Vec) {
8214 self.emit_n(InstId::Fcvtas_v, &[op0.as_operand(), op1.as_operand()]);
8215 }
8216}
8217
8218impl FcvtasEmitter<Vec, Vec> for Assembler<'_> {
8219 fn fcvtas(&mut self, op0: Vec, op1: Vec) {
8220 self.emit_n(InstId::Fcvtas_v, &[op0.as_operand(), op1.as_operand()]);
8221 }
8222}
8223
8224impl FcvtauEmitter<Gp, Vec> for Assembler<'_> {
8225 fn fcvtau(&mut self, op0: Gp, op1: Vec) {
8226 self.emit_n(InstId::Fcvtau_v, &[op0.as_operand(), op1.as_operand()]);
8227 }
8228}
8229
8230impl FcvtauEmitter<Vec, Vec> for Assembler<'_> {
8231 fn fcvtau(&mut self, op0: Vec, op1: Vec) {
8232 self.emit_n(InstId::Fcvtau_v, &[op0.as_operand(), op1.as_operand()]);
8233 }
8234}
8235
8236impl FcvtlEmitter<Vec, Vec> for Assembler<'_> {
8237 fn fcvtl(&mut self, op0: Vec, op1: Vec) {
8238 self.emit_n(InstId::Fcvtl_v, &[op0.as_operand(), op1.as_operand()]);
8239 }
8240}
8241
8242impl Fcvtl2Emitter<Vec, Vec> for Assembler<'_> {
8243 fn fcvtl2(&mut self, op0: Vec, op1: Vec) {
8244 self.emit_n(InstId::Fcvtl2_v, &[op0.as_operand(), op1.as_operand()]);
8245 }
8246}
8247
8248impl FcvtmsEmitter<Gp, Vec> for Assembler<'_> {
8249 fn fcvtms(&mut self, op0: Gp, op1: Vec) {
8250 self.emit_n(InstId::Fcvtms_v, &[op0.as_operand(), op1.as_operand()]);
8251 }
8252}
8253
8254impl FcvtmsEmitter<Vec, Vec> for Assembler<'_> {
8255 fn fcvtms(&mut self, op0: Vec, op1: Vec) {
8256 self.emit_n(InstId::Fcvtms_v, &[op0.as_operand(), op1.as_operand()]);
8257 }
8258}
8259
8260impl FcvtmuEmitter<Gp, Vec> for Assembler<'_> {
8261 fn fcvtmu(&mut self, op0: Gp, op1: Vec) {
8262 self.emit_n(InstId::Fcvtmu_v, &[op0.as_operand(), op1.as_operand()]);
8263 }
8264}
8265
8266impl FcvtmuEmitter<Vec, Vec> for Assembler<'_> {
8267 fn fcvtmu(&mut self, op0: Vec, op1: Vec) {
8268 self.emit_n(InstId::Fcvtmu_v, &[op0.as_operand(), op1.as_operand()]);
8269 }
8270}
8271
8272impl FcvtnEmitter<Vec, Vec> for Assembler<'_> {
8273 fn fcvtn(&mut self, op0: Vec, op1: Vec) {
8274 self.emit_n(InstId::Fcvtn_v, &[op0.as_operand(), op1.as_operand()]);
8275 }
8276}
8277
8278impl Fcvtn2Emitter<Vec, Vec> for Assembler<'_> {
8279 fn fcvtn2(&mut self, op0: Vec, op1: Vec) {
8280 self.emit_n(InstId::Fcvtn2_v, &[op0.as_operand(), op1.as_operand()]);
8281 }
8282}
8283
8284impl FcvtnsEmitter<Gp, Vec> for Assembler<'_> {
8285 fn fcvtns(&mut self, op0: Gp, op1: Vec) {
8286 self.emit_n(InstId::Fcvtns_v, &[op0.as_operand(), op1.as_operand()]);
8287 }
8288}
8289
8290impl FcvtnsEmitter<Vec, Vec> for Assembler<'_> {
8291 fn fcvtns(&mut self, op0: Vec, op1: Vec) {
8292 self.emit_n(InstId::Fcvtns_v, &[op0.as_operand(), op1.as_operand()]);
8293 }
8294}
8295
8296impl FcvtnuEmitter<Gp, Vec> for Assembler<'_> {
8297 fn fcvtnu(&mut self, op0: Gp, op1: Vec) {
8298 self.emit_n(InstId::Fcvtnu_v, &[op0.as_operand(), op1.as_operand()]);
8299 }
8300}
8301
8302impl FcvtnuEmitter<Vec, Vec> for Assembler<'_> {
8303 fn fcvtnu(&mut self, op0: Vec, op1: Vec) {
8304 self.emit_n(InstId::Fcvtnu_v, &[op0.as_operand(), op1.as_operand()]);
8305 }
8306}
8307
8308impl FcvtpsEmitter<Gp, Vec> for Assembler<'_> {
8309 fn fcvtps(&mut self, op0: Gp, op1: Vec) {
8310 self.emit_n(InstId::Fcvtps_v, &[op0.as_operand(), op1.as_operand()]);
8311 }
8312}
8313
8314impl FcvtpsEmitter<Vec, Vec> for Assembler<'_> {
8315 fn fcvtps(&mut self, op0: Vec, op1: Vec) {
8316 self.emit_n(InstId::Fcvtps_v, &[op0.as_operand(), op1.as_operand()]);
8317 }
8318}
8319
8320impl FcvtpuEmitter<Gp, Vec> for Assembler<'_> {
8321 fn fcvtpu(&mut self, op0: Gp, op1: Vec) {
8322 self.emit_n(InstId::Fcvtpu_v, &[op0.as_operand(), op1.as_operand()]);
8323 }
8324}
8325
8326impl FcvtpuEmitter<Vec, Vec> for Assembler<'_> {
8327 fn fcvtpu(&mut self, op0: Vec, op1: Vec) {
8328 self.emit_n(InstId::Fcvtpu_v, &[op0.as_operand(), op1.as_operand()]);
8329 }
8330}
8331
8332impl FcvtxnEmitter<Vec, Vec> for Assembler<'_> {
8333 fn fcvtxn(&mut self, op0: Vec, op1: Vec) {
8334 self.emit_n(InstId::Fcvtxn_v, &[op0.as_operand(), op1.as_operand()]);
8335 }
8336}
8337
8338impl Fcvtxn2Emitter<Vec, Vec> for Assembler<'_> {
8339 fn fcvtxn2(&mut self, op0: Vec, op1: Vec) {
8340 self.emit_n(InstId::Fcvtxn2_v, &[op0.as_operand(), op1.as_operand()]);
8341 }
8342}
8343
8344impl FcvtzsEmitter<Gp, Vec> for Assembler<'_> {
8345 fn fcvtzs(&mut self, op0: Gp, op1: Vec) {
8346 self.emit_n(InstId::Fcvtzs_v, &[op0.as_operand(), op1.as_operand()]);
8347 }
8348}
8349
8350impl FcvtzsEmitter<Vec, Vec> for Assembler<'_> {
8351 fn fcvtzs(&mut self, op0: Vec, op1: Vec) {
8352 self.emit_n(InstId::Fcvtzs_v, &[op0.as_operand(), op1.as_operand()]);
8353 }
8354}
8355
8356impl Fcvtzs3Emitter<Gp, Vec, Imm> for Assembler<'_> {
8357 fn fcvtzs_3(&mut self, op0: Gp, op1: Vec, op2: Imm) {
8358 self.emit_n(
8359 InstId::Fcvtzs_v,
8360 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8361 );
8362 }
8363}
8364
8365impl Fcvtzs3Emitter<Vec, Vec, Imm> for Assembler<'_> {
8366 fn fcvtzs_3(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8367 self.emit_n(
8368 InstId::Fcvtzs_v,
8369 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8370 );
8371 }
8372}
8373
8374impl FcvtzuEmitter<Gp, Vec> for Assembler<'_> {
8375 fn fcvtzu(&mut self, op0: Gp, op1: Vec) {
8376 self.emit_n(InstId::Fcvtzu_v, &[op0.as_operand(), op1.as_operand()]);
8377 }
8378}
8379
8380impl FcvtzuEmitter<Vec, Vec> for Assembler<'_> {
8381 fn fcvtzu(&mut self, op0: Vec, op1: Vec) {
8382 self.emit_n(InstId::Fcvtzu_v, &[op0.as_operand(), op1.as_operand()]);
8383 }
8384}
8385
8386impl Fcvtzu3Emitter<Gp, Vec, Imm> for Assembler<'_> {
8387 fn fcvtzu_3(&mut self, op0: Gp, op1: Vec, op2: Imm) {
8388 self.emit_n(
8389 InstId::Fcvtzu_v,
8390 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8391 );
8392 }
8393}
8394
8395impl Fcvtzu3Emitter<Vec, Vec, Imm> for Assembler<'_> {
8396 fn fcvtzu_3(&mut self, op0: Vec, op1: Vec, op2: Imm) {
8397 self.emit_n(
8398 InstId::Fcvtzu_v,
8399 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8400 );
8401 }
8402}
8403
8404impl FdivEmitter<Vec, Vec, Vec> for Assembler<'_> {
8405 fn fdiv(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8406 self.emit_n(
8407 InstId::Fdiv_v,
8408 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8409 );
8410 }
8411}
8412
8413impl FmaddEmitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
8414 fn fmadd(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
8415 self.emit_n(
8416 InstId::Fmadd_v,
8417 &[
8418 op0.as_operand(),
8419 op1.as_operand(),
8420 op2.as_operand(),
8421 op3.as_operand(),
8422 ],
8423 );
8424 }
8425}
8426
8427impl FmaxEmitter<Vec, Vec, Vec> for Assembler<'_> {
8428 fn fmax(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8429 self.emit_n(
8430 InstId::Fmax_v,
8431 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8432 );
8433 }
8434}
8435
8436impl FmaxnmEmitter<Vec, Vec, Vec> for Assembler<'_> {
8437 fn fmaxnm(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8438 self.emit_n(
8439 InstId::Fmaxnm_v,
8440 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8441 );
8442 }
8443}
8444
8445impl FmaxnmpEmitter<Vec, Vec, Vec> for Assembler<'_> {
8446 fn fmaxnmp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8447 self.emit_n(
8448 InstId::Fmaxnmp_v,
8449 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8450 );
8451 }
8452}
8453
8454impl Fmaxnmp2Emitter<Vec, Vec> for Assembler<'_> {
8455 fn fmaxnmp_2(&mut self, op0: Vec, op1: Vec) {
8456 self.emit_n(InstId::Fmaxnmp_v, &[op0.as_operand(), op1.as_operand()]);
8457 }
8458}
8459
8460impl FmaxnmvEmitter<Vec, Vec> for Assembler<'_> {
8461 fn fmaxnmv(&mut self, op0: Vec, op1: Vec) {
8462 self.emit_n(InstId::Fmaxnmv_v, &[op0.as_operand(), op1.as_operand()]);
8463 }
8464}
8465
8466impl FmaxpEmitter<Vec, Vec, Vec> for Assembler<'_> {
8467 fn fmaxp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8468 self.emit_n(
8469 InstId::Fmaxp_v,
8470 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8471 );
8472 }
8473}
8474
8475impl Fmaxp2Emitter<Vec, Vec> for Assembler<'_> {
8476 fn fmaxp_2(&mut self, op0: Vec, op1: Vec) {
8477 self.emit_n(InstId::Fmaxp_v, &[op0.as_operand(), op1.as_operand()]);
8478 }
8479}
8480
8481impl FmaxvEmitter<Vec, Vec> for Assembler<'_> {
8482 fn fmaxv(&mut self, op0: Vec, op1: Vec) {
8483 self.emit_n(InstId::Fmaxv_v, &[op0.as_operand(), op1.as_operand()]);
8484 }
8485}
8486
8487impl FminEmitter<Vec, Vec, Vec> for Assembler<'_> {
8488 fn fmin(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8489 self.emit_n(
8490 InstId::Fmin_v,
8491 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8492 );
8493 }
8494}
8495
8496impl FminnmEmitter<Vec, Vec, Vec> for Assembler<'_> {
8497 fn fminnm(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8498 self.emit_n(
8499 InstId::Fminnm_v,
8500 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8501 );
8502 }
8503}
8504
8505impl FminnmvEmitter<Vec, Vec> for Assembler<'_> {
8506 fn fminnmv(&mut self, op0: Vec, op1: Vec) {
8507 self.emit_n(InstId::Fminnmv_v, &[op0.as_operand(), op1.as_operand()]);
8508 }
8509}
8510
8511impl FminnmpEmitter<Vec, Vec, Vec> for Assembler<'_> {
8512 fn fminnmp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8513 self.emit_n(
8514 InstId::Fminnmp_v,
8515 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8516 );
8517 }
8518}
8519
8520impl Fminnmp2Emitter<Vec, Vec> for Assembler<'_> {
8521 fn fminnmp_2(&mut self, op0: Vec, op1: Vec) {
8522 self.emit_n(InstId::Fminnmp_v, &[op0.as_operand(), op1.as_operand()]);
8523 }
8524}
8525
8526impl FminpEmitter<Vec, Vec> for Assembler<'_> {
8527 fn fminp(&mut self, op0: Vec, op1: Vec) {
8528 self.emit_n(InstId::Fminp_v, &[op0.as_operand(), op1.as_operand()]);
8529 }
8530}
8531
8532impl Fminp3Emitter<Vec, Vec, Vec> for Assembler<'_> {
8533 fn fminp_3(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8534 self.emit_n(
8535 InstId::Fminp_v,
8536 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8537 );
8538 }
8539}
8540
8541impl FminvEmitter<Vec, Vec> for Assembler<'_> {
8542 fn fminv(&mut self, op0: Vec, op1: Vec) {
8543 self.emit_n(InstId::Fminv_v, &[op0.as_operand(), op1.as_operand()]);
8544 }
8545}
8546
8547impl FmlaEmitter<Vec, Vec, Vec> for Assembler<'_> {
8548 fn fmla(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8549 self.emit_n(
8550 InstId::Fmla_v,
8551 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8552 );
8553 }
8554}
8555
8556impl FmlsEmitter<Vec, Vec, Vec> for Assembler<'_> {
8557 fn fmls(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8558 self.emit_n(
8559 InstId::Fmls_v,
8560 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8561 );
8562 }
8563}
8564
8565impl FmovEmitter<Gp, Vec> for Assembler<'_> {
8566 fn fmov(&mut self, op0: Gp, op1: Vec) {
8567 self.emit_n(InstId::Fmov_v, &[op0.as_operand(), op1.as_operand()]);
8568 }
8569}
8570
8571impl FmovEmitter<Vec, Gp> for Assembler<'_> {
8572 fn fmov(&mut self, op0: Vec, op1: Gp) {
8573 self.emit_n(InstId::Fmov_v, &[op0.as_operand(), op1.as_operand()]);
8574 }
8575}
8576
8577impl FmovEmitter<Vec, Vec> for Assembler<'_> {
8578 fn fmov(&mut self, op0: Vec, op1: Vec) {
8579 self.emit_n(InstId::Fmov_v, &[op0.as_operand(), op1.as_operand()]);
8580 }
8581}
8582
8583impl FmovEmitter<Vec, Imm> for Assembler<'_> {
8584 fn fmov(&mut self, op0: Vec, op1: Imm) {
8585 self.emit_n(InstId::Fmov_v, &[op0.as_operand(), op1.as_operand()]);
8586 }
8587}
8588
8589impl FmsubEmitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
8590 fn fmsub(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
8591 self.emit_n(
8592 InstId::Fmsub_v,
8593 &[
8594 op0.as_operand(),
8595 op1.as_operand(),
8596 op2.as_operand(),
8597 op3.as_operand(),
8598 ],
8599 );
8600 }
8601}
8602
8603impl FmulEmitter<Vec, Vec, Vec> for Assembler<'_> {
8604 fn fmul(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8605 self.emit_n(
8606 InstId::Fmul_v,
8607 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8608 );
8609 }
8610}
8611
8612impl FmulxEmitter<Vec, Vec, Vec> for Assembler<'_> {
8613 fn fmulx(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8614 self.emit_n(
8615 InstId::Fmulx_v,
8616 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8617 );
8618 }
8619}
8620
8621impl FnegEmitter<Vec, Vec> for Assembler<'_> {
8622 fn fneg(&mut self, op0: Vec, op1: Vec) {
8623 self.emit_n(InstId::Fneg_v, &[op0.as_operand(), op1.as_operand()]);
8624 }
8625}
8626
8627impl FnmaddEmitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
8628 fn fnmadd(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
8629 self.emit_n(
8630 InstId::Fnmadd_v,
8631 &[
8632 op0.as_operand(),
8633 op1.as_operand(),
8634 op2.as_operand(),
8635 op3.as_operand(),
8636 ],
8637 );
8638 }
8639}
8640
8641impl FnmsubEmitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
8642 fn fnmsub(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
8643 self.emit_n(
8644 InstId::Fnmsub_v,
8645 &[
8646 op0.as_operand(),
8647 op1.as_operand(),
8648 op2.as_operand(),
8649 op3.as_operand(),
8650 ],
8651 );
8652 }
8653}
8654
8655impl FnmulEmitter<Vec, Vec, Vec> for Assembler<'_> {
8656 fn fnmul(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8657 self.emit_n(
8658 InstId::Fnmul_v,
8659 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8660 );
8661 }
8662}
8663
8664impl FrecpeEmitter<Vec, Vec> for Assembler<'_> {
8665 fn frecpe(&mut self, op0: Vec, op1: Vec) {
8666 self.emit_n(InstId::Frecpe_v, &[op0.as_operand(), op1.as_operand()]);
8667 }
8668}
8669
8670impl FrecpsEmitter<Vec, Vec, Vec> for Assembler<'_> {
8671 fn frecps(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8672 self.emit_n(
8673 InstId::Frecps_v,
8674 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8675 );
8676 }
8677}
8678
8679impl FrecpxEmitter<Vec, Vec> for Assembler<'_> {
8680 fn frecpx(&mut self, op0: Vec, op1: Vec) {
8681 self.emit_n(InstId::Frecpx_v, &[op0.as_operand(), op1.as_operand()]);
8682 }
8683}
8684
8685impl Frint32xEmitter<Vec, Vec> for Assembler<'_> {
8686 fn frint32x(&mut self, op0: Vec, op1: Vec) {
8687 self.emit_n(InstId::Frint32x_v, &[op0.as_operand(), op1.as_operand()]);
8688 }
8689}
8690
8691impl Frint32zEmitter<Vec, Vec> for Assembler<'_> {
8692 fn frint32z(&mut self, op0: Vec, op1: Vec) {
8693 self.emit_n(InstId::Frint32z_v, &[op0.as_operand(), op1.as_operand()]);
8694 }
8695}
8696
8697impl Frint64xEmitter<Vec, Vec> for Assembler<'_> {
8698 fn frint64x(&mut self, op0: Vec, op1: Vec) {
8699 self.emit_n(InstId::Frint64x_v, &[op0.as_operand(), op1.as_operand()]);
8700 }
8701}
8702
8703impl Frint64zEmitter<Vec, Vec> for Assembler<'_> {
8704 fn frint64z(&mut self, op0: Vec, op1: Vec) {
8705 self.emit_n(InstId::Frint64z_v, &[op0.as_operand(), op1.as_operand()]);
8706 }
8707}
8708
8709impl FrintaEmitter<Vec, Vec> for Assembler<'_> {
8710 fn frinta(&mut self, op0: Vec, op1: Vec) {
8711 self.emit_n(InstId::Frinta_v, &[op0.as_operand(), op1.as_operand()]);
8712 }
8713}
8714
8715impl FrintiEmitter<Vec, Vec> for Assembler<'_> {
8716 fn frinti(&mut self, op0: Vec, op1: Vec) {
8717 self.emit_n(InstId::Frinti_v, &[op0.as_operand(), op1.as_operand()]);
8718 }
8719}
8720
8721impl FrintmEmitter<Vec, Vec> for Assembler<'_> {
8722 fn frintm(&mut self, op0: Vec, op1: Vec) {
8723 self.emit_n(InstId::Frintm_v, &[op0.as_operand(), op1.as_operand()]);
8724 }
8725}
8726
8727impl FrintnEmitter<Vec, Vec> for Assembler<'_> {
8728 fn frintn(&mut self, op0: Vec, op1: Vec) {
8729 self.emit_n(InstId::Frintn_v, &[op0.as_operand(), op1.as_operand()]);
8730 }
8731}
8732
8733impl FrintpEmitter<Vec, Vec> for Assembler<'_> {
8734 fn frintp(&mut self, op0: Vec, op1: Vec) {
8735 self.emit_n(InstId::Frintp_v, &[op0.as_operand(), op1.as_operand()]);
8736 }
8737}
8738
8739impl FrintxEmitter<Vec, Vec> for Assembler<'_> {
8740 fn frintx(&mut self, op0: Vec, op1: Vec) {
8741 self.emit_n(InstId::Frintx_v, &[op0.as_operand(), op1.as_operand()]);
8742 }
8743}
8744
8745impl FrintzEmitter<Vec, Vec> for Assembler<'_> {
8746 fn frintz(&mut self, op0: Vec, op1: Vec) {
8747 self.emit_n(InstId::Frintz_v, &[op0.as_operand(), op1.as_operand()]);
8748 }
8749}
8750
8751impl FrsqrteEmitter<Vec, Vec> for Assembler<'_> {
8752 fn frsqrte(&mut self, op0: Vec, op1: Vec) {
8753 self.emit_n(InstId::Frsqrte_v, &[op0.as_operand(), op1.as_operand()]);
8754 }
8755}
8756
8757impl FrsqrtsEmitter<Vec, Vec, Vec> for Assembler<'_> {
8758 fn frsqrts(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8759 self.emit_n(
8760 InstId::Frsqrts_v,
8761 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8762 );
8763 }
8764}
8765
8766impl FsqrtEmitter<Vec, Vec> for Assembler<'_> {
8767 fn fsqrt(&mut self, op0: Vec, op1: Vec) {
8768 self.emit_n(InstId::Fsqrt_v, &[op0.as_operand(), op1.as_operand()]);
8769 }
8770}
8771
8772impl FsubEmitter<Vec, Vec, Vec> for Assembler<'_> {
8773 fn fsub(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8774 self.emit_n(
8775 InstId::Fsub_v,
8776 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8777 );
8778 }
8779}
8780
8781impl InsEmitter<Vec, Gp> for Assembler<'_> {
8782 fn ins(&mut self, op0: Vec, op1: Gp) {
8783 self.emit_n(InstId::Ins_v, &[op0.as_operand(), op1.as_operand()]);
8784 }
8785}
8786
8787impl InsEmitter<Vec, Vec> for Assembler<'_> {
8788 fn ins(&mut self, op0: Vec, op1: Vec) {
8789 self.emit_n(InstId::Ins_v, &[op0.as_operand(), op1.as_operand()]);
8790 }
8791}
8792
8793impl Ld1Emitter<Vec, Mem> for Assembler<'_> {
8794 fn ld1(&mut self, op0: Vec, op1: Mem) {
8795 self.emit_n(InstId::Ld1_v, &[op0.as_operand(), op1.as_operand()]);
8796 }
8797}
8798
8799impl Ld13Emitter<Vec, Vec, Mem> for Assembler<'_> {
8800 fn ld1_3(&mut self, op0: Vec, op1: Vec, op2: Mem) {
8801 self.emit_n(
8802 InstId::Ld1_v,
8803 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8804 );
8805 }
8806}
8807
8808impl Ld14Emitter<Vec, Vec, Vec, Mem> for Assembler<'_> {
8809 fn ld1_4(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Mem) {
8810 self.emit_n(
8811 InstId::Ld1_v,
8812 &[
8813 op0.as_operand(),
8814 op1.as_operand(),
8815 op2.as_operand(),
8816 op3.as_operand(),
8817 ],
8818 );
8819 }
8820}
8821
8822impl Ld15Emitter<Vec, Vec, Vec, Vec, Mem> for Assembler<'_> {
8823 fn ld1_5(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Mem) {
8824 self.emit_n(
8825 InstId::Ld1_v,
8826 &[
8827 op0.as_operand(),
8828 op1.as_operand(),
8829 op2.as_operand(),
8830 op3.as_operand(),
8831 op4.as_operand(),
8832 ],
8833 );
8834 }
8835}
8836
8837impl Ld1rEmitter<Vec, Mem> for Assembler<'_> {
8838 fn ld1r(&mut self, op0: Vec, op1: Mem) {
8839 self.emit_n(InstId::Ld1r_v, &[op0.as_operand(), op1.as_operand()]);
8840 }
8841}
8842
8843impl Ld2Emitter<Vec, Vec, Mem> for Assembler<'_> {
8844 fn ld2(&mut self, op0: Vec, op1: Vec, op2: Mem) {
8845 self.emit_n(
8846 InstId::Ld2_v,
8847 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8848 );
8849 }
8850}
8851
8852impl Ld2rEmitter<Vec, Vec, Mem> for Assembler<'_> {
8853 fn ld2r(&mut self, op0: Vec, op1: Vec, op2: Mem) {
8854 self.emit_n(
8855 InstId::Ld2r_v,
8856 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8857 );
8858 }
8859}
8860
8861impl Ld3Emitter<Vec, Vec, Vec, Mem> for Assembler<'_> {
8862 fn ld3(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Mem) {
8863 self.emit_n(
8864 InstId::Ld3_v,
8865 &[
8866 op0.as_operand(),
8867 op1.as_operand(),
8868 op2.as_operand(),
8869 op3.as_operand(),
8870 ],
8871 );
8872 }
8873}
8874
8875impl Ld3rEmitter<Vec, Vec, Vec, Mem> for Assembler<'_> {
8876 fn ld3r(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Mem) {
8877 self.emit_n(
8878 InstId::Ld3r_v,
8879 &[
8880 op0.as_operand(),
8881 op1.as_operand(),
8882 op2.as_operand(),
8883 op3.as_operand(),
8884 ],
8885 );
8886 }
8887}
8888
8889impl Ld4Emitter<Vec, Vec, Vec, Vec, Mem> for Assembler<'_> {
8890 fn ld4(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Mem) {
8891 self.emit_n(
8892 InstId::Ld4_v,
8893 &[
8894 op0.as_operand(),
8895 op1.as_operand(),
8896 op2.as_operand(),
8897 op3.as_operand(),
8898 op4.as_operand(),
8899 ],
8900 );
8901 }
8902}
8903
8904impl Ld4rEmitter<Vec, Vec, Vec, Vec, Mem> for Assembler<'_> {
8905 fn ld4r(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Mem) {
8906 self.emit_n(
8907 InstId::Ld4r_v,
8908 &[
8909 op0.as_operand(),
8910 op1.as_operand(),
8911 op2.as_operand(),
8912 op3.as_operand(),
8913 op4.as_operand(),
8914 ],
8915 );
8916 }
8917}
8918
8919impl MlaEmitter<Vec, Vec, Vec> for Assembler<'_> {
8920 fn mla(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8921 self.emit_n(
8922 InstId::Mla_v,
8923 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8924 );
8925 }
8926}
8927
8928impl MlsEmitter<Vec, Vec, Vec> for Assembler<'_> {
8929 fn mls(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8930 self.emit_n(
8931 InstId::Mls_v,
8932 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8933 );
8934 }
8935}
8936
8937impl MoviEmitter<Vec, Imm> for Assembler<'_> {
8938 fn movi(&mut self, op0: Vec, op1: Imm) {
8939 self.emit_n(InstId::Movi_v, &[op0.as_operand(), op1.as_operand()]);
8940 }
8941}
8942
8943impl Movi3Emitter<Vec, Imm, Imm> for Assembler<'_> {
8944 fn movi_3(&mut self, op0: Vec, op1: Imm, op2: Imm) {
8945 self.emit_n(
8946 InstId::Movi_v,
8947 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8948 );
8949 }
8950}
8951
8952impl MvniEmitter<Vec, Imm> for Assembler<'_> {
8953 fn mvni(&mut self, op0: Vec, op1: Imm) {
8954 self.emit_n(InstId::Mvni_v, &[op0.as_operand(), op1.as_operand()]);
8955 }
8956}
8957
8958impl Mvni3Emitter<Vec, Imm, Imm> for Assembler<'_> {
8959 fn mvni_3(&mut self, op0: Vec, op1: Imm, op2: Imm) {
8960 self.emit_n(
8961 InstId::Mvni_v,
8962 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8963 );
8964 }
8965}
8966
8967impl NotEmitter<Vec, Vec> for Assembler<'_> {
8968 fn not_(&mut self, op0: Vec, op1: Vec) {
8969 self.emit_n(InstId::Not_v, &[op0.as_operand(), op1.as_operand()]);
8970 }
8971}
8972
8973impl Orr2Emitter<Vec, Imm> for Assembler<'_> {
8974 fn orr_2(&mut self, op0: Vec, op1: Imm) {
8975 self.emit_n(InstId::Orr_v, &[op0.as_operand(), op1.as_operand()]);
8976 }
8977}
8978
8979impl PmulEmitter<Vec, Vec, Vec> for Assembler<'_> {
8980 fn pmul(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8981 self.emit_n(
8982 InstId::Pmul_v,
8983 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8984 );
8985 }
8986}
8987
8988impl PmullEmitter<Vec, Vec, Vec> for Assembler<'_> {
8989 fn pmull(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8990 self.emit_n(
8991 InstId::Pmull_v,
8992 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
8993 );
8994 }
8995}
8996
8997impl Pmull2Emitter<Vec, Vec, Vec> for Assembler<'_> {
8998 fn pmull2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
8999 self.emit_n(
9000 InstId::Pmull2_v,
9001 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9002 );
9003 }
9004}
9005
9006impl RaddhnEmitter<Vec, Vec, Vec> for Assembler<'_> {
9007 fn raddhn(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9008 self.emit_n(
9009 InstId::Raddhn_v,
9010 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9011 );
9012 }
9013}
9014
9015impl Raddhn2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9016 fn raddhn2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9017 self.emit_n(
9018 InstId::Raddhn2_v,
9019 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9020 );
9021 }
9022}
9023
9024impl RshrnEmitter<Vec, Vec, Imm> for Assembler<'_> {
9025 fn rshrn(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9026 self.emit_n(
9027 InstId::Rshrn_v,
9028 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9029 );
9030 }
9031}
9032
9033impl Rshrn2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9034 fn rshrn2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9035 self.emit_n(
9036 InstId::Rshrn2_v,
9037 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9038 );
9039 }
9040}
9041
9042impl RsubhnEmitter<Vec, Vec, Vec> for Assembler<'_> {
9043 fn rsubhn(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9044 self.emit_n(
9045 InstId::Rsubhn_v,
9046 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9047 );
9048 }
9049}
9050
9051impl Rsubhn2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9052 fn rsubhn2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9053 self.emit_n(
9054 InstId::Rsubhn2_v,
9055 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9056 );
9057 }
9058}
9059
9060impl SabaEmitter<Vec, Vec, Vec> for Assembler<'_> {
9061 fn saba(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9062 self.emit_n(
9063 InstId::Saba_v,
9064 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9065 );
9066 }
9067}
9068
9069impl SabalEmitter<Vec, Vec, Vec> for Assembler<'_> {
9070 fn sabal(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9071 self.emit_n(
9072 InstId::Sabal_v,
9073 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9074 );
9075 }
9076}
9077
9078impl Sabal2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9079 fn sabal2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9080 self.emit_n(
9081 InstId::Sabal2_v,
9082 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9083 );
9084 }
9085}
9086
9087impl SabdEmitter<Vec, Vec, Vec> for Assembler<'_> {
9088 fn sabd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9089 self.emit_n(
9090 InstId::Sabd_v,
9091 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9092 );
9093 }
9094}
9095
9096impl SabdlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9097 fn sabdl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9098 self.emit_n(
9099 InstId::Sabdl_v,
9100 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9101 );
9102 }
9103}
9104
9105impl Sabdl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9106 fn sabdl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9107 self.emit_n(
9108 InstId::Sabdl2_v,
9109 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9110 );
9111 }
9112}
9113
9114impl SadalpEmitter<Vec, Vec> for Assembler<'_> {
9115 fn sadalp(&mut self, op0: Vec, op1: Vec) {
9116 self.emit_n(InstId::Sadalp_v, &[op0.as_operand(), op1.as_operand()]);
9117 }
9118}
9119
9120impl SaddlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9121 fn saddl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9122 self.emit_n(
9123 InstId::Saddl_v,
9124 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9125 );
9126 }
9127}
9128
9129impl Saddl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9130 fn saddl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9131 self.emit_n(
9132 InstId::Saddl2_v,
9133 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9134 );
9135 }
9136}
9137
9138impl SaddlpEmitter<Vec, Vec> for Assembler<'_> {
9139 fn saddlp(&mut self, op0: Vec, op1: Vec) {
9140 self.emit_n(InstId::Saddlp_v, &[op0.as_operand(), op1.as_operand()]);
9141 }
9142}
9143
9144impl SaddlvEmitter<Vec, Vec> for Assembler<'_> {
9145 fn saddlv(&mut self, op0: Vec, op1: Vec) {
9146 self.emit_n(InstId::Saddlv_v, &[op0.as_operand(), op1.as_operand()]);
9147 }
9148}
9149
9150impl SaddwEmitter<Vec, Vec, Vec> for Assembler<'_> {
9151 fn saddw(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9152 self.emit_n(
9153 InstId::Saddw_v,
9154 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9155 );
9156 }
9157}
9158
9159impl Saddw2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9160 fn saddw2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9161 self.emit_n(
9162 InstId::Saddw2_v,
9163 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9164 );
9165 }
9166}
9167
9168impl ScvtfEmitter<Vec, Gp> for Assembler<'_> {
9169 fn scvtf(&mut self, op0: Vec, op1: Gp) {
9170 self.emit_n(InstId::Scvtf_v, &[op0.as_operand(), op1.as_operand()]);
9171 }
9172}
9173
9174impl ScvtfEmitter<Vec, Vec> for Assembler<'_> {
9175 fn scvtf(&mut self, op0: Vec, op1: Vec) {
9176 self.emit_n(InstId::Scvtf_v, &[op0.as_operand(), op1.as_operand()]);
9177 }
9178}
9179
9180impl Scvtf3Emitter<Vec, Gp, Imm> for Assembler<'_> {
9181 fn scvtf_3(&mut self, op0: Vec, op1: Gp, op2: Imm) {
9182 self.emit_n(
9183 InstId::Scvtf_v,
9184 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9185 );
9186 }
9187}
9188
9189impl Scvtf3Emitter<Vec, Vec, Imm> for Assembler<'_> {
9190 fn scvtf_3(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9191 self.emit_n(
9192 InstId::Scvtf_v,
9193 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9194 );
9195 }
9196}
9197
9198impl ShaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
9199 fn shadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9200 self.emit_n(
9201 InstId::Shadd_v,
9202 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9203 );
9204 }
9205}
9206
9207impl ShlEmitter<Vec, Vec, Imm> for Assembler<'_> {
9208 fn shl(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9209 self.emit_n(
9210 InstId::Shl_v,
9211 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9212 );
9213 }
9214}
9215
9216impl ShllEmitter<Vec, Vec, Imm> for Assembler<'_> {
9217 fn shll(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9218 self.emit_n(
9219 InstId::Shll_v,
9220 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9221 );
9222 }
9223}
9224
9225impl Shll2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9226 fn shll2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9227 self.emit_n(
9228 InstId::Shll2_v,
9229 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9230 );
9231 }
9232}
9233
9234impl ShrnEmitter<Vec, Vec, Imm> for Assembler<'_> {
9235 fn shrn(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9236 self.emit_n(
9237 InstId::Shrn_v,
9238 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9239 );
9240 }
9241}
9242
9243impl Shrn2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9244 fn shrn2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9245 self.emit_n(
9246 InstId::Shrn2_v,
9247 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9248 );
9249 }
9250}
9251
9252impl ShsubEmitter<Vec, Vec, Vec> for Assembler<'_> {
9253 fn shsub(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9254 self.emit_n(
9255 InstId::Shsub_v,
9256 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9257 );
9258 }
9259}
9260
9261impl SliEmitter<Vec, Vec, Imm> for Assembler<'_> {
9262 fn sli(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9263 self.emit_n(
9264 InstId::Sli_v,
9265 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9266 );
9267 }
9268}
9269
9270impl SmaxpEmitter<Vec, Vec, Vec> for Assembler<'_> {
9271 fn smaxp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9272 self.emit_n(
9273 InstId::Smaxp_v,
9274 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9275 );
9276 }
9277}
9278
9279impl SmaxvEmitter<Vec, Vec> for Assembler<'_> {
9280 fn smaxv(&mut self, op0: Vec, op1: Vec) {
9281 self.emit_n(InstId::Smaxv_v, &[op0.as_operand(), op1.as_operand()]);
9282 }
9283}
9284
9285impl SminpEmitter<Vec, Vec, Vec> for Assembler<'_> {
9286 fn sminp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9287 self.emit_n(
9288 InstId::Sminp_v,
9289 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9290 );
9291 }
9292}
9293
9294impl SminvEmitter<Vec, Vec> for Assembler<'_> {
9295 fn sminv(&mut self, op0: Vec, op1: Vec) {
9296 self.emit_n(InstId::Sminv_v, &[op0.as_operand(), op1.as_operand()]);
9297 }
9298}
9299
9300impl SmlalEmitter<Vec, Vec, Vec> for Assembler<'_> {
9301 fn smlal(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9302 self.emit_n(
9303 InstId::Smlal_v,
9304 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9305 );
9306 }
9307}
9308
9309impl Smlal2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9310 fn smlal2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9311 self.emit_n(
9312 InstId::Smlal2_v,
9313 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9314 );
9315 }
9316}
9317
9318impl SmlslEmitter<Vec, Vec, Vec> for Assembler<'_> {
9319 fn smlsl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9320 self.emit_n(
9321 InstId::Smlsl_v,
9322 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9323 );
9324 }
9325}
9326
9327impl Smlsl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9328 fn smlsl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9329 self.emit_n(
9330 InstId::Smlsl2_v,
9331 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9332 );
9333 }
9334}
9335
9336impl SmovEmitter<Gp, Vec> for Assembler<'_> {
9337 fn smov(&mut self, op0: Gp, op1: Vec) {
9338 self.emit_n(InstId::Smov_v, &[op0.as_operand(), op1.as_operand()]);
9339 }
9340}
9341
9342impl Smull2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9343 fn smull2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9344 self.emit_n(
9345 InstId::Smull2_v,
9346 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9347 );
9348 }
9349}
9350
9351impl SqabsEmitter<Vec, Vec> for Assembler<'_> {
9352 fn sqabs(&mut self, op0: Vec, op1: Vec) {
9353 self.emit_n(InstId::Sqabs_v, &[op0.as_operand(), op1.as_operand()]);
9354 }
9355}
9356
9357impl SqaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
9358 fn sqadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9359 self.emit_n(
9360 InstId::Sqadd_v,
9361 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9362 );
9363 }
9364}
9365
9366impl SqdmlalEmitter<Vec, Vec, Vec> for Assembler<'_> {
9367 fn sqdmlal(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9368 self.emit_n(
9369 InstId::Sqdmlal_v,
9370 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9371 );
9372 }
9373}
9374
9375impl Sqdmlal2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9376 fn sqdmlal2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9377 self.emit_n(
9378 InstId::Sqdmlal2_v,
9379 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9380 );
9381 }
9382}
9383
9384impl SqdmlslEmitter<Vec, Vec, Vec> for Assembler<'_> {
9385 fn sqdmlsl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9386 self.emit_n(
9387 InstId::Sqdmlsl_v,
9388 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9389 );
9390 }
9391}
9392
9393impl Sqdmlsl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9394 fn sqdmlsl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9395 self.emit_n(
9396 InstId::Sqdmlsl2_v,
9397 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9398 );
9399 }
9400}
9401
9402impl SqdmulhEmitter<Vec, Vec, Vec> for Assembler<'_> {
9403 fn sqdmulh(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9404 self.emit_n(
9405 InstId::Sqdmulh_v,
9406 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9407 );
9408 }
9409}
9410
9411impl SqdmullEmitter<Vec, Vec, Vec> for Assembler<'_> {
9412 fn sqdmull(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9413 self.emit_n(
9414 InstId::Sqdmull_v,
9415 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9416 );
9417 }
9418}
9419
9420impl Sqdmull2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9421 fn sqdmull2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9422 self.emit_n(
9423 InstId::Sqdmull2_v,
9424 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9425 );
9426 }
9427}
9428
9429impl SqnegEmitter<Vec, Vec> for Assembler<'_> {
9430 fn sqneg(&mut self, op0: Vec, op1: Vec) {
9431 self.emit_n(InstId::Sqneg_v, &[op0.as_operand(), op1.as_operand()]);
9432 }
9433}
9434
9435impl SqrdmulhEmitter<Vec, Vec, Vec> for Assembler<'_> {
9436 fn sqrdmulh(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9437 self.emit_n(
9438 InstId::Sqrdmulh_v,
9439 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9440 );
9441 }
9442}
9443
9444impl SqrshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9445 fn sqrshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9446 self.emit_n(
9447 InstId::Sqrshl_v,
9448 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9449 );
9450 }
9451}
9452
9453impl SqrshrnEmitter<Vec, Vec, Imm> for Assembler<'_> {
9454 fn sqrshrn(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9455 self.emit_n(
9456 InstId::Sqrshrn_v,
9457 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9458 );
9459 }
9460}
9461
9462impl Sqrshrn2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9463 fn sqrshrn2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9464 self.emit_n(
9465 InstId::Sqrshrn2_v,
9466 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9467 );
9468 }
9469}
9470
9471impl SqrshrunEmitter<Vec, Vec, Imm> for Assembler<'_> {
9472 fn sqrshrun(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9473 self.emit_n(
9474 InstId::Sqrshrun_v,
9475 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9476 );
9477 }
9478}
9479
9480impl Sqrshrun2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9481 fn sqrshrun2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9482 self.emit_n(
9483 InstId::Sqrshrun2_v,
9484 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9485 );
9486 }
9487}
9488
9489impl SqshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9490 fn sqshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9491 self.emit_n(
9492 InstId::Sqshl_v,
9493 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9494 );
9495 }
9496}
9497
9498impl SqshlEmitter<Vec, Vec, Imm> for Assembler<'_> {
9499 fn sqshl(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9500 self.emit_n(
9501 InstId::Sqshl_v,
9502 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9503 );
9504 }
9505}
9506
9507impl SqshluEmitter<Vec, Vec, Imm> for Assembler<'_> {
9508 fn sqshlu(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9509 self.emit_n(
9510 InstId::Sqshlu_v,
9511 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9512 );
9513 }
9514}
9515
9516impl SqshrnEmitter<Vec, Vec, Imm> for Assembler<'_> {
9517 fn sqshrn(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9518 self.emit_n(
9519 InstId::Sqshrn_v,
9520 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9521 );
9522 }
9523}
9524
9525impl Sqshrn2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9526 fn sqshrn2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9527 self.emit_n(
9528 InstId::Sqshrn2_v,
9529 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9530 );
9531 }
9532}
9533
9534impl SqshrunEmitter<Vec, Vec, Imm> for Assembler<'_> {
9535 fn sqshrun(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9536 self.emit_n(
9537 InstId::Sqshrun_v,
9538 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9539 );
9540 }
9541}
9542
9543impl Sqshrun2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9544 fn sqshrun2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9545 self.emit_n(
9546 InstId::Sqshrun2_v,
9547 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9548 );
9549 }
9550}
9551
9552impl SqsubEmitter<Vec, Vec, Vec> for Assembler<'_> {
9553 fn sqsub(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9554 self.emit_n(
9555 InstId::Sqsub_v,
9556 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9557 );
9558 }
9559}
9560
9561impl SqxtnEmitter<Vec, Vec> for Assembler<'_> {
9562 fn sqxtn(&mut self, op0: Vec, op1: Vec) {
9563 self.emit_n(InstId::Sqxtn_v, &[op0.as_operand(), op1.as_operand()]);
9564 }
9565}
9566
9567impl Sqxtn2Emitter<Vec, Vec> for Assembler<'_> {
9568 fn sqxtn2(&mut self, op0: Vec, op1: Vec) {
9569 self.emit_n(InstId::Sqxtn2_v, &[op0.as_operand(), op1.as_operand()]);
9570 }
9571}
9572
9573impl SqxtunEmitter<Vec, Vec> for Assembler<'_> {
9574 fn sqxtun(&mut self, op0: Vec, op1: Vec) {
9575 self.emit_n(InstId::Sqxtun_v, &[op0.as_operand(), op1.as_operand()]);
9576 }
9577}
9578
9579impl Sqxtun2Emitter<Vec, Vec> for Assembler<'_> {
9580 fn sqxtun2(&mut self, op0: Vec, op1: Vec) {
9581 self.emit_n(InstId::Sqxtun2_v, &[op0.as_operand(), op1.as_operand()]);
9582 }
9583}
9584
9585impl SrhaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
9586 fn srhadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9587 self.emit_n(
9588 InstId::Srhadd_v,
9589 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9590 );
9591 }
9592}
9593
9594impl SriEmitter<Vec, Vec, Imm> for Assembler<'_> {
9595 fn sri(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9596 self.emit_n(
9597 InstId::Sri_v,
9598 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9599 );
9600 }
9601}
9602
9603impl SrshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9604 fn srshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9605 self.emit_n(
9606 InstId::Srshl_v,
9607 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9608 );
9609 }
9610}
9611
9612impl SrshrEmitter<Vec, Vec, Imm> for Assembler<'_> {
9613 fn srshr(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9614 self.emit_n(
9615 InstId::Srshr_v,
9616 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9617 );
9618 }
9619}
9620
9621impl SrsraEmitter<Vec, Vec, Imm> for Assembler<'_> {
9622 fn srsra(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9623 self.emit_n(
9624 InstId::Srsra_v,
9625 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9626 );
9627 }
9628}
9629
9630impl SshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9631 fn sshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9632 self.emit_n(
9633 InstId::Sshl_v,
9634 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9635 );
9636 }
9637}
9638
9639impl SshllEmitter<Vec, Vec, Imm> for Assembler<'_> {
9640 fn sshll(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9641 self.emit_n(
9642 InstId::Sshll_v,
9643 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9644 );
9645 }
9646}
9647
9648impl Sshll2Emitter<Vec, Vec, Imm> for Assembler<'_> {
9649 fn sshll2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9650 self.emit_n(
9651 InstId::Sshll2_v,
9652 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9653 );
9654 }
9655}
9656
9657impl SshrEmitter<Vec, Vec, Imm> for Assembler<'_> {
9658 fn sshr(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9659 self.emit_n(
9660 InstId::Sshr_v,
9661 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9662 );
9663 }
9664}
9665
9666impl SsraEmitter<Vec, Vec, Imm> for Assembler<'_> {
9667 fn ssra(&mut self, op0: Vec, op1: Vec, op2: Imm) {
9668 self.emit_n(
9669 InstId::Ssra_v,
9670 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9671 );
9672 }
9673}
9674
9675impl SsublEmitter<Vec, Vec, Vec> for Assembler<'_> {
9676 fn ssubl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9677 self.emit_n(
9678 InstId::Ssubl_v,
9679 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9680 );
9681 }
9682}
9683
9684impl Ssubl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9685 fn ssubl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9686 self.emit_n(
9687 InstId::Ssubl2_v,
9688 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9689 );
9690 }
9691}
9692
9693impl SsubwEmitter<Vec, Vec, Vec> for Assembler<'_> {
9694 fn ssubw(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9695 self.emit_n(
9696 InstId::Ssubw_v,
9697 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9698 );
9699 }
9700}
9701
9702impl Ssubw2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9703 fn ssubw2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9704 self.emit_n(
9705 InstId::Ssubw2_v,
9706 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9707 );
9708 }
9709}
9710
9711impl St1Emitter<Vec, Mem> for Assembler<'_> {
9712 fn st1(&mut self, op0: Vec, op1: Mem) {
9713 self.emit_n(InstId::St1_v, &[op0.as_operand(), op1.as_operand()]);
9714 }
9715}
9716
9717impl St13Emitter<Vec, Vec, Mem> for Assembler<'_> {
9718 fn st1_3(&mut self, op0: Vec, op1: Vec, op2: Mem) {
9719 self.emit_n(
9720 InstId::St1_v,
9721 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9722 );
9723 }
9724}
9725
9726impl St14Emitter<Vec, Vec, Vec, Mem> for Assembler<'_> {
9727 fn st1_4(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Mem) {
9728 self.emit_n(
9729 InstId::St1_v,
9730 &[
9731 op0.as_operand(),
9732 op1.as_operand(),
9733 op2.as_operand(),
9734 op3.as_operand(),
9735 ],
9736 );
9737 }
9738}
9739
9740impl St15Emitter<Vec, Vec, Vec, Vec, Mem> for Assembler<'_> {
9741 fn st1_5(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Mem) {
9742 self.emit_n(
9743 InstId::St1_v,
9744 &[
9745 op0.as_operand(),
9746 op1.as_operand(),
9747 op2.as_operand(),
9748 op3.as_operand(),
9749 op4.as_operand(),
9750 ],
9751 );
9752 }
9753}
9754
9755impl St2Emitter<Vec, Vec, Mem> for Assembler<'_> {
9756 fn st2(&mut self, op0: Vec, op1: Vec, op2: Mem) {
9757 self.emit_n(
9758 InstId::St2_v,
9759 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9760 );
9761 }
9762}
9763
9764impl St3Emitter<Vec, Vec, Vec, Mem> for Assembler<'_> {
9765 fn st3(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Mem) {
9766 self.emit_n(
9767 InstId::St3_v,
9768 &[
9769 op0.as_operand(),
9770 op1.as_operand(),
9771 op2.as_operand(),
9772 op3.as_operand(),
9773 ],
9774 );
9775 }
9776}
9777
9778impl St4Emitter<Vec, Vec, Vec, Vec, Mem> for Assembler<'_> {
9779 fn st4(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Mem) {
9780 self.emit_n(
9781 InstId::St4_v,
9782 &[
9783 op0.as_operand(),
9784 op1.as_operand(),
9785 op2.as_operand(),
9786 op3.as_operand(),
9787 op4.as_operand(),
9788 ],
9789 );
9790 }
9791}
9792
9793impl SubhnEmitter<Vec, Vec, Vec> for Assembler<'_> {
9794 fn subhn(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9795 self.emit_n(
9796 InstId::Subhn_v,
9797 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9798 );
9799 }
9800}
9801
9802impl Subhn2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9803 fn subhn2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9804 self.emit_n(
9805 InstId::Subhn2_v,
9806 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9807 );
9808 }
9809}
9810
9811impl SuqaddEmitter<Vec, Vec> for Assembler<'_> {
9812 fn suqadd(&mut self, op0: Vec, op1: Vec) {
9813 self.emit_n(InstId::Suqadd_v, &[op0.as_operand(), op1.as_operand()]);
9814 }
9815}
9816
9817impl SxtlEmitter<Vec, Vec> for Assembler<'_> {
9818 fn sxtl(&mut self, op0: Vec, op1: Vec) {
9819 self.emit_n(InstId::Sxtl_v, &[op0.as_operand(), op1.as_operand()]);
9820 }
9821}
9822
9823impl Sxtl2Emitter<Vec, Vec> for Assembler<'_> {
9824 fn sxtl2(&mut self, op0: Vec, op1: Vec) {
9825 self.emit_n(InstId::Sxtl2_v, &[op0.as_operand(), op1.as_operand()]);
9826 }
9827}
9828
9829impl TblEmitter<Vec, Vec, Vec> for Assembler<'_> {
9830 fn tbl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9831 self.emit_n(
9832 InstId::Tbl_v,
9833 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9834 );
9835 }
9836}
9837
9838impl Tbl4Emitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
9839 fn tbl_4(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
9840 self.emit_n(
9841 InstId::Tbl_v,
9842 &[
9843 op0.as_operand(),
9844 op1.as_operand(),
9845 op2.as_operand(),
9846 op3.as_operand(),
9847 ],
9848 );
9849 }
9850}
9851
9852impl Tbl5Emitter<Vec, Vec, Vec, Vec, Vec> for Assembler<'_> {
9853 fn tbl_5(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Vec) {
9854 self.emit_n(
9855 InstId::Tbl_v,
9856 &[
9857 op0.as_operand(),
9858 op1.as_operand(),
9859 op2.as_operand(),
9860 op3.as_operand(),
9861 op4.as_operand(),
9862 ],
9863 );
9864 }
9865}
9866
9867impl Tbl6Emitter<Vec, Vec, Vec, Vec, Vec, Vec> for Assembler<'_> {
9868 fn tbl_6(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Vec, op5: Vec) {
9869 self.emit_n(
9870 InstId::Tbl_v,
9871 &[
9872 op0.as_operand(),
9873 op1.as_operand(),
9874 op2.as_operand(),
9875 op3.as_operand(),
9876 op4.as_operand(),
9877 op5.as_operand(),
9878 ],
9879 );
9880 }
9881}
9882
9883impl TbxEmitter<Vec, Vec, Vec> for Assembler<'_> {
9884 fn tbx(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9885 self.emit_n(
9886 InstId::Tbx_v,
9887 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9888 );
9889 }
9890}
9891
9892impl Tbx4Emitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
9893 fn tbx_4(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
9894 self.emit_n(
9895 InstId::Tbx_v,
9896 &[
9897 op0.as_operand(),
9898 op1.as_operand(),
9899 op2.as_operand(),
9900 op3.as_operand(),
9901 ],
9902 );
9903 }
9904}
9905
9906impl Tbx5Emitter<Vec, Vec, Vec, Vec, Vec> for Assembler<'_> {
9907 fn tbx_5(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Vec) {
9908 self.emit_n(
9909 InstId::Tbx_v,
9910 &[
9911 op0.as_operand(),
9912 op1.as_operand(),
9913 op2.as_operand(),
9914 op3.as_operand(),
9915 op4.as_operand(),
9916 ],
9917 );
9918 }
9919}
9920
9921impl Tbx6Emitter<Vec, Vec, Vec, Vec, Vec, Vec> for Assembler<'_> {
9922 fn tbx_6(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec, op4: Vec, op5: Vec) {
9923 self.emit_n(
9924 InstId::Tbx_v,
9925 &[
9926 op0.as_operand(),
9927 op1.as_operand(),
9928 op2.as_operand(),
9929 op3.as_operand(),
9930 op4.as_operand(),
9931 op5.as_operand(),
9932 ],
9933 );
9934 }
9935}
9936
9937impl Trn1Emitter<Vec, Vec, Vec> for Assembler<'_> {
9938 fn trn1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9939 self.emit_n(
9940 InstId::Trn1_v,
9941 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9942 );
9943 }
9944}
9945
9946impl Trn2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9947 fn trn2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9948 self.emit_n(
9949 InstId::Trn2_v,
9950 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9951 );
9952 }
9953}
9954
9955impl UabaEmitter<Vec, Vec, Vec> for Assembler<'_> {
9956 fn uaba(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9957 self.emit_n(
9958 InstId::Uaba_v,
9959 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9960 );
9961 }
9962}
9963
9964impl UabalEmitter<Vec, Vec, Vec> for Assembler<'_> {
9965 fn uabal(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9966 self.emit_n(
9967 InstId::Uabal_v,
9968 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9969 );
9970 }
9971}
9972
9973impl Uabal2Emitter<Vec, Vec, Vec> for Assembler<'_> {
9974 fn uabal2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9975 self.emit_n(
9976 InstId::Uabal2_v,
9977 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9978 );
9979 }
9980}
9981
9982impl UabdEmitter<Vec, Vec, Vec> for Assembler<'_> {
9983 fn uabd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9984 self.emit_n(
9985 InstId::Uabd_v,
9986 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9987 );
9988 }
9989}
9990
9991impl UabdlEmitter<Vec, Vec, Vec> for Assembler<'_> {
9992 fn uabdl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
9993 self.emit_n(
9994 InstId::Uabdl_v,
9995 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
9996 );
9997 }
9998}
9999
10000impl Uabdl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10001 fn uabdl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10002 self.emit_n(
10003 InstId::Uabdl2_v,
10004 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10005 );
10006 }
10007}
10008
10009impl UadalpEmitter<Vec, Vec> for Assembler<'_> {
10010 fn uadalp(&mut self, op0: Vec, op1: Vec) {
10011 self.emit_n(InstId::Uadalp_v, &[op0.as_operand(), op1.as_operand()]);
10012 }
10013}
10014
10015impl UaddlEmitter<Vec, Vec, Vec> for Assembler<'_> {
10016 fn uaddl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10017 self.emit_n(
10018 InstId::Uaddl_v,
10019 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10020 );
10021 }
10022}
10023
10024impl Uaddl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10025 fn uaddl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10026 self.emit_n(
10027 InstId::Uaddl2_v,
10028 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10029 );
10030 }
10031}
10032
10033impl UaddlpEmitter<Vec, Vec> for Assembler<'_> {
10034 fn uaddlp(&mut self, op0: Vec, op1: Vec) {
10035 self.emit_n(InstId::Uaddlp_v, &[op0.as_operand(), op1.as_operand()]);
10036 }
10037}
10038
10039impl UaddlvEmitter<Vec, Vec> for Assembler<'_> {
10040 fn uaddlv(&mut self, op0: Vec, op1: Vec) {
10041 self.emit_n(InstId::Uaddlv_v, &[op0.as_operand(), op1.as_operand()]);
10042 }
10043}
10044
10045impl UaddwEmitter<Vec, Vec, Vec> for Assembler<'_> {
10046 fn uaddw(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10047 self.emit_n(
10048 InstId::Uaddw_v,
10049 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10050 );
10051 }
10052}
10053
10054impl Uaddw2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10055 fn uaddw2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10056 self.emit_n(
10057 InstId::Uaddw2_v,
10058 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10059 );
10060 }
10061}
10062
10063impl UcvtfEmitter<Vec, Gp> for Assembler<'_> {
10064 fn ucvtf(&mut self, op0: Vec, op1: Gp) {
10065 self.emit_n(InstId::Ucvtf_v, &[op0.as_operand(), op1.as_operand()]);
10066 }
10067}
10068
10069impl UcvtfEmitter<Vec, Vec> for Assembler<'_> {
10070 fn ucvtf(&mut self, op0: Vec, op1: Vec) {
10071 self.emit_n(InstId::Ucvtf_v, &[op0.as_operand(), op1.as_operand()]);
10072 }
10073}
10074
10075impl Ucvtf3Emitter<Vec, Gp, Imm> for Assembler<'_> {
10076 fn ucvtf_3(&mut self, op0: Vec, op1: Gp, op2: Imm) {
10077 self.emit_n(
10078 InstId::Ucvtf_v,
10079 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10080 );
10081 }
10082}
10083
10084impl Ucvtf3Emitter<Vec, Vec, Imm> for Assembler<'_> {
10085 fn ucvtf_3(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10086 self.emit_n(
10087 InstId::Ucvtf_v,
10088 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10089 );
10090 }
10091}
10092
10093impl UhaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
10094 fn uhadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10095 self.emit_n(
10096 InstId::Uhadd_v,
10097 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10098 );
10099 }
10100}
10101
10102impl UhsubEmitter<Vec, Vec, Vec> for Assembler<'_> {
10103 fn uhsub(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10104 self.emit_n(
10105 InstId::Uhsub_v,
10106 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10107 );
10108 }
10109}
10110
10111impl UmaxpEmitter<Vec, Vec, Vec> for Assembler<'_> {
10112 fn umaxp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10113 self.emit_n(
10114 InstId::Umaxp_v,
10115 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10116 );
10117 }
10118}
10119
10120impl UmaxvEmitter<Vec, Vec> for Assembler<'_> {
10121 fn umaxv(&mut self, op0: Vec, op1: Vec) {
10122 self.emit_n(InstId::Umaxv_v, &[op0.as_operand(), op1.as_operand()]);
10123 }
10124}
10125
10126impl UminpEmitter<Vec, Vec, Vec> for Assembler<'_> {
10127 fn uminp(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10128 self.emit_n(
10129 InstId::Uminp_v,
10130 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10131 );
10132 }
10133}
10134
10135impl UminvEmitter<Vec, Vec> for Assembler<'_> {
10136 fn uminv(&mut self, op0: Vec, op1: Vec) {
10137 self.emit_n(InstId::Uminv_v, &[op0.as_operand(), op1.as_operand()]);
10138 }
10139}
10140
10141impl UmlalEmitter<Vec, Vec, Vec> for Assembler<'_> {
10142 fn umlal(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10143 self.emit_n(
10144 InstId::Umlal_v,
10145 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10146 );
10147 }
10148}
10149
10150impl Umlal2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10151 fn umlal2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10152 self.emit_n(
10153 InstId::Umlal2_v,
10154 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10155 );
10156 }
10157}
10158
10159impl UmlslEmitter<Vec, Vec, Vec> for Assembler<'_> {
10160 fn umlsl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10161 self.emit_n(
10162 InstId::Umlsl_v,
10163 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10164 );
10165 }
10166}
10167
10168impl Umlsl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10169 fn umlsl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10170 self.emit_n(
10171 InstId::Umlsl2_v,
10172 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10173 );
10174 }
10175}
10176
10177impl UmovEmitter<Gp, Vec> for Assembler<'_> {
10178 fn umov(&mut self, op0: Gp, op1: Vec) {
10179 self.emit_n(InstId::Umov_v, &[op0.as_operand(), op1.as_operand()]);
10180 }
10181}
10182
10183impl Umull2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10184 fn umull2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10185 self.emit_n(
10186 InstId::Umull2_v,
10187 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10188 );
10189 }
10190}
10191
10192impl UqaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
10193 fn uqadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10194 self.emit_n(
10195 InstId::Uqadd_v,
10196 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10197 );
10198 }
10199}
10200
10201impl UqrshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
10202 fn uqrshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10203 self.emit_n(
10204 InstId::Uqrshl_v,
10205 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10206 );
10207 }
10208}
10209
10210impl UqrshlEmitter<Vec, Vec, Imm> for Assembler<'_> {
10211 fn uqrshl(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10212 self.emit_n(
10213 InstId::Uqrshl_v,
10214 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10215 );
10216 }
10217}
10218
10219impl UqrshrnEmitter<Vec, Vec, Imm> for Assembler<'_> {
10220 fn uqrshrn(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10221 self.emit_n(
10222 InstId::Uqrshrn_v,
10223 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10224 );
10225 }
10226}
10227
10228impl Uqrshrn2Emitter<Vec, Vec, Imm> for Assembler<'_> {
10229 fn uqrshrn2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10230 self.emit_n(
10231 InstId::Uqrshrn2_v,
10232 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10233 );
10234 }
10235}
10236
10237impl UqshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
10238 fn uqshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10239 self.emit_n(
10240 InstId::Uqshl_v,
10241 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10242 );
10243 }
10244}
10245
10246impl UqshlEmitter<Vec, Vec, Imm> for Assembler<'_> {
10247 fn uqshl(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10248 self.emit_n(
10249 InstId::Uqshl_v,
10250 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10251 );
10252 }
10253}
10254
10255impl UqshrnEmitter<Vec, Vec, Imm> for Assembler<'_> {
10256 fn uqshrn(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10257 self.emit_n(
10258 InstId::Uqshrn_v,
10259 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10260 );
10261 }
10262}
10263
10264impl Uqshrn2Emitter<Vec, Vec, Imm> for Assembler<'_> {
10265 fn uqshrn2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10266 self.emit_n(
10267 InstId::Uqshrn2_v,
10268 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10269 );
10270 }
10271}
10272
10273impl UqsubEmitter<Vec, Vec, Vec> for Assembler<'_> {
10274 fn uqsub(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10275 self.emit_n(
10276 InstId::Uqsub_v,
10277 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10278 );
10279 }
10280}
10281
10282impl UqxtnEmitter<Vec, Vec> for Assembler<'_> {
10283 fn uqxtn(&mut self, op0: Vec, op1: Vec) {
10284 self.emit_n(InstId::Uqxtn_v, &[op0.as_operand(), op1.as_operand()]);
10285 }
10286}
10287
10288impl Uqxtn2Emitter<Vec, Vec> for Assembler<'_> {
10289 fn uqxtn2(&mut self, op0: Vec, op1: Vec) {
10290 self.emit_n(InstId::Uqxtn2_v, &[op0.as_operand(), op1.as_operand()]);
10291 }
10292}
10293
10294impl UrecpeEmitter<Vec, Vec> for Assembler<'_> {
10295 fn urecpe(&mut self, op0: Vec, op1: Vec) {
10296 self.emit_n(InstId::Urecpe_v, &[op0.as_operand(), op1.as_operand()]);
10297 }
10298}
10299
10300impl UrhaddEmitter<Vec, Vec, Vec> for Assembler<'_> {
10301 fn urhadd(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10302 self.emit_n(
10303 InstId::Urhadd_v,
10304 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10305 );
10306 }
10307}
10308
10309impl UrshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
10310 fn urshl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10311 self.emit_n(
10312 InstId::Urshl_v,
10313 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10314 );
10315 }
10316}
10317
10318impl UrshrEmitter<Vec, Vec, Imm> for Assembler<'_> {
10319 fn urshr(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10320 self.emit_n(
10321 InstId::Urshr_v,
10322 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10323 );
10324 }
10325}
10326
10327impl UrsqrteEmitter<Vec, Vec> for Assembler<'_> {
10328 fn ursqrte(&mut self, op0: Vec, op1: Vec) {
10329 self.emit_n(InstId::Ursqrte_v, &[op0.as_operand(), op1.as_operand()]);
10330 }
10331}
10332
10333impl UrsraEmitter<Vec, Vec, Imm> for Assembler<'_> {
10334 fn ursra(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10335 self.emit_n(
10336 InstId::Ursra_v,
10337 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10338 );
10339 }
10340}
10341
10342impl UshlEmitter<Vec, Vec, Vec> for Assembler<'_> {
10343 fn ushl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10344 self.emit_n(
10345 InstId::Ushl_v,
10346 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10347 );
10348 }
10349}
10350
10351impl UshllEmitter<Vec, Vec, Imm> for Assembler<'_> {
10352 fn ushll(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10353 self.emit_n(
10354 InstId::Ushll_v,
10355 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10356 );
10357 }
10358}
10359
10360impl Ushll2Emitter<Vec, Vec, Imm> for Assembler<'_> {
10361 fn ushll2(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10362 self.emit_n(
10363 InstId::Ushll2_v,
10364 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10365 );
10366 }
10367}
10368
10369impl UshrEmitter<Vec, Vec, Imm> for Assembler<'_> {
10370 fn ushr(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10371 self.emit_n(
10372 InstId::Ushr_v,
10373 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10374 );
10375 }
10376}
10377
10378impl UsqaddEmitter<Vec, Vec> for Assembler<'_> {
10379 fn usqadd(&mut self, op0: Vec, op1: Vec) {
10380 self.emit_n(InstId::Usqadd_v, &[op0.as_operand(), op1.as_operand()]);
10381 }
10382}
10383
10384impl UsraEmitter<Vec, Vec, Imm> for Assembler<'_> {
10385 fn usra(&mut self, op0: Vec, op1: Vec, op2: Imm) {
10386 self.emit_n(
10387 InstId::Usra_v,
10388 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10389 );
10390 }
10391}
10392
10393impl UsublEmitter<Vec, Vec, Vec> for Assembler<'_> {
10394 fn usubl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10395 self.emit_n(
10396 InstId::Usubl_v,
10397 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10398 );
10399 }
10400}
10401
10402impl Usubl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10403 fn usubl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10404 self.emit_n(
10405 InstId::Usubl2_v,
10406 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10407 );
10408 }
10409}
10410
10411impl UsubwEmitter<Vec, Vec, Vec> for Assembler<'_> {
10412 fn usubw(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10413 self.emit_n(
10414 InstId::Usubw_v,
10415 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10416 );
10417 }
10418}
10419
10420impl Usubw2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10421 fn usubw2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10422 self.emit_n(
10423 InstId::Usubw2_v,
10424 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10425 );
10426 }
10427}
10428
10429impl UxtlEmitter<Vec, Vec> for Assembler<'_> {
10430 fn uxtl(&mut self, op0: Vec, op1: Vec) {
10431 self.emit_n(InstId::Uxtl_v, &[op0.as_operand(), op1.as_operand()]);
10432 }
10433}
10434
10435impl Uxtl2Emitter<Vec, Vec> for Assembler<'_> {
10436 fn uxtl2(&mut self, op0: Vec, op1: Vec) {
10437 self.emit_n(InstId::Uxtl2_v, &[op0.as_operand(), op1.as_operand()]);
10438 }
10439}
10440
10441impl Uzp1Emitter<Vec, Vec, Vec> for Assembler<'_> {
10442 fn uzp1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10443 self.emit_n(
10444 InstId::Uzp1_v,
10445 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10446 );
10447 }
10448}
10449
10450impl Uzp2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10451 fn uzp2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10452 self.emit_n(
10453 InstId::Uzp2_v,
10454 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10455 );
10456 }
10457}
10458
10459impl XtnEmitter<Vec, Vec> for Assembler<'_> {
10460 fn xtn(&mut self, op0: Vec, op1: Vec) {
10461 self.emit_n(InstId::Xtn_v, &[op0.as_operand(), op1.as_operand()]);
10462 }
10463}
10464
10465impl Xtn2Emitter<Vec, Vec> for Assembler<'_> {
10466 fn xtn2(&mut self, op0: Vec, op1: Vec) {
10467 self.emit_n(InstId::Xtn2_v, &[op0.as_operand(), op1.as_operand()]);
10468 }
10469}
10470
10471impl Zip1Emitter<Vec, Vec, Vec> for Assembler<'_> {
10472 fn zip1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10473 self.emit_n(
10474 InstId::Zip1_v,
10475 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10476 );
10477 }
10478}
10479
10480impl Zip2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10481 fn zip2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10482 self.emit_n(
10483 InstId::Zip2_v,
10484 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10485 );
10486 }
10487}
10488
10489impl AesdEmitter<Vec, Vec> for Assembler<'_> {
10490 fn aesd(&mut self, op0: Vec, op1: Vec) {
10491 self.emit_n(InstId::Aesd_v, &[op0.as_operand(), op1.as_operand()]);
10492 }
10493}
10494
10495impl AeseEmitter<Vec, Vec> for Assembler<'_> {
10496 fn aese(&mut self, op0: Vec, op1: Vec) {
10497 self.emit_n(InstId::Aese_v, &[op0.as_operand(), op1.as_operand()]);
10498 }
10499}
10500
10501impl AesimcEmitter<Vec, Vec> for Assembler<'_> {
10502 fn aesimc(&mut self, op0: Vec, op1: Vec) {
10503 self.emit_n(InstId::Aesimc_v, &[op0.as_operand(), op1.as_operand()]);
10504 }
10505}
10506
10507impl AesmcEmitter<Vec, Vec> for Assembler<'_> {
10508 fn aesmc(&mut self, op0: Vec, op1: Vec) {
10509 self.emit_n(InstId::Aesmc_v, &[op0.as_operand(), op1.as_operand()]);
10510 }
10511}
10512
10513impl Sha1cEmitter<Vec, Vec, Vec> for Assembler<'_> {
10514 fn sha1c(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10515 self.emit_n(
10516 InstId::Sha1c_v,
10517 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10518 );
10519 }
10520}
10521
10522impl Sha1hEmitter<Vec, Vec> for Assembler<'_> {
10523 fn sha1h(&mut self, op0: Vec, op1: Vec) {
10524 self.emit_n(InstId::Sha1h_v, &[op0.as_operand(), op1.as_operand()]);
10525 }
10526}
10527
10528impl Sha1mEmitter<Vec, Vec, Vec> for Assembler<'_> {
10529 fn sha1m(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10530 self.emit_n(
10531 InstId::Sha1m_v,
10532 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10533 );
10534 }
10535}
10536
10537impl Sha1pEmitter<Vec, Vec, Vec> for Assembler<'_> {
10538 fn sha1p(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10539 self.emit_n(
10540 InstId::Sha1p_v,
10541 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10542 );
10543 }
10544}
10545
10546impl Sha1su0Emitter<Vec, Vec, Vec> for Assembler<'_> {
10547 fn sha1su0(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10548 self.emit_n(
10549 InstId::Sha1su0_v,
10550 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10551 );
10552 }
10553}
10554
10555impl Sha1su1Emitter<Vec, Vec> for Assembler<'_> {
10556 fn sha1su1(&mut self, op0: Vec, op1: Vec) {
10557 self.emit_n(InstId::Sha1su1_v, &[op0.as_operand(), op1.as_operand()]);
10558 }
10559}
10560
10561impl Sha256hEmitter<Vec, Vec, Vec> for Assembler<'_> {
10562 fn sha256h(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10563 self.emit_n(
10564 InstId::Sha256h_v,
10565 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10566 );
10567 }
10568}
10569
10570impl Sha256h2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10571 fn sha256h2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10572 self.emit_n(
10573 InstId::Sha256h2_v,
10574 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10575 );
10576 }
10577}
10578
10579impl Sha256su0Emitter<Vec, Vec> for Assembler<'_> {
10580 fn sha256su0(&mut self, op0: Vec, op1: Vec) {
10581 self.emit_n(InstId::Sha256su0_v, &[op0.as_operand(), op1.as_operand()]);
10582 }
10583}
10584
10585impl Sha256su1Emitter<Vec, Vec, Vec> for Assembler<'_> {
10586 fn sha256su1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10587 self.emit_n(
10588 InstId::Sha256su1_v,
10589 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10590 );
10591 }
10592}
10593
10594impl SqrdmlahEmitter<Vec, Vec, Vec> for Assembler<'_> {
10595 fn sqrdmlah(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10596 self.emit_n(
10597 InstId::Sqrdmlah_v,
10598 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10599 );
10600 }
10601}
10602
10603impl SqrdmlshEmitter<Vec, Vec, Vec> for Assembler<'_> {
10604 fn sqrdmlsh(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10605 self.emit_n(
10606 InstId::Sqrdmlsh_v,
10607 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10608 );
10609 }
10610}
10611
10612impl FcaddEmitter<Vec, Vec, Vec, Imm> for Assembler<'_> {
10613 fn fcadd(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Imm) {
10614 self.emit_n(
10615 InstId::Fcadd_v,
10616 &[
10617 op0.as_operand(),
10618 op1.as_operand(),
10619 op2.as_operand(),
10620 op3.as_operand(),
10621 ],
10622 );
10623 }
10624}
10625
10626impl FcmlaEmitter<Vec, Vec, Vec, Imm> for Assembler<'_> {
10627 fn fcmla(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Imm) {
10628 self.emit_n(
10629 InstId::Fcmla_v,
10630 &[
10631 op0.as_operand(),
10632 op1.as_operand(),
10633 op2.as_operand(),
10634 op3.as_operand(),
10635 ],
10636 );
10637 }
10638}
10639
10640impl FjcvtzsEmitter<Gp, Vec> for Assembler<'_> {
10641 fn fjcvtzs(&mut self, op0: Gp, op1: Vec) {
10642 self.emit_n(InstId::Fjcvtzs_v, &[op0.as_operand(), op1.as_operand()]);
10643 }
10644}
10645
10646impl FmlalEmitter<Vec, Vec, Vec> for Assembler<'_> {
10647 fn fmlal(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10648 self.emit_n(
10649 InstId::Fmlal_v,
10650 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10651 );
10652 }
10653}
10654
10655impl Fmlal2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10656 fn fmlal2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10657 self.emit_n(
10658 InstId::Fmlal2_v,
10659 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10660 );
10661 }
10662}
10663
10664impl FmlslEmitter<Vec, Vec, Vec> for Assembler<'_> {
10665 fn fmlsl(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10666 self.emit_n(
10667 InstId::Fmlsl_v,
10668 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10669 );
10670 }
10671}
10672
10673impl Fmlsl2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10674 fn fmlsl2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10675 self.emit_n(
10676 InstId::Fmlsl2_v,
10677 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10678 );
10679 }
10680}
10681
10682impl BcaxEmitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
10683 fn bcax(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
10684 self.emit_n(
10685 InstId::Bcax_v,
10686 &[
10687 op0.as_operand(),
10688 op1.as_operand(),
10689 op2.as_operand(),
10690 op3.as_operand(),
10691 ],
10692 );
10693 }
10694}
10695
10696impl Eor3Emitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
10697 fn eor3(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
10698 self.emit_n(
10699 InstId::Eor3_v,
10700 &[
10701 op0.as_operand(),
10702 op1.as_operand(),
10703 op2.as_operand(),
10704 op3.as_operand(),
10705 ],
10706 );
10707 }
10708}
10709
10710impl Rax1Emitter<Vec, Vec, Vec> for Assembler<'_> {
10711 fn rax1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10712 self.emit_n(
10713 InstId::Rax1_v,
10714 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10715 );
10716 }
10717}
10718
10719impl XarEmitter<Vec, Vec, Vec, Imm> for Assembler<'_> {
10720 fn xar(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Imm) {
10721 self.emit_n(
10722 InstId::Xar_v,
10723 &[
10724 op0.as_operand(),
10725 op1.as_operand(),
10726 op2.as_operand(),
10727 op3.as_operand(),
10728 ],
10729 );
10730 }
10731}
10732
10733impl Sha512hEmitter<Vec, Vec, Vec> for Assembler<'_> {
10734 fn sha512h(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10735 self.emit_n(
10736 InstId::Sha512h_v,
10737 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10738 );
10739 }
10740}
10741
10742impl Sha512h2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10743 fn sha512h2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10744 self.emit_n(
10745 InstId::Sha512h2_v,
10746 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10747 );
10748 }
10749}
10750
10751impl Sha512su0Emitter<Vec, Vec> for Assembler<'_> {
10752 fn sha512su0(&mut self, op0: Vec, op1: Vec) {
10753 self.emit_n(InstId::Sha512su0_v, &[op0.as_operand(), op1.as_operand()]);
10754 }
10755}
10756
10757impl Sha512su1Emitter<Vec, Vec, Vec> for Assembler<'_> {
10758 fn sha512su1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10759 self.emit_n(
10760 InstId::Sha512su1_v,
10761 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10762 );
10763 }
10764}
10765
10766impl Sm3partw1Emitter<Vec, Vec, Vec> for Assembler<'_> {
10767 fn sm3partw1(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10768 self.emit_n(
10769 InstId::Sm3partw1_v,
10770 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10771 );
10772 }
10773}
10774
10775impl Sm3partw2Emitter<Vec, Vec, Vec> for Assembler<'_> {
10776 fn sm3partw2(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10777 self.emit_n(
10778 InstId::Sm3partw2_v,
10779 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10780 );
10781 }
10782}
10783
10784impl Sm3ss1Emitter<Vec, Vec, Vec, Vec> for Assembler<'_> {
10785 fn sm3ss1(&mut self, op0: Vec, op1: Vec, op2: Vec, op3: Vec) {
10786 self.emit_n(
10787 InstId::Sm3ss1_v,
10788 &[
10789 op0.as_operand(),
10790 op1.as_operand(),
10791 op2.as_operand(),
10792 op3.as_operand(),
10793 ],
10794 );
10795 }
10796}
10797
10798impl Sm3tt1aEmitter<Vec, Vec, Vec> for Assembler<'_> {
10799 fn sm3tt1a(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10800 self.emit_n(
10801 InstId::Sm3tt1a_v,
10802 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10803 );
10804 }
10805}
10806
10807impl Sm3tt1bEmitter<Vec, Vec, Vec> for Assembler<'_> {
10808 fn sm3tt1b(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10809 self.emit_n(
10810 InstId::Sm3tt1b_v,
10811 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10812 );
10813 }
10814}
10815
10816impl Sm3tt2aEmitter<Vec, Vec, Vec> for Assembler<'_> {
10817 fn sm3tt2a(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10818 self.emit_n(
10819 InstId::Sm3tt2a_v,
10820 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10821 );
10822 }
10823}
10824
10825impl Sm3tt2bEmitter<Vec, Vec, Vec> for Assembler<'_> {
10826 fn sm3tt2b(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10827 self.emit_n(
10828 InstId::Sm3tt2b_v,
10829 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10830 );
10831 }
10832}
10833
10834impl Sm4eEmitter<Vec, Vec> for Assembler<'_> {
10835 fn sm4e(&mut self, op0: Vec, op1: Vec) {
10836 self.emit_n(InstId::Sm4e_v, &[op0.as_operand(), op1.as_operand()]);
10837 }
10838}
10839
10840impl Sm4ekeyEmitter<Vec, Vec, Vec> for Assembler<'_> {
10841 fn sm4ekey(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10842 self.emit_n(
10843 InstId::Sm4ekey_v,
10844 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10845 );
10846 }
10847}
10848
10849impl SdotEmitter<Vec, Vec, Vec> for Assembler<'_> {
10850 fn sdot(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10851 self.emit_n(
10852 InstId::Sdot_v,
10853 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10854 );
10855 }
10856}
10857
10858impl UdotEmitter<Vec, Vec, Vec> for Assembler<'_> {
10859 fn udot(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10860 self.emit_n(
10861 InstId::Udot_v,
10862 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10863 );
10864 }
10865}
10866
10867impl BfcvtEmitter<Vec, Vec> for Assembler<'_> {
10868 fn bfcvt(&mut self, op0: Vec, op1: Vec) {
10869 self.emit_n(InstId::Bfcvt_v, &[op0.as_operand(), op1.as_operand()]);
10870 }
10871}
10872
10873impl BfcvtnEmitter<Vec, Vec> for Assembler<'_> {
10874 fn bfcvtn(&mut self, op0: Vec, op1: Vec) {
10875 self.emit_n(InstId::Bfcvtn_v, &[op0.as_operand(), op1.as_operand()]);
10876 }
10877}
10878
10879impl Bfcvtn2Emitter<Vec, Vec> for Assembler<'_> {
10880 fn bfcvtn2(&mut self, op0: Vec, op1: Vec) {
10881 self.emit_n(InstId::Bfcvtn2_v, &[op0.as_operand(), op1.as_operand()]);
10882 }
10883}
10884
10885impl BfmlalbEmitter<Vec, Vec, Vec> for Assembler<'_> {
10886 fn bfmlalb(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10887 self.emit_n(
10888 InstId::Bfmlalb_v,
10889 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10890 );
10891 }
10892}
10893
10894impl BfmlaltEmitter<Vec, Vec, Vec> for Assembler<'_> {
10895 fn bfmlalt(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10896 self.emit_n(
10897 InstId::Bfmlalt_v,
10898 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10899 );
10900 }
10901}
10902
10903impl BfmmlaEmitter<Vec, Vec, Vec> for Assembler<'_> {
10904 fn bfmmla(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10905 self.emit_n(
10906 InstId::Bfmmla_v,
10907 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10908 );
10909 }
10910}
10911
10912impl BfdotEmitter<Vec, Vec, Vec> for Assembler<'_> {
10913 fn bfdot(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10914 self.emit_n(
10915 InstId::Bfdot_v,
10916 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10917 );
10918 }
10919}
10920
10921impl SmmlaEmitter<Vec, Vec, Vec> for Assembler<'_> {
10922 fn smmla(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10923 self.emit_n(
10924 InstId::Smmla_v,
10925 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10926 );
10927 }
10928}
10929
10930impl SudotEmitter<Vec, Vec, Vec> for Assembler<'_> {
10931 fn sudot(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10932 self.emit_n(
10933 InstId::Sudot_v,
10934 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10935 );
10936 }
10937}
10938
10939impl UmmlaEmitter<Vec, Vec, Vec> for Assembler<'_> {
10940 fn ummla(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10941 self.emit_n(
10942 InstId::Ummla_v,
10943 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10944 );
10945 }
10946}
10947
10948impl UsdotEmitter<Vec, Vec, Vec> for Assembler<'_> {
10949 fn usdot(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10950 self.emit_n(
10951 InstId::Usdot_v,
10952 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10953 );
10954 }
10955}
10956
10957impl UsmmlaEmitter<Vec, Vec, Vec> for Assembler<'_> {
10958 fn usmmla(&mut self, op0: Vec, op1: Vec, op2: Vec) {
10959 self.emit_n(
10960 InstId::Usmmla_v,
10961 &[op0.as_operand(), op1.as_operand(), op2.as_operand()],
10962 );
10963 }
10964}
10965
10966impl Assembler<'_> {
10967 pub fn adc<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
10968 where
10969 Self: AdcEmitter<T0, T1, T2>,
10970 {
10971 <Self as AdcEmitter<T0, T1, T2>>::adc(self, op0, op1, op2);
10972 }
10973 pub fn adcs<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
10974 where
10975 Self: AdcsEmitter<T0, T1, T2>,
10976 {
10977 <Self as AdcsEmitter<T0, T1, T2>>::adcs(self, op0, op1, op2);
10978 }
10979 pub fn add<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
10980 where
10981 Self: AddEmitter<T0, T1, T2>,
10982 {
10983 <Self as AddEmitter<T0, T1, T2>>::add(self, op0, op1, op2);
10984 }
10985 pub fn add_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
10986 where
10987 Self: Add4Emitter<T0, T1, T2, T3>,
10988 {
10989 <Self as Add4Emitter<T0, T1, T2, T3>>::add_4(self, op0, op1, op2, op3);
10990 }
10991 pub fn adds<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
10992 where
10993 Self: AddsEmitter<T0, T1, T2>,
10994 {
10995 <Self as AddsEmitter<T0, T1, T2>>::adds(self, op0, op1, op2);
10996 }
10997 pub fn adds_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
10998 where
10999 Self: Adds4Emitter<T0, T1, T2, T3>,
11000 {
11001 <Self as Adds4Emitter<T0, T1, T2, T3>>::adds_4(self, op0, op1, op2, op3);
11002 }
11003 pub fn adr<T0, T1>(&mut self, op0: T0, op1: T1)
11004 where
11005 Self: AdrEmitter<T0, T1>,
11006 {
11007 <Self as AdrEmitter<T0, T1>>::adr(self, op0, op1);
11008 }
11009 pub fn adrp<T0, T1>(&mut self, op0: T0, op1: T1)
11010 where
11011 Self: AdrpEmitter<T0, T1>,
11012 {
11013 <Self as AdrpEmitter<T0, T1>>::adrp(self, op0, op1);
11014 }
11015 pub fn and_<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11016 where
11017 Self: AndEmitter<T0, T1, T2>,
11018 {
11019 <Self as AndEmitter<T0, T1, T2>>::and_(self, op0, op1, op2);
11020 }
11021 pub fn and__4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11022 where
11023 Self: And4Emitter<T0, T1, T2, T3>,
11024 {
11025 <Self as And4Emitter<T0, T1, T2, T3>>::and__4(self, op0, op1, op2, op3);
11026 }
11027 pub fn ands<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11028 where
11029 Self: AndsEmitter<T0, T1, T2>,
11030 {
11031 <Self as AndsEmitter<T0, T1, T2>>::ands(self, op0, op1, op2);
11032 }
11033 pub fn ands_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11034 where
11035 Self: Ands4Emitter<T0, T1, T2, T3>,
11036 {
11037 <Self as Ands4Emitter<T0, T1, T2, T3>>::ands_4(self, op0, op1, op2, op3);
11038 }
11039 pub fn asr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11040 where
11041 Self: AsrEmitter<T0, T1, T2>,
11042 {
11043 <Self as AsrEmitter<T0, T1, T2>>::asr(self, op0, op1, op2);
11044 }
11045 pub fn asrv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11046 where
11047 Self: AsrvEmitter<T0, T1, T2>,
11048 {
11049 <Self as AsrvEmitter<T0, T1, T2>>::asrv(self, op0, op1, op2);
11050 }
11051 pub fn at<T0, T1>(&mut self, op0: T0, op1: T1)
11052 where
11053 Self: AtEmitter<T0, T1>,
11054 {
11055 <Self as AtEmitter<T0, T1>>::at(self, op0, op1);
11056 }
11057 pub fn bfc<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11058 where
11059 Self: BfcEmitter<T0, T1, T2>,
11060 {
11061 <Self as BfcEmitter<T0, T1, T2>>::bfc(self, op0, op1, op2);
11062 }
11063 pub fn bfi<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11064 where
11065 Self: BfiEmitter<T0, T1, T2, T3>,
11066 {
11067 <Self as BfiEmitter<T0, T1, T2, T3>>::bfi(self, op0, op1, op2, op3);
11068 }
11069 pub fn bfm<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11070 where
11071 Self: BfmEmitter<T0, T1, T2, T3>,
11072 {
11073 <Self as BfmEmitter<T0, T1, T2, T3>>::bfm(self, op0, op1, op2, op3);
11074 }
11075 pub fn bfxil<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11076 where
11077 Self: BfxilEmitter<T0, T1, T2, T3>,
11078 {
11079 <Self as BfxilEmitter<T0, T1, T2, T3>>::bfxil(self, op0, op1, op2, op3);
11080 }
11081 pub fn bic<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11082 where
11083 Self: BicEmitter<T0, T1, T2>,
11084 {
11085 <Self as BicEmitter<T0, T1, T2>>::bic(self, op0, op1, op2);
11086 }
11087 pub fn bic_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11088 where
11089 Self: Bic4Emitter<T0, T1, T2, T3>,
11090 {
11091 <Self as Bic4Emitter<T0, T1, T2, T3>>::bic_4(self, op0, op1, op2, op3);
11092 }
11093 pub fn bics<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11094 where
11095 Self: BicsEmitter<T0, T1, T2>,
11096 {
11097 <Self as BicsEmitter<T0, T1, T2>>::bics(self, op0, op1, op2);
11098 }
11099 pub fn bics_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11100 where
11101 Self: Bics4Emitter<T0, T1, T2, T3>,
11102 {
11103 <Self as Bics4Emitter<T0, T1, T2, T3>>::bics_4(self, op0, op1, op2, op3);
11104 }
11105 pub fn brk<T0>(&mut self, op0: T0)
11106 where
11107 Self: BrkEmitter<T0>,
11108 {
11109 <Self as BrkEmitter<T0>>::brk(self, op0);
11110 }
11111 pub fn ccmn<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11112 where
11113 Self: CcmnEmitter<T0, T1, T2, T3>,
11114 {
11115 <Self as CcmnEmitter<T0, T1, T2, T3>>::ccmn(self, op0, op1, op2, op3);
11116 }
11117 pub fn ccmp<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11118 where
11119 Self: CcmpEmitter<T0, T1, T2, T3>,
11120 {
11121 <Self as CcmpEmitter<T0, T1, T2, T3>>::ccmp(self, op0, op1, op2, op3);
11122 }
11123 pub fn cinc<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11124 where
11125 Self: CincEmitter<T0, T1, T2>,
11126 {
11127 <Self as CincEmitter<T0, T1, T2>>::cinc(self, op0, op1, op2);
11128 }
11129 pub fn cinv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11130 where
11131 Self: CinvEmitter<T0, T1, T2>,
11132 {
11133 <Self as CinvEmitter<T0, T1, T2>>::cinv(self, op0, op1, op2);
11134 }
11135 pub fn clrex<T0>(&mut self, op0: T0)
11136 where
11137 Self: ClrexEmitter<T0>,
11138 {
11139 <Self as ClrexEmitter<T0>>::clrex(self, op0);
11140 }
11141 pub fn cls<T0, T1>(&mut self, op0: T0, op1: T1)
11142 where
11143 Self: ClsEmitter<T0, T1>,
11144 {
11145 <Self as ClsEmitter<T0, T1>>::cls(self, op0, op1);
11146 }
11147 pub fn clz<T0, T1>(&mut self, op0: T0, op1: T1)
11148 where
11149 Self: ClzEmitter<T0, T1>,
11150 {
11151 <Self as ClzEmitter<T0, T1>>::clz(self, op0, op1);
11152 }
11153 pub fn cmn<T0, T1>(&mut self, op0: T0, op1: T1)
11154 where
11155 Self: CmnEmitter<T0, T1>,
11156 {
11157 <Self as CmnEmitter<T0, T1>>::cmn(self, op0, op1);
11158 }
11159 pub fn cmn_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11160 where
11161 Self: Cmn3Emitter<T0, T1, T2>,
11162 {
11163 <Self as Cmn3Emitter<T0, T1, T2>>::cmn_3(self, op0, op1, op2);
11164 }
11165 pub fn cmp<T0, T1>(&mut self, op0: T0, op1: T1)
11166 where
11167 Self: CmpEmitter<T0, T1>,
11168 {
11169 <Self as CmpEmitter<T0, T1>>::cmp(self, op0, op1);
11170 }
11171 pub fn cmp_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11172 where
11173 Self: Cmp3Emitter<T0, T1, T2>,
11174 {
11175 <Self as Cmp3Emitter<T0, T1, T2>>::cmp_3(self, op0, op1, op2);
11176 }
11177 pub fn cneg<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11178 where
11179 Self: CnegEmitter<T0, T1, T2>,
11180 {
11181 <Self as CnegEmitter<T0, T1, T2>>::cneg(self, op0, op1, op2);
11182 }
11183 pub fn csel<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11184 where
11185 Self: CselEmitter<T0, T1, T2, T3>,
11186 {
11187 <Self as CselEmitter<T0, T1, T2, T3>>::csel(self, op0, op1, op2, op3);
11188 }
11189 pub fn cset<T0, T1>(&mut self, op0: T0, op1: T1)
11190 where
11191 Self: CsetEmitter<T0, T1>,
11192 {
11193 <Self as CsetEmitter<T0, T1>>::cset(self, op0, op1);
11194 }
11195 pub fn csetm<T0, T1>(&mut self, op0: T0, op1: T1)
11196 where
11197 Self: CsetmEmitter<T0, T1>,
11198 {
11199 <Self as CsetmEmitter<T0, T1>>::csetm(self, op0, op1);
11200 }
11201 pub fn csinc<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11202 where
11203 Self: CsincEmitter<T0, T1, T2, T3>,
11204 {
11205 <Self as CsincEmitter<T0, T1, T2, T3>>::csinc(self, op0, op1, op2, op3);
11206 }
11207 pub fn csinv<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11208 where
11209 Self: CsinvEmitter<T0, T1, T2, T3>,
11210 {
11211 <Self as CsinvEmitter<T0, T1, T2, T3>>::csinv(self, op0, op1, op2, op3);
11212 }
11213 pub fn csneg<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11214 where
11215 Self: CsnegEmitter<T0, T1, T2, T3>,
11216 {
11217 <Self as CsnegEmitter<T0, T1, T2, T3>>::csneg(self, op0, op1, op2, op3);
11218 }
11219 pub fn dc<T0, T1>(&mut self, op0: T0, op1: T1)
11220 where
11221 Self: DcEmitter<T0, T1>,
11222 {
11223 <Self as DcEmitter<T0, T1>>::dc(self, op0, op1);
11224 }
11225 pub fn dmb<T0>(&mut self, op0: T0)
11226 where
11227 Self: DmbEmitter<T0>,
11228 {
11229 <Self as DmbEmitter<T0>>::dmb(self, op0);
11230 }
11231 pub fn dsb<T0>(&mut self, op0: T0)
11232 where
11233 Self: DsbEmitter<T0>,
11234 {
11235 <Self as DsbEmitter<T0>>::dsb(self, op0);
11236 }
11237 pub fn drps(&mut self)
11238 where
11239 Self: DrpsEmitter,
11240 {
11241 <Self as DrpsEmitter>::drps(self);
11242 }
11243 pub fn eon<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11244 where
11245 Self: EonEmitter<T0, T1, T2>,
11246 {
11247 <Self as EonEmitter<T0, T1, T2>>::eon(self, op0, op1, op2);
11248 }
11249 pub fn eon_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11250 where
11251 Self: Eon4Emitter<T0, T1, T2, T3>,
11252 {
11253 <Self as Eon4Emitter<T0, T1, T2, T3>>::eon_4(self, op0, op1, op2, op3);
11254 }
11255 pub fn eor<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11256 where
11257 Self: EorEmitter<T0, T1, T2>,
11258 {
11259 <Self as EorEmitter<T0, T1, T2>>::eor(self, op0, op1, op2);
11260 }
11261 pub fn eor_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11262 where
11263 Self: Eor4Emitter<T0, T1, T2, T3>,
11264 {
11265 <Self as Eor4Emitter<T0, T1, T2, T3>>::eor_4(self, op0, op1, op2, op3);
11266 }
11267 pub fn eret(&mut self)
11268 where
11269 Self: EretEmitter,
11270 {
11271 <Self as EretEmitter>::eret(self);
11272 }
11273 pub fn esb(&mut self)
11274 where
11275 Self: EsbEmitter,
11276 {
11277 <Self as EsbEmitter>::esb(self);
11278 }
11279 pub fn extr<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11280 where
11281 Self: ExtrEmitter<T0, T1, T2, T3>,
11282 {
11283 <Self as ExtrEmitter<T0, T1, T2, T3>>::extr(self, op0, op1, op2, op3);
11284 }
11285 pub fn hlt<T0>(&mut self, op0: T0)
11286 where
11287 Self: HltEmitter<T0>,
11288 {
11289 <Self as HltEmitter<T0>>::hlt(self, op0);
11290 }
11291 pub fn hvc<T0>(&mut self, op0: T0)
11292 where
11293 Self: HvcEmitter<T0>,
11294 {
11295 <Self as HvcEmitter<T0>>::hvc(self, op0);
11296 }
11297 pub fn ic<T0, T1>(&mut self, op0: T0, op1: T1)
11298 where
11299 Self: IcEmitter<T0, T1>,
11300 {
11301 <Self as IcEmitter<T0, T1>>::ic(self, op0, op1);
11302 }
11303 pub fn isb<T0>(&mut self, op0: T0)
11304 where
11305 Self: IsbEmitter<T0>,
11306 {
11307 <Self as IsbEmitter<T0>>::isb(self, op0);
11308 }
11309 pub fn lsl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11310 where
11311 Self: LslEmitter<T0, T1, T2>,
11312 {
11313 <Self as LslEmitter<T0, T1, T2>>::lsl(self, op0, op1, op2);
11314 }
11315 pub fn lslv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11316 where
11317 Self: LslvEmitter<T0, T1, T2>,
11318 {
11319 <Self as LslvEmitter<T0, T1, T2>>::lslv(self, op0, op1, op2);
11320 }
11321 pub fn lsr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11322 where
11323 Self: LsrEmitter<T0, T1, T2>,
11324 {
11325 <Self as LsrEmitter<T0, T1, T2>>::lsr(self, op0, op1, op2);
11326 }
11327 pub fn lsrv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11328 where
11329 Self: LsrvEmitter<T0, T1, T2>,
11330 {
11331 <Self as LsrvEmitter<T0, T1, T2>>::lsrv(self, op0, op1, op2);
11332 }
11333 pub fn madd<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11334 where
11335 Self: MaddEmitter<T0, T1, T2, T3>,
11336 {
11337 <Self as MaddEmitter<T0, T1, T2, T3>>::madd(self, op0, op1, op2, op3);
11338 }
11339 pub fn mneg<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11340 where
11341 Self: MnegEmitter<T0, T1, T2>,
11342 {
11343 <Self as MnegEmitter<T0, T1, T2>>::mneg(self, op0, op1, op2);
11344 }
11345 pub fn mov<T0, T1>(&mut self, op0: T0, op1: T1)
11346 where
11347 Self: MovEmitter<T0, T1>,
11348 {
11349 <Self as MovEmitter<T0, T1>>::mov(self, op0, op1);
11350 }
11351 pub fn movk<T0, T1>(&mut self, op0: T0, op1: T1)
11352 where
11353 Self: MovkEmitter<T0, T1>,
11354 {
11355 <Self as MovkEmitter<T0, T1>>::movk(self, op0, op1);
11356 }
11357 pub fn movk_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11358 where
11359 Self: Movk3Emitter<T0, T1, T2>,
11360 {
11361 <Self as Movk3Emitter<T0, T1, T2>>::movk_3(self, op0, op1, op2);
11362 }
11363 pub fn movn<T0, T1>(&mut self, op0: T0, op1: T1)
11364 where
11365 Self: MovnEmitter<T0, T1>,
11366 {
11367 <Self as MovnEmitter<T0, T1>>::movn(self, op0, op1);
11368 }
11369 pub fn movn_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11370 where
11371 Self: Movn3Emitter<T0, T1, T2>,
11372 {
11373 <Self as Movn3Emitter<T0, T1, T2>>::movn_3(self, op0, op1, op2);
11374 }
11375 pub fn movz<T0, T1>(&mut self, op0: T0, op1: T1)
11376 where
11377 Self: MovzEmitter<T0, T1>,
11378 {
11379 <Self as MovzEmitter<T0, T1>>::movz(self, op0, op1);
11380 }
11381 pub fn movz_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11382 where
11383 Self: Movz3Emitter<T0, T1, T2>,
11384 {
11385 <Self as Movz3Emitter<T0, T1, T2>>::movz_3(self, op0, op1, op2);
11386 }
11387 pub fn mrs<T0, T1>(&mut self, op0: T0, op1: T1)
11388 where
11389 Self: MrsEmitter<T0, T1>,
11390 {
11391 <Self as MrsEmitter<T0, T1>>::mrs(self, op0, op1);
11392 }
11393 pub fn msr<T0, T1>(&mut self, op0: T0, op1: T1)
11394 where
11395 Self: MsrEmitter<T0, T1>,
11396 {
11397 <Self as MsrEmitter<T0, T1>>::msr(self, op0, op1);
11398 }
11399 pub fn msub<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11400 where
11401 Self: MsubEmitter<T0, T1, T2, T3>,
11402 {
11403 <Self as MsubEmitter<T0, T1, T2, T3>>::msub(self, op0, op1, op2, op3);
11404 }
11405 pub fn mul<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11406 where
11407 Self: MulEmitter<T0, T1, T2>,
11408 {
11409 <Self as MulEmitter<T0, T1, T2>>::mul(self, op0, op1, op2);
11410 }
11411 pub fn mvn<T0, T1>(&mut self, op0: T0, op1: T1)
11412 where
11413 Self: MvnEmitter<T0, T1>,
11414 {
11415 <Self as MvnEmitter<T0, T1>>::mvn(self, op0, op1);
11416 }
11417 pub fn mvn_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11418 where
11419 Self: Mvn3Emitter<T0, T1, T2>,
11420 {
11421 <Self as Mvn3Emitter<T0, T1, T2>>::mvn_3(self, op0, op1, op2);
11422 }
11423 pub fn mvn_<T0, T1>(&mut self, op0: T0, op1: T1)
11424 where
11425 Self: Mvn_Emitter<T0, T1>,
11426 {
11427 <Self as Mvn_Emitter<T0, T1>>::mvn_(self, op0, op1);
11428 }
11429 pub fn mvn__3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11430 where
11431 Self: Mvn_3Emitter<T0, T1, T2>,
11432 {
11433 <Self as Mvn_3Emitter<T0, T1, T2>>::mvn__3(self, op0, op1, op2);
11434 }
11435 pub fn neg<T0, T1>(&mut self, op0: T0, op1: T1)
11436 where
11437 Self: NegEmitter<T0, T1>,
11438 {
11439 <Self as NegEmitter<T0, T1>>::neg(self, op0, op1);
11440 }
11441 pub fn neg_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11442 where
11443 Self: Neg3Emitter<T0, T1, T2>,
11444 {
11445 <Self as Neg3Emitter<T0, T1, T2>>::neg_3(self, op0, op1, op2);
11446 }
11447 pub fn negs<T0, T1>(&mut self, op0: T0, op1: T1)
11448 where
11449 Self: NegsEmitter<T0, T1>,
11450 {
11451 <Self as NegsEmitter<T0, T1>>::negs(self, op0, op1);
11452 }
11453 pub fn negs_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11454 where
11455 Self: Negs3Emitter<T0, T1, T2>,
11456 {
11457 <Self as Negs3Emitter<T0, T1, T2>>::negs_3(self, op0, op1, op2);
11458 }
11459 pub fn ngc<T0, T1>(&mut self, op0: T0, op1: T1)
11460 where
11461 Self: NgcEmitter<T0, T1>,
11462 {
11463 <Self as NgcEmitter<T0, T1>>::ngc(self, op0, op1);
11464 }
11465 pub fn ngcs<T0, T1>(&mut self, op0: T0, op1: T1)
11466 where
11467 Self: NgcsEmitter<T0, T1>,
11468 {
11469 <Self as NgcsEmitter<T0, T1>>::ngcs(self, op0, op1);
11470 }
11471 pub fn orn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11472 where
11473 Self: OrnEmitter<T0, T1, T2>,
11474 {
11475 <Self as OrnEmitter<T0, T1, T2>>::orn(self, op0, op1, op2);
11476 }
11477 pub fn orn_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11478 where
11479 Self: Orn4Emitter<T0, T1, T2, T3>,
11480 {
11481 <Self as Orn4Emitter<T0, T1, T2, T3>>::orn_4(self, op0, op1, op2, op3);
11482 }
11483 pub fn orr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11484 where
11485 Self: OrrEmitter<T0, T1, T2>,
11486 {
11487 <Self as OrrEmitter<T0, T1, T2>>::orr(self, op0, op1, op2);
11488 }
11489 pub fn orr_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11490 where
11491 Self: Orr4Emitter<T0, T1, T2, T3>,
11492 {
11493 <Self as Orr4Emitter<T0, T1, T2, T3>>::orr_4(self, op0, op1, op2, op3);
11494 }
11495 pub fn rbit<T0, T1>(&mut self, op0: T0, op1: T1)
11496 where
11497 Self: RbitEmitter<T0, T1>,
11498 {
11499 <Self as RbitEmitter<T0, T1>>::rbit(self, op0, op1);
11500 }
11501 pub fn ret<T0>(&mut self, op0: T0)
11502 where
11503 Self: RetEmitter<T0>,
11504 {
11505 <Self as RetEmitter<T0>>::ret(self, op0);
11506 }
11507 pub fn rev<T0, T1>(&mut self, op0: T0, op1: T1)
11508 where
11509 Self: RevEmitter<T0, T1>,
11510 {
11511 <Self as RevEmitter<T0, T1>>::rev(self, op0, op1);
11512 }
11513 pub fn rev16<T0, T1>(&mut self, op0: T0, op1: T1)
11514 where
11515 Self: Rev16Emitter<T0, T1>,
11516 {
11517 <Self as Rev16Emitter<T0, T1>>::rev16(self, op0, op1);
11518 }
11519 pub fn rev32<T0, T1>(&mut self, op0: T0, op1: T1)
11520 where
11521 Self: Rev32Emitter<T0, T1>,
11522 {
11523 <Self as Rev32Emitter<T0, T1>>::rev32(self, op0, op1);
11524 }
11525 pub fn rev64<T0, T1>(&mut self, op0: T0, op1: T1)
11526 where
11527 Self: Rev64Emitter<T0, T1>,
11528 {
11529 <Self as Rev64Emitter<T0, T1>>::rev64(self, op0, op1);
11530 }
11531 pub fn ror<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11532 where
11533 Self: RorEmitter<T0, T1, T2>,
11534 {
11535 <Self as RorEmitter<T0, T1, T2>>::ror(self, op0, op1, op2);
11536 }
11537 pub fn rorv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11538 where
11539 Self: RorvEmitter<T0, T1, T2>,
11540 {
11541 <Self as RorvEmitter<T0, T1, T2>>::rorv(self, op0, op1, op2);
11542 }
11543 pub fn sbc<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11544 where
11545 Self: SbcEmitter<T0, T1, T2>,
11546 {
11547 <Self as SbcEmitter<T0, T1, T2>>::sbc(self, op0, op1, op2);
11548 }
11549 pub fn sbcs<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11550 where
11551 Self: SbcsEmitter<T0, T1, T2>,
11552 {
11553 <Self as SbcsEmitter<T0, T1, T2>>::sbcs(self, op0, op1, op2);
11554 }
11555 pub fn sbfiz<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11556 where
11557 Self: SbfizEmitter<T0, T1, T2, T3>,
11558 {
11559 <Self as SbfizEmitter<T0, T1, T2, T3>>::sbfiz(self, op0, op1, op2, op3);
11560 }
11561 pub fn sbfm<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11562 where
11563 Self: SbfmEmitter<T0, T1, T2, T3>,
11564 {
11565 <Self as SbfmEmitter<T0, T1, T2, T3>>::sbfm(self, op0, op1, op2, op3);
11566 }
11567 pub fn sbfx<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11568 where
11569 Self: SbfxEmitter<T0, T1, T2, T3>,
11570 {
11571 <Self as SbfxEmitter<T0, T1, T2, T3>>::sbfx(self, op0, op1, op2, op3);
11572 }
11573 pub fn sdiv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11574 where
11575 Self: SdivEmitter<T0, T1, T2>,
11576 {
11577 <Self as SdivEmitter<T0, T1, T2>>::sdiv(self, op0, op1, op2);
11578 }
11579 pub fn smaddl<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11580 where
11581 Self: SmaddlEmitter<T0, T1, T2, T3>,
11582 {
11583 <Self as SmaddlEmitter<T0, T1, T2, T3>>::smaddl(self, op0, op1, op2, op3);
11584 }
11585 pub fn smc<T0>(&mut self, op0: T0)
11586 where
11587 Self: SmcEmitter<T0>,
11588 {
11589 <Self as SmcEmitter<T0>>::smc(self, op0);
11590 }
11591 pub fn smnegl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11592 where
11593 Self: SmneglEmitter<T0, T1, T2>,
11594 {
11595 <Self as SmneglEmitter<T0, T1, T2>>::smnegl(self, op0, op1, op2);
11596 }
11597 pub fn smsubl<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11598 where
11599 Self: SmsublEmitter<T0, T1, T2, T3>,
11600 {
11601 <Self as SmsublEmitter<T0, T1, T2, T3>>::smsubl(self, op0, op1, op2, op3);
11602 }
11603 pub fn smulh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11604 where
11605 Self: SmulhEmitter<T0, T1, T2>,
11606 {
11607 <Self as SmulhEmitter<T0, T1, T2>>::smulh(self, op0, op1, op2);
11608 }
11609 pub fn smull<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11610 where
11611 Self: SmullEmitter<T0, T1, T2>,
11612 {
11613 <Self as SmullEmitter<T0, T1, T2>>::smull(self, op0, op1, op2);
11614 }
11615 pub fn sub<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11616 where
11617 Self: SubEmitter<T0, T1, T2>,
11618 {
11619 <Self as SubEmitter<T0, T1, T2>>::sub(self, op0, op1, op2);
11620 }
11621 pub fn sub_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11622 where
11623 Self: Sub4Emitter<T0, T1, T2, T3>,
11624 {
11625 <Self as Sub4Emitter<T0, T1, T2, T3>>::sub_4(self, op0, op1, op2, op3);
11626 }
11627 pub fn subs<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11628 where
11629 Self: SubsEmitter<T0, T1, T2>,
11630 {
11631 <Self as SubsEmitter<T0, T1, T2>>::subs(self, op0, op1, op2);
11632 }
11633 pub fn subs_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11634 where
11635 Self: Subs4Emitter<T0, T1, T2, T3>,
11636 {
11637 <Self as Subs4Emitter<T0, T1, T2, T3>>::subs_4(self, op0, op1, op2, op3);
11638 }
11639 pub fn svc<T0>(&mut self, op0: T0)
11640 where
11641 Self: SvcEmitter<T0>,
11642 {
11643 <Self as SvcEmitter<T0>>::svc(self, op0);
11644 }
11645 pub fn sxtb<T0, T1>(&mut self, op0: T0, op1: T1)
11646 where
11647 Self: SxtbEmitter<T0, T1>,
11648 {
11649 <Self as SxtbEmitter<T0, T1>>::sxtb(self, op0, op1);
11650 }
11651 pub fn sxth<T0, T1>(&mut self, op0: T0, op1: T1)
11652 where
11653 Self: SxthEmitter<T0, T1>,
11654 {
11655 <Self as SxthEmitter<T0, T1>>::sxth(self, op0, op1);
11656 }
11657 pub fn sxtw<T0, T1>(&mut self, op0: T0, op1: T1)
11658 where
11659 Self: SxtwEmitter<T0, T1>,
11660 {
11661 <Self as SxtwEmitter<T0, T1>>::sxtw(self, op0, op1);
11662 }
11663 pub fn sys<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11664 where
11665 Self: SysEmitter<T0, T1, T2, T3>,
11666 {
11667 <Self as SysEmitter<T0, T1, T2, T3>>::sys(self, op0, op1, op2, op3);
11668 }
11669 pub fn sys_5<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
11670 where
11671 Self: Sys5Emitter<T0, T1, T2, T3, T4>,
11672 {
11673 <Self as Sys5Emitter<T0, T1, T2, T3, T4>>::sys_5(self, op0, op1, op2, op3, op4);
11674 }
11675 pub fn tlbi<T0, T1>(&mut self, op0: T0, op1: T1)
11676 where
11677 Self: TlbiEmitter<T0, T1>,
11678 {
11679 <Self as TlbiEmitter<T0, T1>>::tlbi(self, op0, op1);
11680 }
11681 pub fn tst<T0, T1>(&mut self, op0: T0, op1: T1)
11682 where
11683 Self: TstEmitter<T0, T1>,
11684 {
11685 <Self as TstEmitter<T0, T1>>::tst(self, op0, op1);
11686 }
11687 pub fn tst_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11688 where
11689 Self: Tst3Emitter<T0, T1, T2>,
11690 {
11691 <Self as Tst3Emitter<T0, T1, T2>>::tst_3(self, op0, op1, op2);
11692 }
11693 pub fn udiv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11694 where
11695 Self: UdivEmitter<T0, T1, T2>,
11696 {
11697 <Self as UdivEmitter<T0, T1, T2>>::udiv(self, op0, op1, op2);
11698 }
11699 pub fn ubfiz<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11700 where
11701 Self: UbfizEmitter<T0, T1, T2, T3>,
11702 {
11703 <Self as UbfizEmitter<T0, T1, T2, T3>>::ubfiz(self, op0, op1, op2, op3);
11704 }
11705 pub fn ubfm<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11706 where
11707 Self: UbfmEmitter<T0, T1, T2, T3>,
11708 {
11709 <Self as UbfmEmitter<T0, T1, T2, T3>>::ubfm(self, op0, op1, op2, op3);
11710 }
11711 pub fn ubfx<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11712 where
11713 Self: UbfxEmitter<T0, T1, T2, T3>,
11714 {
11715 <Self as UbfxEmitter<T0, T1, T2, T3>>::ubfx(self, op0, op1, op2, op3);
11716 }
11717 pub fn umaddl<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11718 where
11719 Self: UmaddlEmitter<T0, T1, T2, T3>,
11720 {
11721 <Self as UmaddlEmitter<T0, T1, T2, T3>>::umaddl(self, op0, op1, op2, op3);
11722 }
11723 pub fn umnegl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11724 where
11725 Self: UmneglEmitter<T0, T1, T2>,
11726 {
11727 <Self as UmneglEmitter<T0, T1, T2>>::umnegl(self, op0, op1, op2);
11728 }
11729 pub fn umsubl<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
11730 where
11731 Self: UmsublEmitter<T0, T1, T2, T3>,
11732 {
11733 <Self as UmsublEmitter<T0, T1, T2, T3>>::umsubl(self, op0, op1, op2, op3);
11734 }
11735 pub fn umull<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11736 where
11737 Self: UmullEmitter<T0, T1, T2>,
11738 {
11739 <Self as UmullEmitter<T0, T1, T2>>::umull(self, op0, op1, op2);
11740 }
11741 pub fn umulh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11742 where
11743 Self: UmulhEmitter<T0, T1, T2>,
11744 {
11745 <Self as UmulhEmitter<T0, T1, T2>>::umulh(self, op0, op1, op2);
11746 }
11747 pub fn uxtb<T0, T1>(&mut self, op0: T0, op1: T1)
11748 where
11749 Self: UxtbEmitter<T0, T1>,
11750 {
11751 <Self as UxtbEmitter<T0, T1>>::uxtb(self, op0, op1);
11752 }
11753 pub fn uxth<T0, T1>(&mut self, op0: T0, op1: T1)
11754 where
11755 Self: UxthEmitter<T0, T1>,
11756 {
11757 <Self as UxthEmitter<T0, T1>>::uxth(self, op0, op1);
11758 }
11759 pub fn csdb(&mut self)
11760 where
11761 Self: CsdbEmitter,
11762 {
11763 <Self as CsdbEmitter>::csdb(self);
11764 }
11765 pub fn dcps1<T0>(&mut self, op0: T0)
11766 where
11767 Self: Dcps1Emitter<T0>,
11768 {
11769 <Self as Dcps1Emitter<T0>>::dcps1(self, op0);
11770 }
11771 pub fn dcps2<T0>(&mut self, op0: T0)
11772 where
11773 Self: Dcps2Emitter<T0>,
11774 {
11775 <Self as Dcps2Emitter<T0>>::dcps2(self, op0);
11776 }
11777 pub fn dcps3<T0>(&mut self, op0: T0)
11778 where
11779 Self: Dcps3Emitter<T0>,
11780 {
11781 <Self as Dcps3Emitter<T0>>::dcps3(self, op0);
11782 }
11783 pub fn pssbb(&mut self)
11784 where
11785 Self: PssbbEmitter,
11786 {
11787 <Self as PssbbEmitter>::pssbb(self);
11788 }
11789 pub fn ssbb(&mut self)
11790 where
11791 Self: SsbbEmitter,
11792 {
11793 <Self as SsbbEmitter>::ssbb(self);
11794 }
11795 pub fn udf<T0>(&mut self, op0: T0)
11796 where
11797 Self: UdfEmitter<T0>,
11798 {
11799 <Self as UdfEmitter<T0>>::udf(self, op0);
11800 }
11801
11802 pub fn b<T>(&mut self, op0: T)
11803 where
11804 Self: BEmitter<T>,
11805 {
11806 <Self as BEmitter<T>>::b(self, op0);
11807 }
11808
11809 pub fn b_eq<T0>(&mut self, op0: T0)
11810 where
11811 Self: BEmitter<T0>,
11812 {
11813 <Self as BEmitter<T0>>::b_eq(self, op0);
11814 }
11815 pub fn b_ne<T0>(&mut self, op0: T0)
11816 where
11817 Self: BEmitter<T0>,
11818 {
11819 <Self as BEmitter<T0>>::b_ne(self, op0);
11820 }
11821 pub fn b_cs<T0>(&mut self, op0: T0)
11822 where
11823 Self: BEmitter<T0>,
11824 {
11825 <Self as BEmitter<T0>>::b_cs(self, op0);
11826 }
11827 pub fn b_hs<T0>(&mut self, op0: T0)
11828 where
11829 Self: BEmitter<T0>,
11830 {
11831 <Self as BEmitter<T0>>::b_hs(self, op0);
11832 }
11833 pub fn b_cc<T0>(&mut self, op0: T0)
11834 where
11835 Self: BEmitter<T0>,
11836 {
11837 <Self as BEmitter<T0>>::b_cc(self, op0);
11838 }
11839 pub fn b_lo<T0>(&mut self, op0: T0)
11840 where
11841 Self: BEmitter<T0>,
11842 {
11843 <Self as BEmitter<T0>>::b_lo(self, op0);
11844 }
11845 pub fn b_mi<T0>(&mut self, op0: T0)
11846 where
11847 Self: BEmitter<T0>,
11848 {
11849 <Self as BEmitter<T0>>::b_mi(self, op0);
11850 }
11851 pub fn b_pl<T0>(&mut self, op0: T0)
11852 where
11853 Self: BEmitter<T0>,
11854 {
11855 <Self as BEmitter<T0>>::b_pl(self, op0);
11856 }
11857 pub fn b_vs<T0>(&mut self, op0: T0)
11858 where
11859 Self: BEmitter<T0>,
11860 {
11861 <Self as BEmitter<T0>>::b_vs(self, op0);
11862 }
11863 pub fn b_vc<T0>(&mut self, op0: T0)
11864 where
11865 Self: BEmitter<T0>,
11866 {
11867 <Self as BEmitter<T0>>::b_vc(self, op0);
11868 }
11869 pub fn b_hi<T0>(&mut self, op0: T0)
11870 where
11871 Self: BEmitter<T0>,
11872 {
11873 <Self as BEmitter<T0>>::b_hi(self, op0);
11874 }
11875 pub fn b_ls<T0>(&mut self, op0: T0)
11876 where
11877 Self: BEmitter<T0>,
11878 {
11879 <Self as BEmitter<T0>>::b_ls(self, op0);
11880 }
11881 pub fn b_ge<T0>(&mut self, op0: T0)
11882 where
11883 Self: BEmitter<T0>,
11884 {
11885 <Self as BEmitter<T0>>::b_ge(self, op0);
11886 }
11887 pub fn b_lt<T0>(&mut self, op0: T0)
11888 where
11889 Self: BEmitter<T0>,
11890 {
11891 <Self as BEmitter<T0>>::b_lt(self, op0);
11892 }
11893 pub fn b_gt<T0>(&mut self, op0: T0)
11894 where
11895 Self: BEmitter<T0>,
11896 {
11897 <Self as BEmitter<T0>>::b_gt(self, op0);
11898 }
11899 pub fn b_le<T0>(&mut self, op0: T0)
11900 where
11901 Self: BEmitter<T0>,
11902 {
11903 <Self as BEmitter<T0>>::b_le(self, op0);
11904 }
11905 pub fn b_al<T0>(&mut self, op0: T0)
11906 where
11907 Self: BEmitter<T0>,
11908 {
11909 <Self as BEmitter<T0>>::b_al(self, op0);
11910 }
11911 pub fn bl<T0>(&mut self, op0: T0)
11912 where
11913 Self: BlEmitter<T0>,
11914 {
11915 <Self as BlEmitter<T0>>::bl(self, op0);
11916 }
11917 pub fn blr<T0>(&mut self, op0: T0)
11918 where
11919 Self: BlrEmitter<T0>,
11920 {
11921 <Self as BlrEmitter<T0>>::blr(self, op0);
11922 }
11923 pub fn br<T0>(&mut self, op0: T0)
11924 where
11925 Self: BrEmitter<T0>,
11926 {
11927 <Self as BrEmitter<T0>>::br(self, op0);
11928 }
11929 pub fn cbz<T0, T1>(&mut self, op0: T0, op1: T1)
11930 where
11931 Self: CbzEmitter<T0, T1>,
11932 {
11933 <Self as CbzEmitter<T0, T1>>::cbz(self, op0, op1);
11934 }
11935 pub fn cbnz<T0, T1>(&mut self, op0: T0, op1: T1)
11936 where
11937 Self: CbnzEmitter<T0, T1>,
11938 {
11939 <Self as CbnzEmitter<T0, T1>>::cbnz(self, op0, op1);
11940 }
11941 pub fn tbnz<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11942 where
11943 Self: TbnzEmitter<T0, T1, T2>,
11944 {
11945 <Self as TbnzEmitter<T0, T1, T2>>::tbnz(self, op0, op1, op2);
11946 }
11947 pub fn tbz<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11948 where
11949 Self: TbzEmitter<T0, T1, T2>,
11950 {
11951 <Self as TbzEmitter<T0, T1, T2>>::tbz(self, op0, op1, op2);
11952 }
11953 pub fn cas<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11954 where
11955 Self: CasEmitter<T0, T1, T2>,
11956 {
11957 <Self as CasEmitter<T0, T1, T2>>::cas(self, op0, op1, op2);
11958 }
11959 pub fn casa<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11960 where
11961 Self: CasaEmitter<T0, T1, T2>,
11962 {
11963 <Self as CasaEmitter<T0, T1, T2>>::casa(self, op0, op1, op2);
11964 }
11965 pub fn casab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11966 where
11967 Self: CasabEmitter<T0, T1, T2>,
11968 {
11969 <Self as CasabEmitter<T0, T1, T2>>::casab(self, op0, op1, op2);
11970 }
11971 pub fn casah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11972 where
11973 Self: CasahEmitter<T0, T1, T2>,
11974 {
11975 <Self as CasahEmitter<T0, T1, T2>>::casah(self, op0, op1, op2);
11976 }
11977 pub fn casal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11978 where
11979 Self: CasalEmitter<T0, T1, T2>,
11980 {
11981 <Self as CasalEmitter<T0, T1, T2>>::casal(self, op0, op1, op2);
11982 }
11983 pub fn casalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11984 where
11985 Self: CasalbEmitter<T0, T1, T2>,
11986 {
11987 <Self as CasalbEmitter<T0, T1, T2>>::casalb(self, op0, op1, op2);
11988 }
11989 pub fn casalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11990 where
11991 Self: CasalhEmitter<T0, T1, T2>,
11992 {
11993 <Self as CasalhEmitter<T0, T1, T2>>::casalh(self, op0, op1, op2);
11994 }
11995 pub fn casb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
11996 where
11997 Self: CasbEmitter<T0, T1, T2>,
11998 {
11999 <Self as CasbEmitter<T0, T1, T2>>::casb(self, op0, op1, op2);
12000 }
12001 pub fn cash<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12002 where
12003 Self: CashEmitter<T0, T1, T2>,
12004 {
12005 <Self as CashEmitter<T0, T1, T2>>::cash(self, op0, op1, op2);
12006 }
12007 pub fn casl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12008 where
12009 Self: CaslEmitter<T0, T1, T2>,
12010 {
12011 <Self as CaslEmitter<T0, T1, T2>>::casl(self, op0, op1, op2);
12012 }
12013 pub fn caslb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12014 where
12015 Self: CaslbEmitter<T0, T1, T2>,
12016 {
12017 <Self as CaslbEmitter<T0, T1, T2>>::caslb(self, op0, op1, op2);
12018 }
12019 pub fn caslh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12020 where
12021 Self: CaslhEmitter<T0, T1, T2>,
12022 {
12023 <Self as CaslhEmitter<T0, T1, T2>>::caslh(self, op0, op1, op2);
12024 }
12025 pub fn casp<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
12026 where
12027 Self: CaspEmitter<T0, T1, T2, T3, T4>,
12028 {
12029 <Self as CaspEmitter<T0, T1, T2, T3, T4>>::casp(self, op0, op1, op2, op3, op4);
12030 }
12031 pub fn caspa<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
12032 where
12033 Self: CaspaEmitter<T0, T1, T2, T3, T4>,
12034 {
12035 <Self as CaspaEmitter<T0, T1, T2, T3, T4>>::caspa(self, op0, op1, op2, op3, op4);
12036 }
12037 pub fn caspal<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
12038 where
12039 Self: CaspalEmitter<T0, T1, T2, T3, T4>,
12040 {
12041 <Self as CaspalEmitter<T0, T1, T2, T3, T4>>::caspal(self, op0, op1, op2, op3, op4);
12042 }
12043 pub fn caspl<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
12044 where
12045 Self: CasplEmitter<T0, T1, T2, T3, T4>,
12046 {
12047 <Self as CasplEmitter<T0, T1, T2, T3, T4>>::caspl(self, op0, op1, op2, op3, op4);
12048 }
12049 pub fn ldadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12050 where
12051 Self: LdaddEmitter<T0, T1, T2>,
12052 {
12053 <Self as LdaddEmitter<T0, T1, T2>>::ldadd(self, op0, op1, op2);
12054 }
12055 pub fn ldadda<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12056 where
12057 Self: LdaddaEmitter<T0, T1, T2>,
12058 {
12059 <Self as LdaddaEmitter<T0, T1, T2>>::ldadda(self, op0, op1, op2);
12060 }
12061 pub fn ldaddab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12062 where
12063 Self: LdaddabEmitter<T0, T1, T2>,
12064 {
12065 <Self as LdaddabEmitter<T0, T1, T2>>::ldaddab(self, op0, op1, op2);
12066 }
12067 pub fn ldaddah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12068 where
12069 Self: LdaddahEmitter<T0, T1, T2>,
12070 {
12071 <Self as LdaddahEmitter<T0, T1, T2>>::ldaddah(self, op0, op1, op2);
12072 }
12073 pub fn ldaddal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12074 where
12075 Self: LdaddalEmitter<T0, T1, T2>,
12076 {
12077 <Self as LdaddalEmitter<T0, T1, T2>>::ldaddal(self, op0, op1, op2);
12078 }
12079 pub fn ldaddalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12080 where
12081 Self: LdaddalbEmitter<T0, T1, T2>,
12082 {
12083 <Self as LdaddalbEmitter<T0, T1, T2>>::ldaddalb(self, op0, op1, op2);
12084 }
12085 pub fn ldaddalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12086 where
12087 Self: LdaddalhEmitter<T0, T1, T2>,
12088 {
12089 <Self as LdaddalhEmitter<T0, T1, T2>>::ldaddalh(self, op0, op1, op2);
12090 }
12091 pub fn ldaddb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12092 where
12093 Self: LdaddbEmitter<T0, T1, T2>,
12094 {
12095 <Self as LdaddbEmitter<T0, T1, T2>>::ldaddb(self, op0, op1, op2);
12096 }
12097 pub fn ldaddh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12098 where
12099 Self: LdaddhEmitter<T0, T1, T2>,
12100 {
12101 <Self as LdaddhEmitter<T0, T1, T2>>::ldaddh(self, op0, op1, op2);
12102 }
12103 pub fn ldaddl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12104 where
12105 Self: LdaddlEmitter<T0, T1, T2>,
12106 {
12107 <Self as LdaddlEmitter<T0, T1, T2>>::ldaddl(self, op0, op1, op2);
12108 }
12109 pub fn ldaddlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12110 where
12111 Self: LdaddlbEmitter<T0, T1, T2>,
12112 {
12113 <Self as LdaddlbEmitter<T0, T1, T2>>::ldaddlb(self, op0, op1, op2);
12114 }
12115 pub fn ldaddlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12116 where
12117 Self: LdaddlhEmitter<T0, T1, T2>,
12118 {
12119 <Self as LdaddlhEmitter<T0, T1, T2>>::ldaddlh(self, op0, op1, op2);
12120 }
12121 pub fn ldar<T0, T1>(&mut self, op0: T0, op1: T1)
12122 where
12123 Self: LdarEmitter<T0, T1>,
12124 {
12125 <Self as LdarEmitter<T0, T1>>::ldar(self, op0, op1);
12126 }
12127 pub fn ldarb<T0, T1>(&mut self, op0: T0, op1: T1)
12128 where
12129 Self: LdarbEmitter<T0, T1>,
12130 {
12131 <Self as LdarbEmitter<T0, T1>>::ldarb(self, op0, op1);
12132 }
12133 pub fn ldarh<T0, T1>(&mut self, op0: T0, op1: T1)
12134 where
12135 Self: LdarhEmitter<T0, T1>,
12136 {
12137 <Self as LdarhEmitter<T0, T1>>::ldarh(self, op0, op1);
12138 }
12139 pub fn ldaxr<T0, T1>(&mut self, op0: T0, op1: T1)
12140 where
12141 Self: LdaxrEmitter<T0, T1>,
12142 {
12143 <Self as LdaxrEmitter<T0, T1>>::ldaxr(self, op0, op1);
12144 }
12145 pub fn ldaxrb<T0, T1>(&mut self, op0: T0, op1: T1)
12146 where
12147 Self: LdaxrbEmitter<T0, T1>,
12148 {
12149 <Self as LdaxrbEmitter<T0, T1>>::ldaxrb(self, op0, op1);
12150 }
12151 pub fn ldaxrh<T0, T1>(&mut self, op0: T0, op1: T1)
12152 where
12153 Self: LdaxrhEmitter<T0, T1>,
12154 {
12155 <Self as LdaxrhEmitter<T0, T1>>::ldaxrh(self, op0, op1);
12156 }
12157 pub fn ldclr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12158 where
12159 Self: LdclrEmitter<T0, T1, T2>,
12160 {
12161 <Self as LdclrEmitter<T0, T1, T2>>::ldclr(self, op0, op1, op2);
12162 }
12163 pub fn ldclra<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12164 where
12165 Self: LdclraEmitter<T0, T1, T2>,
12166 {
12167 <Self as LdclraEmitter<T0, T1, T2>>::ldclra(self, op0, op1, op2);
12168 }
12169 pub fn ldclrab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12170 where
12171 Self: LdclrabEmitter<T0, T1, T2>,
12172 {
12173 <Self as LdclrabEmitter<T0, T1, T2>>::ldclrab(self, op0, op1, op2);
12174 }
12175 pub fn ldclrah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12176 where
12177 Self: LdclrahEmitter<T0, T1, T2>,
12178 {
12179 <Self as LdclrahEmitter<T0, T1, T2>>::ldclrah(self, op0, op1, op2);
12180 }
12181 pub fn ldclral<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12182 where
12183 Self: LdclralEmitter<T0, T1, T2>,
12184 {
12185 <Self as LdclralEmitter<T0, T1, T2>>::ldclral(self, op0, op1, op2);
12186 }
12187 pub fn ldclralb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12188 where
12189 Self: LdclralbEmitter<T0, T1, T2>,
12190 {
12191 <Self as LdclralbEmitter<T0, T1, T2>>::ldclralb(self, op0, op1, op2);
12192 }
12193 pub fn ldclralh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12194 where
12195 Self: LdclralhEmitter<T0, T1, T2>,
12196 {
12197 <Self as LdclralhEmitter<T0, T1, T2>>::ldclralh(self, op0, op1, op2);
12198 }
12199 pub fn ldclrb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12200 where
12201 Self: LdclrbEmitter<T0, T1, T2>,
12202 {
12203 <Self as LdclrbEmitter<T0, T1, T2>>::ldclrb(self, op0, op1, op2);
12204 }
12205 pub fn ldclrh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12206 where
12207 Self: LdclrhEmitter<T0, T1, T2>,
12208 {
12209 <Self as LdclrhEmitter<T0, T1, T2>>::ldclrh(self, op0, op1, op2);
12210 }
12211 pub fn ldclrl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12212 where
12213 Self: LdclrlEmitter<T0, T1, T2>,
12214 {
12215 <Self as LdclrlEmitter<T0, T1, T2>>::ldclrl(self, op0, op1, op2);
12216 }
12217 pub fn ldclrlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12218 where
12219 Self: LdclrlbEmitter<T0, T1, T2>,
12220 {
12221 <Self as LdclrlbEmitter<T0, T1, T2>>::ldclrlb(self, op0, op1, op2);
12222 }
12223 pub fn ldclrlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12224 where
12225 Self: LdclrlhEmitter<T0, T1, T2>,
12226 {
12227 <Self as LdclrlhEmitter<T0, T1, T2>>::ldclrlh(self, op0, op1, op2);
12228 }
12229 pub fn ldeor<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12230 where
12231 Self: LdeorEmitter<T0, T1, T2>,
12232 {
12233 <Self as LdeorEmitter<T0, T1, T2>>::ldeor(self, op0, op1, op2);
12234 }
12235 pub fn ldeora<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12236 where
12237 Self: LdeoraEmitter<T0, T1, T2>,
12238 {
12239 <Self as LdeoraEmitter<T0, T1, T2>>::ldeora(self, op0, op1, op2);
12240 }
12241 pub fn ldeorab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12242 where
12243 Self: LdeorabEmitter<T0, T1, T2>,
12244 {
12245 <Self as LdeorabEmitter<T0, T1, T2>>::ldeorab(self, op0, op1, op2);
12246 }
12247 pub fn ldeorah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12248 where
12249 Self: LdeorahEmitter<T0, T1, T2>,
12250 {
12251 <Self as LdeorahEmitter<T0, T1, T2>>::ldeorah(self, op0, op1, op2);
12252 }
12253 pub fn ldeoral<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12254 where
12255 Self: LdeoralEmitter<T0, T1, T2>,
12256 {
12257 <Self as LdeoralEmitter<T0, T1, T2>>::ldeoral(self, op0, op1, op2);
12258 }
12259 pub fn ldeoralb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12260 where
12261 Self: LdeoralbEmitter<T0, T1, T2>,
12262 {
12263 <Self as LdeoralbEmitter<T0, T1, T2>>::ldeoralb(self, op0, op1, op2);
12264 }
12265 pub fn ldeoralh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12266 where
12267 Self: LdeoralhEmitter<T0, T1, T2>,
12268 {
12269 <Self as LdeoralhEmitter<T0, T1, T2>>::ldeoralh(self, op0, op1, op2);
12270 }
12271 pub fn ldeorb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12272 where
12273 Self: LdeorbEmitter<T0, T1, T2>,
12274 {
12275 <Self as LdeorbEmitter<T0, T1, T2>>::ldeorb(self, op0, op1, op2);
12276 }
12277 pub fn ldeorh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12278 where
12279 Self: LdeorhEmitter<T0, T1, T2>,
12280 {
12281 <Self as LdeorhEmitter<T0, T1, T2>>::ldeorh(self, op0, op1, op2);
12282 }
12283 pub fn ldeorl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12284 where
12285 Self: LdeorlEmitter<T0, T1, T2>,
12286 {
12287 <Self as LdeorlEmitter<T0, T1, T2>>::ldeorl(self, op0, op1, op2);
12288 }
12289 pub fn ldeorlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12290 where
12291 Self: LdeorlbEmitter<T0, T1, T2>,
12292 {
12293 <Self as LdeorlbEmitter<T0, T1, T2>>::ldeorlb(self, op0, op1, op2);
12294 }
12295 pub fn ldeorlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12296 where
12297 Self: LdeorlhEmitter<T0, T1, T2>,
12298 {
12299 <Self as LdeorlhEmitter<T0, T1, T2>>::ldeorlh(self, op0, op1, op2);
12300 }
12301 pub fn ldlar<T0, T1>(&mut self, op0: T0, op1: T1)
12302 where
12303 Self: LdlarEmitter<T0, T1>,
12304 {
12305 <Self as LdlarEmitter<T0, T1>>::ldlar(self, op0, op1);
12306 }
12307 pub fn ldlarb<T0, T1>(&mut self, op0: T0, op1: T1)
12308 where
12309 Self: LdlarbEmitter<T0, T1>,
12310 {
12311 <Self as LdlarbEmitter<T0, T1>>::ldlarb(self, op0, op1);
12312 }
12313 pub fn ldlarh<T0, T1>(&mut self, op0: T0, op1: T1)
12314 where
12315 Self: LdlarhEmitter<T0, T1>,
12316 {
12317 <Self as LdlarhEmitter<T0, T1>>::ldlarh(self, op0, op1);
12318 }
12319 pub fn ldnp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12320 where
12321 Self: LdnpEmitter<T0, T1, T2>,
12322 {
12323 <Self as LdnpEmitter<T0, T1, T2>>::ldnp(self, op0, op1, op2);
12324 }
12325 pub fn ldp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12326 where
12327 Self: LdpEmitter<T0, T1, T2>,
12328 {
12329 <Self as LdpEmitter<T0, T1, T2>>::ldp(self, op0, op1, op2);
12330 }
12331 pub fn ldpsw<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12332 where
12333 Self: LdpswEmitter<T0, T1, T2>,
12334 {
12335 <Self as LdpswEmitter<T0, T1, T2>>::ldpsw(self, op0, op1, op2);
12336 }
12337 pub fn ldr<T0, T1>(&mut self, op0: T0, op1: T1)
12338 where
12339 Self: LdrEmitter<T0, T1>,
12340 {
12341 <Self as LdrEmitter<T0, T1>>::ldr(self, op0, op1);
12342 }
12343 pub fn ldrb<T0, T1>(&mut self, op0: T0, op1: T1)
12344 where
12345 Self: LdrbEmitter<T0, T1>,
12346 {
12347 <Self as LdrbEmitter<T0, T1>>::ldrb(self, op0, op1);
12348 }
12349 pub fn ldrh<T0, T1>(&mut self, op0: T0, op1: T1)
12350 where
12351 Self: LdrhEmitter<T0, T1>,
12352 {
12353 <Self as LdrhEmitter<T0, T1>>::ldrh(self, op0, op1);
12354 }
12355 pub fn ldrsb<T0, T1>(&mut self, op0: T0, op1: T1)
12356 where
12357 Self: LdrsbEmitter<T0, T1>,
12358 {
12359 <Self as LdrsbEmitter<T0, T1>>::ldrsb(self, op0, op1);
12360 }
12361 pub fn ldrsh<T0, T1>(&mut self, op0: T0, op1: T1)
12362 where
12363 Self: LdrshEmitter<T0, T1>,
12364 {
12365 <Self as LdrshEmitter<T0, T1>>::ldrsh(self, op0, op1);
12366 }
12367 pub fn ldrsw<T0, T1>(&mut self, op0: T0, op1: T1)
12368 where
12369 Self: LdrswEmitter<T0, T1>,
12370 {
12371 <Self as LdrswEmitter<T0, T1>>::ldrsw(self, op0, op1);
12372 }
12373 pub fn ldset<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12374 where
12375 Self: LdsetEmitter<T0, T1, T2>,
12376 {
12377 <Self as LdsetEmitter<T0, T1, T2>>::ldset(self, op0, op1, op2);
12378 }
12379 pub fn ldseta<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12380 where
12381 Self: LdsetaEmitter<T0, T1, T2>,
12382 {
12383 <Self as LdsetaEmitter<T0, T1, T2>>::ldseta(self, op0, op1, op2);
12384 }
12385 pub fn ldsetab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12386 where
12387 Self: LdsetabEmitter<T0, T1, T2>,
12388 {
12389 <Self as LdsetabEmitter<T0, T1, T2>>::ldsetab(self, op0, op1, op2);
12390 }
12391 pub fn ldsetah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12392 where
12393 Self: LdsetahEmitter<T0, T1, T2>,
12394 {
12395 <Self as LdsetahEmitter<T0, T1, T2>>::ldsetah(self, op0, op1, op2);
12396 }
12397 pub fn ldsetal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12398 where
12399 Self: LdsetalEmitter<T0, T1, T2>,
12400 {
12401 <Self as LdsetalEmitter<T0, T1, T2>>::ldsetal(self, op0, op1, op2);
12402 }
12403 pub fn ldsetalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12404 where
12405 Self: LdsetalbEmitter<T0, T1, T2>,
12406 {
12407 <Self as LdsetalbEmitter<T0, T1, T2>>::ldsetalb(self, op0, op1, op2);
12408 }
12409 pub fn ldsetalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12410 where
12411 Self: LdsetalhEmitter<T0, T1, T2>,
12412 {
12413 <Self as LdsetalhEmitter<T0, T1, T2>>::ldsetalh(self, op0, op1, op2);
12414 }
12415 pub fn ldsetb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12416 where
12417 Self: LdsetbEmitter<T0, T1, T2>,
12418 {
12419 <Self as LdsetbEmitter<T0, T1, T2>>::ldsetb(self, op0, op1, op2);
12420 }
12421 pub fn ldseth<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12422 where
12423 Self: LdsethEmitter<T0, T1, T2>,
12424 {
12425 <Self as LdsethEmitter<T0, T1, T2>>::ldseth(self, op0, op1, op2);
12426 }
12427 pub fn ldsetl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12428 where
12429 Self: LdsetlEmitter<T0, T1, T2>,
12430 {
12431 <Self as LdsetlEmitter<T0, T1, T2>>::ldsetl(self, op0, op1, op2);
12432 }
12433 pub fn ldsetlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12434 where
12435 Self: LdsetlbEmitter<T0, T1, T2>,
12436 {
12437 <Self as LdsetlbEmitter<T0, T1, T2>>::ldsetlb(self, op0, op1, op2);
12438 }
12439 pub fn ldsetlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12440 where
12441 Self: LdsetlhEmitter<T0, T1, T2>,
12442 {
12443 <Self as LdsetlhEmitter<T0, T1, T2>>::ldsetlh(self, op0, op1, op2);
12444 }
12445 pub fn ldsmax<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12446 where
12447 Self: LdsmaxEmitter<T0, T1, T2>,
12448 {
12449 <Self as LdsmaxEmitter<T0, T1, T2>>::ldsmax(self, op0, op1, op2);
12450 }
12451 pub fn ldsmaxa<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12452 where
12453 Self: LdsmaxaEmitter<T0, T1, T2>,
12454 {
12455 <Self as LdsmaxaEmitter<T0, T1, T2>>::ldsmaxa(self, op0, op1, op2);
12456 }
12457 pub fn ldsmaxab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12458 where
12459 Self: LdsmaxabEmitter<T0, T1, T2>,
12460 {
12461 <Self as LdsmaxabEmitter<T0, T1, T2>>::ldsmaxab(self, op0, op1, op2);
12462 }
12463 pub fn ldsmaxah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12464 where
12465 Self: LdsmaxahEmitter<T0, T1, T2>,
12466 {
12467 <Self as LdsmaxahEmitter<T0, T1, T2>>::ldsmaxah(self, op0, op1, op2);
12468 }
12469 pub fn ldsmaxal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12470 where
12471 Self: LdsmaxalEmitter<T0, T1, T2>,
12472 {
12473 <Self as LdsmaxalEmitter<T0, T1, T2>>::ldsmaxal(self, op0, op1, op2);
12474 }
12475 pub fn ldsmaxalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12476 where
12477 Self: LdsmaxalbEmitter<T0, T1, T2>,
12478 {
12479 <Self as LdsmaxalbEmitter<T0, T1, T2>>::ldsmaxalb(self, op0, op1, op2);
12480 }
12481 pub fn ldsmaxalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12482 where
12483 Self: LdsmaxalhEmitter<T0, T1, T2>,
12484 {
12485 <Self as LdsmaxalhEmitter<T0, T1, T2>>::ldsmaxalh(self, op0, op1, op2);
12486 }
12487 pub fn ldsmaxb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12488 where
12489 Self: LdsmaxbEmitter<T0, T1, T2>,
12490 {
12491 <Self as LdsmaxbEmitter<T0, T1, T2>>::ldsmaxb(self, op0, op1, op2);
12492 }
12493 pub fn ldsmaxh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12494 where
12495 Self: LdsmaxhEmitter<T0, T1, T2>,
12496 {
12497 <Self as LdsmaxhEmitter<T0, T1, T2>>::ldsmaxh(self, op0, op1, op2);
12498 }
12499 pub fn ldsmaxl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12500 where
12501 Self: LdsmaxlEmitter<T0, T1, T2>,
12502 {
12503 <Self as LdsmaxlEmitter<T0, T1, T2>>::ldsmaxl(self, op0, op1, op2);
12504 }
12505 pub fn ldsmaxlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12506 where
12507 Self: LdsmaxlbEmitter<T0, T1, T2>,
12508 {
12509 <Self as LdsmaxlbEmitter<T0, T1, T2>>::ldsmaxlb(self, op0, op1, op2);
12510 }
12511 pub fn ldsmaxlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12512 where
12513 Self: LdsmaxlhEmitter<T0, T1, T2>,
12514 {
12515 <Self as LdsmaxlhEmitter<T0, T1, T2>>::ldsmaxlh(self, op0, op1, op2);
12516 }
12517 pub fn ldsmin<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12518 where
12519 Self: LdsminEmitter<T0, T1, T2>,
12520 {
12521 <Self as LdsminEmitter<T0, T1, T2>>::ldsmin(self, op0, op1, op2);
12522 }
12523 pub fn ldsmina<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12524 where
12525 Self: LdsminaEmitter<T0, T1, T2>,
12526 {
12527 <Self as LdsminaEmitter<T0, T1, T2>>::ldsmina(self, op0, op1, op2);
12528 }
12529 pub fn ldsminab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12530 where
12531 Self: LdsminabEmitter<T0, T1, T2>,
12532 {
12533 <Self as LdsminabEmitter<T0, T1, T2>>::ldsminab(self, op0, op1, op2);
12534 }
12535 pub fn ldsminah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12536 where
12537 Self: LdsminahEmitter<T0, T1, T2>,
12538 {
12539 <Self as LdsminahEmitter<T0, T1, T2>>::ldsminah(self, op0, op1, op2);
12540 }
12541 pub fn ldsminal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12542 where
12543 Self: LdsminalEmitter<T0, T1, T2>,
12544 {
12545 <Self as LdsminalEmitter<T0, T1, T2>>::ldsminal(self, op0, op1, op2);
12546 }
12547 pub fn ldsminalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12548 where
12549 Self: LdsminalbEmitter<T0, T1, T2>,
12550 {
12551 <Self as LdsminalbEmitter<T0, T1, T2>>::ldsminalb(self, op0, op1, op2);
12552 }
12553 pub fn ldsminalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12554 where
12555 Self: LdsminalhEmitter<T0, T1, T2>,
12556 {
12557 <Self as LdsminalhEmitter<T0, T1, T2>>::ldsminalh(self, op0, op1, op2);
12558 }
12559 pub fn ldsminb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12560 where
12561 Self: LdsminbEmitter<T0, T1, T2>,
12562 {
12563 <Self as LdsminbEmitter<T0, T1, T2>>::ldsminb(self, op0, op1, op2);
12564 }
12565 pub fn ldsminh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12566 where
12567 Self: LdsminhEmitter<T0, T1, T2>,
12568 {
12569 <Self as LdsminhEmitter<T0, T1, T2>>::ldsminh(self, op0, op1, op2);
12570 }
12571 pub fn ldsminl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12572 where
12573 Self: LdsminlEmitter<T0, T1, T2>,
12574 {
12575 <Self as LdsminlEmitter<T0, T1, T2>>::ldsminl(self, op0, op1, op2);
12576 }
12577 pub fn ldsminlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12578 where
12579 Self: LdsminlbEmitter<T0, T1, T2>,
12580 {
12581 <Self as LdsminlbEmitter<T0, T1, T2>>::ldsminlb(self, op0, op1, op2);
12582 }
12583 pub fn ldsminlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12584 where
12585 Self: LdsminlhEmitter<T0, T1, T2>,
12586 {
12587 <Self as LdsminlhEmitter<T0, T1, T2>>::ldsminlh(self, op0, op1, op2);
12588 }
12589 pub fn ldtr<T0, T1>(&mut self, op0: T0, op1: T1)
12590 where
12591 Self: LdtrEmitter<T0, T1>,
12592 {
12593 <Self as LdtrEmitter<T0, T1>>::ldtr(self, op0, op1);
12594 }
12595 pub fn ldtrb<T0, T1>(&mut self, op0: T0, op1: T1)
12596 where
12597 Self: LdtrbEmitter<T0, T1>,
12598 {
12599 <Self as LdtrbEmitter<T0, T1>>::ldtrb(self, op0, op1);
12600 }
12601 pub fn ldtrh<T0, T1>(&mut self, op0: T0, op1: T1)
12602 where
12603 Self: LdtrhEmitter<T0, T1>,
12604 {
12605 <Self as LdtrhEmitter<T0, T1>>::ldtrh(self, op0, op1);
12606 }
12607 pub fn ldtrsb<T0, T1>(&mut self, op0: T0, op1: T1)
12608 where
12609 Self: LdtrsbEmitter<T0, T1>,
12610 {
12611 <Self as LdtrsbEmitter<T0, T1>>::ldtrsb(self, op0, op1);
12612 }
12613 pub fn ldtrsh<T0, T1>(&mut self, op0: T0, op1: T1)
12614 where
12615 Self: LdtrshEmitter<T0, T1>,
12616 {
12617 <Self as LdtrshEmitter<T0, T1>>::ldtrsh(self, op0, op1);
12618 }
12619 pub fn ldtrsw<T0, T1>(&mut self, op0: T0, op1: T1)
12620 where
12621 Self: LdtrswEmitter<T0, T1>,
12622 {
12623 <Self as LdtrswEmitter<T0, T1>>::ldtrsw(self, op0, op1);
12624 }
12625 pub fn ldumax<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12626 where
12627 Self: LdumaxEmitter<T0, T1, T2>,
12628 {
12629 <Self as LdumaxEmitter<T0, T1, T2>>::ldumax(self, op0, op1, op2);
12630 }
12631 pub fn ldumaxa<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12632 where
12633 Self: LdumaxaEmitter<T0, T1, T2>,
12634 {
12635 <Self as LdumaxaEmitter<T0, T1, T2>>::ldumaxa(self, op0, op1, op2);
12636 }
12637 pub fn ldumaxab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12638 where
12639 Self: LdumaxabEmitter<T0, T1, T2>,
12640 {
12641 <Self as LdumaxabEmitter<T0, T1, T2>>::ldumaxab(self, op0, op1, op2);
12642 }
12643 pub fn ldumaxah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12644 where
12645 Self: LdumaxahEmitter<T0, T1, T2>,
12646 {
12647 <Self as LdumaxahEmitter<T0, T1, T2>>::ldumaxah(self, op0, op1, op2);
12648 }
12649 pub fn ldumaxal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12650 where
12651 Self: LdumaxalEmitter<T0, T1, T2>,
12652 {
12653 <Self as LdumaxalEmitter<T0, T1, T2>>::ldumaxal(self, op0, op1, op2);
12654 }
12655 pub fn ldumaxalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12656 where
12657 Self: LdumaxalbEmitter<T0, T1, T2>,
12658 {
12659 <Self as LdumaxalbEmitter<T0, T1, T2>>::ldumaxalb(self, op0, op1, op2);
12660 }
12661 pub fn ldumaxalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12662 where
12663 Self: LdumaxalhEmitter<T0, T1, T2>,
12664 {
12665 <Self as LdumaxalhEmitter<T0, T1, T2>>::ldumaxalh(self, op0, op1, op2);
12666 }
12667 pub fn ldumaxb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12668 where
12669 Self: LdumaxbEmitter<T0, T1, T2>,
12670 {
12671 <Self as LdumaxbEmitter<T0, T1, T2>>::ldumaxb(self, op0, op1, op2);
12672 }
12673 pub fn ldumaxh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12674 where
12675 Self: LdumaxhEmitter<T0, T1, T2>,
12676 {
12677 <Self as LdumaxhEmitter<T0, T1, T2>>::ldumaxh(self, op0, op1, op2);
12678 }
12679 pub fn ldumaxl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12680 where
12681 Self: LdumaxlEmitter<T0, T1, T2>,
12682 {
12683 <Self as LdumaxlEmitter<T0, T1, T2>>::ldumaxl(self, op0, op1, op2);
12684 }
12685 pub fn ldumaxlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12686 where
12687 Self: LdumaxlbEmitter<T0, T1, T2>,
12688 {
12689 <Self as LdumaxlbEmitter<T0, T1, T2>>::ldumaxlb(self, op0, op1, op2);
12690 }
12691 pub fn ldumaxlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12692 where
12693 Self: LdumaxlhEmitter<T0, T1, T2>,
12694 {
12695 <Self as LdumaxlhEmitter<T0, T1, T2>>::ldumaxlh(self, op0, op1, op2);
12696 }
12697 pub fn ldumin<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12698 where
12699 Self: LduminEmitter<T0, T1, T2>,
12700 {
12701 <Self as LduminEmitter<T0, T1, T2>>::ldumin(self, op0, op1, op2);
12702 }
12703 pub fn ldumina<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12704 where
12705 Self: LduminaEmitter<T0, T1, T2>,
12706 {
12707 <Self as LduminaEmitter<T0, T1, T2>>::ldumina(self, op0, op1, op2);
12708 }
12709 pub fn lduminab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12710 where
12711 Self: LduminabEmitter<T0, T1, T2>,
12712 {
12713 <Self as LduminabEmitter<T0, T1, T2>>::lduminab(self, op0, op1, op2);
12714 }
12715 pub fn lduminah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12716 where
12717 Self: LduminahEmitter<T0, T1, T2>,
12718 {
12719 <Self as LduminahEmitter<T0, T1, T2>>::lduminah(self, op0, op1, op2);
12720 }
12721 pub fn lduminal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12722 where
12723 Self: LduminalEmitter<T0, T1, T2>,
12724 {
12725 <Self as LduminalEmitter<T0, T1, T2>>::lduminal(self, op0, op1, op2);
12726 }
12727 pub fn lduminalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12728 where
12729 Self: LduminalbEmitter<T0, T1, T2>,
12730 {
12731 <Self as LduminalbEmitter<T0, T1, T2>>::lduminalb(self, op0, op1, op2);
12732 }
12733 pub fn lduminalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12734 where
12735 Self: LduminalhEmitter<T0, T1, T2>,
12736 {
12737 <Self as LduminalhEmitter<T0, T1, T2>>::lduminalh(self, op0, op1, op2);
12738 }
12739 pub fn lduminb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12740 where
12741 Self: LduminbEmitter<T0, T1, T2>,
12742 {
12743 <Self as LduminbEmitter<T0, T1, T2>>::lduminb(self, op0, op1, op2);
12744 }
12745 pub fn lduminh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12746 where
12747 Self: LduminhEmitter<T0, T1, T2>,
12748 {
12749 <Self as LduminhEmitter<T0, T1, T2>>::lduminh(self, op0, op1, op2);
12750 }
12751 pub fn lduminl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12752 where
12753 Self: LduminlEmitter<T0, T1, T2>,
12754 {
12755 <Self as LduminlEmitter<T0, T1, T2>>::lduminl(self, op0, op1, op2);
12756 }
12757 pub fn lduminlb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12758 where
12759 Self: LduminlbEmitter<T0, T1, T2>,
12760 {
12761 <Self as LduminlbEmitter<T0, T1, T2>>::lduminlb(self, op0, op1, op2);
12762 }
12763 pub fn lduminlh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12764 where
12765 Self: LduminlhEmitter<T0, T1, T2>,
12766 {
12767 <Self as LduminlhEmitter<T0, T1, T2>>::lduminlh(self, op0, op1, op2);
12768 }
12769 pub fn ldur<T0, T1>(&mut self, op0: T0, op1: T1)
12770 where
12771 Self: LdurEmitter<T0, T1>,
12772 {
12773 <Self as LdurEmitter<T0, T1>>::ldur(self, op0, op1);
12774 }
12775 pub fn ldurb<T0, T1>(&mut self, op0: T0, op1: T1)
12776 where
12777 Self: LdurbEmitter<T0, T1>,
12778 {
12779 <Self as LdurbEmitter<T0, T1>>::ldurb(self, op0, op1);
12780 }
12781 pub fn ldurh<T0, T1>(&mut self, op0: T0, op1: T1)
12782 where
12783 Self: LdurhEmitter<T0, T1>,
12784 {
12785 <Self as LdurhEmitter<T0, T1>>::ldurh(self, op0, op1);
12786 }
12787 pub fn ldursb<T0, T1>(&mut self, op0: T0, op1: T1)
12788 where
12789 Self: LdursbEmitter<T0, T1>,
12790 {
12791 <Self as LdursbEmitter<T0, T1>>::ldursb(self, op0, op1);
12792 }
12793 pub fn ldursh<T0, T1>(&mut self, op0: T0, op1: T1)
12794 where
12795 Self: LdurshEmitter<T0, T1>,
12796 {
12797 <Self as LdurshEmitter<T0, T1>>::ldursh(self, op0, op1);
12798 }
12799 pub fn ldursw<T0, T1>(&mut self, op0: T0, op1: T1)
12800 where
12801 Self: LdurswEmitter<T0, T1>,
12802 {
12803 <Self as LdurswEmitter<T0, T1>>::ldursw(self, op0, op1);
12804 }
12805 pub fn ldxp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12806 where
12807 Self: LdxpEmitter<T0, T1, T2>,
12808 {
12809 <Self as LdxpEmitter<T0, T1, T2>>::ldxp(self, op0, op1, op2);
12810 }
12811 pub fn ldaxp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12812 where
12813 Self: LdaxpEmitter<T0, T1, T2>,
12814 {
12815 <Self as LdaxpEmitter<T0, T1, T2>>::ldaxp(self, op0, op1, op2);
12816 }
12817 pub fn ldxr<T0, T1>(&mut self, op0: T0, op1: T1)
12818 where
12819 Self: LdxrEmitter<T0, T1>,
12820 {
12821 <Self as LdxrEmitter<T0, T1>>::ldxr(self, op0, op1);
12822 }
12823 pub fn ldxrb<T0, T1>(&mut self, op0: T0, op1: T1)
12824 where
12825 Self: LdxrbEmitter<T0, T1>,
12826 {
12827 <Self as LdxrbEmitter<T0, T1>>::ldxrb(self, op0, op1);
12828 }
12829 pub fn ldxrh<T0, T1>(&mut self, op0: T0, op1: T1)
12830 where
12831 Self: LdxrhEmitter<T0, T1>,
12832 {
12833 <Self as LdxrhEmitter<T0, T1>>::ldxrh(self, op0, op1);
12834 }
12835 pub fn prfm<T0, T1>(&mut self, op0: T0, op1: T1)
12836 where
12837 Self: PrfmEmitter<T0, T1>,
12838 {
12839 <Self as PrfmEmitter<T0, T1>>::prfm(self, op0, op1);
12840 }
12841 pub fn stadd<T0, T1>(&mut self, op0: T0, op1: T1)
12842 where
12843 Self: StaddEmitter<T0, T1>,
12844 {
12845 <Self as StaddEmitter<T0, T1>>::stadd(self, op0, op1);
12846 }
12847 pub fn staddb<T0, T1>(&mut self, op0: T0, op1: T1)
12848 where
12849 Self: StaddbEmitter<T0, T1>,
12850 {
12851 <Self as StaddbEmitter<T0, T1>>::staddb(self, op0, op1);
12852 }
12853 pub fn staddh<T0, T1>(&mut self, op0: T0, op1: T1)
12854 where
12855 Self: StaddhEmitter<T0, T1>,
12856 {
12857 <Self as StaddhEmitter<T0, T1>>::staddh(self, op0, op1);
12858 }
12859 pub fn staddl<T0, T1>(&mut self, op0: T0, op1: T1)
12860 where
12861 Self: StaddlEmitter<T0, T1>,
12862 {
12863 <Self as StaddlEmitter<T0, T1>>::staddl(self, op0, op1);
12864 }
12865 pub fn staddlb<T0, T1>(&mut self, op0: T0, op1: T1)
12866 where
12867 Self: StaddlbEmitter<T0, T1>,
12868 {
12869 <Self as StaddlbEmitter<T0, T1>>::staddlb(self, op0, op1);
12870 }
12871 pub fn staddlh<T0, T1>(&mut self, op0: T0, op1: T1)
12872 where
12873 Self: StaddlhEmitter<T0, T1>,
12874 {
12875 <Self as StaddlhEmitter<T0, T1>>::staddlh(self, op0, op1);
12876 }
12877 pub fn stclr<T0, T1>(&mut self, op0: T0, op1: T1)
12878 where
12879 Self: StclrEmitter<T0, T1>,
12880 {
12881 <Self as StclrEmitter<T0, T1>>::stclr(self, op0, op1);
12882 }
12883 pub fn stclrb<T0, T1>(&mut self, op0: T0, op1: T1)
12884 where
12885 Self: StclrbEmitter<T0, T1>,
12886 {
12887 <Self as StclrbEmitter<T0, T1>>::stclrb(self, op0, op1);
12888 }
12889 pub fn stclrh<T0, T1>(&mut self, op0: T0, op1: T1)
12890 where
12891 Self: StclrhEmitter<T0, T1>,
12892 {
12893 <Self as StclrhEmitter<T0, T1>>::stclrh(self, op0, op1);
12894 }
12895 pub fn stclrl<T0, T1>(&mut self, op0: T0, op1: T1)
12896 where
12897 Self: StclrlEmitter<T0, T1>,
12898 {
12899 <Self as StclrlEmitter<T0, T1>>::stclrl(self, op0, op1);
12900 }
12901 pub fn stclrlb<T0, T1>(&mut self, op0: T0, op1: T1)
12902 where
12903 Self: StclrlbEmitter<T0, T1>,
12904 {
12905 <Self as StclrlbEmitter<T0, T1>>::stclrlb(self, op0, op1);
12906 }
12907 pub fn stclrlh<T0, T1>(&mut self, op0: T0, op1: T1)
12908 where
12909 Self: StclrlhEmitter<T0, T1>,
12910 {
12911 <Self as StclrlhEmitter<T0, T1>>::stclrlh(self, op0, op1);
12912 }
12913 pub fn steor<T0, T1>(&mut self, op0: T0, op1: T1)
12914 where
12915 Self: SteorEmitter<T0, T1>,
12916 {
12917 <Self as SteorEmitter<T0, T1>>::steor(self, op0, op1);
12918 }
12919 pub fn steorb<T0, T1>(&mut self, op0: T0, op1: T1)
12920 where
12921 Self: SteorbEmitter<T0, T1>,
12922 {
12923 <Self as SteorbEmitter<T0, T1>>::steorb(self, op0, op1);
12924 }
12925 pub fn steorh<T0, T1>(&mut self, op0: T0, op1: T1)
12926 where
12927 Self: SteorhEmitter<T0, T1>,
12928 {
12929 <Self as SteorhEmitter<T0, T1>>::steorh(self, op0, op1);
12930 }
12931 pub fn steorl<T0, T1>(&mut self, op0: T0, op1: T1)
12932 where
12933 Self: SteorlEmitter<T0, T1>,
12934 {
12935 <Self as SteorlEmitter<T0, T1>>::steorl(self, op0, op1);
12936 }
12937 pub fn steorlb<T0, T1>(&mut self, op0: T0, op1: T1)
12938 where
12939 Self: SteorlbEmitter<T0, T1>,
12940 {
12941 <Self as SteorlbEmitter<T0, T1>>::steorlb(self, op0, op1);
12942 }
12943 pub fn steorlh<T0, T1>(&mut self, op0: T0, op1: T1)
12944 where
12945 Self: SteorlhEmitter<T0, T1>,
12946 {
12947 <Self as SteorlhEmitter<T0, T1>>::steorlh(self, op0, op1);
12948 }
12949 pub fn stllr<T0, T1>(&mut self, op0: T0, op1: T1)
12950 where
12951 Self: StllrEmitter<T0, T1>,
12952 {
12953 <Self as StllrEmitter<T0, T1>>::stllr(self, op0, op1);
12954 }
12955 pub fn stllrb<T0, T1>(&mut self, op0: T0, op1: T1)
12956 where
12957 Self: StllrbEmitter<T0, T1>,
12958 {
12959 <Self as StllrbEmitter<T0, T1>>::stllrb(self, op0, op1);
12960 }
12961 pub fn stllrh<T0, T1>(&mut self, op0: T0, op1: T1)
12962 where
12963 Self: StllrhEmitter<T0, T1>,
12964 {
12965 <Self as StllrhEmitter<T0, T1>>::stllrh(self, op0, op1);
12966 }
12967 pub fn stlr<T0, T1>(&mut self, op0: T0, op1: T1)
12968 where
12969 Self: StlrEmitter<T0, T1>,
12970 {
12971 <Self as StlrEmitter<T0, T1>>::stlr(self, op0, op1);
12972 }
12973 pub fn stlrb<T0, T1>(&mut self, op0: T0, op1: T1)
12974 where
12975 Self: StlrbEmitter<T0, T1>,
12976 {
12977 <Self as StlrbEmitter<T0, T1>>::stlrb(self, op0, op1);
12978 }
12979 pub fn stlrh<T0, T1>(&mut self, op0: T0, op1: T1)
12980 where
12981 Self: StlrhEmitter<T0, T1>,
12982 {
12983 <Self as StlrhEmitter<T0, T1>>::stlrh(self, op0, op1);
12984 }
12985 pub fn stlxr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12986 where
12987 Self: StlxrEmitter<T0, T1, T2>,
12988 {
12989 <Self as StlxrEmitter<T0, T1, T2>>::stlxr(self, op0, op1, op2);
12990 }
12991 pub fn stlxrb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12992 where
12993 Self: StlxrbEmitter<T0, T1, T2>,
12994 {
12995 <Self as StlxrbEmitter<T0, T1, T2>>::stlxrb(self, op0, op1, op2);
12996 }
12997 pub fn stlxrh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
12998 where
12999 Self: StlxrhEmitter<T0, T1, T2>,
13000 {
13001 <Self as StlxrhEmitter<T0, T1, T2>>::stlxrh(self, op0, op1, op2);
13002 }
13003 pub fn stnp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13004 where
13005 Self: StnpEmitter<T0, T1, T2>,
13006 {
13007 <Self as StnpEmitter<T0, T1, T2>>::stnp(self, op0, op1, op2);
13008 }
13009 pub fn stp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13010 where
13011 Self: StpEmitter<T0, T1, T2>,
13012 {
13013 <Self as StpEmitter<T0, T1, T2>>::stp(self, op0, op1, op2);
13014 }
13015 pub fn str<T0, T1>(&mut self, op0: T0, op1: T1)
13016 where
13017 Self: StrEmitter<T0, T1>,
13018 {
13019 <Self as StrEmitter<T0, T1>>::str(self, op0, op1);
13020 }
13021 pub fn strb<T0, T1>(&mut self, op0: T0, op1: T1)
13022 where
13023 Self: StrbEmitter<T0, T1>,
13024 {
13025 <Self as StrbEmitter<T0, T1>>::strb(self, op0, op1);
13026 }
13027 pub fn strh<T0, T1>(&mut self, op0: T0, op1: T1)
13028 where
13029 Self: StrhEmitter<T0, T1>,
13030 {
13031 <Self as StrhEmitter<T0, T1>>::strh(self, op0, op1);
13032 }
13033 pub fn stset<T0, T1>(&mut self, op0: T0, op1: T1)
13034 where
13035 Self: StsetEmitter<T0, T1>,
13036 {
13037 <Self as StsetEmitter<T0, T1>>::stset(self, op0, op1);
13038 }
13039 pub fn stsetb<T0, T1>(&mut self, op0: T0, op1: T1)
13040 where
13041 Self: StsetbEmitter<T0, T1>,
13042 {
13043 <Self as StsetbEmitter<T0, T1>>::stsetb(self, op0, op1);
13044 }
13045 pub fn stseth<T0, T1>(&mut self, op0: T0, op1: T1)
13046 where
13047 Self: StsethEmitter<T0, T1>,
13048 {
13049 <Self as StsethEmitter<T0, T1>>::stseth(self, op0, op1);
13050 }
13051 pub fn stsetl<T0, T1>(&mut self, op0: T0, op1: T1)
13052 where
13053 Self: StsetlEmitter<T0, T1>,
13054 {
13055 <Self as StsetlEmitter<T0, T1>>::stsetl(self, op0, op1);
13056 }
13057 pub fn stsetlb<T0, T1>(&mut self, op0: T0, op1: T1)
13058 where
13059 Self: StsetlbEmitter<T0, T1>,
13060 {
13061 <Self as StsetlbEmitter<T0, T1>>::stsetlb(self, op0, op1);
13062 }
13063 pub fn stsetlh<T0, T1>(&mut self, op0: T0, op1: T1)
13064 where
13065 Self: StsetlhEmitter<T0, T1>,
13066 {
13067 <Self as StsetlhEmitter<T0, T1>>::stsetlh(self, op0, op1);
13068 }
13069 pub fn stsmax<T0, T1>(&mut self, op0: T0, op1: T1)
13070 where
13071 Self: StsmaxEmitter<T0, T1>,
13072 {
13073 <Self as StsmaxEmitter<T0, T1>>::stsmax(self, op0, op1);
13074 }
13075 pub fn stsmaxb<T0, T1>(&mut self, op0: T0, op1: T1)
13076 where
13077 Self: StsmaxbEmitter<T0, T1>,
13078 {
13079 <Self as StsmaxbEmitter<T0, T1>>::stsmaxb(self, op0, op1);
13080 }
13081 pub fn stsmaxh<T0, T1>(&mut self, op0: T0, op1: T1)
13082 where
13083 Self: StsmaxhEmitter<T0, T1>,
13084 {
13085 <Self as StsmaxhEmitter<T0, T1>>::stsmaxh(self, op0, op1);
13086 }
13087 pub fn stsmaxl<T0, T1>(&mut self, op0: T0, op1: T1)
13088 where
13089 Self: StsmaxlEmitter<T0, T1>,
13090 {
13091 <Self as StsmaxlEmitter<T0, T1>>::stsmaxl(self, op0, op1);
13092 }
13093 pub fn stsmaxlb<T0, T1>(&mut self, op0: T0, op1: T1)
13094 where
13095 Self: StsmaxlbEmitter<T0, T1>,
13096 {
13097 <Self as StsmaxlbEmitter<T0, T1>>::stsmaxlb(self, op0, op1);
13098 }
13099 pub fn stsmaxlh<T0, T1>(&mut self, op0: T0, op1: T1)
13100 where
13101 Self: StsmaxlhEmitter<T0, T1>,
13102 {
13103 <Self as StsmaxlhEmitter<T0, T1>>::stsmaxlh(self, op0, op1);
13104 }
13105 pub fn stsmin<T0, T1>(&mut self, op0: T0, op1: T1)
13106 where
13107 Self: StsminEmitter<T0, T1>,
13108 {
13109 <Self as StsminEmitter<T0, T1>>::stsmin(self, op0, op1);
13110 }
13111 pub fn stsminb<T0, T1>(&mut self, op0: T0, op1: T1)
13112 where
13113 Self: StsminbEmitter<T0, T1>,
13114 {
13115 <Self as StsminbEmitter<T0, T1>>::stsminb(self, op0, op1);
13116 }
13117 pub fn stsminh<T0, T1>(&mut self, op0: T0, op1: T1)
13118 where
13119 Self: StsminhEmitter<T0, T1>,
13120 {
13121 <Self as StsminhEmitter<T0, T1>>::stsminh(self, op0, op1);
13122 }
13123 pub fn stsminl<T0, T1>(&mut self, op0: T0, op1: T1)
13124 where
13125 Self: StsminlEmitter<T0, T1>,
13126 {
13127 <Self as StsminlEmitter<T0, T1>>::stsminl(self, op0, op1);
13128 }
13129 pub fn stsminlb<T0, T1>(&mut self, op0: T0, op1: T1)
13130 where
13131 Self: StsminlbEmitter<T0, T1>,
13132 {
13133 <Self as StsminlbEmitter<T0, T1>>::stsminlb(self, op0, op1);
13134 }
13135 pub fn stsminlh<T0, T1>(&mut self, op0: T0, op1: T1)
13136 where
13137 Self: StsminlhEmitter<T0, T1>,
13138 {
13139 <Self as StsminlhEmitter<T0, T1>>::stsminlh(self, op0, op1);
13140 }
13141 pub fn sttr<T0, T1>(&mut self, op0: T0, op1: T1)
13142 where
13143 Self: SttrEmitter<T0, T1>,
13144 {
13145 <Self as SttrEmitter<T0, T1>>::sttr(self, op0, op1);
13146 }
13147 pub fn sttrb<T0, T1>(&mut self, op0: T0, op1: T1)
13148 where
13149 Self: SttrbEmitter<T0, T1>,
13150 {
13151 <Self as SttrbEmitter<T0, T1>>::sttrb(self, op0, op1);
13152 }
13153 pub fn sttrh<T0, T1>(&mut self, op0: T0, op1: T1)
13154 where
13155 Self: SttrhEmitter<T0, T1>,
13156 {
13157 <Self as SttrhEmitter<T0, T1>>::sttrh(self, op0, op1);
13158 }
13159 pub fn stumax<T0, T1>(&mut self, op0: T0, op1: T1)
13160 where
13161 Self: StumaxEmitter<T0, T1>,
13162 {
13163 <Self as StumaxEmitter<T0, T1>>::stumax(self, op0, op1);
13164 }
13165 pub fn stumaxb<T0, T1>(&mut self, op0: T0, op1: T1)
13166 where
13167 Self: StumaxbEmitter<T0, T1>,
13168 {
13169 <Self as StumaxbEmitter<T0, T1>>::stumaxb(self, op0, op1);
13170 }
13171 pub fn stumaxh<T0, T1>(&mut self, op0: T0, op1: T1)
13172 where
13173 Self: StumaxhEmitter<T0, T1>,
13174 {
13175 <Self as StumaxhEmitter<T0, T1>>::stumaxh(self, op0, op1);
13176 }
13177 pub fn stumaxl<T0, T1>(&mut self, op0: T0, op1: T1)
13178 where
13179 Self: StumaxlEmitter<T0, T1>,
13180 {
13181 <Self as StumaxlEmitter<T0, T1>>::stumaxl(self, op0, op1);
13182 }
13183 pub fn stumaxlb<T0, T1>(&mut self, op0: T0, op1: T1)
13184 where
13185 Self: StumaxlbEmitter<T0, T1>,
13186 {
13187 <Self as StumaxlbEmitter<T0, T1>>::stumaxlb(self, op0, op1);
13188 }
13189 pub fn stumaxlh<T0, T1>(&mut self, op0: T0, op1: T1)
13190 where
13191 Self: StumaxlhEmitter<T0, T1>,
13192 {
13193 <Self as StumaxlhEmitter<T0, T1>>::stumaxlh(self, op0, op1);
13194 }
13195 pub fn stumin<T0, T1>(&mut self, op0: T0, op1: T1)
13196 where
13197 Self: StuminEmitter<T0, T1>,
13198 {
13199 <Self as StuminEmitter<T0, T1>>::stumin(self, op0, op1);
13200 }
13201 pub fn stuminb<T0, T1>(&mut self, op0: T0, op1: T1)
13202 where
13203 Self: StuminbEmitter<T0, T1>,
13204 {
13205 <Self as StuminbEmitter<T0, T1>>::stuminb(self, op0, op1);
13206 }
13207 pub fn stuminh<T0, T1>(&mut self, op0: T0, op1: T1)
13208 where
13209 Self: StuminhEmitter<T0, T1>,
13210 {
13211 <Self as StuminhEmitter<T0, T1>>::stuminh(self, op0, op1);
13212 }
13213 pub fn stuminl<T0, T1>(&mut self, op0: T0, op1: T1)
13214 where
13215 Self: StuminlEmitter<T0, T1>,
13216 {
13217 <Self as StuminlEmitter<T0, T1>>::stuminl(self, op0, op1);
13218 }
13219 pub fn stuminlb<T0, T1>(&mut self, op0: T0, op1: T1)
13220 where
13221 Self: StuminlbEmitter<T0, T1>,
13222 {
13223 <Self as StuminlbEmitter<T0, T1>>::stuminlb(self, op0, op1);
13224 }
13225 pub fn stuminlh<T0, T1>(&mut self, op0: T0, op1: T1)
13226 where
13227 Self: StuminlhEmitter<T0, T1>,
13228 {
13229 <Self as StuminlhEmitter<T0, T1>>::stuminlh(self, op0, op1);
13230 }
13231 pub fn stur<T0, T1>(&mut self, op0: T0, op1: T1)
13232 where
13233 Self: SturEmitter<T0, T1>,
13234 {
13235 <Self as SturEmitter<T0, T1>>::stur(self, op0, op1);
13236 }
13237 pub fn sturb<T0, T1>(&mut self, op0: T0, op1: T1)
13238 where
13239 Self: SturbEmitter<T0, T1>,
13240 {
13241 <Self as SturbEmitter<T0, T1>>::sturb(self, op0, op1);
13242 }
13243 pub fn sturh<T0, T1>(&mut self, op0: T0, op1: T1)
13244 where
13245 Self: SturhEmitter<T0, T1>,
13246 {
13247 <Self as SturhEmitter<T0, T1>>::sturh(self, op0, op1);
13248 }
13249 pub fn stxp<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
13250 where
13251 Self: StxpEmitter<T0, T1, T2, T3>,
13252 {
13253 <Self as StxpEmitter<T0, T1, T2, T3>>::stxp(self, op0, op1, op2, op3);
13254 }
13255 pub fn stlxp<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
13256 where
13257 Self: StlxpEmitter<T0, T1, T2, T3>,
13258 {
13259 <Self as StlxpEmitter<T0, T1, T2, T3>>::stlxp(self, op0, op1, op2, op3);
13260 }
13261 pub fn stxr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13262 where
13263 Self: StxrEmitter<T0, T1, T2>,
13264 {
13265 <Self as StxrEmitter<T0, T1, T2>>::stxr(self, op0, op1, op2);
13266 }
13267 pub fn stxrb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13268 where
13269 Self: StxrbEmitter<T0, T1, T2>,
13270 {
13271 <Self as StxrbEmitter<T0, T1, T2>>::stxrb(self, op0, op1, op2);
13272 }
13273 pub fn stxrh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13274 where
13275 Self: StxrhEmitter<T0, T1, T2>,
13276 {
13277 <Self as StxrhEmitter<T0, T1, T2>>::stxrh(self, op0, op1, op2);
13278 }
13279 pub fn swp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13280 where
13281 Self: SwpEmitter<T0, T1, T2>,
13282 {
13283 <Self as SwpEmitter<T0, T1, T2>>::swp(self, op0, op1, op2);
13284 }
13285 pub fn swpa<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13286 where
13287 Self: SwpaEmitter<T0, T1, T2>,
13288 {
13289 <Self as SwpaEmitter<T0, T1, T2>>::swpa(self, op0, op1, op2);
13290 }
13291 pub fn swpab<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13292 where
13293 Self: SwpabEmitter<T0, T1, T2>,
13294 {
13295 <Self as SwpabEmitter<T0, T1, T2>>::swpab(self, op0, op1, op2);
13296 }
13297 pub fn swpah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13298 where
13299 Self: SwpahEmitter<T0, T1, T2>,
13300 {
13301 <Self as SwpahEmitter<T0, T1, T2>>::swpah(self, op0, op1, op2);
13302 }
13303 pub fn swpal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13304 where
13305 Self: SwpalEmitter<T0, T1, T2>,
13306 {
13307 <Self as SwpalEmitter<T0, T1, T2>>::swpal(self, op0, op1, op2);
13308 }
13309 pub fn swpalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13310 where
13311 Self: SwpalbEmitter<T0, T1, T2>,
13312 {
13313 <Self as SwpalbEmitter<T0, T1, T2>>::swpalb(self, op0, op1, op2);
13314 }
13315 pub fn swpalh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13316 where
13317 Self: SwpalhEmitter<T0, T1, T2>,
13318 {
13319 <Self as SwpalhEmitter<T0, T1, T2>>::swpalh(self, op0, op1, op2);
13320 }
13321 pub fn swpb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13322 where
13323 Self: SwpbEmitter<T0, T1, T2>,
13324 {
13325 <Self as SwpbEmitter<T0, T1, T2>>::swpb(self, op0, op1, op2);
13326 }
13327 pub fn swph<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13328 where
13329 Self: SwphEmitter<T0, T1, T2>,
13330 {
13331 <Self as SwphEmitter<T0, T1, T2>>::swph(self, op0, op1, op2);
13332 }
13333 pub fn swpl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13334 where
13335 Self: SwplEmitter<T0, T1, T2>,
13336 {
13337 <Self as SwplEmitter<T0, T1, T2>>::swpl(self, op0, op1, op2);
13338 }
13339 pub fn swplb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13340 where
13341 Self: SwplbEmitter<T0, T1, T2>,
13342 {
13343 <Self as SwplbEmitter<T0, T1, T2>>::swplb(self, op0, op1, op2);
13344 }
13345 pub fn swplh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13346 where
13347 Self: SwplhEmitter<T0, T1, T2>,
13348 {
13349 <Self as SwplhEmitter<T0, T1, T2>>::swplh(self, op0, op1, op2);
13350 }
13351 pub fn bti<T0>(&mut self, op0: T0)
13352 where
13353 Self: BtiEmitter<T0>,
13354 {
13355 <Self as BtiEmitter<T0>>::bti(self, op0);
13356 }
13357 pub fn chkfeat<T0>(&mut self, op0: T0)
13358 where
13359 Self: ChkfeatEmitter<T0>,
13360 {
13361 <Self as ChkfeatEmitter<T0>>::chkfeat(self, op0);
13362 }
13363 pub fn clrbhb(&mut self)
13364 where
13365 Self: ClrbhbEmitter,
13366 {
13367 <Self as ClrbhbEmitter>::clrbhb(self);
13368 }
13369 pub fn crc32b<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13370 where
13371 Self: Crc32bEmitter<T0, T1, T2>,
13372 {
13373 <Self as Crc32bEmitter<T0, T1, T2>>::crc32b(self, op0, op1, op2);
13374 }
13375 pub fn crc32h<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13376 where
13377 Self: Crc32hEmitter<T0, T1, T2>,
13378 {
13379 <Self as Crc32hEmitter<T0, T1, T2>>::crc32h(self, op0, op1, op2);
13380 }
13381 pub fn crc32w<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13382 where
13383 Self: Crc32wEmitter<T0, T1, T2>,
13384 {
13385 <Self as Crc32wEmitter<T0, T1, T2>>::crc32w(self, op0, op1, op2);
13386 }
13387 pub fn crc32x<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13388 where
13389 Self: Crc32xEmitter<T0, T1, T2>,
13390 {
13391 <Self as Crc32xEmitter<T0, T1, T2>>::crc32x(self, op0, op1, op2);
13392 }
13393 pub fn crc32cb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13394 where
13395 Self: Crc32cbEmitter<T0, T1, T2>,
13396 {
13397 <Self as Crc32cbEmitter<T0, T1, T2>>::crc32cb(self, op0, op1, op2);
13398 }
13399 pub fn crc32ch<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13400 where
13401 Self: Crc32chEmitter<T0, T1, T2>,
13402 {
13403 <Self as Crc32chEmitter<T0, T1, T2>>::crc32ch(self, op0, op1, op2);
13404 }
13405 pub fn crc32cw<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13406 where
13407 Self: Crc32cwEmitter<T0, T1, T2>,
13408 {
13409 <Self as Crc32cwEmitter<T0, T1, T2>>::crc32cw(self, op0, op1, op2);
13410 }
13411 pub fn crc32cx<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13412 where
13413 Self: Crc32cxEmitter<T0, T1, T2>,
13414 {
13415 <Self as Crc32cxEmitter<T0, T1, T2>>::crc32cx(self, op0, op1, op2);
13416 }
13417 pub fn abs<T0, T1>(&mut self, op0: T0, op1: T1)
13418 where
13419 Self: AbsEmitter<T0, T1>,
13420 {
13421 <Self as AbsEmitter<T0, T1>>::abs(self, op0, op1);
13422 }
13423 pub fn cnt<T0, T1>(&mut self, op0: T0, op1: T1)
13424 where
13425 Self: CntEmitter<T0, T1>,
13426 {
13427 <Self as CntEmitter<T0, T1>>::cnt(self, op0, op1);
13428 }
13429 pub fn ctz<T0, T1>(&mut self, op0: T0, op1: T1)
13430 where
13431 Self: CtzEmitter<T0, T1>,
13432 {
13433 <Self as CtzEmitter<T0, T1>>::ctz(self, op0, op1);
13434 }
13435 pub fn smax<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13436 where
13437 Self: SmaxEmitter<T0, T1, T2>,
13438 {
13439 <Self as SmaxEmitter<T0, T1, T2>>::smax(self, op0, op1, op2);
13440 }
13441 pub fn smin<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13442 where
13443 Self: SminEmitter<T0, T1, T2>,
13444 {
13445 <Self as SminEmitter<T0, T1, T2>>::smin(self, op0, op1, op2);
13446 }
13447 pub fn umax<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13448 where
13449 Self: UmaxEmitter<T0, T1, T2>,
13450 {
13451 <Self as UmaxEmitter<T0, T1, T2>>::umax(self, op0, op1, op2);
13452 }
13453 pub fn umin<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13454 where
13455 Self: UminEmitter<T0, T1, T2>,
13456 {
13457 <Self as UminEmitter<T0, T1, T2>>::umin(self, op0, op1, op2);
13458 }
13459 pub fn dgh(&mut self)
13460 where
13461 Self: DghEmitter,
13462 {
13463 <Self as DghEmitter>::dgh(self);
13464 }
13465 pub fn cfinv(&mut self)
13466 where
13467 Self: CfinvEmitter,
13468 {
13469 <Self as CfinvEmitter>::cfinv(self);
13470 }
13471 pub fn setf8<T0>(&mut self, op0: T0)
13472 where
13473 Self: Setf8Emitter<T0>,
13474 {
13475 <Self as Setf8Emitter<T0>>::setf8(self, op0);
13476 }
13477 pub fn setf16<T0>(&mut self, op0: T0)
13478 where
13479 Self: Setf16Emitter<T0>,
13480 {
13481 <Self as Setf16Emitter<T0>>::setf16(self, op0);
13482 }
13483 pub fn axflag(&mut self)
13484 where
13485 Self: AxflagEmitter,
13486 {
13487 <Self as AxflagEmitter>::axflag(self);
13488 }
13489 pub fn xaflag(&mut self)
13490 where
13491 Self: XaflagEmitter,
13492 {
13493 <Self as XaflagEmitter>::xaflag(self);
13494 }
13495 pub fn bc_eq<T0>(&mut self, op0: T0)
13496 where
13497 Self: BcEmitter<T0>,
13498 {
13499 <Self as BcEmitter<T0>>::bc_eq(self, op0);
13500 }
13501 pub fn bc_ne<T0>(&mut self, op0: T0)
13502 where
13503 Self: BcEmitter<T0>,
13504 {
13505 <Self as BcEmitter<T0>>::bc_ne(self, op0);
13506 }
13507 pub fn bc_cs<T0>(&mut self, op0: T0)
13508 where
13509 Self: BcEmitter<T0>,
13510 {
13511 <Self as BcEmitter<T0>>::bc_cs(self, op0);
13512 }
13513 pub fn bc_hs<T0>(&mut self, op0: T0)
13514 where
13515 Self: BcEmitter<T0>,
13516 {
13517 <Self as BcEmitter<T0>>::bc_hs(self, op0);
13518 }
13519 pub fn bc_cc<T0>(&mut self, op0: T0)
13520 where
13521 Self: BcEmitter<T0>,
13522 {
13523 <Self as BcEmitter<T0>>::bc_cc(self, op0);
13524 }
13525 pub fn bc_lo<T0>(&mut self, op0: T0)
13526 where
13527 Self: BcEmitter<T0>,
13528 {
13529 <Self as BcEmitter<T0>>::bc_lo(self, op0);
13530 }
13531 pub fn bc_mi<T0>(&mut self, op0: T0)
13532 where
13533 Self: BcEmitter<T0>,
13534 {
13535 <Self as BcEmitter<T0>>::bc_mi(self, op0);
13536 }
13537 pub fn bc_pl<T0>(&mut self, op0: T0)
13538 where
13539 Self: BcEmitter<T0>,
13540 {
13541 <Self as BcEmitter<T0>>::bc_pl(self, op0);
13542 }
13543 pub fn bc_vs<T0>(&mut self, op0: T0)
13544 where
13545 Self: BcEmitter<T0>,
13546 {
13547 <Self as BcEmitter<T0>>::bc_vs(self, op0);
13548 }
13549 pub fn bc_vc<T0>(&mut self, op0: T0)
13550 where
13551 Self: BcEmitter<T0>,
13552 {
13553 <Self as BcEmitter<T0>>::bc_vc(self, op0);
13554 }
13555 pub fn bc_hi<T0>(&mut self, op0: T0)
13556 where
13557 Self: BcEmitter<T0>,
13558 {
13559 <Self as BcEmitter<T0>>::bc_hi(self, op0);
13560 }
13561 pub fn bc_ls<T0>(&mut self, op0: T0)
13562 where
13563 Self: BcEmitter<T0>,
13564 {
13565 <Self as BcEmitter<T0>>::bc_ls(self, op0);
13566 }
13567 pub fn bc_ge<T0>(&mut self, op0: T0)
13568 where
13569 Self: BcEmitter<T0>,
13570 {
13571 <Self as BcEmitter<T0>>::bc_ge(self, op0);
13572 }
13573 pub fn bc_lt<T0>(&mut self, op0: T0)
13574 where
13575 Self: BcEmitter<T0>,
13576 {
13577 <Self as BcEmitter<T0>>::bc_lt(self, op0);
13578 }
13579 pub fn bc_gt<T0>(&mut self, op0: T0)
13580 where
13581 Self: BcEmitter<T0>,
13582 {
13583 <Self as BcEmitter<T0>>::bc_gt(self, op0);
13584 }
13585 pub fn bc_le<T0>(&mut self, op0: T0)
13586 where
13587 Self: BcEmitter<T0>,
13588 {
13589 <Self as BcEmitter<T0>>::bc_le(self, op0);
13590 }
13591 pub fn bc_al<T0>(&mut self, op0: T0)
13592 where
13593 Self: BcEmitter<T0>,
13594 {
13595 <Self as BcEmitter<T0>>::bc_al(self, op0);
13596 }
13597 pub fn autda<T0, T1>(&mut self, op0: T0, op1: T1)
13598 where
13599 Self: AutdaEmitter<T0, T1>,
13600 {
13601 <Self as AutdaEmitter<T0, T1>>::autda(self, op0, op1);
13602 }
13603 pub fn autdb<T0, T1>(&mut self, op0: T0, op1: T1)
13604 where
13605 Self: AutdbEmitter<T0, T1>,
13606 {
13607 <Self as AutdbEmitter<T0, T1>>::autdb(self, op0, op1);
13608 }
13609 pub fn autdza<T0>(&mut self, op0: T0)
13610 where
13611 Self: AutdzaEmitter<T0>,
13612 {
13613 <Self as AutdzaEmitter<T0>>::autdza(self, op0);
13614 }
13615 pub fn autdzb<T0>(&mut self, op0: T0)
13616 where
13617 Self: AutdzbEmitter<T0>,
13618 {
13619 <Self as AutdzbEmitter<T0>>::autdzb(self, op0);
13620 }
13621 pub fn autia<T0, T1>(&mut self, op0: T0, op1: T1)
13622 where
13623 Self: AutiaEmitter<T0, T1>,
13624 {
13625 <Self as AutiaEmitter<T0, T1>>::autia(self, op0, op1);
13626 }
13627 pub fn autia1716(&mut self)
13628 where
13629 Self: Autia1716Emitter,
13630 {
13631 <Self as Autia1716Emitter>::autia1716(self);
13632 }
13633 pub fn autiasp(&mut self)
13634 where
13635 Self: AutiaspEmitter,
13636 {
13637 <Self as AutiaspEmitter>::autiasp(self);
13638 }
13639 pub fn autiaz(&mut self)
13640 where
13641 Self: AutiazEmitter,
13642 {
13643 <Self as AutiazEmitter>::autiaz(self);
13644 }
13645 pub fn autib<T0, T1>(&mut self, op0: T0, op1: T1)
13646 where
13647 Self: AutibEmitter<T0, T1>,
13648 {
13649 <Self as AutibEmitter<T0, T1>>::autib(self, op0, op1);
13650 }
13651 pub fn autib1716(&mut self)
13652 where
13653 Self: Autib1716Emitter,
13654 {
13655 <Self as Autib1716Emitter>::autib1716(self);
13656 }
13657 pub fn autibsp(&mut self)
13658 where
13659 Self: AutibspEmitter,
13660 {
13661 <Self as AutibspEmitter>::autibsp(self);
13662 }
13663 pub fn autibz(&mut self)
13664 where
13665 Self: AutibzEmitter,
13666 {
13667 <Self as AutibzEmitter>::autibz(self);
13668 }
13669 pub fn autiza<T0>(&mut self, op0: T0)
13670 where
13671 Self: AutizaEmitter<T0>,
13672 {
13673 <Self as AutizaEmitter<T0>>::autiza(self, op0);
13674 }
13675 pub fn autizb<T0>(&mut self, op0: T0)
13676 where
13677 Self: AutizbEmitter<T0>,
13678 {
13679 <Self as AutizbEmitter<T0>>::autizb(self, op0);
13680 }
13681 pub fn gmi<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13682 where
13683 Self: GmiEmitter<T0, T1, T2>,
13684 {
13685 <Self as GmiEmitter<T0, T1, T2>>::gmi(self, op0, op1, op2);
13686 }
13687 pub fn cmpp<T0, T1>(&mut self, op0: T0, op1: T1)
13688 where
13689 Self: CmppEmitter<T0, T1>,
13690 {
13691 <Self as CmppEmitter<T0, T1>>::cmpp(self, op0, op1);
13692 }
13693 pub fn addg<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
13694 where
13695 Self: AddgEmitter<T0, T1, T2, T3>,
13696 {
13697 <Self as AddgEmitter<T0, T1, T2, T3>>::addg(self, op0, op1, op2, op3);
13698 }
13699 pub fn ldg<T0, T1>(&mut self, op0: T0, op1: T1)
13700 where
13701 Self: LdgEmitter<T0, T1>,
13702 {
13703 <Self as LdgEmitter<T0, T1>>::ldg(self, op0, op1);
13704 }
13705 pub fn ldgm<T0, T1>(&mut self, op0: T0, op1: T1)
13706 where
13707 Self: LdgmEmitter<T0, T1>,
13708 {
13709 <Self as LdgmEmitter<T0, T1>>::ldgm(self, op0, op1);
13710 }
13711 pub fn ldraa<T0, T1>(&mut self, op0: T0, op1: T1)
13712 where
13713 Self: LdraaEmitter<T0, T1>,
13714 {
13715 <Self as LdraaEmitter<T0, T1>>::ldraa(self, op0, op1);
13716 }
13717 pub fn ldrab<T0, T1>(&mut self, op0: T0, op1: T1)
13718 where
13719 Self: LdrabEmitter<T0, T1>,
13720 {
13721 <Self as LdrabEmitter<T0, T1>>::ldrab(self, op0, op1);
13722 }
13723 pub fn pacda<T0, T1>(&mut self, op0: T0, op1: T1)
13724 where
13725 Self: PacdaEmitter<T0, T1>,
13726 {
13727 <Self as PacdaEmitter<T0, T1>>::pacda(self, op0, op1);
13728 }
13729 pub fn pacdb<T0, T1>(&mut self, op0: T0, op1: T1)
13730 where
13731 Self: PacdbEmitter<T0, T1>,
13732 {
13733 <Self as PacdbEmitter<T0, T1>>::pacdb(self, op0, op1);
13734 }
13735 pub fn pacdza<T0>(&mut self, op0: T0)
13736 where
13737 Self: PacdzaEmitter<T0>,
13738 {
13739 <Self as PacdzaEmitter<T0>>::pacdza(self, op0);
13740 }
13741 pub fn pacdzb<T0>(&mut self, op0: T0)
13742 where
13743 Self: PacdzbEmitter<T0>,
13744 {
13745 <Self as PacdzbEmitter<T0>>::pacdzb(self, op0);
13746 }
13747 pub fn pacga<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13748 where
13749 Self: PacgaEmitter<T0, T1, T2>,
13750 {
13751 <Self as PacgaEmitter<T0, T1, T2>>::pacga(self, op0, op1, op2);
13752 }
13753 pub fn subp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13754 where
13755 Self: SubpEmitter<T0, T1, T2>,
13756 {
13757 <Self as SubpEmitter<T0, T1, T2>>::subp(self, op0, op1, op2);
13758 }
13759 pub fn subps<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13760 where
13761 Self: SubpsEmitter<T0, T1, T2>,
13762 {
13763 <Self as SubpsEmitter<T0, T1, T2>>::subps(self, op0, op1, op2);
13764 }
13765 pub fn subg<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
13766 where
13767 Self: SubgEmitter<T0, T1, T2, T3>,
13768 {
13769 <Self as SubgEmitter<T0, T1, T2, T3>>::subg(self, op0, op1, op2, op3);
13770 }
13771 pub fn st2g<T0, T1>(&mut self, op0: T0, op1: T1)
13772 where
13773 Self: St2gEmitter<T0, T1>,
13774 {
13775 <Self as St2gEmitter<T0, T1>>::st2g(self, op0, op1);
13776 }
13777 pub fn stg<T0, T1>(&mut self, op0: T0, op1: T1)
13778 where
13779 Self: StgEmitter<T0, T1>,
13780 {
13781 <Self as StgEmitter<T0, T1>>::stg(self, op0, op1);
13782 }
13783 pub fn stgp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13784 where
13785 Self: StgpEmitter<T0, T1, T2>,
13786 {
13787 <Self as StgpEmitter<T0, T1, T2>>::stgp(self, op0, op1, op2);
13788 }
13789 pub fn stgm<T0, T1>(&mut self, op0: T0, op1: T1)
13790 where
13791 Self: StgmEmitter<T0, T1>,
13792 {
13793 <Self as StgmEmitter<T0, T1>>::stgm(self, op0, op1);
13794 }
13795 pub fn stzg<T0, T1>(&mut self, op0: T0, op1: T1)
13796 where
13797 Self: StzgEmitter<T0, T1>,
13798 {
13799 <Self as StzgEmitter<T0, T1>>::stzg(self, op0, op1);
13800 }
13801 pub fn stz2g<T0, T1>(&mut self, op0: T0, op1: T1)
13802 where
13803 Self: Stz2gEmitter<T0, T1>,
13804 {
13805 <Self as Stz2gEmitter<T0, T1>>::stz2g(self, op0, op1);
13806 }
13807 pub fn stzgm<T0, T1>(&mut self, op0: T0, op1: T1)
13808 where
13809 Self: StzgmEmitter<T0, T1>,
13810 {
13811 <Self as StzgmEmitter<T0, T1>>::stzgm(self, op0, op1);
13812 }
13813 pub fn xpacd<T0>(&mut self, op0: T0)
13814 where
13815 Self: XpacdEmitter<T0>,
13816 {
13817 <Self as XpacdEmitter<T0>>::xpacd(self, op0);
13818 }
13819 pub fn xpaci<T0>(&mut self, op0: T0)
13820 where
13821 Self: XpaciEmitter<T0>,
13822 {
13823 <Self as XpaciEmitter<T0>>::xpaci(self, op0);
13824 }
13825 pub fn xpaclri(&mut self)
13826 where
13827 Self: XpaclriEmitter,
13828 {
13829 <Self as XpaclriEmitter>::xpaclri(self);
13830 }
13831 pub fn hint<T0>(&mut self, op0: T0)
13832 where
13833 Self: HintEmitter<T0>,
13834 {
13835 <Self as HintEmitter<T0>>::hint(self, op0);
13836 }
13837 pub fn nop(&mut self)
13838 where
13839 Self: NopEmitter,
13840 {
13841 <Self as NopEmitter>::nop(self);
13842 }
13843 pub fn sev(&mut self)
13844 where
13845 Self: SevEmitter,
13846 {
13847 <Self as SevEmitter>::sev(self);
13848 }
13849 pub fn sevl(&mut self)
13850 where
13851 Self: SevlEmitter,
13852 {
13853 <Self as SevlEmitter>::sevl(self);
13854 }
13855 pub fn wfe(&mut self)
13856 where
13857 Self: WfeEmitter,
13858 {
13859 <Self as WfeEmitter>::wfe(self);
13860 }
13861 pub fn wfi(&mut self)
13862 where
13863 Self: WfiEmitter,
13864 {
13865 <Self as WfiEmitter>::wfi(self);
13866 }
13867 pub fn r#yield(&mut self)
13868 where
13869 Self: YieldEmitter,
13870 {
13871 <Self as YieldEmitter>::r#yield(self);
13872 }
13873 pub fn addhn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13874 where
13875 Self: AddhnEmitter<T0, T1, T2>,
13876 {
13877 <Self as AddhnEmitter<T0, T1, T2>>::addhn(self, op0, op1, op2);
13878 }
13879 pub fn addhn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13880 where
13881 Self: Addhn2Emitter<T0, T1, T2>,
13882 {
13883 <Self as Addhn2Emitter<T0, T1, T2>>::addhn2(self, op0, op1, op2);
13884 }
13885 pub fn addp<T0, T1>(&mut self, op0: T0, op1: T1)
13886 where
13887 Self: AddpEmitter<T0, T1>,
13888 {
13889 <Self as AddpEmitter<T0, T1>>::addp(self, op0, op1);
13890 }
13891 pub fn addp_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13892 where
13893 Self: Addp3Emitter<T0, T1, T2>,
13894 {
13895 <Self as Addp3Emitter<T0, T1, T2>>::addp_3(self, op0, op1, op2);
13896 }
13897 pub fn addv<T0, T1>(&mut self, op0: T0, op1: T1)
13898 where
13899 Self: AddvEmitter<T0, T1>,
13900 {
13901 <Self as AddvEmitter<T0, T1>>::addv(self, op0, op1);
13902 }
13903 pub fn bic_2<T0, T1>(&mut self, op0: T0, op1: T1)
13904 where
13905 Self: Bic2Emitter<T0, T1>,
13906 {
13907 <Self as Bic2Emitter<T0, T1>>::bic_2(self, op0, op1);
13908 }
13909 pub fn bif<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13910 where
13911 Self: BifEmitter<T0, T1, T2>,
13912 {
13913 <Self as BifEmitter<T0, T1, T2>>::bif(self, op0, op1, op2);
13914 }
13915 pub fn bit<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13916 where
13917 Self: BitEmitter<T0, T1, T2>,
13918 {
13919 <Self as BitEmitter<T0, T1, T2>>::bit(self, op0, op1, op2);
13920 }
13921 pub fn bsl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13922 where
13923 Self: BslEmitter<T0, T1, T2>,
13924 {
13925 <Self as BslEmitter<T0, T1, T2>>::bsl(self, op0, op1, op2);
13926 }
13927 pub fn cmeq<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13928 where
13929 Self: CmeqEmitter<T0, T1, T2>,
13930 {
13931 <Self as CmeqEmitter<T0, T1, T2>>::cmeq(self, op0, op1, op2);
13932 }
13933 pub fn cmge<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13934 where
13935 Self: CmgeEmitter<T0, T1, T2>,
13936 {
13937 <Self as CmgeEmitter<T0, T1, T2>>::cmge(self, op0, op1, op2);
13938 }
13939 pub fn cmgt<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13940 where
13941 Self: CmgtEmitter<T0, T1, T2>,
13942 {
13943 <Self as CmgtEmitter<T0, T1, T2>>::cmgt(self, op0, op1, op2);
13944 }
13945 pub fn cmhi<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13946 where
13947 Self: CmhiEmitter<T0, T1, T2>,
13948 {
13949 <Self as CmhiEmitter<T0, T1, T2>>::cmhi(self, op0, op1, op2);
13950 }
13951 pub fn cmhs<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13952 where
13953 Self: CmhsEmitter<T0, T1, T2>,
13954 {
13955 <Self as CmhsEmitter<T0, T1, T2>>::cmhs(self, op0, op1, op2);
13956 }
13957 pub fn cmle<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13958 where
13959 Self: CmleEmitter<T0, T1, T2>,
13960 {
13961 <Self as CmleEmitter<T0, T1, T2>>::cmle(self, op0, op1, op2);
13962 }
13963 pub fn cmlt<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13964 where
13965 Self: CmltEmitter<T0, T1, T2>,
13966 {
13967 <Self as CmltEmitter<T0, T1, T2>>::cmlt(self, op0, op1, op2);
13968 }
13969 pub fn cmtst<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13970 where
13971 Self: CmtstEmitter<T0, T1, T2>,
13972 {
13973 <Self as CmtstEmitter<T0, T1, T2>>::cmtst(self, op0, op1, op2);
13974 }
13975 pub fn dup<T0, T1>(&mut self, op0: T0, op1: T1)
13976 where
13977 Self: DupEmitter<T0, T1>,
13978 {
13979 <Self as DupEmitter<T0, T1>>::dup(self, op0, op1);
13980 }
13981 pub fn ext<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
13982 where
13983 Self: ExtEmitter<T0, T1, T2, T3>,
13984 {
13985 <Self as ExtEmitter<T0, T1, T2, T3>>::ext(self, op0, op1, op2, op3);
13986 }
13987 pub fn fabd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
13988 where
13989 Self: FabdEmitter<T0, T1, T2>,
13990 {
13991 <Self as FabdEmitter<T0, T1, T2>>::fabd(self, op0, op1, op2);
13992 }
13993 pub fn fabs<T0, T1>(&mut self, op0: T0, op1: T1)
13994 where
13995 Self: FabsEmitter<T0, T1>,
13996 {
13997 <Self as FabsEmitter<T0, T1>>::fabs(self, op0, op1);
13998 }
13999 pub fn facge<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14000 where
14001 Self: FacgeEmitter<T0, T1, T2>,
14002 {
14003 <Self as FacgeEmitter<T0, T1, T2>>::facge(self, op0, op1, op2);
14004 }
14005 pub fn facgt<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14006 where
14007 Self: FacgtEmitter<T0, T1, T2>,
14008 {
14009 <Self as FacgtEmitter<T0, T1, T2>>::facgt(self, op0, op1, op2);
14010 }
14011 pub fn fadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14012 where
14013 Self: FaddEmitter<T0, T1, T2>,
14014 {
14015 <Self as FaddEmitter<T0, T1, T2>>::fadd(self, op0, op1, op2);
14016 }
14017 pub fn faddp<T0, T1>(&mut self, op0: T0, op1: T1)
14018 where
14019 Self: FaddpEmitter<T0, T1>,
14020 {
14021 <Self as FaddpEmitter<T0, T1>>::faddp(self, op0, op1);
14022 }
14023 pub fn faddp_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14024 where
14025 Self: Faddp3Emitter<T0, T1, T2>,
14026 {
14027 <Self as Faddp3Emitter<T0, T1, T2>>::faddp_3(self, op0, op1, op2);
14028 }
14029 pub fn fccmp<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14030 where
14031 Self: FccmpEmitter<T0, T1, T2, T3>,
14032 {
14033 <Self as FccmpEmitter<T0, T1, T2, T3>>::fccmp(self, op0, op1, op2, op3);
14034 }
14035 pub fn fccmpe<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14036 where
14037 Self: FccmpeEmitter<T0, T1, T2, T3>,
14038 {
14039 <Self as FccmpeEmitter<T0, T1, T2, T3>>::fccmpe(self, op0, op1, op2, op3);
14040 }
14041 pub fn fcmeq<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14042 where
14043 Self: FcmeqEmitter<T0, T1, T2>,
14044 {
14045 <Self as FcmeqEmitter<T0, T1, T2>>::fcmeq(self, op0, op1, op2);
14046 }
14047 pub fn fcmge<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14048 where
14049 Self: FcmgeEmitter<T0, T1, T2>,
14050 {
14051 <Self as FcmgeEmitter<T0, T1, T2>>::fcmge(self, op0, op1, op2);
14052 }
14053 pub fn fcmgt<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14054 where
14055 Self: FcmgtEmitter<T0, T1, T2>,
14056 {
14057 <Self as FcmgtEmitter<T0, T1, T2>>::fcmgt(self, op0, op1, op2);
14058 }
14059 pub fn fcmle<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14060 where
14061 Self: FcmleEmitter<T0, T1, T2>,
14062 {
14063 <Self as FcmleEmitter<T0, T1, T2>>::fcmle(self, op0, op1, op2);
14064 }
14065 pub fn fcmlt<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14066 where
14067 Self: FcmltEmitter<T0, T1, T2>,
14068 {
14069 <Self as FcmltEmitter<T0, T1, T2>>::fcmlt(self, op0, op1, op2);
14070 }
14071 pub fn fcmp<T0, T1>(&mut self, op0: T0, op1: T1)
14072 where
14073 Self: FcmpEmitter<T0, T1>,
14074 {
14075 <Self as FcmpEmitter<T0, T1>>::fcmp(self, op0, op1);
14076 }
14077 pub fn fcmpe<T0, T1>(&mut self, op0: T0, op1: T1)
14078 where
14079 Self: FcmpeEmitter<T0, T1>,
14080 {
14081 <Self as FcmpeEmitter<T0, T1>>::fcmpe(self, op0, op1);
14082 }
14083 pub fn fcsel<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14084 where
14085 Self: FcselEmitter<T0, T1, T2, T3>,
14086 {
14087 <Self as FcselEmitter<T0, T1, T2, T3>>::fcsel(self, op0, op1, op2, op3);
14088 }
14089 pub fn fcvt<T0, T1>(&mut self, op0: T0, op1: T1)
14090 where
14091 Self: FcvtEmitter<T0, T1>,
14092 {
14093 <Self as FcvtEmitter<T0, T1>>::fcvt(self, op0, op1);
14094 }
14095 pub fn fcvtas<T0, T1>(&mut self, op0: T0, op1: T1)
14096 where
14097 Self: FcvtasEmitter<T0, T1>,
14098 {
14099 <Self as FcvtasEmitter<T0, T1>>::fcvtas(self, op0, op1);
14100 }
14101 pub fn fcvtau<T0, T1>(&mut self, op0: T0, op1: T1)
14102 where
14103 Self: FcvtauEmitter<T0, T1>,
14104 {
14105 <Self as FcvtauEmitter<T0, T1>>::fcvtau(self, op0, op1);
14106 }
14107 pub fn fcvtl<T0, T1>(&mut self, op0: T0, op1: T1)
14108 where
14109 Self: FcvtlEmitter<T0, T1>,
14110 {
14111 <Self as FcvtlEmitter<T0, T1>>::fcvtl(self, op0, op1);
14112 }
14113 pub fn fcvtl2<T0, T1>(&mut self, op0: T0, op1: T1)
14114 where
14115 Self: Fcvtl2Emitter<T0, T1>,
14116 {
14117 <Self as Fcvtl2Emitter<T0, T1>>::fcvtl2(self, op0, op1);
14118 }
14119 pub fn fcvtms<T0, T1>(&mut self, op0: T0, op1: T1)
14120 where
14121 Self: FcvtmsEmitter<T0, T1>,
14122 {
14123 <Self as FcvtmsEmitter<T0, T1>>::fcvtms(self, op0, op1);
14124 }
14125 pub fn fcvtmu<T0, T1>(&mut self, op0: T0, op1: T1)
14126 where
14127 Self: FcvtmuEmitter<T0, T1>,
14128 {
14129 <Self as FcvtmuEmitter<T0, T1>>::fcvtmu(self, op0, op1);
14130 }
14131 pub fn fcvtn<T0, T1>(&mut self, op0: T0, op1: T1)
14132 where
14133 Self: FcvtnEmitter<T0, T1>,
14134 {
14135 <Self as FcvtnEmitter<T0, T1>>::fcvtn(self, op0, op1);
14136 }
14137 pub fn fcvtn2<T0, T1>(&mut self, op0: T0, op1: T1)
14138 where
14139 Self: Fcvtn2Emitter<T0, T1>,
14140 {
14141 <Self as Fcvtn2Emitter<T0, T1>>::fcvtn2(self, op0, op1);
14142 }
14143 pub fn fcvtns<T0, T1>(&mut self, op0: T0, op1: T1)
14144 where
14145 Self: FcvtnsEmitter<T0, T1>,
14146 {
14147 <Self as FcvtnsEmitter<T0, T1>>::fcvtns(self, op0, op1);
14148 }
14149 pub fn fcvtnu<T0, T1>(&mut self, op0: T0, op1: T1)
14150 where
14151 Self: FcvtnuEmitter<T0, T1>,
14152 {
14153 <Self as FcvtnuEmitter<T0, T1>>::fcvtnu(self, op0, op1);
14154 }
14155 pub fn fcvtps<T0, T1>(&mut self, op0: T0, op1: T1)
14156 where
14157 Self: FcvtpsEmitter<T0, T1>,
14158 {
14159 <Self as FcvtpsEmitter<T0, T1>>::fcvtps(self, op0, op1);
14160 }
14161 pub fn fcvtpu<T0, T1>(&mut self, op0: T0, op1: T1)
14162 where
14163 Self: FcvtpuEmitter<T0, T1>,
14164 {
14165 <Self as FcvtpuEmitter<T0, T1>>::fcvtpu(self, op0, op1);
14166 }
14167 pub fn fcvtxn<T0, T1>(&mut self, op0: T0, op1: T1)
14168 where
14169 Self: FcvtxnEmitter<T0, T1>,
14170 {
14171 <Self as FcvtxnEmitter<T0, T1>>::fcvtxn(self, op0, op1);
14172 }
14173 pub fn fcvtxn2<T0, T1>(&mut self, op0: T0, op1: T1)
14174 where
14175 Self: Fcvtxn2Emitter<T0, T1>,
14176 {
14177 <Self as Fcvtxn2Emitter<T0, T1>>::fcvtxn2(self, op0, op1);
14178 }
14179 pub fn fcvtzs<T0, T1>(&mut self, op0: T0, op1: T1)
14180 where
14181 Self: FcvtzsEmitter<T0, T1>,
14182 {
14183 <Self as FcvtzsEmitter<T0, T1>>::fcvtzs(self, op0, op1);
14184 }
14185 pub fn fcvtzs_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14186 where
14187 Self: Fcvtzs3Emitter<T0, T1, T2>,
14188 {
14189 <Self as Fcvtzs3Emitter<T0, T1, T2>>::fcvtzs_3(self, op0, op1, op2);
14190 }
14191 pub fn fcvtzu<T0, T1>(&mut self, op0: T0, op1: T1)
14192 where
14193 Self: FcvtzuEmitter<T0, T1>,
14194 {
14195 <Self as FcvtzuEmitter<T0, T1>>::fcvtzu(self, op0, op1);
14196 }
14197 pub fn fcvtzu_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14198 where
14199 Self: Fcvtzu3Emitter<T0, T1, T2>,
14200 {
14201 <Self as Fcvtzu3Emitter<T0, T1, T2>>::fcvtzu_3(self, op0, op1, op2);
14202 }
14203 pub fn fdiv<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14204 where
14205 Self: FdivEmitter<T0, T1, T2>,
14206 {
14207 <Self as FdivEmitter<T0, T1, T2>>::fdiv(self, op0, op1, op2);
14208 }
14209 pub fn fmadd<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14210 where
14211 Self: FmaddEmitter<T0, T1, T2, T3>,
14212 {
14213 <Self as FmaddEmitter<T0, T1, T2, T3>>::fmadd(self, op0, op1, op2, op3);
14214 }
14215 pub fn fmax<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14216 where
14217 Self: FmaxEmitter<T0, T1, T2>,
14218 {
14219 <Self as FmaxEmitter<T0, T1, T2>>::fmax(self, op0, op1, op2);
14220 }
14221 pub fn fmaxnm<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14222 where
14223 Self: FmaxnmEmitter<T0, T1, T2>,
14224 {
14225 <Self as FmaxnmEmitter<T0, T1, T2>>::fmaxnm(self, op0, op1, op2);
14226 }
14227 pub fn fmaxnmp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14228 where
14229 Self: FmaxnmpEmitter<T0, T1, T2>,
14230 {
14231 <Self as FmaxnmpEmitter<T0, T1, T2>>::fmaxnmp(self, op0, op1, op2);
14232 }
14233 pub fn fmaxnmp_2<T0, T1>(&mut self, op0: T0, op1: T1)
14234 where
14235 Self: Fmaxnmp2Emitter<T0, T1>,
14236 {
14237 <Self as Fmaxnmp2Emitter<T0, T1>>::fmaxnmp_2(self, op0, op1);
14238 }
14239 pub fn fmaxnmv<T0, T1>(&mut self, op0: T0, op1: T1)
14240 where
14241 Self: FmaxnmvEmitter<T0, T1>,
14242 {
14243 <Self as FmaxnmvEmitter<T0, T1>>::fmaxnmv(self, op0, op1);
14244 }
14245 pub fn fmaxp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14246 where
14247 Self: FmaxpEmitter<T0, T1, T2>,
14248 {
14249 <Self as FmaxpEmitter<T0, T1, T2>>::fmaxp(self, op0, op1, op2);
14250 }
14251 pub fn fmaxp_2<T0, T1>(&mut self, op0: T0, op1: T1)
14252 where
14253 Self: Fmaxp2Emitter<T0, T1>,
14254 {
14255 <Self as Fmaxp2Emitter<T0, T1>>::fmaxp_2(self, op0, op1);
14256 }
14257 pub fn fmaxv<T0, T1>(&mut self, op0: T0, op1: T1)
14258 where
14259 Self: FmaxvEmitter<T0, T1>,
14260 {
14261 <Self as FmaxvEmitter<T0, T1>>::fmaxv(self, op0, op1);
14262 }
14263 pub fn fmin<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14264 where
14265 Self: FminEmitter<T0, T1, T2>,
14266 {
14267 <Self as FminEmitter<T0, T1, T2>>::fmin(self, op0, op1, op2);
14268 }
14269 pub fn fminnm<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14270 where
14271 Self: FminnmEmitter<T0, T1, T2>,
14272 {
14273 <Self as FminnmEmitter<T0, T1, T2>>::fminnm(self, op0, op1, op2);
14274 }
14275 pub fn fminnmv<T0, T1>(&mut self, op0: T0, op1: T1)
14276 where
14277 Self: FminnmvEmitter<T0, T1>,
14278 {
14279 <Self as FminnmvEmitter<T0, T1>>::fminnmv(self, op0, op1);
14280 }
14281 pub fn fminnmp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14282 where
14283 Self: FminnmpEmitter<T0, T1, T2>,
14284 {
14285 <Self as FminnmpEmitter<T0, T1, T2>>::fminnmp(self, op0, op1, op2);
14286 }
14287 pub fn fminnmp_2<T0, T1>(&mut self, op0: T0, op1: T1)
14288 where
14289 Self: Fminnmp2Emitter<T0, T1>,
14290 {
14291 <Self as Fminnmp2Emitter<T0, T1>>::fminnmp_2(self, op0, op1);
14292 }
14293 pub fn fminp<T0, T1>(&mut self, op0: T0, op1: T1)
14294 where
14295 Self: FminpEmitter<T0, T1>,
14296 {
14297 <Self as FminpEmitter<T0, T1>>::fminp(self, op0, op1);
14298 }
14299 pub fn fminp_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14300 where
14301 Self: Fminp3Emitter<T0, T1, T2>,
14302 {
14303 <Self as Fminp3Emitter<T0, T1, T2>>::fminp_3(self, op0, op1, op2);
14304 }
14305 pub fn fminv<T0, T1>(&mut self, op0: T0, op1: T1)
14306 where
14307 Self: FminvEmitter<T0, T1>,
14308 {
14309 <Self as FminvEmitter<T0, T1>>::fminv(self, op0, op1);
14310 }
14311 pub fn fmla<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14312 where
14313 Self: FmlaEmitter<T0, T1, T2>,
14314 {
14315 <Self as FmlaEmitter<T0, T1, T2>>::fmla(self, op0, op1, op2);
14316 }
14317 pub fn fmls<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14318 where
14319 Self: FmlsEmitter<T0, T1, T2>,
14320 {
14321 <Self as FmlsEmitter<T0, T1, T2>>::fmls(self, op0, op1, op2);
14322 }
14323 pub fn fmov<T0, T1>(&mut self, op0: T0, op1: T1)
14324 where
14325 Self: FmovEmitter<T0, T1>,
14326 {
14327 <Self as FmovEmitter<T0, T1>>::fmov(self, op0, op1);
14328 }
14329 pub fn fmsub<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14330 where
14331 Self: FmsubEmitter<T0, T1, T2, T3>,
14332 {
14333 <Self as FmsubEmitter<T0, T1, T2, T3>>::fmsub(self, op0, op1, op2, op3);
14334 }
14335 pub fn fmul<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14336 where
14337 Self: FmulEmitter<T0, T1, T2>,
14338 {
14339 <Self as FmulEmitter<T0, T1, T2>>::fmul(self, op0, op1, op2);
14340 }
14341 pub fn fmulx<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14342 where
14343 Self: FmulxEmitter<T0, T1, T2>,
14344 {
14345 <Self as FmulxEmitter<T0, T1, T2>>::fmulx(self, op0, op1, op2);
14346 }
14347 pub fn fneg<T0, T1>(&mut self, op0: T0, op1: T1)
14348 where
14349 Self: FnegEmitter<T0, T1>,
14350 {
14351 <Self as FnegEmitter<T0, T1>>::fneg(self, op0, op1);
14352 }
14353 pub fn fnmadd<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14354 where
14355 Self: FnmaddEmitter<T0, T1, T2, T3>,
14356 {
14357 <Self as FnmaddEmitter<T0, T1, T2, T3>>::fnmadd(self, op0, op1, op2, op3);
14358 }
14359 pub fn fnmsub<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14360 where
14361 Self: FnmsubEmitter<T0, T1, T2, T3>,
14362 {
14363 <Self as FnmsubEmitter<T0, T1, T2, T3>>::fnmsub(self, op0, op1, op2, op3);
14364 }
14365 pub fn fnmul<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14366 where
14367 Self: FnmulEmitter<T0, T1, T2>,
14368 {
14369 <Self as FnmulEmitter<T0, T1, T2>>::fnmul(self, op0, op1, op2);
14370 }
14371 pub fn frecpe<T0, T1>(&mut self, op0: T0, op1: T1)
14372 where
14373 Self: FrecpeEmitter<T0, T1>,
14374 {
14375 <Self as FrecpeEmitter<T0, T1>>::frecpe(self, op0, op1);
14376 }
14377 pub fn frecps<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14378 where
14379 Self: FrecpsEmitter<T0, T1, T2>,
14380 {
14381 <Self as FrecpsEmitter<T0, T1, T2>>::frecps(self, op0, op1, op2);
14382 }
14383 pub fn frecpx<T0, T1>(&mut self, op0: T0, op1: T1)
14384 where
14385 Self: FrecpxEmitter<T0, T1>,
14386 {
14387 <Self as FrecpxEmitter<T0, T1>>::frecpx(self, op0, op1);
14388 }
14389 pub fn frint32x<T0, T1>(&mut self, op0: T0, op1: T1)
14390 where
14391 Self: Frint32xEmitter<T0, T1>,
14392 {
14393 <Self as Frint32xEmitter<T0, T1>>::frint32x(self, op0, op1);
14394 }
14395 pub fn frint32z<T0, T1>(&mut self, op0: T0, op1: T1)
14396 where
14397 Self: Frint32zEmitter<T0, T1>,
14398 {
14399 <Self as Frint32zEmitter<T0, T1>>::frint32z(self, op0, op1);
14400 }
14401 pub fn frint64x<T0, T1>(&mut self, op0: T0, op1: T1)
14402 where
14403 Self: Frint64xEmitter<T0, T1>,
14404 {
14405 <Self as Frint64xEmitter<T0, T1>>::frint64x(self, op0, op1);
14406 }
14407 pub fn frint64z<T0, T1>(&mut self, op0: T0, op1: T1)
14408 where
14409 Self: Frint64zEmitter<T0, T1>,
14410 {
14411 <Self as Frint64zEmitter<T0, T1>>::frint64z(self, op0, op1);
14412 }
14413 pub fn frinta<T0, T1>(&mut self, op0: T0, op1: T1)
14414 where
14415 Self: FrintaEmitter<T0, T1>,
14416 {
14417 <Self as FrintaEmitter<T0, T1>>::frinta(self, op0, op1);
14418 }
14419 pub fn frinti<T0, T1>(&mut self, op0: T0, op1: T1)
14420 where
14421 Self: FrintiEmitter<T0, T1>,
14422 {
14423 <Self as FrintiEmitter<T0, T1>>::frinti(self, op0, op1);
14424 }
14425 pub fn frintm<T0, T1>(&mut self, op0: T0, op1: T1)
14426 where
14427 Self: FrintmEmitter<T0, T1>,
14428 {
14429 <Self as FrintmEmitter<T0, T1>>::frintm(self, op0, op1);
14430 }
14431 pub fn frintn<T0, T1>(&mut self, op0: T0, op1: T1)
14432 where
14433 Self: FrintnEmitter<T0, T1>,
14434 {
14435 <Self as FrintnEmitter<T0, T1>>::frintn(self, op0, op1);
14436 }
14437 pub fn frintp<T0, T1>(&mut self, op0: T0, op1: T1)
14438 where
14439 Self: FrintpEmitter<T0, T1>,
14440 {
14441 <Self as FrintpEmitter<T0, T1>>::frintp(self, op0, op1);
14442 }
14443 pub fn frintx<T0, T1>(&mut self, op0: T0, op1: T1)
14444 where
14445 Self: FrintxEmitter<T0, T1>,
14446 {
14447 <Self as FrintxEmitter<T0, T1>>::frintx(self, op0, op1);
14448 }
14449 pub fn frintz<T0, T1>(&mut self, op0: T0, op1: T1)
14450 where
14451 Self: FrintzEmitter<T0, T1>,
14452 {
14453 <Self as FrintzEmitter<T0, T1>>::frintz(self, op0, op1);
14454 }
14455 pub fn frsqrte<T0, T1>(&mut self, op0: T0, op1: T1)
14456 where
14457 Self: FrsqrteEmitter<T0, T1>,
14458 {
14459 <Self as FrsqrteEmitter<T0, T1>>::frsqrte(self, op0, op1);
14460 }
14461 pub fn frsqrts<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14462 where
14463 Self: FrsqrtsEmitter<T0, T1, T2>,
14464 {
14465 <Self as FrsqrtsEmitter<T0, T1, T2>>::frsqrts(self, op0, op1, op2);
14466 }
14467 pub fn fsqrt<T0, T1>(&mut self, op0: T0, op1: T1)
14468 where
14469 Self: FsqrtEmitter<T0, T1>,
14470 {
14471 <Self as FsqrtEmitter<T0, T1>>::fsqrt(self, op0, op1);
14472 }
14473 pub fn fsub<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14474 where
14475 Self: FsubEmitter<T0, T1, T2>,
14476 {
14477 <Self as FsubEmitter<T0, T1, T2>>::fsub(self, op0, op1, op2);
14478 }
14479 pub fn ins<T0, T1>(&mut self, op0: T0, op1: T1)
14480 where
14481 Self: InsEmitter<T0, T1>,
14482 {
14483 <Self as InsEmitter<T0, T1>>::ins(self, op0, op1);
14484 }
14485 pub fn ld1<T0, T1>(&mut self, op0: T0, op1: T1)
14486 where
14487 Self: Ld1Emitter<T0, T1>,
14488 {
14489 <Self as Ld1Emitter<T0, T1>>::ld1(self, op0, op1);
14490 }
14491 pub fn ld1_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14492 where
14493 Self: Ld13Emitter<T0, T1, T2>,
14494 {
14495 <Self as Ld13Emitter<T0, T1, T2>>::ld1_3(self, op0, op1, op2);
14496 }
14497 pub fn ld1_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14498 where
14499 Self: Ld14Emitter<T0, T1, T2, T3>,
14500 {
14501 <Self as Ld14Emitter<T0, T1, T2, T3>>::ld1_4(self, op0, op1, op2, op3);
14502 }
14503 pub fn ld1_5<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
14504 where
14505 Self: Ld15Emitter<T0, T1, T2, T3, T4>,
14506 {
14507 <Self as Ld15Emitter<T0, T1, T2, T3, T4>>::ld1_5(self, op0, op1, op2, op3, op4);
14508 }
14509 pub fn ld1r<T0, T1>(&mut self, op0: T0, op1: T1)
14510 where
14511 Self: Ld1rEmitter<T0, T1>,
14512 {
14513 <Self as Ld1rEmitter<T0, T1>>::ld1r(self, op0, op1);
14514 }
14515 pub fn ld2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14516 where
14517 Self: Ld2Emitter<T0, T1, T2>,
14518 {
14519 <Self as Ld2Emitter<T0, T1, T2>>::ld2(self, op0, op1, op2);
14520 }
14521 pub fn ld2r<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14522 where
14523 Self: Ld2rEmitter<T0, T1, T2>,
14524 {
14525 <Self as Ld2rEmitter<T0, T1, T2>>::ld2r(self, op0, op1, op2);
14526 }
14527 pub fn ld3<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14528 where
14529 Self: Ld3Emitter<T0, T1, T2, T3>,
14530 {
14531 <Self as Ld3Emitter<T0, T1, T2, T3>>::ld3(self, op0, op1, op2, op3);
14532 }
14533 pub fn ld3r<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
14534 where
14535 Self: Ld3rEmitter<T0, T1, T2, T3>,
14536 {
14537 <Self as Ld3rEmitter<T0, T1, T2, T3>>::ld3r(self, op0, op1, op2, op3);
14538 }
14539 pub fn ld4<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
14540 where
14541 Self: Ld4Emitter<T0, T1, T2, T3, T4>,
14542 {
14543 <Self as Ld4Emitter<T0, T1, T2, T3, T4>>::ld4(self, op0, op1, op2, op3, op4);
14544 }
14545 pub fn ld4r<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
14546 where
14547 Self: Ld4rEmitter<T0, T1, T2, T3, T4>,
14548 {
14549 <Self as Ld4rEmitter<T0, T1, T2, T3, T4>>::ld4r(self, op0, op1, op2, op3, op4);
14550 }
14551 pub fn mla<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14552 where
14553 Self: MlaEmitter<T0, T1, T2>,
14554 {
14555 <Self as MlaEmitter<T0, T1, T2>>::mla(self, op0, op1, op2);
14556 }
14557 pub fn mls<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14558 where
14559 Self: MlsEmitter<T0, T1, T2>,
14560 {
14561 <Self as MlsEmitter<T0, T1, T2>>::mls(self, op0, op1, op2);
14562 }
14563 pub fn movi<T0, T1>(&mut self, op0: T0, op1: T1)
14564 where
14565 Self: MoviEmitter<T0, T1>,
14566 {
14567 <Self as MoviEmitter<T0, T1>>::movi(self, op0, op1);
14568 }
14569 pub fn movi_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14570 where
14571 Self: Movi3Emitter<T0, T1, T2>,
14572 {
14573 <Self as Movi3Emitter<T0, T1, T2>>::movi_3(self, op0, op1, op2);
14574 }
14575 pub fn mvni<T0, T1>(&mut self, op0: T0, op1: T1)
14576 where
14577 Self: MvniEmitter<T0, T1>,
14578 {
14579 <Self as MvniEmitter<T0, T1>>::mvni(self, op0, op1);
14580 }
14581 pub fn mvni_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14582 where
14583 Self: Mvni3Emitter<T0, T1, T2>,
14584 {
14585 <Self as Mvni3Emitter<T0, T1, T2>>::mvni_3(self, op0, op1, op2);
14586 }
14587 pub fn not_<T0, T1>(&mut self, op0: T0, op1: T1)
14588 where
14589 Self: NotEmitter<T0, T1>,
14590 {
14591 <Self as NotEmitter<T0, T1>>::not_(self, op0, op1);
14592 }
14593 pub fn orr_2<T0, T1>(&mut self, op0: T0, op1: T1)
14594 where
14595 Self: Orr2Emitter<T0, T1>,
14596 {
14597 <Self as Orr2Emitter<T0, T1>>::orr_2(self, op0, op1);
14598 }
14599 pub fn pmul<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14600 where
14601 Self: PmulEmitter<T0, T1, T2>,
14602 {
14603 <Self as PmulEmitter<T0, T1, T2>>::pmul(self, op0, op1, op2);
14604 }
14605 pub fn pmull<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14606 where
14607 Self: PmullEmitter<T0, T1, T2>,
14608 {
14609 <Self as PmullEmitter<T0, T1, T2>>::pmull(self, op0, op1, op2);
14610 }
14611 pub fn pmull2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14612 where
14613 Self: Pmull2Emitter<T0, T1, T2>,
14614 {
14615 <Self as Pmull2Emitter<T0, T1, T2>>::pmull2(self, op0, op1, op2);
14616 }
14617 pub fn raddhn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14618 where
14619 Self: RaddhnEmitter<T0, T1, T2>,
14620 {
14621 <Self as RaddhnEmitter<T0, T1, T2>>::raddhn(self, op0, op1, op2);
14622 }
14623 pub fn raddhn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14624 where
14625 Self: Raddhn2Emitter<T0, T1, T2>,
14626 {
14627 <Self as Raddhn2Emitter<T0, T1, T2>>::raddhn2(self, op0, op1, op2);
14628 }
14629 pub fn rshrn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14630 where
14631 Self: RshrnEmitter<T0, T1, T2>,
14632 {
14633 <Self as RshrnEmitter<T0, T1, T2>>::rshrn(self, op0, op1, op2);
14634 }
14635 pub fn rshrn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14636 where
14637 Self: Rshrn2Emitter<T0, T1, T2>,
14638 {
14639 <Self as Rshrn2Emitter<T0, T1, T2>>::rshrn2(self, op0, op1, op2);
14640 }
14641 pub fn rsubhn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14642 where
14643 Self: RsubhnEmitter<T0, T1, T2>,
14644 {
14645 <Self as RsubhnEmitter<T0, T1, T2>>::rsubhn(self, op0, op1, op2);
14646 }
14647 pub fn rsubhn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14648 where
14649 Self: Rsubhn2Emitter<T0, T1, T2>,
14650 {
14651 <Self as Rsubhn2Emitter<T0, T1, T2>>::rsubhn2(self, op0, op1, op2);
14652 }
14653 pub fn saba<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14654 where
14655 Self: SabaEmitter<T0, T1, T2>,
14656 {
14657 <Self as SabaEmitter<T0, T1, T2>>::saba(self, op0, op1, op2);
14658 }
14659 pub fn sabal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14660 where
14661 Self: SabalEmitter<T0, T1, T2>,
14662 {
14663 <Self as SabalEmitter<T0, T1, T2>>::sabal(self, op0, op1, op2);
14664 }
14665 pub fn sabal2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14666 where
14667 Self: Sabal2Emitter<T0, T1, T2>,
14668 {
14669 <Self as Sabal2Emitter<T0, T1, T2>>::sabal2(self, op0, op1, op2);
14670 }
14671 pub fn sabd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14672 where
14673 Self: SabdEmitter<T0, T1, T2>,
14674 {
14675 <Self as SabdEmitter<T0, T1, T2>>::sabd(self, op0, op1, op2);
14676 }
14677 pub fn sabdl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14678 where
14679 Self: SabdlEmitter<T0, T1, T2>,
14680 {
14681 <Self as SabdlEmitter<T0, T1, T2>>::sabdl(self, op0, op1, op2);
14682 }
14683 pub fn sabdl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14684 where
14685 Self: Sabdl2Emitter<T0, T1, T2>,
14686 {
14687 <Self as Sabdl2Emitter<T0, T1, T2>>::sabdl2(self, op0, op1, op2);
14688 }
14689 pub fn sadalp<T0, T1>(&mut self, op0: T0, op1: T1)
14690 where
14691 Self: SadalpEmitter<T0, T1>,
14692 {
14693 <Self as SadalpEmitter<T0, T1>>::sadalp(self, op0, op1);
14694 }
14695 pub fn saddl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14696 where
14697 Self: SaddlEmitter<T0, T1, T2>,
14698 {
14699 <Self as SaddlEmitter<T0, T1, T2>>::saddl(self, op0, op1, op2);
14700 }
14701 pub fn saddl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14702 where
14703 Self: Saddl2Emitter<T0, T1, T2>,
14704 {
14705 <Self as Saddl2Emitter<T0, T1, T2>>::saddl2(self, op0, op1, op2);
14706 }
14707 pub fn saddlp<T0, T1>(&mut self, op0: T0, op1: T1)
14708 where
14709 Self: SaddlpEmitter<T0, T1>,
14710 {
14711 <Self as SaddlpEmitter<T0, T1>>::saddlp(self, op0, op1);
14712 }
14713 pub fn saddlv<T0, T1>(&mut self, op0: T0, op1: T1)
14714 where
14715 Self: SaddlvEmitter<T0, T1>,
14716 {
14717 <Self as SaddlvEmitter<T0, T1>>::saddlv(self, op0, op1);
14718 }
14719 pub fn saddw<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14720 where
14721 Self: SaddwEmitter<T0, T1, T2>,
14722 {
14723 <Self as SaddwEmitter<T0, T1, T2>>::saddw(self, op0, op1, op2);
14724 }
14725 pub fn saddw2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14726 where
14727 Self: Saddw2Emitter<T0, T1, T2>,
14728 {
14729 <Self as Saddw2Emitter<T0, T1, T2>>::saddw2(self, op0, op1, op2);
14730 }
14731 pub fn scvtf<T0, T1>(&mut self, op0: T0, op1: T1)
14732 where
14733 Self: ScvtfEmitter<T0, T1>,
14734 {
14735 <Self as ScvtfEmitter<T0, T1>>::scvtf(self, op0, op1);
14736 }
14737 pub fn scvtf_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14738 where
14739 Self: Scvtf3Emitter<T0, T1, T2>,
14740 {
14741 <Self as Scvtf3Emitter<T0, T1, T2>>::scvtf_3(self, op0, op1, op2);
14742 }
14743 pub fn shadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14744 where
14745 Self: ShaddEmitter<T0, T1, T2>,
14746 {
14747 <Self as ShaddEmitter<T0, T1, T2>>::shadd(self, op0, op1, op2);
14748 }
14749 pub fn shl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14750 where
14751 Self: ShlEmitter<T0, T1, T2>,
14752 {
14753 <Self as ShlEmitter<T0, T1, T2>>::shl(self, op0, op1, op2);
14754 }
14755 pub fn shll<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14756 where
14757 Self: ShllEmitter<T0, T1, T2>,
14758 {
14759 <Self as ShllEmitter<T0, T1, T2>>::shll(self, op0, op1, op2);
14760 }
14761 pub fn shll2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14762 where
14763 Self: Shll2Emitter<T0, T1, T2>,
14764 {
14765 <Self as Shll2Emitter<T0, T1, T2>>::shll2(self, op0, op1, op2);
14766 }
14767 pub fn shrn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14768 where
14769 Self: ShrnEmitter<T0, T1, T2>,
14770 {
14771 <Self as ShrnEmitter<T0, T1, T2>>::shrn(self, op0, op1, op2);
14772 }
14773 pub fn shrn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14774 where
14775 Self: Shrn2Emitter<T0, T1, T2>,
14776 {
14777 <Self as Shrn2Emitter<T0, T1, T2>>::shrn2(self, op0, op1, op2);
14778 }
14779 pub fn shsub<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14780 where
14781 Self: ShsubEmitter<T0, T1, T2>,
14782 {
14783 <Self as ShsubEmitter<T0, T1, T2>>::shsub(self, op0, op1, op2);
14784 }
14785 pub fn sli<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14786 where
14787 Self: SliEmitter<T0, T1, T2>,
14788 {
14789 <Self as SliEmitter<T0, T1, T2>>::sli(self, op0, op1, op2);
14790 }
14791 pub fn smaxp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14792 where
14793 Self: SmaxpEmitter<T0, T1, T2>,
14794 {
14795 <Self as SmaxpEmitter<T0, T1, T2>>::smaxp(self, op0, op1, op2);
14796 }
14797 pub fn smaxv<T0, T1>(&mut self, op0: T0, op1: T1)
14798 where
14799 Self: SmaxvEmitter<T0, T1>,
14800 {
14801 <Self as SmaxvEmitter<T0, T1>>::smaxv(self, op0, op1);
14802 }
14803 pub fn sminp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14804 where
14805 Self: SminpEmitter<T0, T1, T2>,
14806 {
14807 <Self as SminpEmitter<T0, T1, T2>>::sminp(self, op0, op1, op2);
14808 }
14809 pub fn sminv<T0, T1>(&mut self, op0: T0, op1: T1)
14810 where
14811 Self: SminvEmitter<T0, T1>,
14812 {
14813 <Self as SminvEmitter<T0, T1>>::sminv(self, op0, op1);
14814 }
14815 pub fn smlal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14816 where
14817 Self: SmlalEmitter<T0, T1, T2>,
14818 {
14819 <Self as SmlalEmitter<T0, T1, T2>>::smlal(self, op0, op1, op2);
14820 }
14821 pub fn smlal2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14822 where
14823 Self: Smlal2Emitter<T0, T1, T2>,
14824 {
14825 <Self as Smlal2Emitter<T0, T1, T2>>::smlal2(self, op0, op1, op2);
14826 }
14827 pub fn smlsl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14828 where
14829 Self: SmlslEmitter<T0, T1, T2>,
14830 {
14831 <Self as SmlslEmitter<T0, T1, T2>>::smlsl(self, op0, op1, op2);
14832 }
14833 pub fn smlsl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14834 where
14835 Self: Smlsl2Emitter<T0, T1, T2>,
14836 {
14837 <Self as Smlsl2Emitter<T0, T1, T2>>::smlsl2(self, op0, op1, op2);
14838 }
14839 pub fn smov<T0, T1>(&mut self, op0: T0, op1: T1)
14840 where
14841 Self: SmovEmitter<T0, T1>,
14842 {
14843 <Self as SmovEmitter<T0, T1>>::smov(self, op0, op1);
14844 }
14845 pub fn smull2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14846 where
14847 Self: Smull2Emitter<T0, T1, T2>,
14848 {
14849 <Self as Smull2Emitter<T0, T1, T2>>::smull2(self, op0, op1, op2);
14850 }
14851 pub fn sqabs<T0, T1>(&mut self, op0: T0, op1: T1)
14852 where
14853 Self: SqabsEmitter<T0, T1>,
14854 {
14855 <Self as SqabsEmitter<T0, T1>>::sqabs(self, op0, op1);
14856 }
14857 pub fn sqadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14858 where
14859 Self: SqaddEmitter<T0, T1, T2>,
14860 {
14861 <Self as SqaddEmitter<T0, T1, T2>>::sqadd(self, op0, op1, op2);
14862 }
14863 pub fn sqdmlal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14864 where
14865 Self: SqdmlalEmitter<T0, T1, T2>,
14866 {
14867 <Self as SqdmlalEmitter<T0, T1, T2>>::sqdmlal(self, op0, op1, op2);
14868 }
14869 pub fn sqdmlal2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14870 where
14871 Self: Sqdmlal2Emitter<T0, T1, T2>,
14872 {
14873 <Self as Sqdmlal2Emitter<T0, T1, T2>>::sqdmlal2(self, op0, op1, op2);
14874 }
14875 pub fn sqdmlsl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14876 where
14877 Self: SqdmlslEmitter<T0, T1, T2>,
14878 {
14879 <Self as SqdmlslEmitter<T0, T1, T2>>::sqdmlsl(self, op0, op1, op2);
14880 }
14881 pub fn sqdmlsl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14882 where
14883 Self: Sqdmlsl2Emitter<T0, T1, T2>,
14884 {
14885 <Self as Sqdmlsl2Emitter<T0, T1, T2>>::sqdmlsl2(self, op0, op1, op2);
14886 }
14887 pub fn sqdmulh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14888 where
14889 Self: SqdmulhEmitter<T0, T1, T2>,
14890 {
14891 <Self as SqdmulhEmitter<T0, T1, T2>>::sqdmulh(self, op0, op1, op2);
14892 }
14893 pub fn sqdmull<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14894 where
14895 Self: SqdmullEmitter<T0, T1, T2>,
14896 {
14897 <Self as SqdmullEmitter<T0, T1, T2>>::sqdmull(self, op0, op1, op2);
14898 }
14899 pub fn sqdmull2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14900 where
14901 Self: Sqdmull2Emitter<T0, T1, T2>,
14902 {
14903 <Self as Sqdmull2Emitter<T0, T1, T2>>::sqdmull2(self, op0, op1, op2);
14904 }
14905 pub fn sqneg<T0, T1>(&mut self, op0: T0, op1: T1)
14906 where
14907 Self: SqnegEmitter<T0, T1>,
14908 {
14909 <Self as SqnegEmitter<T0, T1>>::sqneg(self, op0, op1);
14910 }
14911 pub fn sqrdmulh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14912 where
14913 Self: SqrdmulhEmitter<T0, T1, T2>,
14914 {
14915 <Self as SqrdmulhEmitter<T0, T1, T2>>::sqrdmulh(self, op0, op1, op2);
14916 }
14917 pub fn sqrshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14918 where
14919 Self: SqrshlEmitter<T0, T1, T2>,
14920 {
14921 <Self as SqrshlEmitter<T0, T1, T2>>::sqrshl(self, op0, op1, op2);
14922 }
14923 pub fn sqrshrn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14924 where
14925 Self: SqrshrnEmitter<T0, T1, T2>,
14926 {
14927 <Self as SqrshrnEmitter<T0, T1, T2>>::sqrshrn(self, op0, op1, op2);
14928 }
14929 pub fn sqrshrn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14930 where
14931 Self: Sqrshrn2Emitter<T0, T1, T2>,
14932 {
14933 <Self as Sqrshrn2Emitter<T0, T1, T2>>::sqrshrn2(self, op0, op1, op2);
14934 }
14935 pub fn sqrshrun<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14936 where
14937 Self: SqrshrunEmitter<T0, T1, T2>,
14938 {
14939 <Self as SqrshrunEmitter<T0, T1, T2>>::sqrshrun(self, op0, op1, op2);
14940 }
14941 pub fn sqrshrun2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14942 where
14943 Self: Sqrshrun2Emitter<T0, T1, T2>,
14944 {
14945 <Self as Sqrshrun2Emitter<T0, T1, T2>>::sqrshrun2(self, op0, op1, op2);
14946 }
14947 pub fn sqshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14948 where
14949 Self: SqshlEmitter<T0, T1, T2>,
14950 {
14951 <Self as SqshlEmitter<T0, T1, T2>>::sqshl(self, op0, op1, op2);
14952 }
14953 pub fn sqshlu<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14954 where
14955 Self: SqshluEmitter<T0, T1, T2>,
14956 {
14957 <Self as SqshluEmitter<T0, T1, T2>>::sqshlu(self, op0, op1, op2);
14958 }
14959 pub fn sqshrn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14960 where
14961 Self: SqshrnEmitter<T0, T1, T2>,
14962 {
14963 <Self as SqshrnEmitter<T0, T1, T2>>::sqshrn(self, op0, op1, op2);
14964 }
14965 pub fn sqshrn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14966 where
14967 Self: Sqshrn2Emitter<T0, T1, T2>,
14968 {
14969 <Self as Sqshrn2Emitter<T0, T1, T2>>::sqshrn2(self, op0, op1, op2);
14970 }
14971 pub fn sqshrun<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14972 where
14973 Self: SqshrunEmitter<T0, T1, T2>,
14974 {
14975 <Self as SqshrunEmitter<T0, T1, T2>>::sqshrun(self, op0, op1, op2);
14976 }
14977 pub fn sqshrun2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14978 where
14979 Self: Sqshrun2Emitter<T0, T1, T2>,
14980 {
14981 <Self as Sqshrun2Emitter<T0, T1, T2>>::sqshrun2(self, op0, op1, op2);
14982 }
14983 pub fn sqsub<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
14984 where
14985 Self: SqsubEmitter<T0, T1, T2>,
14986 {
14987 <Self as SqsubEmitter<T0, T1, T2>>::sqsub(self, op0, op1, op2);
14988 }
14989 pub fn sqxtn<T0, T1>(&mut self, op0: T0, op1: T1)
14990 where
14991 Self: SqxtnEmitter<T0, T1>,
14992 {
14993 <Self as SqxtnEmitter<T0, T1>>::sqxtn(self, op0, op1);
14994 }
14995 pub fn sqxtn2<T0, T1>(&mut self, op0: T0, op1: T1)
14996 where
14997 Self: Sqxtn2Emitter<T0, T1>,
14998 {
14999 <Self as Sqxtn2Emitter<T0, T1>>::sqxtn2(self, op0, op1);
15000 }
15001 pub fn sqxtun<T0, T1>(&mut self, op0: T0, op1: T1)
15002 where
15003 Self: SqxtunEmitter<T0, T1>,
15004 {
15005 <Self as SqxtunEmitter<T0, T1>>::sqxtun(self, op0, op1);
15006 }
15007 pub fn sqxtun2<T0, T1>(&mut self, op0: T0, op1: T1)
15008 where
15009 Self: Sqxtun2Emitter<T0, T1>,
15010 {
15011 <Self as Sqxtun2Emitter<T0, T1>>::sqxtun2(self, op0, op1);
15012 }
15013 pub fn srhadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15014 where
15015 Self: SrhaddEmitter<T0, T1, T2>,
15016 {
15017 <Self as SrhaddEmitter<T0, T1, T2>>::srhadd(self, op0, op1, op2);
15018 }
15019 pub fn sri<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15020 where
15021 Self: SriEmitter<T0, T1, T2>,
15022 {
15023 <Self as SriEmitter<T0, T1, T2>>::sri(self, op0, op1, op2);
15024 }
15025 pub fn srshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15026 where
15027 Self: SrshlEmitter<T0, T1, T2>,
15028 {
15029 <Self as SrshlEmitter<T0, T1, T2>>::srshl(self, op0, op1, op2);
15030 }
15031 pub fn srshr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15032 where
15033 Self: SrshrEmitter<T0, T1, T2>,
15034 {
15035 <Self as SrshrEmitter<T0, T1, T2>>::srshr(self, op0, op1, op2);
15036 }
15037 pub fn srsra<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15038 where
15039 Self: SrsraEmitter<T0, T1, T2>,
15040 {
15041 <Self as SrsraEmitter<T0, T1, T2>>::srsra(self, op0, op1, op2);
15042 }
15043 pub fn sshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15044 where
15045 Self: SshlEmitter<T0, T1, T2>,
15046 {
15047 <Self as SshlEmitter<T0, T1, T2>>::sshl(self, op0, op1, op2);
15048 }
15049 pub fn sshll<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15050 where
15051 Self: SshllEmitter<T0, T1, T2>,
15052 {
15053 <Self as SshllEmitter<T0, T1, T2>>::sshll(self, op0, op1, op2);
15054 }
15055 pub fn sshll2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15056 where
15057 Self: Sshll2Emitter<T0, T1, T2>,
15058 {
15059 <Self as Sshll2Emitter<T0, T1, T2>>::sshll2(self, op0, op1, op2);
15060 }
15061 pub fn sshr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15062 where
15063 Self: SshrEmitter<T0, T1, T2>,
15064 {
15065 <Self as SshrEmitter<T0, T1, T2>>::sshr(self, op0, op1, op2);
15066 }
15067 pub fn ssra<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15068 where
15069 Self: SsraEmitter<T0, T1, T2>,
15070 {
15071 <Self as SsraEmitter<T0, T1, T2>>::ssra(self, op0, op1, op2);
15072 }
15073 pub fn ssubl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15074 where
15075 Self: SsublEmitter<T0, T1, T2>,
15076 {
15077 <Self as SsublEmitter<T0, T1, T2>>::ssubl(self, op0, op1, op2);
15078 }
15079 pub fn ssubl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15080 where
15081 Self: Ssubl2Emitter<T0, T1, T2>,
15082 {
15083 <Self as Ssubl2Emitter<T0, T1, T2>>::ssubl2(self, op0, op1, op2);
15084 }
15085 pub fn ssubw<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15086 where
15087 Self: SsubwEmitter<T0, T1, T2>,
15088 {
15089 <Self as SsubwEmitter<T0, T1, T2>>::ssubw(self, op0, op1, op2);
15090 }
15091 pub fn ssubw2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15092 where
15093 Self: Ssubw2Emitter<T0, T1, T2>,
15094 {
15095 <Self as Ssubw2Emitter<T0, T1, T2>>::ssubw2(self, op0, op1, op2);
15096 }
15097 pub fn st1<T0, T1>(&mut self, op0: T0, op1: T1)
15098 where
15099 Self: St1Emitter<T0, T1>,
15100 {
15101 <Self as St1Emitter<T0, T1>>::st1(self, op0, op1);
15102 }
15103 pub fn st1_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15104 where
15105 Self: St13Emitter<T0, T1, T2>,
15106 {
15107 <Self as St13Emitter<T0, T1, T2>>::st1_3(self, op0, op1, op2);
15108 }
15109 pub fn st1_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15110 where
15111 Self: St14Emitter<T0, T1, T2, T3>,
15112 {
15113 <Self as St14Emitter<T0, T1, T2, T3>>::st1_4(self, op0, op1, op2, op3);
15114 }
15115 pub fn st1_5<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
15116 where
15117 Self: St15Emitter<T0, T1, T2, T3, T4>,
15118 {
15119 <Self as St15Emitter<T0, T1, T2, T3, T4>>::st1_5(self, op0, op1, op2, op3, op4);
15120 }
15121 pub fn st2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15122 where
15123 Self: St2Emitter<T0, T1, T2>,
15124 {
15125 <Self as St2Emitter<T0, T1, T2>>::st2(self, op0, op1, op2);
15126 }
15127 pub fn st3<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15128 where
15129 Self: St3Emitter<T0, T1, T2, T3>,
15130 {
15131 <Self as St3Emitter<T0, T1, T2, T3>>::st3(self, op0, op1, op2, op3);
15132 }
15133 pub fn st4<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
15134 where
15135 Self: St4Emitter<T0, T1, T2, T3, T4>,
15136 {
15137 <Self as St4Emitter<T0, T1, T2, T3, T4>>::st4(self, op0, op1, op2, op3, op4);
15138 }
15139 pub fn subhn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15140 where
15141 Self: SubhnEmitter<T0, T1, T2>,
15142 {
15143 <Self as SubhnEmitter<T0, T1, T2>>::subhn(self, op0, op1, op2);
15144 }
15145 pub fn subhn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15146 where
15147 Self: Subhn2Emitter<T0, T1, T2>,
15148 {
15149 <Self as Subhn2Emitter<T0, T1, T2>>::subhn2(self, op0, op1, op2);
15150 }
15151 pub fn suqadd<T0, T1>(&mut self, op0: T0, op1: T1)
15152 where
15153 Self: SuqaddEmitter<T0, T1>,
15154 {
15155 <Self as SuqaddEmitter<T0, T1>>::suqadd(self, op0, op1);
15156 }
15157 pub fn sxtl<T0, T1>(&mut self, op0: T0, op1: T1)
15158 where
15159 Self: SxtlEmitter<T0, T1>,
15160 {
15161 <Self as SxtlEmitter<T0, T1>>::sxtl(self, op0, op1);
15162 }
15163 pub fn sxtl2<T0, T1>(&mut self, op0: T0, op1: T1)
15164 where
15165 Self: Sxtl2Emitter<T0, T1>,
15166 {
15167 <Self as Sxtl2Emitter<T0, T1>>::sxtl2(self, op0, op1);
15168 }
15169 pub fn tbl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15170 where
15171 Self: TblEmitter<T0, T1, T2>,
15172 {
15173 <Self as TblEmitter<T0, T1, T2>>::tbl(self, op0, op1, op2);
15174 }
15175 pub fn tbl_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15176 where
15177 Self: Tbl4Emitter<T0, T1, T2, T3>,
15178 {
15179 <Self as Tbl4Emitter<T0, T1, T2, T3>>::tbl_4(self, op0, op1, op2, op3);
15180 }
15181 pub fn tbl_5<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
15182 where
15183 Self: Tbl5Emitter<T0, T1, T2, T3, T4>,
15184 {
15185 <Self as Tbl5Emitter<T0, T1, T2, T3, T4>>::tbl_5(self, op0, op1, op2, op3, op4);
15186 }
15187 pub fn tbl_6<T0, T1, T2, T3, T4, T5>(
15188 &mut self,
15189 op0: T0,
15190 op1: T1,
15191 op2: T2,
15192 op3: T3,
15193 op4: T4,
15194 op5: T5,
15195 ) where
15196 Self: Tbl6Emitter<T0, T1, T2, T3, T4, T5>,
15197 {
15198 <Self as Tbl6Emitter<T0, T1, T2, T3, T4, T5>>::tbl_6(self, op0, op1, op2, op3, op4, op5);
15199 }
15200 pub fn tbx<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15201 where
15202 Self: TbxEmitter<T0, T1, T2>,
15203 {
15204 <Self as TbxEmitter<T0, T1, T2>>::tbx(self, op0, op1, op2);
15205 }
15206 pub fn tbx_4<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15207 where
15208 Self: Tbx4Emitter<T0, T1, T2, T3>,
15209 {
15210 <Self as Tbx4Emitter<T0, T1, T2, T3>>::tbx_4(self, op0, op1, op2, op3);
15211 }
15212 pub fn tbx_5<T0, T1, T2, T3, T4>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3, op4: T4)
15213 where
15214 Self: Tbx5Emitter<T0, T1, T2, T3, T4>,
15215 {
15216 <Self as Tbx5Emitter<T0, T1, T2, T3, T4>>::tbx_5(self, op0, op1, op2, op3, op4);
15217 }
15218 pub fn tbx_6<T0, T1, T2, T3, T4, T5>(
15219 &mut self,
15220 op0: T0,
15221 op1: T1,
15222 op2: T2,
15223 op3: T3,
15224 op4: T4,
15225 op5: T5,
15226 ) where
15227 Self: Tbx6Emitter<T0, T1, T2, T3, T4, T5>,
15228 {
15229 <Self as Tbx6Emitter<T0, T1, T2, T3, T4, T5>>::tbx_6(self, op0, op1, op2, op3, op4, op5);
15230 }
15231 pub fn trn1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15232 where
15233 Self: Trn1Emitter<T0, T1, T2>,
15234 {
15235 <Self as Trn1Emitter<T0, T1, T2>>::trn1(self, op0, op1, op2);
15236 }
15237 pub fn trn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15238 where
15239 Self: Trn2Emitter<T0, T1, T2>,
15240 {
15241 <Self as Trn2Emitter<T0, T1, T2>>::trn2(self, op0, op1, op2);
15242 }
15243 pub fn uaba<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15244 where
15245 Self: UabaEmitter<T0, T1, T2>,
15246 {
15247 <Self as UabaEmitter<T0, T1, T2>>::uaba(self, op0, op1, op2);
15248 }
15249 pub fn uabal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15250 where
15251 Self: UabalEmitter<T0, T1, T2>,
15252 {
15253 <Self as UabalEmitter<T0, T1, T2>>::uabal(self, op0, op1, op2);
15254 }
15255 pub fn uabal2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15256 where
15257 Self: Uabal2Emitter<T0, T1, T2>,
15258 {
15259 <Self as Uabal2Emitter<T0, T1, T2>>::uabal2(self, op0, op1, op2);
15260 }
15261 pub fn uabd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15262 where
15263 Self: UabdEmitter<T0, T1, T2>,
15264 {
15265 <Self as UabdEmitter<T0, T1, T2>>::uabd(self, op0, op1, op2);
15266 }
15267 pub fn uabdl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15268 where
15269 Self: UabdlEmitter<T0, T1, T2>,
15270 {
15271 <Self as UabdlEmitter<T0, T1, T2>>::uabdl(self, op0, op1, op2);
15272 }
15273 pub fn uabdl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15274 where
15275 Self: Uabdl2Emitter<T0, T1, T2>,
15276 {
15277 <Self as Uabdl2Emitter<T0, T1, T2>>::uabdl2(self, op0, op1, op2);
15278 }
15279 pub fn uadalp<T0, T1>(&mut self, op0: T0, op1: T1)
15280 where
15281 Self: UadalpEmitter<T0, T1>,
15282 {
15283 <Self as UadalpEmitter<T0, T1>>::uadalp(self, op0, op1);
15284 }
15285 pub fn uaddl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15286 where
15287 Self: UaddlEmitter<T0, T1, T2>,
15288 {
15289 <Self as UaddlEmitter<T0, T1, T2>>::uaddl(self, op0, op1, op2);
15290 }
15291 pub fn uaddl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15292 where
15293 Self: Uaddl2Emitter<T0, T1, T2>,
15294 {
15295 <Self as Uaddl2Emitter<T0, T1, T2>>::uaddl2(self, op0, op1, op2);
15296 }
15297 pub fn uaddlp<T0, T1>(&mut self, op0: T0, op1: T1)
15298 where
15299 Self: UaddlpEmitter<T0, T1>,
15300 {
15301 <Self as UaddlpEmitter<T0, T1>>::uaddlp(self, op0, op1);
15302 }
15303 pub fn uaddlv<T0, T1>(&mut self, op0: T0, op1: T1)
15304 where
15305 Self: UaddlvEmitter<T0, T1>,
15306 {
15307 <Self as UaddlvEmitter<T0, T1>>::uaddlv(self, op0, op1);
15308 }
15309 pub fn uaddw<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15310 where
15311 Self: UaddwEmitter<T0, T1, T2>,
15312 {
15313 <Self as UaddwEmitter<T0, T1, T2>>::uaddw(self, op0, op1, op2);
15314 }
15315 pub fn uaddw2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15316 where
15317 Self: Uaddw2Emitter<T0, T1, T2>,
15318 {
15319 <Self as Uaddw2Emitter<T0, T1, T2>>::uaddw2(self, op0, op1, op2);
15320 }
15321 pub fn ucvtf<T0, T1>(&mut self, op0: T0, op1: T1)
15322 where
15323 Self: UcvtfEmitter<T0, T1>,
15324 {
15325 <Self as UcvtfEmitter<T0, T1>>::ucvtf(self, op0, op1);
15326 }
15327 pub fn ucvtf_3<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15328 where
15329 Self: Ucvtf3Emitter<T0, T1, T2>,
15330 {
15331 <Self as Ucvtf3Emitter<T0, T1, T2>>::ucvtf_3(self, op0, op1, op2);
15332 }
15333 pub fn uhadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15334 where
15335 Self: UhaddEmitter<T0, T1, T2>,
15336 {
15337 <Self as UhaddEmitter<T0, T1, T2>>::uhadd(self, op0, op1, op2);
15338 }
15339 pub fn uhsub<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15340 where
15341 Self: UhsubEmitter<T0, T1, T2>,
15342 {
15343 <Self as UhsubEmitter<T0, T1, T2>>::uhsub(self, op0, op1, op2);
15344 }
15345 pub fn umaxp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15346 where
15347 Self: UmaxpEmitter<T0, T1, T2>,
15348 {
15349 <Self as UmaxpEmitter<T0, T1, T2>>::umaxp(self, op0, op1, op2);
15350 }
15351 pub fn umaxv<T0, T1>(&mut self, op0: T0, op1: T1)
15352 where
15353 Self: UmaxvEmitter<T0, T1>,
15354 {
15355 <Self as UmaxvEmitter<T0, T1>>::umaxv(self, op0, op1);
15356 }
15357 pub fn uminp<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15358 where
15359 Self: UminpEmitter<T0, T1, T2>,
15360 {
15361 <Self as UminpEmitter<T0, T1, T2>>::uminp(self, op0, op1, op2);
15362 }
15363 pub fn uminv<T0, T1>(&mut self, op0: T0, op1: T1)
15364 where
15365 Self: UminvEmitter<T0, T1>,
15366 {
15367 <Self as UminvEmitter<T0, T1>>::uminv(self, op0, op1);
15368 }
15369 pub fn umlal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15370 where
15371 Self: UmlalEmitter<T0, T1, T2>,
15372 {
15373 <Self as UmlalEmitter<T0, T1, T2>>::umlal(self, op0, op1, op2);
15374 }
15375 pub fn umlal2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15376 where
15377 Self: Umlal2Emitter<T0, T1, T2>,
15378 {
15379 <Self as Umlal2Emitter<T0, T1, T2>>::umlal2(self, op0, op1, op2);
15380 }
15381 pub fn umlsl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15382 where
15383 Self: UmlslEmitter<T0, T1, T2>,
15384 {
15385 <Self as UmlslEmitter<T0, T1, T2>>::umlsl(self, op0, op1, op2);
15386 }
15387 pub fn umlsl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15388 where
15389 Self: Umlsl2Emitter<T0, T1, T2>,
15390 {
15391 <Self as Umlsl2Emitter<T0, T1, T2>>::umlsl2(self, op0, op1, op2);
15392 }
15393 pub fn umov<T0, T1>(&mut self, op0: T0, op1: T1)
15394 where
15395 Self: UmovEmitter<T0, T1>,
15396 {
15397 <Self as UmovEmitter<T0, T1>>::umov(self, op0, op1);
15398 }
15399 pub fn umull2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15400 where
15401 Self: Umull2Emitter<T0, T1, T2>,
15402 {
15403 <Self as Umull2Emitter<T0, T1, T2>>::umull2(self, op0, op1, op2);
15404 }
15405 pub fn uqadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15406 where
15407 Self: UqaddEmitter<T0, T1, T2>,
15408 {
15409 <Self as UqaddEmitter<T0, T1, T2>>::uqadd(self, op0, op1, op2);
15410 }
15411 pub fn uqrshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15412 where
15413 Self: UqrshlEmitter<T0, T1, T2>,
15414 {
15415 <Self as UqrshlEmitter<T0, T1, T2>>::uqrshl(self, op0, op1, op2);
15416 }
15417 pub fn uqrshrn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15418 where
15419 Self: UqrshrnEmitter<T0, T1, T2>,
15420 {
15421 <Self as UqrshrnEmitter<T0, T1, T2>>::uqrshrn(self, op0, op1, op2);
15422 }
15423 pub fn uqrshrn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15424 where
15425 Self: Uqrshrn2Emitter<T0, T1, T2>,
15426 {
15427 <Self as Uqrshrn2Emitter<T0, T1, T2>>::uqrshrn2(self, op0, op1, op2);
15428 }
15429 pub fn uqshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15430 where
15431 Self: UqshlEmitter<T0, T1, T2>,
15432 {
15433 <Self as UqshlEmitter<T0, T1, T2>>::uqshl(self, op0, op1, op2);
15434 }
15435 pub fn uqshrn<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15436 where
15437 Self: UqshrnEmitter<T0, T1, T2>,
15438 {
15439 <Self as UqshrnEmitter<T0, T1, T2>>::uqshrn(self, op0, op1, op2);
15440 }
15441 pub fn uqshrn2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15442 where
15443 Self: Uqshrn2Emitter<T0, T1, T2>,
15444 {
15445 <Self as Uqshrn2Emitter<T0, T1, T2>>::uqshrn2(self, op0, op1, op2);
15446 }
15447 pub fn uqsub<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15448 where
15449 Self: UqsubEmitter<T0, T1, T2>,
15450 {
15451 <Self as UqsubEmitter<T0, T1, T2>>::uqsub(self, op0, op1, op2);
15452 }
15453 pub fn uqxtn<T0, T1>(&mut self, op0: T0, op1: T1)
15454 where
15455 Self: UqxtnEmitter<T0, T1>,
15456 {
15457 <Self as UqxtnEmitter<T0, T1>>::uqxtn(self, op0, op1);
15458 }
15459 pub fn uqxtn2<T0, T1>(&mut self, op0: T0, op1: T1)
15460 where
15461 Self: Uqxtn2Emitter<T0, T1>,
15462 {
15463 <Self as Uqxtn2Emitter<T0, T1>>::uqxtn2(self, op0, op1);
15464 }
15465 pub fn urecpe<T0, T1>(&mut self, op0: T0, op1: T1)
15466 where
15467 Self: UrecpeEmitter<T0, T1>,
15468 {
15469 <Self as UrecpeEmitter<T0, T1>>::urecpe(self, op0, op1);
15470 }
15471 pub fn urhadd<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15472 where
15473 Self: UrhaddEmitter<T0, T1, T2>,
15474 {
15475 <Self as UrhaddEmitter<T0, T1, T2>>::urhadd(self, op0, op1, op2);
15476 }
15477 pub fn urshl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15478 where
15479 Self: UrshlEmitter<T0, T1, T2>,
15480 {
15481 <Self as UrshlEmitter<T0, T1, T2>>::urshl(self, op0, op1, op2);
15482 }
15483 pub fn urshr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15484 where
15485 Self: UrshrEmitter<T0, T1, T2>,
15486 {
15487 <Self as UrshrEmitter<T0, T1, T2>>::urshr(self, op0, op1, op2);
15488 }
15489 pub fn ursqrte<T0, T1>(&mut self, op0: T0, op1: T1)
15490 where
15491 Self: UrsqrteEmitter<T0, T1>,
15492 {
15493 <Self as UrsqrteEmitter<T0, T1>>::ursqrte(self, op0, op1);
15494 }
15495 pub fn ursra<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15496 where
15497 Self: UrsraEmitter<T0, T1, T2>,
15498 {
15499 <Self as UrsraEmitter<T0, T1, T2>>::ursra(self, op0, op1, op2);
15500 }
15501 pub fn ushl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15502 where
15503 Self: UshlEmitter<T0, T1, T2>,
15504 {
15505 <Self as UshlEmitter<T0, T1, T2>>::ushl(self, op0, op1, op2);
15506 }
15507 pub fn ushll<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15508 where
15509 Self: UshllEmitter<T0, T1, T2>,
15510 {
15511 <Self as UshllEmitter<T0, T1, T2>>::ushll(self, op0, op1, op2);
15512 }
15513 pub fn ushll2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15514 where
15515 Self: Ushll2Emitter<T0, T1, T2>,
15516 {
15517 <Self as Ushll2Emitter<T0, T1, T2>>::ushll2(self, op0, op1, op2);
15518 }
15519 pub fn ushr<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15520 where
15521 Self: UshrEmitter<T0, T1, T2>,
15522 {
15523 <Self as UshrEmitter<T0, T1, T2>>::ushr(self, op0, op1, op2);
15524 }
15525 pub fn usqadd<T0, T1>(&mut self, op0: T0, op1: T1)
15526 where
15527 Self: UsqaddEmitter<T0, T1>,
15528 {
15529 <Self as UsqaddEmitter<T0, T1>>::usqadd(self, op0, op1);
15530 }
15531 pub fn usra<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15532 where
15533 Self: UsraEmitter<T0, T1, T2>,
15534 {
15535 <Self as UsraEmitter<T0, T1, T2>>::usra(self, op0, op1, op2);
15536 }
15537 pub fn usubl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15538 where
15539 Self: UsublEmitter<T0, T1, T2>,
15540 {
15541 <Self as UsublEmitter<T0, T1, T2>>::usubl(self, op0, op1, op2);
15542 }
15543 pub fn usubl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15544 where
15545 Self: Usubl2Emitter<T0, T1, T2>,
15546 {
15547 <Self as Usubl2Emitter<T0, T1, T2>>::usubl2(self, op0, op1, op2);
15548 }
15549 pub fn usubw<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15550 where
15551 Self: UsubwEmitter<T0, T1, T2>,
15552 {
15553 <Self as UsubwEmitter<T0, T1, T2>>::usubw(self, op0, op1, op2);
15554 }
15555 pub fn usubw2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15556 where
15557 Self: Usubw2Emitter<T0, T1, T2>,
15558 {
15559 <Self as Usubw2Emitter<T0, T1, T2>>::usubw2(self, op0, op1, op2);
15560 }
15561 pub fn uxtl<T0, T1>(&mut self, op0: T0, op1: T1)
15562 where
15563 Self: UxtlEmitter<T0, T1>,
15564 {
15565 <Self as UxtlEmitter<T0, T1>>::uxtl(self, op0, op1);
15566 }
15567 pub fn uxtl2<T0, T1>(&mut self, op0: T0, op1: T1)
15568 where
15569 Self: Uxtl2Emitter<T0, T1>,
15570 {
15571 <Self as Uxtl2Emitter<T0, T1>>::uxtl2(self, op0, op1);
15572 }
15573 pub fn uzp1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15574 where
15575 Self: Uzp1Emitter<T0, T1, T2>,
15576 {
15577 <Self as Uzp1Emitter<T0, T1, T2>>::uzp1(self, op0, op1, op2);
15578 }
15579 pub fn uzp2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15580 where
15581 Self: Uzp2Emitter<T0, T1, T2>,
15582 {
15583 <Self as Uzp2Emitter<T0, T1, T2>>::uzp2(self, op0, op1, op2);
15584 }
15585 pub fn xtn<T0, T1>(&mut self, op0: T0, op1: T1)
15586 where
15587 Self: XtnEmitter<T0, T1>,
15588 {
15589 <Self as XtnEmitter<T0, T1>>::xtn(self, op0, op1);
15590 }
15591 pub fn xtn2<T0, T1>(&mut self, op0: T0, op1: T1)
15592 where
15593 Self: Xtn2Emitter<T0, T1>,
15594 {
15595 <Self as Xtn2Emitter<T0, T1>>::xtn2(self, op0, op1);
15596 }
15597 pub fn zip1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15598 where
15599 Self: Zip1Emitter<T0, T1, T2>,
15600 {
15601 <Self as Zip1Emitter<T0, T1, T2>>::zip1(self, op0, op1, op2);
15602 }
15603 pub fn zip2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15604 where
15605 Self: Zip2Emitter<T0, T1, T2>,
15606 {
15607 <Self as Zip2Emitter<T0, T1, T2>>::zip2(self, op0, op1, op2);
15608 }
15609 pub fn aesd<T0, T1>(&mut self, op0: T0, op1: T1)
15610 where
15611 Self: AesdEmitter<T0, T1>,
15612 {
15613 <Self as AesdEmitter<T0, T1>>::aesd(self, op0, op1);
15614 }
15615 pub fn aese<T0, T1>(&mut self, op0: T0, op1: T1)
15616 where
15617 Self: AeseEmitter<T0, T1>,
15618 {
15619 <Self as AeseEmitter<T0, T1>>::aese(self, op0, op1);
15620 }
15621 pub fn aesimc<T0, T1>(&mut self, op0: T0, op1: T1)
15622 where
15623 Self: AesimcEmitter<T0, T1>,
15624 {
15625 <Self as AesimcEmitter<T0, T1>>::aesimc(self, op0, op1);
15626 }
15627 pub fn aesmc<T0, T1>(&mut self, op0: T0, op1: T1)
15628 where
15629 Self: AesmcEmitter<T0, T1>,
15630 {
15631 <Self as AesmcEmitter<T0, T1>>::aesmc(self, op0, op1);
15632 }
15633 pub fn sha1c<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15634 where
15635 Self: Sha1cEmitter<T0, T1, T2>,
15636 {
15637 <Self as Sha1cEmitter<T0, T1, T2>>::sha1c(self, op0, op1, op2);
15638 }
15639 pub fn sha1h<T0, T1>(&mut self, op0: T0, op1: T1)
15640 where
15641 Self: Sha1hEmitter<T0, T1>,
15642 {
15643 <Self as Sha1hEmitter<T0, T1>>::sha1h(self, op0, op1);
15644 }
15645 pub fn sha1m<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15646 where
15647 Self: Sha1mEmitter<T0, T1, T2>,
15648 {
15649 <Self as Sha1mEmitter<T0, T1, T2>>::sha1m(self, op0, op1, op2);
15650 }
15651 pub fn sha1p<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15652 where
15653 Self: Sha1pEmitter<T0, T1, T2>,
15654 {
15655 <Self as Sha1pEmitter<T0, T1, T2>>::sha1p(self, op0, op1, op2);
15656 }
15657 pub fn sha1su0<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15658 where
15659 Self: Sha1su0Emitter<T0, T1, T2>,
15660 {
15661 <Self as Sha1su0Emitter<T0, T1, T2>>::sha1su0(self, op0, op1, op2);
15662 }
15663 pub fn sha1su1<T0, T1>(&mut self, op0: T0, op1: T1)
15664 where
15665 Self: Sha1su1Emitter<T0, T1>,
15666 {
15667 <Self as Sha1su1Emitter<T0, T1>>::sha1su1(self, op0, op1);
15668 }
15669 pub fn sha256h<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15670 where
15671 Self: Sha256hEmitter<T0, T1, T2>,
15672 {
15673 <Self as Sha256hEmitter<T0, T1, T2>>::sha256h(self, op0, op1, op2);
15674 }
15675 pub fn sha256h2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15676 where
15677 Self: Sha256h2Emitter<T0, T1, T2>,
15678 {
15679 <Self as Sha256h2Emitter<T0, T1, T2>>::sha256h2(self, op0, op1, op2);
15680 }
15681 pub fn sha256su0<T0, T1>(&mut self, op0: T0, op1: T1)
15682 where
15683 Self: Sha256su0Emitter<T0, T1>,
15684 {
15685 <Self as Sha256su0Emitter<T0, T1>>::sha256su0(self, op0, op1);
15686 }
15687 pub fn sha256su1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15688 where
15689 Self: Sha256su1Emitter<T0, T1, T2>,
15690 {
15691 <Self as Sha256su1Emitter<T0, T1, T2>>::sha256su1(self, op0, op1, op2);
15692 }
15693 pub fn sqrdmlah<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15694 where
15695 Self: SqrdmlahEmitter<T0, T1, T2>,
15696 {
15697 <Self as SqrdmlahEmitter<T0, T1, T2>>::sqrdmlah(self, op0, op1, op2);
15698 }
15699 pub fn sqrdmlsh<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15700 where
15701 Self: SqrdmlshEmitter<T0, T1, T2>,
15702 {
15703 <Self as SqrdmlshEmitter<T0, T1, T2>>::sqrdmlsh(self, op0, op1, op2);
15704 }
15705 pub fn fcadd<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15706 where
15707 Self: FcaddEmitter<T0, T1, T2, T3>,
15708 {
15709 <Self as FcaddEmitter<T0, T1, T2, T3>>::fcadd(self, op0, op1, op2, op3);
15710 }
15711 pub fn fcmla<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15712 where
15713 Self: FcmlaEmitter<T0, T1, T2, T3>,
15714 {
15715 <Self as FcmlaEmitter<T0, T1, T2, T3>>::fcmla(self, op0, op1, op2, op3);
15716 }
15717 pub fn fjcvtzs<T0, T1>(&mut self, op0: T0, op1: T1)
15718 where
15719 Self: FjcvtzsEmitter<T0, T1>,
15720 {
15721 <Self as FjcvtzsEmitter<T0, T1>>::fjcvtzs(self, op0, op1);
15722 }
15723 pub fn fmlal<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15724 where
15725 Self: FmlalEmitter<T0, T1, T2>,
15726 {
15727 <Self as FmlalEmitter<T0, T1, T2>>::fmlal(self, op0, op1, op2);
15728 }
15729 pub fn fmlal2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15730 where
15731 Self: Fmlal2Emitter<T0, T1, T2>,
15732 {
15733 <Self as Fmlal2Emitter<T0, T1, T2>>::fmlal2(self, op0, op1, op2);
15734 }
15735 pub fn fmlsl<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15736 where
15737 Self: FmlslEmitter<T0, T1, T2>,
15738 {
15739 <Self as FmlslEmitter<T0, T1, T2>>::fmlsl(self, op0, op1, op2);
15740 }
15741 pub fn fmlsl2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15742 where
15743 Self: Fmlsl2Emitter<T0, T1, T2>,
15744 {
15745 <Self as Fmlsl2Emitter<T0, T1, T2>>::fmlsl2(self, op0, op1, op2);
15746 }
15747 pub fn bcax<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15748 where
15749 Self: BcaxEmitter<T0, T1, T2, T3>,
15750 {
15751 <Self as BcaxEmitter<T0, T1, T2, T3>>::bcax(self, op0, op1, op2, op3);
15752 }
15753 pub fn eor3<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15754 where
15755 Self: Eor3Emitter<T0, T1, T2, T3>,
15756 {
15757 <Self as Eor3Emitter<T0, T1, T2, T3>>::eor3(self, op0, op1, op2, op3);
15758 }
15759 pub fn rax1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15760 where
15761 Self: Rax1Emitter<T0, T1, T2>,
15762 {
15763 <Self as Rax1Emitter<T0, T1, T2>>::rax1(self, op0, op1, op2);
15764 }
15765 pub fn xar<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15766 where
15767 Self: XarEmitter<T0, T1, T2, T3>,
15768 {
15769 <Self as XarEmitter<T0, T1, T2, T3>>::xar(self, op0, op1, op2, op3);
15770 }
15771 pub fn sha512h<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15772 where
15773 Self: Sha512hEmitter<T0, T1, T2>,
15774 {
15775 <Self as Sha512hEmitter<T0, T1, T2>>::sha512h(self, op0, op1, op2);
15776 }
15777 pub fn sha512h2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15778 where
15779 Self: Sha512h2Emitter<T0, T1, T2>,
15780 {
15781 <Self as Sha512h2Emitter<T0, T1, T2>>::sha512h2(self, op0, op1, op2);
15782 }
15783 pub fn sha512su0<T0, T1>(&mut self, op0: T0, op1: T1)
15784 where
15785 Self: Sha512su0Emitter<T0, T1>,
15786 {
15787 <Self as Sha512su0Emitter<T0, T1>>::sha512su0(self, op0, op1);
15788 }
15789 pub fn sha512su1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15790 where
15791 Self: Sha512su1Emitter<T0, T1, T2>,
15792 {
15793 <Self as Sha512su1Emitter<T0, T1, T2>>::sha512su1(self, op0, op1, op2);
15794 }
15795 pub fn sm3partw1<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15796 where
15797 Self: Sm3partw1Emitter<T0, T1, T2>,
15798 {
15799 <Self as Sm3partw1Emitter<T0, T1, T2>>::sm3partw1(self, op0, op1, op2);
15800 }
15801 pub fn sm3partw2<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15802 where
15803 Self: Sm3partw2Emitter<T0, T1, T2>,
15804 {
15805 <Self as Sm3partw2Emitter<T0, T1, T2>>::sm3partw2(self, op0, op1, op2);
15806 }
15807 pub fn sm3ss1<T0, T1, T2, T3>(&mut self, op0: T0, op1: T1, op2: T2, op3: T3)
15808 where
15809 Self: Sm3ss1Emitter<T0, T1, T2, T3>,
15810 {
15811 <Self as Sm3ss1Emitter<T0, T1, T2, T3>>::sm3ss1(self, op0, op1, op2, op3);
15812 }
15813 pub fn sm3tt1a<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15814 where
15815 Self: Sm3tt1aEmitter<T0, T1, T2>,
15816 {
15817 <Self as Sm3tt1aEmitter<T0, T1, T2>>::sm3tt1a(self, op0, op1, op2);
15818 }
15819 pub fn sm3tt1b<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15820 where
15821 Self: Sm3tt1bEmitter<T0, T1, T2>,
15822 {
15823 <Self as Sm3tt1bEmitter<T0, T1, T2>>::sm3tt1b(self, op0, op1, op2);
15824 }
15825 pub fn sm3tt2a<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15826 where
15827 Self: Sm3tt2aEmitter<T0, T1, T2>,
15828 {
15829 <Self as Sm3tt2aEmitter<T0, T1, T2>>::sm3tt2a(self, op0, op1, op2);
15830 }
15831 pub fn sm3tt2b<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15832 where
15833 Self: Sm3tt2bEmitter<T0, T1, T2>,
15834 {
15835 <Self as Sm3tt2bEmitter<T0, T1, T2>>::sm3tt2b(self, op0, op1, op2);
15836 }
15837 pub fn sm4e<T0, T1>(&mut self, op0: T0, op1: T1)
15838 where
15839 Self: Sm4eEmitter<T0, T1>,
15840 {
15841 <Self as Sm4eEmitter<T0, T1>>::sm4e(self, op0, op1);
15842 }
15843 pub fn sm4ekey<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15844 where
15845 Self: Sm4ekeyEmitter<T0, T1, T2>,
15846 {
15847 <Self as Sm4ekeyEmitter<T0, T1, T2>>::sm4ekey(self, op0, op1, op2);
15848 }
15849 pub fn sdot<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15850 where
15851 Self: SdotEmitter<T0, T1, T2>,
15852 {
15853 <Self as SdotEmitter<T0, T1, T2>>::sdot(self, op0, op1, op2);
15854 }
15855 pub fn udot<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15856 where
15857 Self: UdotEmitter<T0, T1, T2>,
15858 {
15859 <Self as UdotEmitter<T0, T1, T2>>::udot(self, op0, op1, op2);
15860 }
15861 pub fn bfcvt<T0, T1>(&mut self, op0: T0, op1: T1)
15862 where
15863 Self: BfcvtEmitter<T0, T1>,
15864 {
15865 <Self as BfcvtEmitter<T0, T1>>::bfcvt(self, op0, op1);
15866 }
15867 pub fn bfcvtn<T0, T1>(&mut self, op0: T0, op1: T1)
15868 where
15869 Self: BfcvtnEmitter<T0, T1>,
15870 {
15871 <Self as BfcvtnEmitter<T0, T1>>::bfcvtn(self, op0, op1);
15872 }
15873 pub fn bfcvtn2<T0, T1>(&mut self, op0: T0, op1: T1)
15874 where
15875 Self: Bfcvtn2Emitter<T0, T1>,
15876 {
15877 <Self as Bfcvtn2Emitter<T0, T1>>::bfcvtn2(self, op0, op1);
15878 }
15879 pub fn bfmlalb<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15880 where
15881 Self: BfmlalbEmitter<T0, T1, T2>,
15882 {
15883 <Self as BfmlalbEmitter<T0, T1, T2>>::bfmlalb(self, op0, op1, op2);
15884 }
15885 pub fn bfmlalt<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15886 where
15887 Self: BfmlaltEmitter<T0, T1, T2>,
15888 {
15889 <Self as BfmlaltEmitter<T0, T1, T2>>::bfmlalt(self, op0, op1, op2);
15890 }
15891 pub fn bfmmla<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15892 where
15893 Self: BfmmlaEmitter<T0, T1, T2>,
15894 {
15895 <Self as BfmmlaEmitter<T0, T1, T2>>::bfmmla(self, op0, op1, op2);
15896 }
15897 pub fn bfdot<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15898 where
15899 Self: BfdotEmitter<T0, T1, T2>,
15900 {
15901 <Self as BfdotEmitter<T0, T1, T2>>::bfdot(self, op0, op1, op2);
15902 }
15903 pub fn smmla<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15904 where
15905 Self: SmmlaEmitter<T0, T1, T2>,
15906 {
15907 <Self as SmmlaEmitter<T0, T1, T2>>::smmla(self, op0, op1, op2);
15908 }
15909 pub fn sudot<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15910 where
15911 Self: SudotEmitter<T0, T1, T2>,
15912 {
15913 <Self as SudotEmitter<T0, T1, T2>>::sudot(self, op0, op1, op2);
15914 }
15915 pub fn ummla<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15916 where
15917 Self: UmmlaEmitter<T0, T1, T2>,
15918 {
15919 <Self as UmmlaEmitter<T0, T1, T2>>::ummla(self, op0, op1, op2);
15920 }
15921 pub fn usdot<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15922 where
15923 Self: UsdotEmitter<T0, T1, T2>,
15924 {
15925 <Self as UsdotEmitter<T0, T1, T2>>::usdot(self, op0, op1, op2);
15926 }
15927 pub fn usmmla<T0, T1, T2>(&mut self, op0: T0, op1: T1, op2: T2)
15928 where
15929 Self: UsmmlaEmitter<T0, T1, T2>,
15930 {
15931 <Self as UsmmlaEmitter<T0, T1, T2>>::usmmla(self, op0, op1, op2);
15932 }
15933}