1use super::super::opcodes::*;
2use crate::core::emitter::*;
3use crate::core::operand::*;
4use crate::x86::assembler::*;
5use crate::x86::operands::*;
6
7const NOREG: Operand = Operand::new();
9
10pub trait AaddEmitter<A, B> {
23 fn aadd(&mut self, op0: A, op1: B);
24}
25
26impl<'a> AaddEmitter<Mem, Gpd> for Assembler<'a> {
27 fn aadd(&mut self, op0: Mem, op1: Gpd) {
28 self.emit(AADD32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
29 }
30}
31
32impl<'a> AaddEmitter<Mem, Gpq> for Assembler<'a> {
33 fn aadd(&mut self, op0: Mem, op1: Gpq) {
34 self.emit(AADD64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
35 }
36}
37
38pub trait AandEmitter<A, B> {
51 fn aand(&mut self, op0: A, op1: B);
52}
53
54impl<'a> AandEmitter<Mem, Gpd> for Assembler<'a> {
55 fn aand(&mut self, op0: Mem, op1: Gpd) {
56 self.emit(AAND32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
57 }
58}
59
60impl<'a> AandEmitter<Mem, Gpq> for Assembler<'a> {
61 fn aand(&mut self, op0: Mem, op1: Gpq) {
62 self.emit(AAND64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
63 }
64}
65
66pub trait AdcEmitter<A, B> {
94 fn adc(&mut self, op0: A, op1: B);
95}
96
97impl<'a> AdcEmitter<GpbLo, GpbLo> for Assembler<'a> {
98 fn adc(&mut self, op0: GpbLo, op1: GpbLo) {
99 self.emit(ADC8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
100 }
101}
102
103impl<'a> AdcEmitter<Mem, GpbLo> for Assembler<'a> {
104 fn adc(&mut self, op0: Mem, op1: GpbLo) {
105 self.emit(ADC8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
106 }
107}
108
109impl<'a> AdcEmitter<Gpw, Gpw> for Assembler<'a> {
110 fn adc(&mut self, op0: Gpw, op1: Gpw) {
111 self.emit(ADC16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
112 }
113}
114
115impl<'a> AdcEmitter<Mem, Gpw> for Assembler<'a> {
116 fn adc(&mut self, op0: Mem, op1: Gpw) {
117 self.emit(ADC16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
118 }
119}
120
121impl<'a> AdcEmitter<Gpd, Gpd> for Assembler<'a> {
122 fn adc(&mut self, op0: Gpd, op1: Gpd) {
123 self.emit(ADC32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
124 }
125}
126
127impl<'a> AdcEmitter<Mem, Gpd> for Assembler<'a> {
128 fn adc(&mut self, op0: Mem, op1: Gpd) {
129 self.emit(ADC32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
130 }
131}
132
133impl<'a> AdcEmitter<Gpq, Gpq> for Assembler<'a> {
134 fn adc(&mut self, op0: Gpq, op1: Gpq) {
135 self.emit(ADC64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
136 }
137}
138
139impl<'a> AdcEmitter<Mem, Gpq> for Assembler<'a> {
140 fn adc(&mut self, op0: Mem, op1: Gpq) {
141 self.emit(ADC64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
142 }
143}
144
145impl<'a> AdcEmitter<GpbLo, Mem> for Assembler<'a> {
146 fn adc(&mut self, op0: GpbLo, op1: Mem) {
147 self.emit(ADC8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
148 }
149}
150
151impl<'a> AdcEmitter<Gpw, Mem> for Assembler<'a> {
152 fn adc(&mut self, op0: Gpw, op1: Mem) {
153 self.emit(ADC16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
154 }
155}
156
157impl<'a> AdcEmitter<Gpd, Mem> for Assembler<'a> {
158 fn adc(&mut self, op0: Gpd, op1: Mem) {
159 self.emit(ADC32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
160 }
161}
162
163impl<'a> AdcEmitter<Gpq, Mem> for Assembler<'a> {
164 fn adc(&mut self, op0: Gpq, op1: Mem) {
165 self.emit(ADC64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
166 }
167}
168
169impl<'a> AdcEmitter<GpbLo, Imm> for Assembler<'a> {
170 fn adc(&mut self, op0: GpbLo, op1: Imm) {
171 self.emit(ADC8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
172 }
173}
174
175impl<'a> AdcEmitter<Gpw, Imm> for Assembler<'a> {
176 fn adc(&mut self, op0: Gpw, op1: Imm) {
177 self.emit(ADC16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
178 }
179}
180
181impl<'a> AdcEmitter<Gpd, Imm> for Assembler<'a> {
182 fn adc(&mut self, op0: Gpd, op1: Imm) {
183 self.emit(ADC32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
184 }
185}
186
187impl<'a> AdcEmitter<Gpq, Imm> for Assembler<'a> {
188 fn adc(&mut self, op0: Gpq, op1: Imm) {
189 self.emit(ADC64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
190 }
191}
192
193impl<'a> AdcEmitter<Mem, Imm> for Assembler<'a> {
194 fn adc(&mut self, op0: Mem, op1: Imm) {
195 self.emit(ADC8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
196 }
197}
198
199pub trait AddEmitter<A, B> {
227 fn add(&mut self, op0: A, op1: B);
228}
229
230impl<'a> AddEmitter<GpbLo, GpbLo> for Assembler<'a> {
231 fn add(&mut self, op0: GpbLo, op1: GpbLo) {
232 self.emit(ADD8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
233 }
234}
235
236impl<'a> AddEmitter<Mem, GpbLo> for Assembler<'a> {
237 fn add(&mut self, op0: Mem, op1: GpbLo) {
238 self.emit(ADD8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
239 }
240}
241
242impl<'a> AddEmitter<Gpw, Gpw> for Assembler<'a> {
243 fn add(&mut self, op0: Gpw, op1: Gpw) {
244 self.emit(ADD16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
245 }
246}
247
248impl<'a> AddEmitter<Mem, Gpw> for Assembler<'a> {
249 fn add(&mut self, op0: Mem, op1: Gpw) {
250 self.emit(ADD16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
251 }
252}
253
254impl<'a> AddEmitter<Gpd, Gpd> for Assembler<'a> {
255 fn add(&mut self, op0: Gpd, op1: Gpd) {
256 self.emit(ADD32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
257 }
258}
259
260impl<'a> AddEmitter<Mem, Gpd> for Assembler<'a> {
261 fn add(&mut self, op0: Mem, op1: Gpd) {
262 self.emit(ADD32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
263 }
264}
265
266impl<'a> AddEmitter<Gpq, Gpq> for Assembler<'a> {
267 fn add(&mut self, op0: Gpq, op1: Gpq) {
268 self.emit(ADD64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
269 }
270}
271
272impl<'a> AddEmitter<Mem, Gpq> for Assembler<'a> {
273 fn add(&mut self, op0: Mem, op1: Gpq) {
274 self.emit(ADD64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
275 }
276}
277
278impl<'a> AddEmitter<GpbLo, Mem> for Assembler<'a> {
279 fn add(&mut self, op0: GpbLo, op1: Mem) {
280 self.emit(ADD8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
281 }
282}
283
284impl<'a> AddEmitter<Gpw, Mem> for Assembler<'a> {
285 fn add(&mut self, op0: Gpw, op1: Mem) {
286 self.emit(ADD16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
287 }
288}
289
290impl<'a> AddEmitter<Gpd, Mem> for Assembler<'a> {
291 fn add(&mut self, op0: Gpd, op1: Mem) {
292 self.emit(ADD32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
293 }
294}
295
296impl<'a> AddEmitter<Gpq, Mem> for Assembler<'a> {
297 fn add(&mut self, op0: Gpq, op1: Mem) {
298 self.emit(ADD64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
299 }
300}
301
302impl<'a> AddEmitter<GpbLo, Imm> for Assembler<'a> {
303 fn add(&mut self, op0: GpbLo, op1: Imm) {
304 self.emit(ADD8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
305 }
306}
307
308impl<'a> AddEmitter<Gpw, Imm> for Assembler<'a> {
309 fn add(&mut self, op0: Gpw, op1: Imm) {
310 self.emit(ADD16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
311 }
312}
313
314impl<'a> AddEmitter<Gpd, Imm> for Assembler<'a> {
315 fn add(&mut self, op0: Gpd, op1: Imm) {
316 self.emit(ADD32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
317 }
318}
319
320impl<'a> AddEmitter<Gpq, Imm> for Assembler<'a> {
321 fn add(&mut self, op0: Gpq, op1: Imm) {
322 self.emit(ADD64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
323 }
324}
325
326impl<'a> AddEmitter<Mem, Imm> for Assembler<'a> {
327 fn add(&mut self, op0: Mem, op1: Imm) {
328 self.emit(ADD8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
329 }
330}
331
332pub trait AndEmitter<A, B> {
360 fn and(&mut self, op0: A, op1: B);
361}
362
363impl<'a> AndEmitter<GpbLo, GpbLo> for Assembler<'a> {
364 fn and(&mut self, op0: GpbLo, op1: GpbLo) {
365 self.emit(AND8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
366 }
367}
368
369impl<'a> AndEmitter<Mem, GpbLo> for Assembler<'a> {
370 fn and(&mut self, op0: Mem, op1: GpbLo) {
371 self.emit(AND8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
372 }
373}
374
375impl<'a> AndEmitter<Gpw, Gpw> for Assembler<'a> {
376 fn and(&mut self, op0: Gpw, op1: Gpw) {
377 self.emit(AND16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
378 }
379}
380
381impl<'a> AndEmitter<Mem, Gpw> for Assembler<'a> {
382 fn and(&mut self, op0: Mem, op1: Gpw) {
383 self.emit(AND16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
384 }
385}
386
387impl<'a> AndEmitter<Gpd, Gpd> for Assembler<'a> {
388 fn and(&mut self, op0: Gpd, op1: Gpd) {
389 self.emit(AND32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
390 }
391}
392
393impl<'a> AndEmitter<Mem, Gpd> for Assembler<'a> {
394 fn and(&mut self, op0: Mem, op1: Gpd) {
395 self.emit(AND32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
396 }
397}
398
399impl<'a> AndEmitter<Gpq, Gpq> for Assembler<'a> {
400 fn and(&mut self, op0: Gpq, op1: Gpq) {
401 self.emit(AND64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
402 }
403}
404
405impl<'a> AndEmitter<Mem, Gpq> for Assembler<'a> {
406 fn and(&mut self, op0: Mem, op1: Gpq) {
407 self.emit(AND64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
408 }
409}
410
411impl<'a> AndEmitter<GpbLo, Mem> for Assembler<'a> {
412 fn and(&mut self, op0: GpbLo, op1: Mem) {
413 self.emit(AND8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
414 }
415}
416
417impl<'a> AndEmitter<Gpw, Mem> for Assembler<'a> {
418 fn and(&mut self, op0: Gpw, op1: Mem) {
419 self.emit(AND16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
420 }
421}
422
423impl<'a> AndEmitter<Gpd, Mem> for Assembler<'a> {
424 fn and(&mut self, op0: Gpd, op1: Mem) {
425 self.emit(AND32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
426 }
427}
428
429impl<'a> AndEmitter<Gpq, Mem> for Assembler<'a> {
430 fn and(&mut self, op0: Gpq, op1: Mem) {
431 self.emit(AND64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
432 }
433}
434
435impl<'a> AndEmitter<GpbLo, Imm> for Assembler<'a> {
436 fn and(&mut self, op0: GpbLo, op1: Imm) {
437 self.emit(AND8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
438 }
439}
440
441impl<'a> AndEmitter<Gpw, Imm> for Assembler<'a> {
442 fn and(&mut self, op0: Gpw, op1: Imm) {
443 self.emit(AND16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
444 }
445}
446
447impl<'a> AndEmitter<Gpd, Imm> for Assembler<'a> {
448 fn and(&mut self, op0: Gpd, op1: Imm) {
449 self.emit(AND32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
450 }
451}
452
453impl<'a> AndEmitter<Gpq, Imm> for Assembler<'a> {
454 fn and(&mut self, op0: Gpq, op1: Imm) {
455 self.emit(AND64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
456 }
457}
458
459impl<'a> AndEmitter<Mem, Imm> for Assembler<'a> {
460 fn and(&mut self, op0: Mem, op1: Imm) {
461 self.emit(AND8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
462 }
463}
464
465pub trait AorEmitter<A, B> {
478 fn aor(&mut self, op0: A, op1: B);
479}
480
481impl<'a> AorEmitter<Mem, Gpd> for Assembler<'a> {
482 fn aor(&mut self, op0: Mem, op1: Gpd) {
483 self.emit(AOR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
484 }
485}
486
487impl<'a> AorEmitter<Mem, Gpq> for Assembler<'a> {
488 fn aor(&mut self, op0: Mem, op1: Gpq) {
489 self.emit(AOR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
490 }
491}
492
493pub trait AxorEmitter<A, B> {
506 fn axor(&mut self, op0: A, op1: B);
507}
508
509impl<'a> AxorEmitter<Mem, Gpd> for Assembler<'a> {
510 fn axor(&mut self, op0: Mem, op1: Gpd) {
511 self.emit(AXOR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
512 }
513}
514
515impl<'a> AxorEmitter<Mem, Gpq> for Assembler<'a> {
516 fn axor(&mut self, op0: Mem, op1: Gpq) {
517 self.emit(AXOR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
518 }
519}
520
521pub trait BsfEmitter<A, B> {
538 fn bsf(&mut self, op0: A, op1: B);
539}
540
541impl<'a> BsfEmitter<Gpw, Gpw> for Assembler<'a> {
542 fn bsf(&mut self, op0: Gpw, op1: Gpw) {
543 self.emit(BSF16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
544 }
545}
546
547impl<'a> BsfEmitter<Gpw, Mem> for Assembler<'a> {
548 fn bsf(&mut self, op0: Gpw, op1: Mem) {
549 self.emit(BSF16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
550 }
551}
552
553impl<'a> BsfEmitter<Gpd, Gpd> for Assembler<'a> {
554 fn bsf(&mut self, op0: Gpd, op1: Gpd) {
555 self.emit(BSF32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
556 }
557}
558
559impl<'a> BsfEmitter<Gpd, Mem> for Assembler<'a> {
560 fn bsf(&mut self, op0: Gpd, op1: Mem) {
561 self.emit(BSF32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
562 }
563}
564
565impl<'a> BsfEmitter<Gpq, Gpq> for Assembler<'a> {
566 fn bsf(&mut self, op0: Gpq, op1: Gpq) {
567 self.emit(BSF64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
568 }
569}
570
571impl<'a> BsfEmitter<Gpq, Mem> for Assembler<'a> {
572 fn bsf(&mut self, op0: Gpq, op1: Mem) {
573 self.emit(BSF64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
574 }
575}
576
577pub trait BsrEmitter<A, B> {
594 fn bsr(&mut self, op0: A, op1: B);
595}
596
597impl<'a> BsrEmitter<Gpw, Gpw> for Assembler<'a> {
598 fn bsr(&mut self, op0: Gpw, op1: Gpw) {
599 self.emit(BSR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
600 }
601}
602
603impl<'a> BsrEmitter<Gpw, Mem> for Assembler<'a> {
604 fn bsr(&mut self, op0: Gpw, op1: Mem) {
605 self.emit(BSR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
606 }
607}
608
609impl<'a> BsrEmitter<Gpd, Gpd> for Assembler<'a> {
610 fn bsr(&mut self, op0: Gpd, op1: Gpd) {
611 self.emit(BSR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
612 }
613}
614
615impl<'a> BsrEmitter<Gpd, Mem> for Assembler<'a> {
616 fn bsr(&mut self, op0: Gpd, op1: Mem) {
617 self.emit(BSR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
618 }
619}
620
621impl<'a> BsrEmitter<Gpq, Gpq> for Assembler<'a> {
622 fn bsr(&mut self, op0: Gpq, op1: Gpq) {
623 self.emit(BSR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
624 }
625}
626
627impl<'a> BsrEmitter<Gpq, Mem> for Assembler<'a> {
628 fn bsr(&mut self, op0: Gpq, op1: Mem) {
629 self.emit(BSR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
630 }
631}
632
633pub trait BtEmitter<A, B> {
654 fn bt(&mut self, op0: A, op1: B);
655}
656
657impl<'a> BtEmitter<Gpw, Gpw> for Assembler<'a> {
658 fn bt(&mut self, op0: Gpw, op1: Gpw) {
659 self.emit(BT16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
660 }
661}
662
663impl<'a> BtEmitter<Mem, Gpw> for Assembler<'a> {
664 fn bt(&mut self, op0: Mem, op1: Gpw) {
665 self.emit(BT16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
666 }
667}
668
669impl<'a> BtEmitter<Gpd, Gpd> for Assembler<'a> {
670 fn bt(&mut self, op0: Gpd, op1: Gpd) {
671 self.emit(BT32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
672 }
673}
674
675impl<'a> BtEmitter<Mem, Gpd> for Assembler<'a> {
676 fn bt(&mut self, op0: Mem, op1: Gpd) {
677 self.emit(BT32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
678 }
679}
680
681impl<'a> BtEmitter<Gpq, Gpq> for Assembler<'a> {
682 fn bt(&mut self, op0: Gpq, op1: Gpq) {
683 self.emit(BT64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
684 }
685}
686
687impl<'a> BtEmitter<Mem, Gpq> for Assembler<'a> {
688 fn bt(&mut self, op0: Mem, op1: Gpq) {
689 self.emit(BT64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
690 }
691}
692
693impl<'a> BtEmitter<Gpw, Imm> for Assembler<'a> {
694 fn bt(&mut self, op0: Gpw, op1: Imm) {
695 self.emit(BT16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
696 }
697}
698
699impl<'a> BtEmitter<Mem, Imm> for Assembler<'a> {
700 fn bt(&mut self, op0: Mem, op1: Imm) {
701 self.emit(BT16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
702 }
703}
704
705impl<'a> BtEmitter<Gpd, Imm> for Assembler<'a> {
706 fn bt(&mut self, op0: Gpd, op1: Imm) {
707 self.emit(BT32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
708 }
709}
710
711impl<'a> BtEmitter<Gpq, Imm> for Assembler<'a> {
712 fn bt(&mut self, op0: Gpq, op1: Imm) {
713 self.emit(BT64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
714 }
715}
716
717pub trait BtcEmitter<A, B> {
738 fn btc(&mut self, op0: A, op1: B);
739}
740
741impl<'a> BtcEmitter<Gpw, Imm> for Assembler<'a> {
742 fn btc(&mut self, op0: Gpw, op1: Imm) {
743 self.emit(BTC16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
744 }
745}
746
747impl<'a> BtcEmitter<Mem, Imm> for Assembler<'a> {
748 fn btc(&mut self, op0: Mem, op1: Imm) {
749 self.emit(BTC16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
750 }
751}
752
753impl<'a> BtcEmitter<Gpd, Imm> for Assembler<'a> {
754 fn btc(&mut self, op0: Gpd, op1: Imm) {
755 self.emit(BTC32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
756 }
757}
758
759impl<'a> BtcEmitter<Gpq, Imm> for Assembler<'a> {
760 fn btc(&mut self, op0: Gpq, op1: Imm) {
761 self.emit(BTC64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
762 }
763}
764
765impl<'a> BtcEmitter<Gpw, Gpw> for Assembler<'a> {
766 fn btc(&mut self, op0: Gpw, op1: Gpw) {
767 self.emit(BTC16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
768 }
769}
770
771impl<'a> BtcEmitter<Mem, Gpw> for Assembler<'a> {
772 fn btc(&mut self, op0: Mem, op1: Gpw) {
773 self.emit(BTC16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
774 }
775}
776
777impl<'a> BtcEmitter<Gpd, Gpd> for Assembler<'a> {
778 fn btc(&mut self, op0: Gpd, op1: Gpd) {
779 self.emit(BTC32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
780 }
781}
782
783impl<'a> BtcEmitter<Mem, Gpd> for Assembler<'a> {
784 fn btc(&mut self, op0: Mem, op1: Gpd) {
785 self.emit(BTC32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
786 }
787}
788
789impl<'a> BtcEmitter<Gpq, Gpq> for Assembler<'a> {
790 fn btc(&mut self, op0: Gpq, op1: Gpq) {
791 self.emit(BTC64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
792 }
793}
794
795impl<'a> BtcEmitter<Mem, Gpq> for Assembler<'a> {
796 fn btc(&mut self, op0: Mem, op1: Gpq) {
797 self.emit(BTC64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
798 }
799}
800
801pub trait BtrEmitter<A, B> {
822 fn btr(&mut self, op0: A, op1: B);
823}
824
825impl<'a> BtrEmitter<Gpw, Gpw> for Assembler<'a> {
826 fn btr(&mut self, op0: Gpw, op1: Gpw) {
827 self.emit(BTR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
828 }
829}
830
831impl<'a> BtrEmitter<Mem, Gpw> for Assembler<'a> {
832 fn btr(&mut self, op0: Mem, op1: Gpw) {
833 self.emit(BTR16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
834 }
835}
836
837impl<'a> BtrEmitter<Gpd, Gpd> for Assembler<'a> {
838 fn btr(&mut self, op0: Gpd, op1: Gpd) {
839 self.emit(BTR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
840 }
841}
842
843impl<'a> BtrEmitter<Mem, Gpd> for Assembler<'a> {
844 fn btr(&mut self, op0: Mem, op1: Gpd) {
845 self.emit(BTR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
846 }
847}
848
849impl<'a> BtrEmitter<Gpq, Gpq> for Assembler<'a> {
850 fn btr(&mut self, op0: Gpq, op1: Gpq) {
851 self.emit(BTR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
852 }
853}
854
855impl<'a> BtrEmitter<Mem, Gpq> for Assembler<'a> {
856 fn btr(&mut self, op0: Mem, op1: Gpq) {
857 self.emit(BTR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
858 }
859}
860
861impl<'a> BtrEmitter<Gpw, Imm> for Assembler<'a> {
862 fn btr(&mut self, op0: Gpw, op1: Imm) {
863 self.emit(BTR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
864 }
865}
866
867impl<'a> BtrEmitter<Mem, Imm> for Assembler<'a> {
868 fn btr(&mut self, op0: Mem, op1: Imm) {
869 self.emit(BTR16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
870 }
871}
872
873impl<'a> BtrEmitter<Gpd, Imm> for Assembler<'a> {
874 fn btr(&mut self, op0: Gpd, op1: Imm) {
875 self.emit(BTR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
876 }
877}
878
879impl<'a> BtrEmitter<Gpq, Imm> for Assembler<'a> {
880 fn btr(&mut self, op0: Gpq, op1: Imm) {
881 self.emit(BTR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
882 }
883}
884
885pub trait BtsEmitter<A, B> {
906 fn bts(&mut self, op0: A, op1: B);
907}
908
909impl<'a> BtsEmitter<Gpw, Gpw> for Assembler<'a> {
910 fn bts(&mut self, op0: Gpw, op1: Gpw) {
911 self.emit(BTS16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
912 }
913}
914
915impl<'a> BtsEmitter<Mem, Gpw> for Assembler<'a> {
916 fn bts(&mut self, op0: Mem, op1: Gpw) {
917 self.emit(BTS16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
918 }
919}
920
921impl<'a> BtsEmitter<Gpd, Gpd> for Assembler<'a> {
922 fn bts(&mut self, op0: Gpd, op1: Gpd) {
923 self.emit(BTS32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
924 }
925}
926
927impl<'a> BtsEmitter<Mem, Gpd> for Assembler<'a> {
928 fn bts(&mut self, op0: Mem, op1: Gpd) {
929 self.emit(BTS32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
930 }
931}
932
933impl<'a> BtsEmitter<Gpq, Gpq> for Assembler<'a> {
934 fn bts(&mut self, op0: Gpq, op1: Gpq) {
935 self.emit(BTS64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
936 }
937}
938
939impl<'a> BtsEmitter<Mem, Gpq> for Assembler<'a> {
940 fn bts(&mut self, op0: Mem, op1: Gpq) {
941 self.emit(BTS64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
942 }
943}
944
945impl<'a> BtsEmitter<Gpw, Imm> for Assembler<'a> {
946 fn bts(&mut self, op0: Gpw, op1: Imm) {
947 self.emit(BTS16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
948 }
949}
950
951impl<'a> BtsEmitter<Mem, Imm> for Assembler<'a> {
952 fn bts(&mut self, op0: Mem, op1: Imm) {
953 self.emit(BTS16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
954 }
955}
956
957impl<'a> BtsEmitter<Gpd, Imm> for Assembler<'a> {
958 fn bts(&mut self, op0: Gpd, op1: Imm) {
959 self.emit(BTS32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
960 }
961}
962
963impl<'a> BtsEmitter<Gpq, Imm> for Assembler<'a> {
964 fn bts(&mut self, op0: Gpq, op1: Imm) {
965 self.emit(BTS64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
966 }
967}
968
969pub trait CallEmitter<A> {
985 fn call(&mut self, op0: A);
986}
987
988impl<'a> CallEmitter<Imm> for Assembler<'a> {
989 fn call(&mut self, op0: Imm) {
990 self.emit(CALL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
991 }
992}
993
994impl<'a> CallEmitter<Sym> for Assembler<'a> {
995 fn call(&mut self, op0: Sym) {
996 self.emit(CALL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
997 }
998}
999
1000impl<'a> CallEmitter<Label> for Assembler<'a> {
1001 fn call(&mut self, op0: Label) {
1002 self.emit(CALL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1003 }
1004}
1005
1006impl<'a> CallEmitter<Gpq> for Assembler<'a> {
1007 fn call(&mut self, op0: Gpq) {
1008 self.emit(CALLR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1009 }
1010}
1011
1012impl<'a> CallEmitter<Mem> for Assembler<'a> {
1013 fn call(&mut self, op0: Mem) {
1014 self.emit(CALLM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1015 }
1016}
1017
1018pub trait CallfEmitter<A> {
1030 fn callf(&mut self, op0: A);
1031}
1032
1033impl<'a> CallfEmitter<Mem> for Assembler<'a> {
1034 fn callf(&mut self, op0: Mem) {
1035 self.emit(CALLF16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1036 }
1037}
1038
1039pub trait CbwEmitter {
1051 fn cbw(&mut self);
1052}
1053
1054impl<'a> CbwEmitter for Assembler<'a> {
1055 fn cbw(&mut self) {
1056 self.emit(CBW, &NOREG, &NOREG, &NOREG, &NOREG);
1057 }
1058}
1059
1060pub trait CdqEmitter {
1072 fn cdq(&mut self);
1073}
1074
1075impl<'a> CdqEmitter for Assembler<'a> {
1076 fn cdq(&mut self) {
1077 self.emit(CDQ, &NOREG, &NOREG, &NOREG, &NOREG);
1078 }
1079}
1080
1081pub trait CdqeEmitter {
1093 fn cdqe(&mut self);
1094}
1095
1096impl<'a> CdqeEmitter for Assembler<'a> {
1097 fn cdqe(&mut self) {
1098 self.emit(CDQE, &NOREG, &NOREG, &NOREG, &NOREG);
1099 }
1100}
1101
1102pub trait ClcEmitter {
1114 fn clc(&mut self);
1115}
1116
1117impl<'a> ClcEmitter for Assembler<'a> {
1118 fn clc(&mut self) {
1119 self.emit(CLC, &NOREG, &NOREG, &NOREG, &NOREG);
1120 }
1121}
1122
1123pub trait CldEmitter {
1135 fn cld(&mut self);
1136}
1137
1138impl<'a> CldEmitter for Assembler<'a> {
1139 fn cld(&mut self) {
1140 self.emit(CLD, &NOREG, &NOREG, &NOREG, &NOREG);
1141 }
1142}
1143
1144pub trait ClflushEmitter<A> {
1156 fn clflush(&mut self, op0: A);
1157}
1158
1159impl<'a> ClflushEmitter<Mem> for Assembler<'a> {
1160 fn clflush(&mut self, op0: Mem) {
1161 self.emit(CLFLUSHM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1162 }
1163}
1164
1165pub trait CliEmitter {
1177 fn cli(&mut self);
1178}
1179
1180impl<'a> CliEmitter for Assembler<'a> {
1181 fn cli(&mut self) {
1182 self.emit(CLI, &NOREG, &NOREG, &NOREG, &NOREG);
1183 }
1184}
1185
1186pub trait CltsEmitter {
1198 fn clts(&mut self);
1199}
1200
1201impl<'a> CltsEmitter for Assembler<'a> {
1202 fn clts(&mut self) {
1203 self.emit(CLTS, &NOREG, &NOREG, &NOREG, &NOREG);
1204 }
1205}
1206
1207pub trait CmcEmitter {
1219 fn cmc(&mut self);
1220}
1221
1222impl<'a> CmcEmitter for Assembler<'a> {
1223 fn cmc(&mut self) {
1224 self.emit(CMC, &NOREG, &NOREG, &NOREG, &NOREG);
1225 }
1226}
1227
1228pub trait CmpEmitter<A, B> {
1256 fn cmp(&mut self, op0: A, op1: B);
1257}
1258
1259impl<'a> CmpEmitter<GpbLo, GpbLo> for Assembler<'a> {
1260 fn cmp(&mut self, op0: GpbLo, op1: GpbLo) {
1261 self.emit(CMP8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1262 }
1263}
1264
1265impl<'a> CmpEmitter<Mem, GpbLo> for Assembler<'a> {
1266 fn cmp(&mut self, op0: Mem, op1: GpbLo) {
1267 self.emit(CMP8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1268 }
1269}
1270
1271impl<'a> CmpEmitter<Gpw, Gpw> for Assembler<'a> {
1272 fn cmp(&mut self, op0: Gpw, op1: Gpw) {
1273 self.emit(CMP16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1274 }
1275}
1276
1277impl<'a> CmpEmitter<Mem, Gpw> for Assembler<'a> {
1278 fn cmp(&mut self, op0: Mem, op1: Gpw) {
1279 self.emit(CMP16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1280 }
1281}
1282
1283impl<'a> CmpEmitter<Gpd, Gpd> for Assembler<'a> {
1284 fn cmp(&mut self, op0: Gpd, op1: Gpd) {
1285 self.emit(CMP32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1286 }
1287}
1288
1289impl<'a> CmpEmitter<Mem, Gpd> for Assembler<'a> {
1290 fn cmp(&mut self, op0: Mem, op1: Gpd) {
1291 self.emit(CMP32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1292 }
1293}
1294
1295impl<'a> CmpEmitter<Gpq, Gpq> for Assembler<'a> {
1296 fn cmp(&mut self, op0: Gpq, op1: Gpq) {
1297 self.emit(CMP64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1298 }
1299}
1300
1301impl<'a> CmpEmitter<Mem, Gpq> for Assembler<'a> {
1302 fn cmp(&mut self, op0: Mem, op1: Gpq) {
1303 self.emit(CMP64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1304 }
1305}
1306
1307impl<'a> CmpEmitter<GpbLo, Mem> for Assembler<'a> {
1308 fn cmp(&mut self, op0: GpbLo, op1: Mem) {
1309 self.emit(CMP8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1310 }
1311}
1312
1313impl<'a> CmpEmitter<Gpw, Mem> for Assembler<'a> {
1314 fn cmp(&mut self, op0: Gpw, op1: Mem) {
1315 self.emit(CMP16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1316 }
1317}
1318
1319impl<'a> CmpEmitter<Gpd, Mem> for Assembler<'a> {
1320 fn cmp(&mut self, op0: Gpd, op1: Mem) {
1321 self.emit(CMP32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1322 }
1323}
1324
1325impl<'a> CmpEmitter<Gpq, Mem> for Assembler<'a> {
1326 fn cmp(&mut self, op0: Gpq, op1: Mem) {
1327 self.emit(CMP64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1328 }
1329}
1330
1331impl<'a> CmpEmitter<GpbLo, Imm> for Assembler<'a> {
1332 fn cmp(&mut self, op0: GpbLo, op1: Imm) {
1333 self.emit(CMP8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1334 }
1335}
1336
1337impl<'a> CmpEmitter<Gpw, Imm> for Assembler<'a> {
1338 fn cmp(&mut self, op0: Gpw, op1: Imm) {
1339 self.emit(CMP16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1340 }
1341}
1342
1343impl<'a> CmpEmitter<Gpd, Imm> for Assembler<'a> {
1344 fn cmp(&mut self, op0: Gpd, op1: Imm) {
1345 self.emit(CMP32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1346 }
1347}
1348
1349impl<'a> CmpEmitter<Gpq, Imm> for Assembler<'a> {
1350 fn cmp(&mut self, op0: Gpq, op1: Imm) {
1351 self.emit(CMP64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1352 }
1353}
1354
1355impl<'a> CmpEmitter<Mem, Imm> for Assembler<'a> {
1356 fn cmp(&mut self, op0: Mem, op1: Imm) {
1357 self.emit(CMP8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1358 }
1359}
1360
1361pub trait CmpsEmitter {
1373 fn cmps(&mut self);
1374}
1375
1376impl<'a> CmpsEmitter for Assembler<'a> {
1377 fn cmps(&mut self) {
1378 self.emit(CMPS8, &NOREG, &NOREG, &NOREG, &NOREG);
1379 }
1380}
1381
1382pub trait CqoEmitter {
1394 fn cqo(&mut self);
1395}
1396
1397impl<'a> CqoEmitter for Assembler<'a> {
1398 fn cqo(&mut self) {
1399 self.emit(CQO, &NOREG, &NOREG, &NOREG, &NOREG);
1400 }
1401}
1402
1403pub trait CwdEmitter {
1415 fn cwd(&mut self);
1416}
1417
1418impl<'a> CwdEmitter for Assembler<'a> {
1419 fn cwd(&mut self) {
1420 self.emit(CWD, &NOREG, &NOREG, &NOREG, &NOREG);
1421 }
1422}
1423
1424pub trait CwdeEmitter {
1436 fn cwde(&mut self);
1437}
1438
1439impl<'a> CwdeEmitter for Assembler<'a> {
1440 fn cwde(&mut self) {
1441 self.emit(CWDE, &NOREG, &NOREG, &NOREG, &NOREG);
1442 }
1443}
1444
1445pub trait CExEmitter {
1457 fn c_ex(&mut self);
1458}
1459
1460impl<'a> CExEmitter for Assembler<'a> {
1461 fn c_ex(&mut self) {
1462 self.emit(C_EX16, &NOREG, &NOREG, &NOREG, &NOREG);
1463 }
1464}
1465
1466pub trait CSepEmitter {
1478 fn c_sep(&mut self);
1479}
1480
1481impl<'a> CSepEmitter for Assembler<'a> {
1482 fn c_sep(&mut self) {
1483 self.emit(C_SEP16, &NOREG, &NOREG, &NOREG, &NOREG);
1484 }
1485}
1486
1487pub trait DecEmitter<A> {
1503 fn dec(&mut self, op0: A);
1504}
1505
1506impl<'a> DecEmitter<GpbLo> for Assembler<'a> {
1507 fn dec(&mut self, op0: GpbLo) {
1508 self.emit(DEC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1509 }
1510}
1511
1512impl<'a> DecEmitter<Mem> for Assembler<'a> {
1513 fn dec(&mut self, op0: Mem) {
1514 self.emit(DEC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1515 }
1516}
1517
1518impl<'a> DecEmitter<Gpw> for Assembler<'a> {
1519 fn dec(&mut self, op0: Gpw) {
1520 self.emit(DEC16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1521 }
1522}
1523
1524impl<'a> DecEmitter<Gpd> for Assembler<'a> {
1525 fn dec(&mut self, op0: Gpd) {
1526 self.emit(DEC32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1527 }
1528}
1529
1530impl<'a> DecEmitter<Gpq> for Assembler<'a> {
1531 fn dec(&mut self, op0: Gpq) {
1532 self.emit(DEC64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1533 }
1534}
1535
1536pub trait DivEmitter<A> {
1552 fn div(&mut self, op0: A);
1553}
1554
1555impl<'a> DivEmitter<GpbLo> for Assembler<'a> {
1556 fn div(&mut self, op0: GpbLo) {
1557 self.emit(DIV8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1558 }
1559}
1560
1561impl<'a> DivEmitter<Mem> for Assembler<'a> {
1562 fn div(&mut self, op0: Mem) {
1563 self.emit(DIV8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1564 }
1565}
1566
1567impl<'a> DivEmitter<Gpw> for Assembler<'a> {
1568 fn div(&mut self, op0: Gpw) {
1569 self.emit(DIV16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1570 }
1571}
1572
1573impl<'a> DivEmitter<Gpd> for Assembler<'a> {
1574 fn div(&mut self, op0: Gpd) {
1575 self.emit(DIV32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1576 }
1577}
1578
1579impl<'a> DivEmitter<Gpq> for Assembler<'a> {
1580 fn div(&mut self, op0: Gpq) {
1581 self.emit(DIV64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1582 }
1583}
1584
1585pub trait EnterEmitter<A> {
1597 fn enter(&mut self, op0: A);
1598}
1599
1600impl<'a> EnterEmitter<Imm> for Assembler<'a> {
1601 fn enter(&mut self, op0: Imm) {
1602 self.emit(ENTER16I, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1603 }
1604}
1605
1606pub trait FwaitEmitter {
1618 fn fwait(&mut self);
1619}
1620
1621impl<'a> FwaitEmitter for Assembler<'a> {
1622 fn fwait(&mut self) {
1623 self.emit(FWAIT, &NOREG, &NOREG, &NOREG, &NOREG);
1624 }
1625}
1626
1627pub trait HltEmitter {
1639 fn hlt(&mut self);
1640}
1641
1642impl<'a> HltEmitter for Assembler<'a> {
1643 fn hlt(&mut self) {
1644 self.emit(HLT, &NOREG, &NOREG, &NOREG, &NOREG);
1645 }
1646}
1647
1648pub trait IdivEmitter<A> {
1664 fn idiv(&mut self, op0: A);
1665}
1666
1667impl<'a> IdivEmitter<GpbLo> for Assembler<'a> {
1668 fn idiv(&mut self, op0: GpbLo) {
1669 self.emit(IDIV8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1670 }
1671}
1672
1673impl<'a> IdivEmitter<Mem> for Assembler<'a> {
1674 fn idiv(&mut self, op0: Mem) {
1675 self.emit(IDIV8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1676 }
1677}
1678
1679impl<'a> IdivEmitter<Gpw> for Assembler<'a> {
1680 fn idiv(&mut self, op0: Gpw) {
1681 self.emit(IDIV16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1682 }
1683}
1684
1685impl<'a> IdivEmitter<Gpd> for Assembler<'a> {
1686 fn idiv(&mut self, op0: Gpd) {
1687 self.emit(IDIV32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1688 }
1689}
1690
1691impl<'a> IdivEmitter<Gpq> for Assembler<'a> {
1692 fn idiv(&mut self, op0: Gpq) {
1693 self.emit(IDIV64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1694 }
1695}
1696
1697pub trait ImulEmitter_1<A> {
1713 fn imul_1(&mut self, op0: A);
1714}
1715
1716impl<'a> ImulEmitter_1<GpbLo> for Assembler<'a> {
1717 fn imul_1(&mut self, op0: GpbLo) {
1718 self.emit(IMUL8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1719 }
1720}
1721
1722impl<'a> ImulEmitter_1<Mem> for Assembler<'a> {
1723 fn imul_1(&mut self, op0: Mem) {
1724 self.emit(IMUL8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1725 }
1726}
1727
1728impl<'a> ImulEmitter_1<Gpw> for Assembler<'a> {
1729 fn imul_1(&mut self, op0: Gpw) {
1730 self.emit(IMUL16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1731 }
1732}
1733
1734impl<'a> ImulEmitter_1<Gpd> for Assembler<'a> {
1735 fn imul_1(&mut self, op0: Gpd) {
1736 self.emit(IMUL32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1737 }
1738}
1739
1740impl<'a> ImulEmitter_1<Gpq> for Assembler<'a> {
1741 fn imul_1(&mut self, op0: Gpq) {
1742 self.emit(IMUL64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1743 }
1744}
1745
1746pub trait ImulEmitter_2<A, B> {
1763 fn imul_2(&mut self, op0: A, op1: B);
1764}
1765
1766impl<'a> ImulEmitter_2<Gpw, Gpw> for Assembler<'a> {
1767 fn imul_2(&mut self, op0: Gpw, op1: Gpw) {
1768 self.emit(IMUL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1769 }
1770}
1771
1772impl<'a> ImulEmitter_2<Gpw, Mem> for Assembler<'a> {
1773 fn imul_2(&mut self, op0: Gpw, op1: Mem) {
1774 self.emit(IMUL16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1775 }
1776}
1777
1778impl<'a> ImulEmitter_2<Gpd, Gpd> for Assembler<'a> {
1779 fn imul_2(&mut self, op0: Gpd, op1: Gpd) {
1780 self.emit(IMUL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1781 }
1782}
1783
1784impl<'a> ImulEmitter_2<Gpd, Mem> for Assembler<'a> {
1785 fn imul_2(&mut self, op0: Gpd, op1: Mem) {
1786 self.emit(IMUL32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1787 }
1788}
1789
1790impl<'a> ImulEmitter_2<Gpq, Gpq> for Assembler<'a> {
1791 fn imul_2(&mut self, op0: Gpq, op1: Gpq) {
1792 self.emit(IMUL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1793 }
1794}
1795
1796impl<'a> ImulEmitter_2<Gpq, Mem> for Assembler<'a> {
1797 fn imul_2(&mut self, op0: Gpq, op1: Mem) {
1798 self.emit(IMUL64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1799 }
1800}
1801
1802pub trait ImulEmitter_3<A, B, C> {
1819 fn imul_3(&mut self, op0: A, op1: B, op2: C);
1820}
1821
1822impl<'a> ImulEmitter_3<Gpw, Gpw, Imm> for Assembler<'a> {
1823 fn imul_3(&mut self, op0: Gpw, op1: Gpw, op2: Imm) {
1824 self.emit(
1825 IMUL16RRI,
1826 op0.as_operand(),
1827 op1.as_operand(),
1828 op2.as_operand(),
1829 &NOREG,
1830 );
1831 }
1832}
1833
1834impl<'a> ImulEmitter_3<Gpw, Mem, Imm> for Assembler<'a> {
1835 fn imul_3(&mut self, op0: Gpw, op1: Mem, op2: Imm) {
1836 self.emit(
1837 IMUL16RMI,
1838 op0.as_operand(),
1839 op1.as_operand(),
1840 op2.as_operand(),
1841 &NOREG,
1842 );
1843 }
1844}
1845
1846impl<'a> ImulEmitter_3<Gpd, Gpd, Imm> for Assembler<'a> {
1847 fn imul_3(&mut self, op0: Gpd, op1: Gpd, op2: Imm) {
1848 self.emit(
1849 IMUL32RRI,
1850 op0.as_operand(),
1851 op1.as_operand(),
1852 op2.as_operand(),
1853 &NOREG,
1854 );
1855 }
1856}
1857
1858impl<'a> ImulEmitter_3<Gpd, Mem, Imm> for Assembler<'a> {
1859 fn imul_3(&mut self, op0: Gpd, op1: Mem, op2: Imm) {
1860 self.emit(
1861 IMUL32RMI,
1862 op0.as_operand(),
1863 op1.as_operand(),
1864 op2.as_operand(),
1865 &NOREG,
1866 );
1867 }
1868}
1869
1870impl<'a> ImulEmitter_3<Gpq, Gpq, Imm> for Assembler<'a> {
1871 fn imul_3(&mut self, op0: Gpq, op1: Gpq, op2: Imm) {
1872 self.emit(
1873 IMUL64RRI,
1874 op0.as_operand(),
1875 op1.as_operand(),
1876 op2.as_operand(),
1877 &NOREG,
1878 );
1879 }
1880}
1881
1882impl<'a> ImulEmitter_3<Gpq, Mem, Imm> for Assembler<'a> {
1883 fn imul_3(&mut self, op0: Gpq, op1: Mem, op2: Imm) {
1884 self.emit(
1885 IMUL64RMI,
1886 op0.as_operand(),
1887 op1.as_operand(),
1888 op2.as_operand(),
1889 &NOREG,
1890 );
1891 }
1892}
1893
1894pub trait InEmitter {
1906 fn r#in(&mut self);
1907}
1908
1909impl<'a> InEmitter for Assembler<'a> {
1910 fn r#in(&mut self) {
1911 self.emit(IN8, &NOREG, &NOREG, &NOREG, &NOREG);
1912 }
1913}
1914
1915pub trait InEmitter_2<A, B> {
1930 fn r#in_2(&mut self, op0: A, op1: B);
1931}
1932
1933impl<'a> InEmitter_2<GpbLo, Imm> for Assembler<'a> {
1934 fn r#in_2(&mut self, op0: GpbLo, op1: Imm) {
1935 self.emit(IN8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1936 }
1937}
1938
1939impl<'a> InEmitter_2<Gpw, Imm> for Assembler<'a> {
1940 fn r#in_2(&mut self, op0: Gpw, op1: Imm) {
1941 self.emit(IN16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1942 }
1943}
1944
1945impl<'a> InEmitter_2<Gpd, Imm> for Assembler<'a> {
1946 fn r#in_2(&mut self, op0: Gpd, op1: Imm) {
1947 self.emit(IN32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1948 }
1949}
1950
1951impl<'a> InEmitter_2<Gpq, Imm> for Assembler<'a> {
1952 fn r#in_2(&mut self, op0: Gpq, op1: Imm) {
1953 self.emit(IN64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1954 }
1955}
1956
1957pub trait IncEmitter<A> {
1973 fn inc(&mut self, op0: A);
1974}
1975
1976impl<'a> IncEmitter<GpbLo> for Assembler<'a> {
1977 fn inc(&mut self, op0: GpbLo) {
1978 self.emit(INC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1979 }
1980}
1981
1982impl<'a> IncEmitter<Mem> for Assembler<'a> {
1983 fn inc(&mut self, op0: Mem) {
1984 self.emit(INC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1985 }
1986}
1987
1988impl<'a> IncEmitter<Gpw> for Assembler<'a> {
1989 fn inc(&mut self, op0: Gpw) {
1990 self.emit(INC16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1991 }
1992}
1993
1994impl<'a> IncEmitter<Gpd> for Assembler<'a> {
1995 fn inc(&mut self, op0: Gpd) {
1996 self.emit(INC32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1997 }
1998}
1999
2000impl<'a> IncEmitter<Gpq> for Assembler<'a> {
2001 fn inc(&mut self, op0: Gpq) {
2002 self.emit(INC64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2003 }
2004}
2005
2006pub trait InsEmitter {
2018 fn ins(&mut self);
2019}
2020
2021impl<'a> InsEmitter for Assembler<'a> {
2022 fn ins(&mut self) {
2023 self.emit(INS8, &NOREG, &NOREG, &NOREG, &NOREG);
2024 }
2025}
2026
2027pub trait IntEmitter<A> {
2039 fn int(&mut self, op0: A);
2040}
2041
2042impl<'a> IntEmitter<Imm> for Assembler<'a> {
2043 fn int(&mut self, op0: Imm) {
2044 self.emit(INTI, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2045 }
2046}
2047
2048pub trait Int1Emitter {
2060 fn int1(&mut self);
2061}
2062
2063impl<'a> Int1Emitter for Assembler<'a> {
2064 fn int1(&mut self) {
2065 self.emit(INT1, &NOREG, &NOREG, &NOREG, &NOREG);
2066 }
2067}
2068
2069pub trait Int3Emitter {
2081 fn int3(&mut self);
2082}
2083
2084impl<'a> Int3Emitter for Assembler<'a> {
2085 fn int3(&mut self) {
2086 self.emit(INT3, &NOREG, &NOREG, &NOREG, &NOREG);
2087 }
2088}
2089
2090pub trait IretEmitter {
2102 fn iret(&mut self);
2103}
2104
2105impl<'a> IretEmitter for Assembler<'a> {
2106 fn iret(&mut self) {
2107 self.emit(IRET16, &NOREG, &NOREG, &NOREG, &NOREG);
2108 }
2109}
2110
2111pub trait JaEmitter<A> {
2125 fn ja(&mut self, op0: A);
2126}
2127
2128impl<'a> JaEmitter<Imm> for Assembler<'a> {
2129 fn ja(&mut self, op0: Imm) {
2130 self.emit(JA, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2131 }
2132}
2133
2134impl<'a> JaEmitter<Sym> for Assembler<'a> {
2135 fn ja(&mut self, op0: Sym) {
2136 self.emit(JA, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2137 }
2138}
2139
2140impl<'a> JaEmitter<Label> for Assembler<'a> {
2141 fn ja(&mut self, op0: Label) {
2142 self.emit(JA, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2143 }
2144}
2145
2146pub trait JbeEmitter<A> {
2160 fn jbe(&mut self, op0: A);
2161}
2162
2163impl<'a> JbeEmitter<Imm> for Assembler<'a> {
2164 fn jbe(&mut self, op0: Imm) {
2165 self.emit(JBE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2166 }
2167}
2168
2169impl<'a> JbeEmitter<Sym> for Assembler<'a> {
2170 fn jbe(&mut self, op0: Sym) {
2171 self.emit(JBE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2172 }
2173}
2174
2175impl<'a> JbeEmitter<Label> for Assembler<'a> {
2176 fn jbe(&mut self, op0: Label) {
2177 self.emit(JBE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2178 }
2179}
2180
2181pub trait JcEmitter<A> {
2195 fn jc(&mut self, op0: A);
2196}
2197
2198impl<'a> JcEmitter<Imm> for Assembler<'a> {
2199 fn jc(&mut self, op0: Imm) {
2200 self.emit(JC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2201 }
2202}
2203
2204impl<'a> JcEmitter<Sym> for Assembler<'a> {
2205 fn jc(&mut self, op0: Sym) {
2206 self.emit(JC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2207 }
2208}
2209
2210impl<'a> JcEmitter<Label> for Assembler<'a> {
2211 fn jc(&mut self, op0: Label) {
2212 self.emit(JC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2213 }
2214}
2215
2216pub trait JcxzEmitter<A> {
2230 fn jcxz(&mut self, op0: A);
2231}
2232
2233impl<'a> JcxzEmitter<Imm> for Assembler<'a> {
2234 fn jcxz(&mut self, op0: Imm) {
2235 self.emit(JCXZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2236 }
2237}
2238
2239impl<'a> JcxzEmitter<Sym> for Assembler<'a> {
2240 fn jcxz(&mut self, op0: Sym) {
2241 self.emit(JCXZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2242 }
2243}
2244
2245impl<'a> JcxzEmitter<Label> for Assembler<'a> {
2246 fn jcxz(&mut self, op0: Label) {
2247 self.emit(JCXZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2248 }
2249}
2250
2251pub trait JgEmitter<A> {
2265 fn jg(&mut self, op0: A);
2266}
2267
2268impl<'a> JgEmitter<Imm> for Assembler<'a> {
2269 fn jg(&mut self, op0: Imm) {
2270 self.emit(JG, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2271 }
2272}
2273
2274impl<'a> JgEmitter<Sym> for Assembler<'a> {
2275 fn jg(&mut self, op0: Sym) {
2276 self.emit(JG, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2277 }
2278}
2279
2280impl<'a> JgEmitter<Label> for Assembler<'a> {
2281 fn jg(&mut self, op0: Label) {
2282 self.emit(JG, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2283 }
2284}
2285
2286pub trait JgeEmitter<A> {
2300 fn jge(&mut self, op0: A);
2301}
2302
2303impl<'a> JgeEmitter<Imm> for Assembler<'a> {
2304 fn jge(&mut self, op0: Imm) {
2305 self.emit(JGE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2306 }
2307}
2308
2309impl<'a> JgeEmitter<Sym> for Assembler<'a> {
2310 fn jge(&mut self, op0: Sym) {
2311 self.emit(JGE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2312 }
2313}
2314
2315impl<'a> JgeEmitter<Label> for Assembler<'a> {
2316 fn jge(&mut self, op0: Label) {
2317 self.emit(JGE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2318 }
2319}
2320
2321pub trait JlEmitter<A> {
2335 fn jl(&mut self, op0: A);
2336}
2337
2338impl<'a> JlEmitter<Imm> for Assembler<'a> {
2339 fn jl(&mut self, op0: Imm) {
2340 self.emit(JL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2341 }
2342}
2343
2344impl<'a> JlEmitter<Sym> for Assembler<'a> {
2345 fn jl(&mut self, op0: Sym) {
2346 self.emit(JL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2347 }
2348}
2349
2350impl<'a> JlEmitter<Label> for Assembler<'a> {
2351 fn jl(&mut self, op0: Label) {
2352 self.emit(JL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2353 }
2354}
2355
2356pub trait JleEmitter<A> {
2370 fn jle(&mut self, op0: A);
2371}
2372
2373impl<'a> JleEmitter<Imm> for Assembler<'a> {
2374 fn jle(&mut self, op0: Imm) {
2375 self.emit(JLE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2376 }
2377}
2378
2379impl<'a> JleEmitter<Sym> for Assembler<'a> {
2380 fn jle(&mut self, op0: Sym) {
2381 self.emit(JLE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2382 }
2383}
2384
2385impl<'a> JleEmitter<Label> for Assembler<'a> {
2386 fn jle(&mut self, op0: Label) {
2387 self.emit(JLE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2388 }
2389}
2390
2391pub trait JmpEmitter<A> {
2407 fn jmp(&mut self, op0: A);
2408}
2409
2410impl<'a> JmpEmitter<Imm> for Assembler<'a> {
2411 fn jmp(&mut self, op0: Imm) {
2412 self.emit(JMP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2413 }
2414}
2415
2416impl<'a> JmpEmitter<Sym> for Assembler<'a> {
2417 fn jmp(&mut self, op0: Sym) {
2418 self.emit(JMP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2419 }
2420}
2421
2422impl<'a> JmpEmitter<Label> for Assembler<'a> {
2423 fn jmp(&mut self, op0: Label) {
2424 self.emit(JMP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2425 }
2426}
2427
2428impl<'a> JmpEmitter<Gpq> for Assembler<'a> {
2429 fn jmp(&mut self, op0: Gpq) {
2430 self.emit(JMPR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2431 }
2432}
2433
2434impl<'a> JmpEmitter<Mem> for Assembler<'a> {
2435 fn jmp(&mut self, op0: Mem) {
2436 self.emit(JMPM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2437 }
2438}
2439
2440pub trait JmpfEmitter<A> {
2452 fn jmpf(&mut self, op0: A);
2453}
2454
2455impl<'a> JmpfEmitter<Mem> for Assembler<'a> {
2456 fn jmpf(&mut self, op0: Mem) {
2457 self.emit(JMPF16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2458 }
2459}
2460
2461pub trait JncEmitter<A> {
2475 fn jnc(&mut self, op0: A);
2476}
2477
2478impl<'a> JncEmitter<Imm> for Assembler<'a> {
2479 fn jnc(&mut self, op0: Imm) {
2480 self.emit(JNC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2481 }
2482}
2483
2484impl<'a> JncEmitter<Sym> for Assembler<'a> {
2485 fn jnc(&mut self, op0: Sym) {
2486 self.emit(JNC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2487 }
2488}
2489
2490impl<'a> JncEmitter<Label> for Assembler<'a> {
2491 fn jnc(&mut self, op0: Label) {
2492 self.emit(JNC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2493 }
2494}
2495
2496pub trait JnoEmitter<A> {
2510 fn jno(&mut self, op0: A);
2511}
2512
2513impl<'a> JnoEmitter<Imm> for Assembler<'a> {
2514 fn jno(&mut self, op0: Imm) {
2515 self.emit(JNO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2516 }
2517}
2518
2519impl<'a> JnoEmitter<Sym> for Assembler<'a> {
2520 fn jno(&mut self, op0: Sym) {
2521 self.emit(JNO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2522 }
2523}
2524
2525impl<'a> JnoEmitter<Label> for Assembler<'a> {
2526 fn jno(&mut self, op0: Label) {
2527 self.emit(JNO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2528 }
2529}
2530
2531pub trait JnpEmitter<A> {
2545 fn jnp(&mut self, op0: A);
2546}
2547
2548impl<'a> JnpEmitter<Imm> for Assembler<'a> {
2549 fn jnp(&mut self, op0: Imm) {
2550 self.emit(JNP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2551 }
2552}
2553
2554impl<'a> JnpEmitter<Sym> for Assembler<'a> {
2555 fn jnp(&mut self, op0: Sym) {
2556 self.emit(JNP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2557 }
2558}
2559
2560impl<'a> JnpEmitter<Label> for Assembler<'a> {
2561 fn jnp(&mut self, op0: Label) {
2562 self.emit(JNP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2563 }
2564}
2565
2566pub trait JnsEmitter<A> {
2580 fn jns(&mut self, op0: A);
2581}
2582
2583impl<'a> JnsEmitter<Imm> for Assembler<'a> {
2584 fn jns(&mut self, op0: Imm) {
2585 self.emit(JNS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2586 }
2587}
2588
2589impl<'a> JnsEmitter<Sym> for Assembler<'a> {
2590 fn jns(&mut self, op0: Sym) {
2591 self.emit(JNS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2592 }
2593}
2594
2595impl<'a> JnsEmitter<Label> for Assembler<'a> {
2596 fn jns(&mut self, op0: Label) {
2597 self.emit(JNS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2598 }
2599}
2600
2601pub trait JnzEmitter<A> {
2615 fn jnz(&mut self, op0: A);
2616}
2617
2618impl<'a> JnzEmitter<Imm> for Assembler<'a> {
2619 fn jnz(&mut self, op0: Imm) {
2620 self.emit(JNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2621 }
2622}
2623
2624impl<'a> JnzEmitter<Sym> for Assembler<'a> {
2625 fn jnz(&mut self, op0: Sym) {
2626 self.emit(JNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2627 }
2628}
2629
2630impl<'a> JnzEmitter<Label> for Assembler<'a> {
2631 fn jnz(&mut self, op0: Label) {
2632 self.emit(JNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2633 }
2634}
2635
2636pub trait JoEmitter<A> {
2650 fn jo(&mut self, op0: A);
2651}
2652
2653impl<'a> JoEmitter<Imm> for Assembler<'a> {
2654 fn jo(&mut self, op0: Imm) {
2655 self.emit(JO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2656 }
2657}
2658
2659impl<'a> JoEmitter<Sym> for Assembler<'a> {
2660 fn jo(&mut self, op0: Sym) {
2661 self.emit(JO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2662 }
2663}
2664
2665impl<'a> JoEmitter<Label> for Assembler<'a> {
2666 fn jo(&mut self, op0: Label) {
2667 self.emit(JO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2668 }
2669}
2670
2671pub trait JpEmitter<A> {
2685 fn jp(&mut self, op0: A);
2686}
2687
2688impl<'a> JpEmitter<Imm> for Assembler<'a> {
2689 fn jp(&mut self, op0: Imm) {
2690 self.emit(JP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2691 }
2692}
2693
2694impl<'a> JpEmitter<Sym> for Assembler<'a> {
2695 fn jp(&mut self, op0: Sym) {
2696 self.emit(JP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2697 }
2698}
2699
2700impl<'a> JpEmitter<Label> for Assembler<'a> {
2701 fn jp(&mut self, op0: Label) {
2702 self.emit(JP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2703 }
2704}
2705
2706pub trait JsEmitter<A> {
2720 fn js(&mut self, op0: A);
2721}
2722
2723impl<'a> JsEmitter<Imm> for Assembler<'a> {
2724 fn js(&mut self, op0: Imm) {
2725 self.emit(JS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2726 }
2727}
2728
2729impl<'a> JsEmitter<Sym> for Assembler<'a> {
2730 fn js(&mut self, op0: Sym) {
2731 self.emit(JS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2732 }
2733}
2734
2735impl<'a> JsEmitter<Label> for Assembler<'a> {
2736 fn js(&mut self, op0: Label) {
2737 self.emit(JS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2738 }
2739}
2740
2741pub trait JzEmitter<A> {
2755 fn jz(&mut self, op0: A);
2756}
2757
2758impl<'a> JzEmitter<Imm> for Assembler<'a> {
2759 fn jz(&mut self, op0: Imm) {
2760 self.emit(JZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2761 }
2762}
2763
2764impl<'a> JzEmitter<Sym> for Assembler<'a> {
2765 fn jz(&mut self, op0: Sym) {
2766 self.emit(JZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2767 }
2768}
2769
2770impl<'a> JzEmitter<Label> for Assembler<'a> {
2771 fn jz(&mut self, op0: Label) {
2772 self.emit(JZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2773 }
2774}
2775
2776pub trait JccEmitter<A> {
2790 fn jcc(&mut self, op0: A);
2791}
2792
2793impl<'a> JccEmitter<Imm> for Assembler<'a> {
2794 fn jcc(&mut self, op0: Imm) {
2795 self.emit(JCC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2796 }
2797}
2798
2799impl<'a> JccEmitter<Sym> for Assembler<'a> {
2800 fn jcc(&mut self, op0: Sym) {
2801 self.emit(JCC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2802 }
2803}
2804
2805impl<'a> JccEmitter<Label> for Assembler<'a> {
2806 fn jcc(&mut self, op0: Label) {
2807 self.emit(JCC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2808 }
2809}
2810
2811pub trait LahfEmitter {
2823 fn lahf(&mut self);
2824}
2825
2826impl<'a> LahfEmitter for Assembler<'a> {
2827 fn lahf(&mut self) {
2828 self.emit(LAHF, &NOREG, &NOREG, &NOREG, &NOREG);
2829 }
2830}
2831
2832pub trait LarEmitter<A, B> {
2849 fn lar(&mut self, op0: A, op1: B);
2850}
2851
2852impl<'a> LarEmitter<Gpw, Gpw> for Assembler<'a> {
2853 fn lar(&mut self, op0: Gpw, op1: Gpw) {
2854 self.emit(LAR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2855 }
2856}
2857
2858impl<'a> LarEmitter<Gpw, Mem> for Assembler<'a> {
2859 fn lar(&mut self, op0: Gpw, op1: Mem) {
2860 self.emit(LAR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2861 }
2862}
2863
2864impl<'a> LarEmitter<Gpd, Gpw> for Assembler<'a> {
2865 fn lar(&mut self, op0: Gpd, op1: Gpw) {
2866 self.emit(LAR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2867 }
2868}
2869
2870impl<'a> LarEmitter<Gpd, Mem> for Assembler<'a> {
2871 fn lar(&mut self, op0: Gpd, op1: Mem) {
2872 self.emit(LAR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2873 }
2874}
2875
2876impl<'a> LarEmitter<Gpq, Gpw> for Assembler<'a> {
2877 fn lar(&mut self, op0: Gpq, op1: Gpw) {
2878 self.emit(LAR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2879 }
2880}
2881
2882impl<'a> LarEmitter<Gpq, Mem> for Assembler<'a> {
2883 fn lar(&mut self, op0: Gpq, op1: Mem) {
2884 self.emit(LAR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2885 }
2886}
2887
2888pub trait LdtilecfgEmitter<A> {
2900 fn ldtilecfg(&mut self, op0: A);
2901}
2902
2903impl<'a> LdtilecfgEmitter<Mem> for Assembler<'a> {
2904 fn ldtilecfg(&mut self, op0: Mem) {
2905 self.emit(LDTILECFGM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2906 }
2907}
2908
2909pub trait LeaEmitter<A, B> {
2923 fn lea(&mut self, op0: A, op1: B);
2924}
2925
2926impl<'a> LeaEmitter<Gpw, Mem> for Assembler<'a> {
2927 fn lea(&mut self, op0: Gpw, op1: Mem) {
2928 self.emit(LEA16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2929 }
2930}
2931
2932impl<'a> LeaEmitter<Gpd, Mem> for Assembler<'a> {
2933 fn lea(&mut self, op0: Gpd, op1: Mem) {
2934 self.emit(LEA32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2935 }
2936}
2937
2938impl<'a> LeaEmitter<Gpq, Mem> for Assembler<'a> {
2939 fn lea(&mut self, op0: Gpq, op1: Mem) {
2940 self.emit(LEA64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2941 }
2942}
2943
2944pub trait LeaveEmitter {
2956 fn leave(&mut self);
2957}
2958
2959impl<'a> LeaveEmitter for Assembler<'a> {
2960 fn leave(&mut self) {
2961 self.emit(LEAVE16, &NOREG, &NOREG, &NOREG, &NOREG);
2962 }
2963}
2964
2965pub trait LfsEmitter<A, B> {
2979 fn lfs(&mut self, op0: A, op1: B);
2980}
2981
2982impl<'a> LfsEmitter<Gpw, Mem> for Assembler<'a> {
2983 fn lfs(&mut self, op0: Gpw, op1: Mem) {
2984 self.emit(LFS16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2985 }
2986}
2987
2988impl<'a> LfsEmitter<Gpd, Mem> for Assembler<'a> {
2989 fn lfs(&mut self, op0: Gpd, op1: Mem) {
2990 self.emit(LFS32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2991 }
2992}
2993
2994impl<'a> LfsEmitter<Gpq, Mem> for Assembler<'a> {
2995 fn lfs(&mut self, op0: Gpq, op1: Mem) {
2996 self.emit(LFS64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2997 }
2998}
2999
3000pub trait LgdtEmitter<A> {
3012 fn lgdt(&mut self, op0: A);
3013}
3014
3015impl<'a> LgdtEmitter<Mem> for Assembler<'a> {
3016 fn lgdt(&mut self, op0: Mem) {
3017 self.emit(LGDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3018 }
3019}
3020
3021pub trait LgsEmitter<A, B> {
3035 fn lgs(&mut self, op0: A, op1: B);
3036}
3037
3038impl<'a> LgsEmitter<Gpw, Mem> for Assembler<'a> {
3039 fn lgs(&mut self, op0: Gpw, op1: Mem) {
3040 self.emit(LGS16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3041 }
3042}
3043
3044impl<'a> LgsEmitter<Gpd, Mem> for Assembler<'a> {
3045 fn lgs(&mut self, op0: Gpd, op1: Mem) {
3046 self.emit(LGS32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3047 }
3048}
3049
3050impl<'a> LgsEmitter<Gpq, Mem> for Assembler<'a> {
3051 fn lgs(&mut self, op0: Gpq, op1: Mem) {
3052 self.emit(LGS64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3053 }
3054}
3055
3056pub trait LidtEmitter<A> {
3068 fn lidt(&mut self, op0: A);
3069}
3070
3071impl<'a> LidtEmitter<Mem> for Assembler<'a> {
3072 fn lidt(&mut self, op0: Mem) {
3073 self.emit(LIDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3074 }
3075}
3076
3077pub trait LldtEmitter<A> {
3090 fn lldt(&mut self, op0: A);
3091}
3092
3093impl<'a> LldtEmitter<Gpd> for Assembler<'a> {
3094 fn lldt(&mut self, op0: Gpd) {
3095 self.emit(LLDTR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3096 }
3097}
3098
3099impl<'a> LldtEmitter<Mem> for Assembler<'a> {
3100 fn lldt(&mut self, op0: Mem) {
3101 self.emit(LLDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3102 }
3103}
3104
3105pub trait LmswEmitter<A> {
3118 fn lmsw(&mut self, op0: A);
3119}
3120
3121impl<'a> LmswEmitter<Gpd> for Assembler<'a> {
3122 fn lmsw(&mut self, op0: Gpd) {
3123 self.emit(LMSWR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3124 }
3125}
3126
3127impl<'a> LmswEmitter<Mem> for Assembler<'a> {
3128 fn lmsw(&mut self, op0: Mem) {
3129 self.emit(LMSWM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3130 }
3131}
3132
3133pub trait LodsEmitter {
3145 fn lods(&mut self);
3146}
3147
3148impl<'a> LodsEmitter for Assembler<'a> {
3149 fn lods(&mut self) {
3150 self.emit(LODS8, &NOREG, &NOREG, &NOREG, &NOREG);
3151 }
3152}
3153
3154pub trait LoopEmitter<A> {
3168 fn r#loop(&mut self, op0: A);
3169}
3170
3171impl<'a> LoopEmitter<Imm> for Assembler<'a> {
3172 fn r#loop(&mut self, op0: Imm) {
3173 self.emit(LOOP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3174 }
3175}
3176
3177impl<'a> LoopEmitter<Sym> for Assembler<'a> {
3178 fn r#loop(&mut self, op0: Sym) {
3179 self.emit(LOOP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3180 }
3181}
3182
3183impl<'a> LoopEmitter<Label> for Assembler<'a> {
3184 fn r#loop(&mut self, op0: Label) {
3185 self.emit(LOOP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3186 }
3187}
3188
3189pub trait LoopnzEmitter<A> {
3203 fn loopnz(&mut self, op0: A);
3204}
3205
3206impl<'a> LoopnzEmitter<Imm> for Assembler<'a> {
3207 fn loopnz(&mut self, op0: Imm) {
3208 self.emit(LOOPNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3209 }
3210}
3211
3212impl<'a> LoopnzEmitter<Sym> for Assembler<'a> {
3213 fn loopnz(&mut self, op0: Sym) {
3214 self.emit(LOOPNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3215 }
3216}
3217
3218impl<'a> LoopnzEmitter<Label> for Assembler<'a> {
3219 fn loopnz(&mut self, op0: Label) {
3220 self.emit(LOOPNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3221 }
3222}
3223
3224pub trait LoopzEmitter<A> {
3238 fn loopz(&mut self, op0: A);
3239}
3240
3241impl<'a> LoopzEmitter<Imm> for Assembler<'a> {
3242 fn loopz(&mut self, op0: Imm) {
3243 self.emit(LOOPZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3244 }
3245}
3246
3247impl<'a> LoopzEmitter<Sym> for Assembler<'a> {
3248 fn loopz(&mut self, op0: Sym) {
3249 self.emit(LOOPZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3250 }
3251}
3252
3253impl<'a> LoopzEmitter<Label> for Assembler<'a> {
3254 fn loopz(&mut self, op0: Label) {
3255 self.emit(LOOPZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3256 }
3257}
3258
3259pub trait LslEmitter<A, B> {
3276 fn lsl(&mut self, op0: A, op1: B);
3277}
3278
3279impl<'a> LslEmitter<Gpw, Gpw> for Assembler<'a> {
3280 fn lsl(&mut self, op0: Gpw, op1: Gpw) {
3281 self.emit(LSL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3282 }
3283}
3284
3285impl<'a> LslEmitter<Gpw, Mem> for Assembler<'a> {
3286 fn lsl(&mut self, op0: Gpw, op1: Mem) {
3287 self.emit(LSL16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3288 }
3289}
3290
3291impl<'a> LslEmitter<Gpd, Gpw> for Assembler<'a> {
3292 fn lsl(&mut self, op0: Gpd, op1: Gpw) {
3293 self.emit(LSL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3294 }
3295}
3296
3297impl<'a> LslEmitter<Gpd, Mem> for Assembler<'a> {
3298 fn lsl(&mut self, op0: Gpd, op1: Mem) {
3299 self.emit(LSL32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3300 }
3301}
3302
3303impl<'a> LslEmitter<Gpq, Gpw> for Assembler<'a> {
3304 fn lsl(&mut self, op0: Gpq, op1: Gpw) {
3305 self.emit(LSL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3306 }
3307}
3308
3309impl<'a> LslEmitter<Gpq, Mem> for Assembler<'a> {
3310 fn lsl(&mut self, op0: Gpq, op1: Mem) {
3311 self.emit(LSL64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3312 }
3313}
3314
3315pub trait LssEmitter<A, B> {
3329 fn lss(&mut self, op0: A, op1: B);
3330}
3331
3332impl<'a> LssEmitter<Gpw, Mem> for Assembler<'a> {
3333 fn lss(&mut self, op0: Gpw, op1: Mem) {
3334 self.emit(LSS16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3335 }
3336}
3337
3338impl<'a> LssEmitter<Gpd, Mem> for Assembler<'a> {
3339 fn lss(&mut self, op0: Gpd, op1: Mem) {
3340 self.emit(LSS32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3341 }
3342}
3343
3344impl<'a> LssEmitter<Gpq, Mem> for Assembler<'a> {
3345 fn lss(&mut self, op0: Gpq, op1: Mem) {
3346 self.emit(LSS64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3347 }
3348}
3349
3350pub trait LtrEmitter<A> {
3363 fn ltr(&mut self, op0: A);
3364}
3365
3366impl<'a> LtrEmitter<Gpd> for Assembler<'a> {
3367 fn ltr(&mut self, op0: Gpd) {
3368 self.emit(LTRR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3369 }
3370}
3371
3372impl<'a> LtrEmitter<Mem> for Assembler<'a> {
3373 fn ltr(&mut self, op0: Mem) {
3374 self.emit(LTRM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3375 }
3376}
3377
3378pub trait MovEmitter<A, B> {
3414 fn mov(&mut self, op0: A, op1: B);
3415}
3416
3417impl<'a> MovEmitter<GpbLo, GpbLo> for Assembler<'a> {
3418 fn mov(&mut self, op0: GpbLo, op1: GpbLo) {
3419 self.emit(MOV8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3420 }
3421}
3422
3423impl<'a> MovEmitter<Mem, GpbLo> for Assembler<'a> {
3424 fn mov(&mut self, op0: Mem, op1: GpbLo) {
3425 self.emit(MOV8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3426 }
3427}
3428
3429impl<'a> MovEmitter<Gpw, Gpw> for Assembler<'a> {
3430 fn mov(&mut self, op0: Gpw, op1: Gpw) {
3431 self.emit(MOV16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3432 }
3433}
3434
3435impl<'a> MovEmitter<Mem, Gpw> for Assembler<'a> {
3436 fn mov(&mut self, op0: Mem, op1: Gpw) {
3437 self.emit(MOV16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3438 }
3439}
3440
3441impl<'a> MovEmitter<Gpd, Gpd> for Assembler<'a> {
3442 fn mov(&mut self, op0: Gpd, op1: Gpd) {
3443 self.emit(MOV32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3444 }
3445}
3446
3447impl<'a> MovEmitter<Mem, Gpd> for Assembler<'a> {
3448 fn mov(&mut self, op0: Mem, op1: Gpd) {
3449 self.emit(MOV32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3450 }
3451}
3452
3453impl<'a> MovEmitter<Gpq, Gpq> for Assembler<'a> {
3454 fn mov(&mut self, op0: Gpq, op1: Gpq) {
3455 self.emit(MOV64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3456 }
3457}
3458
3459impl<'a> MovEmitter<Mem, Gpq> for Assembler<'a> {
3460 fn mov(&mut self, op0: Mem, op1: Gpq) {
3461 self.emit(MOV64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3462 }
3463}
3464
3465impl<'a> MovEmitter<GpbLo, Mem> for Assembler<'a> {
3466 fn mov(&mut self, op0: GpbLo, op1: Mem) {
3467 self.emit(MOV8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3468 }
3469}
3470
3471impl<'a> MovEmitter<Gpw, Mem> for Assembler<'a> {
3472 fn mov(&mut self, op0: Gpw, op1: Mem) {
3473 self.emit(MOV16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3474 }
3475}
3476
3477impl<'a> MovEmitter<Gpd, Mem> for Assembler<'a> {
3478 fn mov(&mut self, op0: Gpd, op1: Mem) {
3479 self.emit(MOV32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3480 }
3481}
3482
3483impl<'a> MovEmitter<Gpq, Mem> for Assembler<'a> {
3484 fn mov(&mut self, op0: Gpq, op1: Mem) {
3485 self.emit(MOV64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3486 }
3487}
3488
3489impl<'a> MovEmitter<GpbLo, AbsoluteAddress> for Assembler<'a> {
3490 fn mov(&mut self, op0: GpbLo, op1: AbsoluteAddress) {
3491 self.emit(MOV8RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3492 }
3493}
3494
3495impl<'a> MovEmitter<Gpw, AbsoluteAddress> for Assembler<'a> {
3496 fn mov(&mut self, op0: Gpw, op1: AbsoluteAddress) {
3497 self.emit(MOV16RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3498 }
3499}
3500
3501impl<'a> MovEmitter<Gpd, AbsoluteAddress> for Assembler<'a> {
3502 fn mov(&mut self, op0: Gpd, op1: AbsoluteAddress) {
3503 self.emit(MOV32RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3504 }
3505}
3506
3507impl<'a> MovEmitter<Gpq, AbsoluteAddress> for Assembler<'a> {
3508 fn mov(&mut self, op0: Gpq, op1: AbsoluteAddress) {
3509 self.emit(MOV64RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3510 }
3511}
3512
3513impl<'a> MovEmitter<AbsoluteAddress, GpbLo> for Assembler<'a> {
3514 fn mov(&mut self, op0: AbsoluteAddress, op1: GpbLo) {
3515 self.emit(MOV8AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3516 }
3517}
3518
3519impl<'a> MovEmitter<AbsoluteAddress, Gpw> for Assembler<'a> {
3520 fn mov(&mut self, op0: AbsoluteAddress, op1: Gpw) {
3521 self.emit(MOV16AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3522 }
3523}
3524
3525impl<'a> MovEmitter<AbsoluteAddress, Gpd> for Assembler<'a> {
3526 fn mov(&mut self, op0: AbsoluteAddress, op1: Gpd) {
3527 self.emit(MOV32AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3528 }
3529}
3530
3531impl<'a> MovEmitter<AbsoluteAddress, Gpq> for Assembler<'a> {
3532 fn mov(&mut self, op0: AbsoluteAddress, op1: Gpq) {
3533 self.emit(MOV64AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3534 }
3535}
3536
3537impl<'a> MovEmitter<GpbLo, Imm> for Assembler<'a> {
3538 fn mov(&mut self, op0: GpbLo, op1: Imm) {
3539 self.emit(MOV8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3540 }
3541}
3542
3543impl<'a> MovEmitter<Gpw, Imm> for Assembler<'a> {
3544 fn mov(&mut self, op0: Gpw, op1: Imm) {
3545 self.emit(MOV16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3546 }
3547}
3548
3549impl<'a> MovEmitter<Gpd, Imm> for Assembler<'a> {
3550 fn mov(&mut self, op0: Gpd, op1: Imm) {
3551 self.emit(MOV32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3552 }
3553}
3554
3555impl<'a> MovEmitter<Gpq, Imm> for Assembler<'a> {
3556 fn mov(&mut self, op0: Gpq, op1: Imm) {
3557 self.emit(MOV64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3558 }
3559}
3560
3561impl<'a> MovEmitter<Mem, Imm> for Assembler<'a> {
3562 fn mov(&mut self, op0: Mem, op1: Imm) {
3563 self.emit(MOV8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3564 }
3565}
3566
3567pub trait MovsEmitter {
3579 fn movs(&mut self);
3580}
3581
3582impl<'a> MovsEmitter for Assembler<'a> {
3583 fn movs(&mut self) {
3584 self.emit(MOVS8, &NOREG, &NOREG, &NOREG, &NOREG);
3585 }
3586}
3587
3588pub trait MovsxEmitter<A, B> {
3611 fn movsx(&mut self, op0: A, op1: B);
3612}
3613
3614impl<'a> MovsxEmitter<Gpw, Gpd> for Assembler<'a> {
3615 fn movsx(&mut self, op0: Gpw, op1: Gpd) {
3616 self.emit(
3617 MOVSXR16R32,
3618 op0.as_operand(),
3619 op1.as_operand(),
3620 &NOREG,
3621 &NOREG,
3622 );
3623 }
3624}
3625
3626impl<'a> MovsxEmitter<Gpw, Mem> for Assembler<'a> {
3627 fn movsx(&mut self, op0: Gpw, op1: Mem) {
3628 self.emit(
3629 MOVSXR16M32,
3630 op0.as_operand(),
3631 op1.as_operand(),
3632 &NOREG,
3633 &NOREG,
3634 );
3635 }
3636}
3637
3638impl<'a> MovsxEmitter<Gpd, Gpd> for Assembler<'a> {
3639 fn movsx(&mut self, op0: Gpd, op1: Gpd) {
3640 self.emit(
3641 MOVSXR32R32,
3642 op0.as_operand(),
3643 op1.as_operand(),
3644 &NOREG,
3645 &NOREG,
3646 );
3647 }
3648}
3649
3650impl<'a> MovsxEmitter<Gpd, Mem> for Assembler<'a> {
3651 fn movsx(&mut self, op0: Gpd, op1: Mem) {
3652 self.emit(
3653 MOVSXR32M32,
3654 op0.as_operand(),
3655 op1.as_operand(),
3656 &NOREG,
3657 &NOREG,
3658 );
3659 }
3660}
3661
3662impl<'a> MovsxEmitter<Gpq, Gpd> for Assembler<'a> {
3663 fn movsx(&mut self, op0: Gpq, op1: Gpd) {
3664 self.emit(
3665 MOVSXR64R32,
3666 op0.as_operand(),
3667 op1.as_operand(),
3668 &NOREG,
3669 &NOREG,
3670 );
3671 }
3672}
3673
3674impl<'a> MovsxEmitter<Gpq, Mem> for Assembler<'a> {
3675 fn movsx(&mut self, op0: Gpq, op1: Mem) {
3676 self.emit(
3677 MOVSXR64M32,
3678 op0.as_operand(),
3679 op1.as_operand(),
3680 &NOREG,
3681 &NOREG,
3682 );
3683 }
3684}
3685
3686impl<'a> MovsxEmitter<Gpw, GpbLo> for Assembler<'a> {
3687 fn movsx(&mut self, op0: Gpw, op1: GpbLo) {
3688 self.emit(
3689 MOVSXR16R8,
3690 op0.as_operand(),
3691 op1.as_operand(),
3692 &NOREG,
3693 &NOREG,
3694 );
3695 }
3696}
3697
3698impl<'a> MovsxEmitter<Gpd, GpbLo> for Assembler<'a> {
3699 fn movsx(&mut self, op0: Gpd, op1: GpbLo) {
3700 self.emit(
3701 MOVSXR32R8,
3702 op0.as_operand(),
3703 op1.as_operand(),
3704 &NOREG,
3705 &NOREG,
3706 );
3707 }
3708}
3709
3710impl<'a> MovsxEmitter<Gpq, GpbLo> for Assembler<'a> {
3711 fn movsx(&mut self, op0: Gpq, op1: GpbLo) {
3712 self.emit(
3713 MOVSXR64R8,
3714 op0.as_operand(),
3715 op1.as_operand(),
3716 &NOREG,
3717 &NOREG,
3718 );
3719 }
3720}
3721
3722impl<'a> MovsxEmitter<Gpw, Gpw> for Assembler<'a> {
3723 fn movsx(&mut self, op0: Gpw, op1: Gpw) {
3724 self.emit(
3725 MOVSXR16R16,
3726 op0.as_operand(),
3727 op1.as_operand(),
3728 &NOREG,
3729 &NOREG,
3730 );
3731 }
3732}
3733
3734impl<'a> MovsxEmitter<Gpd, Gpw> for Assembler<'a> {
3735 fn movsx(&mut self, op0: Gpd, op1: Gpw) {
3736 self.emit(
3737 MOVSXR32R16,
3738 op0.as_operand(),
3739 op1.as_operand(),
3740 &NOREG,
3741 &NOREG,
3742 );
3743 }
3744}
3745
3746impl<'a> MovsxEmitter<Gpq, Gpw> for Assembler<'a> {
3747 fn movsx(&mut self, op0: Gpq, op1: Gpw) {
3748 self.emit(
3749 MOVSXR64R16,
3750 op0.as_operand(),
3751 op1.as_operand(),
3752 &NOREG,
3753 &NOREG,
3754 );
3755 }
3756}
3757
3758pub trait MovzxEmitter<A, B> {
3778 fn movzx(&mut self, op0: A, op1: B);
3779}
3780
3781impl<'a> MovzxEmitter<Gpw, GpbLo> for Assembler<'a> {
3782 fn movzx(&mut self, op0: Gpw, op1: GpbLo) {
3783 self.emit(
3784 MOVZXR16R8,
3785 op0.as_operand(),
3786 op1.as_operand(),
3787 &NOREG,
3788 &NOREG,
3789 );
3790 }
3791}
3792
3793impl<'a> MovzxEmitter<Gpw, Mem> for Assembler<'a> {
3794 fn movzx(&mut self, op0: Gpw, op1: Mem) {
3795 self.emit(
3796 MOVZXR16M8,
3797 op0.as_operand(),
3798 op1.as_operand(),
3799 &NOREG,
3800 &NOREG,
3801 );
3802 }
3803}
3804
3805impl<'a> MovzxEmitter<Gpd, GpbLo> for Assembler<'a> {
3806 fn movzx(&mut self, op0: Gpd, op1: GpbLo) {
3807 self.emit(
3808 MOVZXR32R8,
3809 op0.as_operand(),
3810 op1.as_operand(),
3811 &NOREG,
3812 &NOREG,
3813 );
3814 }
3815}
3816
3817impl<'a> MovzxEmitter<Gpd, Mem> for Assembler<'a> {
3818 fn movzx(&mut self, op0: Gpd, op1: Mem) {
3819 self.emit(
3820 MOVZXR32M8,
3821 op0.as_operand(),
3822 op1.as_operand(),
3823 &NOREG,
3824 &NOREG,
3825 );
3826 }
3827}
3828
3829impl<'a> MovzxEmitter<Gpq, GpbLo> for Assembler<'a> {
3830 fn movzx(&mut self, op0: Gpq, op1: GpbLo) {
3831 self.emit(
3832 MOVZXR64R8,
3833 op0.as_operand(),
3834 op1.as_operand(),
3835 &NOREG,
3836 &NOREG,
3837 );
3838 }
3839}
3840
3841impl<'a> MovzxEmitter<Gpq, Mem> for Assembler<'a> {
3842 fn movzx(&mut self, op0: Gpq, op1: Mem) {
3843 self.emit(
3844 MOVZXR64M8,
3845 op0.as_operand(),
3846 op1.as_operand(),
3847 &NOREG,
3848 &NOREG,
3849 );
3850 }
3851}
3852
3853impl<'a> MovzxEmitter<Gpw, Gpw> for Assembler<'a> {
3854 fn movzx(&mut self, op0: Gpw, op1: Gpw) {
3855 self.emit(
3856 MOVZXR16R16,
3857 op0.as_operand(),
3858 op1.as_operand(),
3859 &NOREG,
3860 &NOREG,
3861 );
3862 }
3863}
3864
3865impl<'a> MovzxEmitter<Gpd, Gpw> for Assembler<'a> {
3866 fn movzx(&mut self, op0: Gpd, op1: Gpw) {
3867 self.emit(
3868 MOVZXR32R16,
3869 op0.as_operand(),
3870 op1.as_operand(),
3871 &NOREG,
3872 &NOREG,
3873 );
3874 }
3875}
3876
3877impl<'a> MovzxEmitter<Gpq, Gpw> for Assembler<'a> {
3878 fn movzx(&mut self, op0: Gpq, op1: Gpw) {
3879 self.emit(
3880 MOVZXR64R16,
3881 op0.as_operand(),
3882 op1.as_operand(),
3883 &NOREG,
3884 &NOREG,
3885 );
3886 }
3887}
3888
3889pub trait MovCr2gEmitter<A, B> {
3901 fn mov_cr2g(&mut self, op0: A, op1: B);
3902}
3903
3904impl<'a> MovCr2gEmitter<Gpq, CReg> for Assembler<'a> {
3905 fn mov_cr2g(&mut self, op0: Gpq, op1: CReg) {
3906 self.emit(
3907 MOV_CR2GRR,
3908 op0.as_operand(),
3909 op1.as_operand(),
3910 &NOREG,
3911 &NOREG,
3912 );
3913 }
3914}
3915
3916pub trait MovDr2gEmitter<A, B> {
3928 fn mov_dr2g(&mut self, op0: A, op1: B);
3929}
3930
3931impl<'a> MovDr2gEmitter<Gpq, DReg> for Assembler<'a> {
3932 fn mov_dr2g(&mut self, op0: Gpq, op1: DReg) {
3933 self.emit(
3934 MOV_DR2GRR,
3935 op0.as_operand(),
3936 op1.as_operand(),
3937 &NOREG,
3938 &NOREG,
3939 );
3940 }
3941}
3942
3943pub trait MovG2crEmitter<A, B> {
3955 fn mov_g2cr(&mut self, op0: A, op1: B);
3956}
3957
3958impl<'a> MovG2crEmitter<CReg, Gpq> for Assembler<'a> {
3959 fn mov_g2cr(&mut self, op0: CReg, op1: Gpq) {
3960 self.emit(
3961 MOV_G2CRRR,
3962 op0.as_operand(),
3963 op1.as_operand(),
3964 &NOREG,
3965 &NOREG,
3966 );
3967 }
3968}
3969
3970pub trait MovG2drEmitter<A, B> {
3982 fn mov_g2dr(&mut self, op0: A, op1: B);
3983}
3984
3985impl<'a> MovG2drEmitter<DReg, Gpq> for Assembler<'a> {
3986 fn mov_g2dr(&mut self, op0: DReg, op1: Gpq) {
3987 self.emit(
3988 MOV_G2DRRR,
3989 op0.as_operand(),
3990 op1.as_operand(),
3991 &NOREG,
3992 &NOREG,
3993 );
3994 }
3995}
3996
3997pub trait MovG2sEmitter<A, B> {
4010 fn mov_g2s(&mut self, op0: A, op1: B);
4011}
4012
4013impl<'a> MovG2sEmitter<SReg, Gpd> for Assembler<'a> {
4014 fn mov_g2s(&mut self, op0: SReg, op1: Gpd) {
4015 self.emit(
4016 MOV_G2SRR,
4017 op0.as_operand(),
4018 op1.as_operand(),
4019 &NOREG,
4020 &NOREG,
4021 );
4022 }
4023}
4024
4025impl<'a> MovG2sEmitter<SReg, Mem> for Assembler<'a> {
4026 fn mov_g2s(&mut self, op0: SReg, op1: Mem) {
4027 self.emit(
4028 MOV_G2SRM,
4029 op0.as_operand(),
4030 op1.as_operand(),
4031 &NOREG,
4032 &NOREG,
4033 );
4034 }
4035}
4036
4037pub trait MovS2gEmitter<A, B> {
4050 fn mov_s2g(&mut self, op0: A, op1: B);
4051}
4052
4053impl<'a> MovS2gEmitter<Gpd, SReg> for Assembler<'a> {
4054 fn mov_s2g(&mut self, op0: Gpd, op1: SReg) {
4055 self.emit(
4056 MOV_S2GRR,
4057 op0.as_operand(),
4058 op1.as_operand(),
4059 &NOREG,
4060 &NOREG,
4061 );
4062 }
4063}
4064
4065impl<'a> MovS2gEmitter<Mem, SReg> for Assembler<'a> {
4066 fn mov_s2g(&mut self, op0: Mem, op1: SReg) {
4067 self.emit(
4068 MOV_S2GMR,
4069 op0.as_operand(),
4070 op1.as_operand(),
4071 &NOREG,
4072 &NOREG,
4073 );
4074 }
4075}
4076
4077pub trait MulEmitter<A> {
4093 fn mul(&mut self, op0: A);
4094}
4095
4096impl<'a> MulEmitter<GpbLo> for Assembler<'a> {
4097 fn mul(&mut self, op0: GpbLo) {
4098 self.emit(MUL8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4099 }
4100}
4101
4102impl<'a> MulEmitter<Mem> for Assembler<'a> {
4103 fn mul(&mut self, op0: Mem) {
4104 self.emit(MUL8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4105 }
4106}
4107
4108impl<'a> MulEmitter<Gpw> for Assembler<'a> {
4109 fn mul(&mut self, op0: Gpw) {
4110 self.emit(MUL16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4111 }
4112}
4113
4114impl<'a> MulEmitter<Gpd> for Assembler<'a> {
4115 fn mul(&mut self, op0: Gpd) {
4116 self.emit(MUL32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4117 }
4118}
4119
4120impl<'a> MulEmitter<Gpq> for Assembler<'a> {
4121 fn mul(&mut self, op0: Gpq) {
4122 self.emit(MUL64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4123 }
4124}
4125
4126pub trait NegEmitter<A> {
4142 fn neg(&mut self, op0: A);
4143}
4144
4145impl<'a> NegEmitter<GpbLo> for Assembler<'a> {
4146 fn neg(&mut self, op0: GpbLo) {
4147 self.emit(NEG8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4148 }
4149}
4150
4151impl<'a> NegEmitter<Mem> for Assembler<'a> {
4152 fn neg(&mut self, op0: Mem) {
4153 self.emit(NEG8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4154 }
4155}
4156
4157impl<'a> NegEmitter<Gpw> for Assembler<'a> {
4158 fn neg(&mut self, op0: Gpw) {
4159 self.emit(NEG16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4160 }
4161}
4162
4163impl<'a> NegEmitter<Gpd> for Assembler<'a> {
4164 fn neg(&mut self, op0: Gpd) {
4165 self.emit(NEG32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4166 }
4167}
4168
4169impl<'a> NegEmitter<Gpq> for Assembler<'a> {
4170 fn neg(&mut self, op0: Gpq) {
4171 self.emit(NEG64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4172 }
4173}
4174
4175pub trait NopEmitter {
4187 fn nop(&mut self);
4188}
4189
4190impl<'a> NopEmitter for Assembler<'a> {
4191 fn nop(&mut self) {
4192 self.emit(NOP, &NOREG, &NOREG, &NOREG, &NOREG);
4193 }
4194}
4195
4196pub trait NopEmitter_1<A> {
4211 fn nop_1(&mut self, op0: A);
4212}
4213
4214impl<'a> NopEmitter_1<Gpw> for Assembler<'a> {
4215 fn nop_1(&mut self, op0: Gpw) {
4216 self.emit(NOP16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4217 }
4218}
4219
4220impl<'a> NopEmitter_1<Mem> for Assembler<'a> {
4221 fn nop_1(&mut self, op0: Mem) {
4222 self.emit(NOP16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4223 }
4224}
4225
4226impl<'a> NopEmitter_1<Gpd> for Assembler<'a> {
4227 fn nop_1(&mut self, op0: Gpd) {
4228 self.emit(NOP32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4229 }
4230}
4231
4232impl<'a> NopEmitter_1<Gpq> for Assembler<'a> {
4233 fn nop_1(&mut self, op0: Gpq) {
4234 self.emit(NOP64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4235 }
4236}
4237
4238pub trait NotEmitter<A> {
4254 fn not(&mut self, op0: A);
4255}
4256
4257impl<'a> NotEmitter<GpbLo> for Assembler<'a> {
4258 fn not(&mut self, op0: GpbLo) {
4259 self.emit(NOT8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4260 }
4261}
4262
4263impl<'a> NotEmitter<Mem> for Assembler<'a> {
4264 fn not(&mut self, op0: Mem) {
4265 self.emit(NOT8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4266 }
4267}
4268
4269impl<'a> NotEmitter<Gpw> for Assembler<'a> {
4270 fn not(&mut self, op0: Gpw) {
4271 self.emit(NOT16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4272 }
4273}
4274
4275impl<'a> NotEmitter<Gpd> for Assembler<'a> {
4276 fn not(&mut self, op0: Gpd) {
4277 self.emit(NOT32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4278 }
4279}
4280
4281impl<'a> NotEmitter<Gpq> for Assembler<'a> {
4282 fn not(&mut self, op0: Gpq) {
4283 self.emit(NOT64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4284 }
4285}
4286
4287pub trait OrEmitter<A, B> {
4315 fn or(&mut self, op0: A, op1: B);
4316}
4317
4318impl<'a> OrEmitter<GpbLo, GpbLo> for Assembler<'a> {
4319 fn or(&mut self, op0: GpbLo, op1: GpbLo) {
4320 self.emit(OR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4321 }
4322}
4323
4324impl<'a> OrEmitter<Mem, GpbLo> for Assembler<'a> {
4325 fn or(&mut self, op0: Mem, op1: GpbLo) {
4326 self.emit(OR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4327 }
4328}
4329
4330impl<'a> OrEmitter<Gpw, Gpw> for Assembler<'a> {
4331 fn or(&mut self, op0: Gpw, op1: Gpw) {
4332 self.emit(OR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4333 }
4334}
4335
4336impl<'a> OrEmitter<Mem, Gpw> for Assembler<'a> {
4337 fn or(&mut self, op0: Mem, op1: Gpw) {
4338 self.emit(OR16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4339 }
4340}
4341
4342impl<'a> OrEmitter<Gpd, Gpd> for Assembler<'a> {
4343 fn or(&mut self, op0: Gpd, op1: Gpd) {
4344 self.emit(OR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4345 }
4346}
4347
4348impl<'a> OrEmitter<Mem, Gpd> for Assembler<'a> {
4349 fn or(&mut self, op0: Mem, op1: Gpd) {
4350 self.emit(OR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4351 }
4352}
4353
4354impl<'a> OrEmitter<Gpq, Gpq> for Assembler<'a> {
4355 fn or(&mut self, op0: Gpq, op1: Gpq) {
4356 self.emit(OR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4357 }
4358}
4359
4360impl<'a> OrEmitter<Mem, Gpq> for Assembler<'a> {
4361 fn or(&mut self, op0: Mem, op1: Gpq) {
4362 self.emit(OR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4363 }
4364}
4365
4366impl<'a> OrEmitter<GpbLo, Mem> for Assembler<'a> {
4367 fn or(&mut self, op0: GpbLo, op1: Mem) {
4368 self.emit(OR8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4369 }
4370}
4371
4372impl<'a> OrEmitter<Gpw, Mem> for Assembler<'a> {
4373 fn or(&mut self, op0: Gpw, op1: Mem) {
4374 self.emit(OR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4375 }
4376}
4377
4378impl<'a> OrEmitter<Gpd, Mem> for Assembler<'a> {
4379 fn or(&mut self, op0: Gpd, op1: Mem) {
4380 self.emit(OR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4381 }
4382}
4383
4384impl<'a> OrEmitter<Gpq, Mem> for Assembler<'a> {
4385 fn or(&mut self, op0: Gpq, op1: Mem) {
4386 self.emit(OR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4387 }
4388}
4389
4390impl<'a> OrEmitter<GpbLo, Imm> for Assembler<'a> {
4391 fn or(&mut self, op0: GpbLo, op1: Imm) {
4392 self.emit(OR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4393 }
4394}
4395
4396impl<'a> OrEmitter<Gpw, Imm> for Assembler<'a> {
4397 fn or(&mut self, op0: Gpw, op1: Imm) {
4398 self.emit(OR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4399 }
4400}
4401
4402impl<'a> OrEmitter<Gpd, Imm> for Assembler<'a> {
4403 fn or(&mut self, op0: Gpd, op1: Imm) {
4404 self.emit(OR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4405 }
4406}
4407
4408impl<'a> OrEmitter<Gpq, Imm> for Assembler<'a> {
4409 fn or(&mut self, op0: Gpq, op1: Imm) {
4410 self.emit(OR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4411 }
4412}
4413
4414impl<'a> OrEmitter<Mem, Imm> for Assembler<'a> {
4415 fn or(&mut self, op0: Mem, op1: Imm) {
4416 self.emit(OR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4417 }
4418}
4419
4420pub trait OutEmitter {
4432 fn r#out(&mut self);
4433}
4434
4435impl<'a> OutEmitter for Assembler<'a> {
4436 fn r#out(&mut self) {
4437 self.emit(OUT8, &NOREG, &NOREG, &NOREG, &NOREG);
4438 }
4439}
4440
4441pub trait OutEmitter_2<A, B> {
4456 fn r#out_2(&mut self, op0: A, op1: B);
4457}
4458
4459impl<'a> OutEmitter_2<GpbLo, Imm> for Assembler<'a> {
4460 fn r#out_2(&mut self, op0: GpbLo, op1: Imm) {
4461 self.emit(OUT8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4462 }
4463}
4464
4465impl<'a> OutEmitter_2<Gpw, Imm> for Assembler<'a> {
4466 fn r#out_2(&mut self, op0: Gpw, op1: Imm) {
4467 self.emit(OUT16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4468 }
4469}
4470
4471impl<'a> OutEmitter_2<Gpd, Imm> for Assembler<'a> {
4472 fn r#out_2(&mut self, op0: Gpd, op1: Imm) {
4473 self.emit(OUT32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4474 }
4475}
4476
4477impl<'a> OutEmitter_2<Gpq, Imm> for Assembler<'a> {
4478 fn r#out_2(&mut self, op0: Gpq, op1: Imm) {
4479 self.emit(OUT64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4480 }
4481}
4482
4483pub trait OutsEmitter {
4495 fn outs(&mut self);
4496}
4497
4498impl<'a> OutsEmitter for Assembler<'a> {
4499 fn outs(&mut self) {
4500 self.emit(OUTS8, &NOREG, &NOREG, &NOREG, &NOREG);
4501 }
4502}
4503
4504pub trait PauseEmitter {
4516 fn pause(&mut self);
4517}
4518
4519impl<'a> PauseEmitter for Assembler<'a> {
4520 fn pause(&mut self) {
4521 self.emit(PAUSE, &NOREG, &NOREG, &NOREG, &NOREG);
4522 }
4523}
4524
4525pub trait PopEmitter<A> {
4539 fn pop(&mut self, op0: A);
4540}
4541
4542impl<'a> PopEmitter<Gpw> for Assembler<'a> {
4543 fn pop(&mut self, op0: Gpw) {
4544 self.emit(POP16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4545 }
4546}
4547
4548impl<'a> PopEmitter<Gpq> for Assembler<'a> {
4549 fn pop(&mut self, op0: Gpq) {
4550 self.emit(POPR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4551 }
4552}
4553
4554impl<'a> PopEmitter<Mem> for Assembler<'a> {
4555 fn pop(&mut self, op0: Mem) {
4556 self.emit(POP16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4557 }
4558}
4559
4560pub trait PopfEmitter {
4572 fn popf(&mut self);
4573}
4574
4575impl<'a> PopfEmitter for Assembler<'a> {
4576 fn popf(&mut self) {
4577 self.emit(POPF16, &NOREG, &NOREG, &NOREG, &NOREG);
4578 }
4579}
4580
4581pub trait PopSegEmitter<A> {
4593 fn pop_seg(&mut self, op0: A);
4594}
4595
4596impl<'a> PopSegEmitter<SReg> for Assembler<'a> {
4597 fn pop_seg(&mut self, op0: SReg) {
4598 self.emit(POP_SEG16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4599 }
4600}
4601
4602pub trait PushEmitter<A> {
4617 fn push(&mut self, op0: A);
4618}
4619
4620impl<'a> PushEmitter<Gpw> for Assembler<'a> {
4621 fn push(&mut self, op0: Gpw) {
4622 self.emit(PUSH16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4623 }
4624}
4625
4626impl<'a> PushEmitter<Gpq> for Assembler<'a> {
4627 fn push(&mut self, op0: Gpq) {
4628 self.emit(PUSHR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4629 }
4630}
4631
4632impl<'a> PushEmitter<Imm> for Assembler<'a> {
4633 fn push(&mut self, op0: Imm) {
4634 self.emit(PUSH16I, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4635 }
4636}
4637
4638impl<'a> PushEmitter<Mem> for Assembler<'a> {
4639 fn push(&mut self, op0: Mem) {
4640 self.emit(PUSH16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4641 }
4642}
4643
4644pub trait PushfEmitter {
4656 fn pushf(&mut self);
4657}
4658
4659impl<'a> PushfEmitter for Assembler<'a> {
4660 fn pushf(&mut self) {
4661 self.emit(PUSHF16, &NOREG, &NOREG, &NOREG, &NOREG);
4662 }
4663}
4664
4665pub trait PushSegEmitter<A> {
4677 fn push_seg(&mut self, op0: A);
4678}
4679
4680impl<'a> PushSegEmitter<SReg> for Assembler<'a> {
4681 fn push_seg(&mut self, op0: SReg) {
4682 self.emit(PUSH_SEG16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4683 }
4684}
4685
4686pub trait RclEmitter<A, B> {
4707 fn rcl(&mut self, op0: A, op1: B);
4708}
4709
4710impl<'a> RclEmitter<GpbLo, Imm> for Assembler<'a> {
4711 fn rcl(&mut self, op0: GpbLo, op1: Imm) {
4712 self.emit(RCL8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4713 }
4714}
4715
4716impl<'a> RclEmitter<Mem, Imm> for Assembler<'a> {
4717 fn rcl(&mut self, op0: Mem, op1: Imm) {
4718 self.emit(RCL8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4719 }
4720}
4721
4722impl<'a> RclEmitter<Gpw, Imm> for Assembler<'a> {
4723 fn rcl(&mut self, op0: Gpw, op1: Imm) {
4724 self.emit(RCL16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4725 }
4726}
4727
4728impl<'a> RclEmitter<Gpd, Imm> for Assembler<'a> {
4729 fn rcl(&mut self, op0: Gpd, op1: Imm) {
4730 self.emit(RCL32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4731 }
4732}
4733
4734impl<'a> RclEmitter<Gpq, Imm> for Assembler<'a> {
4735 fn rcl(&mut self, op0: Gpq, op1: Imm) {
4736 self.emit(RCL64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4737 }
4738}
4739
4740impl<'a> RclEmitter<GpbLo, GpbLo> for Assembler<'a> {
4741 fn rcl(&mut self, op0: GpbLo, op1: GpbLo) {
4742 self.emit(RCL8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4743 }
4744}
4745
4746impl<'a> RclEmitter<Mem, GpbLo> for Assembler<'a> {
4747 fn rcl(&mut self, op0: Mem, op1: GpbLo) {
4748 self.emit(RCL8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4749 }
4750}
4751
4752impl<'a> RclEmitter<Gpw, GpbLo> for Assembler<'a> {
4753 fn rcl(&mut self, op0: Gpw, op1: GpbLo) {
4754 self.emit(RCL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4755 }
4756}
4757
4758impl<'a> RclEmitter<Gpd, GpbLo> for Assembler<'a> {
4759 fn rcl(&mut self, op0: Gpd, op1: GpbLo) {
4760 self.emit(RCL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4761 }
4762}
4763
4764impl<'a> RclEmitter<Gpq, GpbLo> for Assembler<'a> {
4765 fn rcl(&mut self, op0: Gpq, op1: GpbLo) {
4766 self.emit(RCL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4767 }
4768}
4769
4770pub trait RcrEmitter<A, B> {
4791 fn rcr(&mut self, op0: A, op1: B);
4792}
4793
4794impl<'a> RcrEmitter<GpbLo, Imm> for Assembler<'a> {
4795 fn rcr(&mut self, op0: GpbLo, op1: Imm) {
4796 self.emit(RCR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4797 }
4798}
4799
4800impl<'a> RcrEmitter<Mem, Imm> for Assembler<'a> {
4801 fn rcr(&mut self, op0: Mem, op1: Imm) {
4802 self.emit(RCR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4803 }
4804}
4805
4806impl<'a> RcrEmitter<Gpw, Imm> for Assembler<'a> {
4807 fn rcr(&mut self, op0: Gpw, op1: Imm) {
4808 self.emit(RCR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4809 }
4810}
4811
4812impl<'a> RcrEmitter<Gpd, Imm> for Assembler<'a> {
4813 fn rcr(&mut self, op0: Gpd, op1: Imm) {
4814 self.emit(RCR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4815 }
4816}
4817
4818impl<'a> RcrEmitter<Gpq, Imm> for Assembler<'a> {
4819 fn rcr(&mut self, op0: Gpq, op1: Imm) {
4820 self.emit(RCR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4821 }
4822}
4823
4824impl<'a> RcrEmitter<GpbLo, GpbLo> for Assembler<'a> {
4825 fn rcr(&mut self, op0: GpbLo, op1: GpbLo) {
4826 self.emit(RCR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4827 }
4828}
4829
4830impl<'a> RcrEmitter<Mem, GpbLo> for Assembler<'a> {
4831 fn rcr(&mut self, op0: Mem, op1: GpbLo) {
4832 self.emit(RCR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4833 }
4834}
4835
4836impl<'a> RcrEmitter<Gpw, GpbLo> for Assembler<'a> {
4837 fn rcr(&mut self, op0: Gpw, op1: GpbLo) {
4838 self.emit(RCR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4839 }
4840}
4841
4842impl<'a> RcrEmitter<Gpd, GpbLo> for Assembler<'a> {
4843 fn rcr(&mut self, op0: Gpd, op1: GpbLo) {
4844 self.emit(RCR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4845 }
4846}
4847
4848impl<'a> RcrEmitter<Gpq, GpbLo> for Assembler<'a> {
4849 fn rcr(&mut self, op0: Gpq, op1: GpbLo) {
4850 self.emit(RCR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4851 }
4852}
4853
4854pub trait RetEmitter {
4866 fn ret(&mut self);
4867}
4868
4869impl<'a> RetEmitter for Assembler<'a> {
4870 fn ret(&mut self) {
4871 self.emit(RET, &NOREG, &NOREG, &NOREG, &NOREG);
4872 }
4873}
4874
4875pub trait RetEmitter_1<A> {
4887 fn ret_1(&mut self, op0: A);
4888}
4889
4890impl<'a> RetEmitter_1<Imm> for Assembler<'a> {
4891 fn ret_1(&mut self, op0: Imm) {
4892 self.emit(RETI, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4893 }
4894}
4895
4896pub trait RetfEmitter {
4908 fn retf(&mut self);
4909}
4910
4911impl<'a> RetfEmitter for Assembler<'a> {
4912 fn retf(&mut self) {
4913 self.emit(RETF16, &NOREG, &NOREG, &NOREG, &NOREG);
4914 }
4915}
4916
4917pub trait RetfEmitter_1<A> {
4929 fn retf_1(&mut self, op0: A);
4930}
4931
4932impl<'a> RetfEmitter_1<Imm> for Assembler<'a> {
4933 fn retf_1(&mut self, op0: Imm) {
4934 self.emit(RETF16I, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4935 }
4936}
4937
4938pub trait RolEmitter<A, B> {
4959 fn rol(&mut self, op0: A, op1: B);
4960}
4961
4962impl<'a> RolEmitter<GpbLo, Imm> for Assembler<'a> {
4963 fn rol(&mut self, op0: GpbLo, op1: Imm) {
4964 self.emit(ROL8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4965 }
4966}
4967
4968impl<'a> RolEmitter<Mem, Imm> for Assembler<'a> {
4969 fn rol(&mut self, op0: Mem, op1: Imm) {
4970 self.emit(ROL8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4971 }
4972}
4973
4974impl<'a> RolEmitter<Gpw, Imm> for Assembler<'a> {
4975 fn rol(&mut self, op0: Gpw, op1: Imm) {
4976 self.emit(ROL16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4977 }
4978}
4979
4980impl<'a> RolEmitter<Gpd, Imm> for Assembler<'a> {
4981 fn rol(&mut self, op0: Gpd, op1: Imm) {
4982 self.emit(ROL32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4983 }
4984}
4985
4986impl<'a> RolEmitter<Gpq, Imm> for Assembler<'a> {
4987 fn rol(&mut self, op0: Gpq, op1: Imm) {
4988 self.emit(ROL64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4989 }
4990}
4991
4992impl<'a> RolEmitter<GpbLo, GpbLo> for Assembler<'a> {
4993 fn rol(&mut self, op0: GpbLo, op1: GpbLo) {
4994 self.emit(ROL8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4995 }
4996}
4997
4998impl<'a> RolEmitter<Mem, GpbLo> for Assembler<'a> {
4999 fn rol(&mut self, op0: Mem, op1: GpbLo) {
5000 self.emit(ROL8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5001 }
5002}
5003
5004impl<'a> RolEmitter<Gpw, GpbLo> for Assembler<'a> {
5005 fn rol(&mut self, op0: Gpw, op1: GpbLo) {
5006 self.emit(ROL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5007 }
5008}
5009
5010impl<'a> RolEmitter<Gpd, GpbLo> for Assembler<'a> {
5011 fn rol(&mut self, op0: Gpd, op1: GpbLo) {
5012 self.emit(ROL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5013 }
5014}
5015
5016impl<'a> RolEmitter<Gpq, GpbLo> for Assembler<'a> {
5017 fn rol(&mut self, op0: Gpq, op1: GpbLo) {
5018 self.emit(ROL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5019 }
5020}
5021
5022pub trait RorEmitter<A, B> {
5043 fn ror(&mut self, op0: A, op1: B);
5044}
5045
5046impl<'a> RorEmitter<GpbLo, Imm> for Assembler<'a> {
5047 fn ror(&mut self, op0: GpbLo, op1: Imm) {
5048 self.emit(ROR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5049 }
5050}
5051
5052impl<'a> RorEmitter<Mem, Imm> for Assembler<'a> {
5053 fn ror(&mut self, op0: Mem, op1: Imm) {
5054 self.emit(ROR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5055 }
5056}
5057
5058impl<'a> RorEmitter<Gpw, Imm> for Assembler<'a> {
5059 fn ror(&mut self, op0: Gpw, op1: Imm) {
5060 self.emit(ROR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5061 }
5062}
5063
5064impl<'a> RorEmitter<Gpd, Imm> for Assembler<'a> {
5065 fn ror(&mut self, op0: Gpd, op1: Imm) {
5066 self.emit(ROR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5067 }
5068}
5069
5070impl<'a> RorEmitter<Gpq, Imm> for Assembler<'a> {
5071 fn ror(&mut self, op0: Gpq, op1: Imm) {
5072 self.emit(ROR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5073 }
5074}
5075
5076impl<'a> RorEmitter<GpbLo, GpbLo> for Assembler<'a> {
5077 fn ror(&mut self, op0: GpbLo, op1: GpbLo) {
5078 self.emit(ROR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5079 }
5080}
5081
5082impl<'a> RorEmitter<Mem, GpbLo> for Assembler<'a> {
5083 fn ror(&mut self, op0: Mem, op1: GpbLo) {
5084 self.emit(ROR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5085 }
5086}
5087
5088impl<'a> RorEmitter<Gpw, GpbLo> for Assembler<'a> {
5089 fn ror(&mut self, op0: Gpw, op1: GpbLo) {
5090 self.emit(ROR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5091 }
5092}
5093
5094impl<'a> RorEmitter<Gpd, GpbLo> for Assembler<'a> {
5095 fn ror(&mut self, op0: Gpd, op1: GpbLo) {
5096 self.emit(ROR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5097 }
5098}
5099
5100impl<'a> RorEmitter<Gpq, GpbLo> for Assembler<'a> {
5101 fn ror(&mut self, op0: Gpq, op1: GpbLo) {
5102 self.emit(ROR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5103 }
5104}
5105
5106pub trait SahfEmitter {
5118 fn sahf(&mut self);
5119}
5120
5121impl<'a> SahfEmitter for Assembler<'a> {
5122 fn sahf(&mut self) {
5123 self.emit(SAHF, &NOREG, &NOREG, &NOREG, &NOREG);
5124 }
5125}
5126
5127pub trait SarEmitter<A, B> {
5148 fn sar(&mut self, op0: A, op1: B);
5149}
5150
5151impl<'a> SarEmitter<GpbLo, Imm> for Assembler<'a> {
5152 fn sar(&mut self, op0: GpbLo, op1: Imm) {
5153 self.emit(SAR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5154 }
5155}
5156
5157impl<'a> SarEmitter<Mem, Imm> for Assembler<'a> {
5158 fn sar(&mut self, op0: Mem, op1: Imm) {
5159 self.emit(SAR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5160 }
5161}
5162
5163impl<'a> SarEmitter<Gpw, Imm> for Assembler<'a> {
5164 fn sar(&mut self, op0: Gpw, op1: Imm) {
5165 self.emit(SAR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5166 }
5167}
5168
5169impl<'a> SarEmitter<Gpd, Imm> for Assembler<'a> {
5170 fn sar(&mut self, op0: Gpd, op1: Imm) {
5171 self.emit(SAR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5172 }
5173}
5174
5175impl<'a> SarEmitter<Gpq, Imm> for Assembler<'a> {
5176 fn sar(&mut self, op0: Gpq, op1: Imm) {
5177 self.emit(SAR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5178 }
5179}
5180
5181impl<'a> SarEmitter<GpbLo, GpbLo> for Assembler<'a> {
5182 fn sar(&mut self, op0: GpbLo, op1: GpbLo) {
5183 self.emit(SAR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5184 }
5185}
5186
5187impl<'a> SarEmitter<Mem, GpbLo> for Assembler<'a> {
5188 fn sar(&mut self, op0: Mem, op1: GpbLo) {
5189 self.emit(SAR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5190 }
5191}
5192
5193impl<'a> SarEmitter<Gpw, GpbLo> for Assembler<'a> {
5194 fn sar(&mut self, op0: Gpw, op1: GpbLo) {
5195 self.emit(SAR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5196 }
5197}
5198
5199impl<'a> SarEmitter<Gpd, GpbLo> for Assembler<'a> {
5200 fn sar(&mut self, op0: Gpd, op1: GpbLo) {
5201 self.emit(SAR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5202 }
5203}
5204
5205impl<'a> SarEmitter<Gpq, GpbLo> for Assembler<'a> {
5206 fn sar(&mut self, op0: Gpq, op1: GpbLo) {
5207 self.emit(SAR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5208 }
5209}
5210
5211pub trait SbbEmitter<A, B> {
5239 fn sbb(&mut self, op0: A, op1: B);
5240}
5241
5242impl<'a> SbbEmitter<GpbLo, GpbLo> for Assembler<'a> {
5243 fn sbb(&mut self, op0: GpbLo, op1: GpbLo) {
5244 self.emit(SBB8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5245 }
5246}
5247
5248impl<'a> SbbEmitter<Mem, GpbLo> for Assembler<'a> {
5249 fn sbb(&mut self, op0: Mem, op1: GpbLo) {
5250 self.emit(SBB8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5251 }
5252}
5253
5254impl<'a> SbbEmitter<Gpw, Gpw> for Assembler<'a> {
5255 fn sbb(&mut self, op0: Gpw, op1: Gpw) {
5256 self.emit(SBB16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5257 }
5258}
5259
5260impl<'a> SbbEmitter<Mem, Gpw> for Assembler<'a> {
5261 fn sbb(&mut self, op0: Mem, op1: Gpw) {
5262 self.emit(SBB16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5263 }
5264}
5265
5266impl<'a> SbbEmitter<Gpd, Gpd> for Assembler<'a> {
5267 fn sbb(&mut self, op0: Gpd, op1: Gpd) {
5268 self.emit(SBB32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5269 }
5270}
5271
5272impl<'a> SbbEmitter<Mem, Gpd> for Assembler<'a> {
5273 fn sbb(&mut self, op0: Mem, op1: Gpd) {
5274 self.emit(SBB32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5275 }
5276}
5277
5278impl<'a> SbbEmitter<Gpq, Gpq> for Assembler<'a> {
5279 fn sbb(&mut self, op0: Gpq, op1: Gpq) {
5280 self.emit(SBB64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5281 }
5282}
5283
5284impl<'a> SbbEmitter<Mem, Gpq> for Assembler<'a> {
5285 fn sbb(&mut self, op0: Mem, op1: Gpq) {
5286 self.emit(SBB64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5287 }
5288}
5289
5290impl<'a> SbbEmitter<GpbLo, Mem> for Assembler<'a> {
5291 fn sbb(&mut self, op0: GpbLo, op1: Mem) {
5292 self.emit(SBB8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5293 }
5294}
5295
5296impl<'a> SbbEmitter<Gpw, Mem> for Assembler<'a> {
5297 fn sbb(&mut self, op0: Gpw, op1: Mem) {
5298 self.emit(SBB16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5299 }
5300}
5301
5302impl<'a> SbbEmitter<Gpd, Mem> for Assembler<'a> {
5303 fn sbb(&mut self, op0: Gpd, op1: Mem) {
5304 self.emit(SBB32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5305 }
5306}
5307
5308impl<'a> SbbEmitter<Gpq, Mem> for Assembler<'a> {
5309 fn sbb(&mut self, op0: Gpq, op1: Mem) {
5310 self.emit(SBB64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5311 }
5312}
5313
5314impl<'a> SbbEmitter<GpbLo, Imm> for Assembler<'a> {
5315 fn sbb(&mut self, op0: GpbLo, op1: Imm) {
5316 self.emit(SBB8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5317 }
5318}
5319
5320impl<'a> SbbEmitter<Gpw, Imm> for Assembler<'a> {
5321 fn sbb(&mut self, op0: Gpw, op1: Imm) {
5322 self.emit(SBB16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5323 }
5324}
5325
5326impl<'a> SbbEmitter<Gpd, Imm> for Assembler<'a> {
5327 fn sbb(&mut self, op0: Gpd, op1: Imm) {
5328 self.emit(SBB32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5329 }
5330}
5331
5332impl<'a> SbbEmitter<Gpq, Imm> for Assembler<'a> {
5333 fn sbb(&mut self, op0: Gpq, op1: Imm) {
5334 self.emit(SBB64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5335 }
5336}
5337
5338impl<'a> SbbEmitter<Mem, Imm> for Assembler<'a> {
5339 fn sbb(&mut self, op0: Mem, op1: Imm) {
5340 self.emit(SBB8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5341 }
5342}
5343
5344pub trait ScasEmitter {
5356 fn scas(&mut self);
5357}
5358
5359impl<'a> ScasEmitter for Assembler<'a> {
5360 fn scas(&mut self) {
5361 self.emit(SCAS8, &NOREG, &NOREG, &NOREG, &NOREG);
5362 }
5363}
5364
5365pub trait SetaEmitter<A> {
5378 fn seta(&mut self, op0: A);
5379}
5380
5381impl<'a> SetaEmitter<GpbLo> for Assembler<'a> {
5382 fn seta(&mut self, op0: GpbLo) {
5383 self.emit(SETA8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5384 }
5385}
5386
5387impl<'a> SetaEmitter<Mem> for Assembler<'a> {
5388 fn seta(&mut self, op0: Mem) {
5389 self.emit(SETA8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5390 }
5391}
5392
5393pub trait SetbeEmitter<A> {
5406 fn setbe(&mut self, op0: A);
5407}
5408
5409impl<'a> SetbeEmitter<GpbLo> for Assembler<'a> {
5410 fn setbe(&mut self, op0: GpbLo) {
5411 self.emit(SETBE8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5412 }
5413}
5414
5415impl<'a> SetbeEmitter<Mem> for Assembler<'a> {
5416 fn setbe(&mut self, op0: Mem) {
5417 self.emit(SETBE8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5418 }
5419}
5420
5421pub trait SetcEmitter<A> {
5434 fn setc(&mut self, op0: A);
5435}
5436
5437impl<'a> SetcEmitter<GpbLo> for Assembler<'a> {
5438 fn setc(&mut self, op0: GpbLo) {
5439 self.emit(SETC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5440 }
5441}
5442
5443impl<'a> SetcEmitter<Mem> for Assembler<'a> {
5444 fn setc(&mut self, op0: Mem) {
5445 self.emit(SETC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5446 }
5447}
5448
5449pub trait SetgEmitter<A> {
5462 fn setg(&mut self, op0: A);
5463}
5464
5465impl<'a> SetgEmitter<GpbLo> for Assembler<'a> {
5466 fn setg(&mut self, op0: GpbLo) {
5467 self.emit(SETG8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5468 }
5469}
5470
5471impl<'a> SetgEmitter<Mem> for Assembler<'a> {
5472 fn setg(&mut self, op0: Mem) {
5473 self.emit(SETG8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5474 }
5475}
5476
5477pub trait SetgeEmitter<A> {
5490 fn setge(&mut self, op0: A);
5491}
5492
5493impl<'a> SetgeEmitter<GpbLo> for Assembler<'a> {
5494 fn setge(&mut self, op0: GpbLo) {
5495 self.emit(SETGE8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5496 }
5497}
5498
5499impl<'a> SetgeEmitter<Mem> for Assembler<'a> {
5500 fn setge(&mut self, op0: Mem) {
5501 self.emit(SETGE8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5502 }
5503}
5504
5505pub trait SetlEmitter<A> {
5518 fn setl(&mut self, op0: A);
5519}
5520
5521impl<'a> SetlEmitter<GpbLo> for Assembler<'a> {
5522 fn setl(&mut self, op0: GpbLo) {
5523 self.emit(SETL8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5524 }
5525}
5526
5527impl<'a> SetlEmitter<Mem> for Assembler<'a> {
5528 fn setl(&mut self, op0: Mem) {
5529 self.emit(SETL8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5530 }
5531}
5532
5533pub trait SetleEmitter<A> {
5546 fn setle(&mut self, op0: A);
5547}
5548
5549impl<'a> SetleEmitter<GpbLo> for Assembler<'a> {
5550 fn setle(&mut self, op0: GpbLo) {
5551 self.emit(SETLE8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5552 }
5553}
5554
5555impl<'a> SetleEmitter<Mem> for Assembler<'a> {
5556 fn setle(&mut self, op0: Mem) {
5557 self.emit(SETLE8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5558 }
5559}
5560
5561pub trait SetncEmitter<A> {
5574 fn setnc(&mut self, op0: A);
5575}
5576
5577impl<'a> SetncEmitter<GpbLo> for Assembler<'a> {
5578 fn setnc(&mut self, op0: GpbLo) {
5579 self.emit(SETNC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5580 }
5581}
5582
5583impl<'a> SetncEmitter<Mem> for Assembler<'a> {
5584 fn setnc(&mut self, op0: Mem) {
5585 self.emit(SETNC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5586 }
5587}
5588
5589pub trait SetnoEmitter<A> {
5602 fn setno(&mut self, op0: A);
5603}
5604
5605impl<'a> SetnoEmitter<GpbLo> for Assembler<'a> {
5606 fn setno(&mut self, op0: GpbLo) {
5607 self.emit(SETNO8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5608 }
5609}
5610
5611impl<'a> SetnoEmitter<Mem> for Assembler<'a> {
5612 fn setno(&mut self, op0: Mem) {
5613 self.emit(SETNO8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5614 }
5615}
5616
5617pub trait SetnpEmitter<A> {
5630 fn setnp(&mut self, op0: A);
5631}
5632
5633impl<'a> SetnpEmitter<GpbLo> for Assembler<'a> {
5634 fn setnp(&mut self, op0: GpbLo) {
5635 self.emit(SETNP8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5636 }
5637}
5638
5639impl<'a> SetnpEmitter<Mem> for Assembler<'a> {
5640 fn setnp(&mut self, op0: Mem) {
5641 self.emit(SETNP8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5642 }
5643}
5644
5645pub trait SetnsEmitter<A> {
5658 fn setns(&mut self, op0: A);
5659}
5660
5661impl<'a> SetnsEmitter<GpbLo> for Assembler<'a> {
5662 fn setns(&mut self, op0: GpbLo) {
5663 self.emit(SETNS8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5664 }
5665}
5666
5667impl<'a> SetnsEmitter<Mem> for Assembler<'a> {
5668 fn setns(&mut self, op0: Mem) {
5669 self.emit(SETNS8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5670 }
5671}
5672
5673pub trait SetnzEmitter<A> {
5686 fn setnz(&mut self, op0: A);
5687}
5688
5689impl<'a> SetnzEmitter<GpbLo> for Assembler<'a> {
5690 fn setnz(&mut self, op0: GpbLo) {
5691 self.emit(SETNZ8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5692 }
5693}
5694
5695impl<'a> SetnzEmitter<Mem> for Assembler<'a> {
5696 fn setnz(&mut self, op0: Mem) {
5697 self.emit(SETNZ8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5698 }
5699}
5700
5701pub trait SetoEmitter<A> {
5714 fn seto(&mut self, op0: A);
5715}
5716
5717impl<'a> SetoEmitter<GpbLo> for Assembler<'a> {
5718 fn seto(&mut self, op0: GpbLo) {
5719 self.emit(SETO8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5720 }
5721}
5722
5723impl<'a> SetoEmitter<Mem> for Assembler<'a> {
5724 fn seto(&mut self, op0: Mem) {
5725 self.emit(SETO8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5726 }
5727}
5728
5729pub trait SetpEmitter<A> {
5742 fn setp(&mut self, op0: A);
5743}
5744
5745impl<'a> SetpEmitter<GpbLo> for Assembler<'a> {
5746 fn setp(&mut self, op0: GpbLo) {
5747 self.emit(SETP8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5748 }
5749}
5750
5751impl<'a> SetpEmitter<Mem> for Assembler<'a> {
5752 fn setp(&mut self, op0: Mem) {
5753 self.emit(SETP8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5754 }
5755}
5756
5757pub trait SetsEmitter<A> {
5770 fn sets(&mut self, op0: A);
5771}
5772
5773impl<'a> SetsEmitter<GpbLo> for Assembler<'a> {
5774 fn sets(&mut self, op0: GpbLo) {
5775 self.emit(SETS8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5776 }
5777}
5778
5779impl<'a> SetsEmitter<Mem> for Assembler<'a> {
5780 fn sets(&mut self, op0: Mem) {
5781 self.emit(SETS8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5782 }
5783}
5784
5785pub trait SetzEmitter<A> {
5798 fn setz(&mut self, op0: A);
5799}
5800
5801impl<'a> SetzEmitter<GpbLo> for Assembler<'a> {
5802 fn setz(&mut self, op0: GpbLo) {
5803 self.emit(SETZ8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5804 }
5805}
5806
5807impl<'a> SetzEmitter<Mem> for Assembler<'a> {
5808 fn setz(&mut self, op0: Mem) {
5809 self.emit(SETZ8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5810 }
5811}
5812
5813pub trait SetccEmitter<A> {
5826 fn setcc(&mut self, op0: A);
5827}
5828
5829impl<'a> SetccEmitter<GpbLo> for Assembler<'a> {
5830 fn setcc(&mut self, op0: GpbLo) {
5831 self.emit(SETCC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5832 }
5833}
5834
5835impl<'a> SetccEmitter<Mem> for Assembler<'a> {
5836 fn setcc(&mut self, op0: Mem) {
5837 self.emit(SETCC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5838 }
5839}
5840
5841pub trait SgdtEmitter<A> {
5853 fn sgdt(&mut self, op0: A);
5854}
5855
5856impl<'a> SgdtEmitter<Mem> for Assembler<'a> {
5857 fn sgdt(&mut self, op0: Mem) {
5858 self.emit(SGDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5859 }
5860}
5861
5862pub trait ShlEmitter<A, B> {
5883 fn shl(&mut self, op0: A, op1: B);
5884}
5885
5886impl<'a> ShlEmitter<GpbLo, Imm> for Assembler<'a> {
5887 fn shl(&mut self, op0: GpbLo, op1: Imm) {
5888 self.emit(SHL8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5889 }
5890}
5891
5892impl<'a> ShlEmitter<Mem, Imm> for Assembler<'a> {
5893 fn shl(&mut self, op0: Mem, op1: Imm) {
5894 self.emit(SHL8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5895 }
5896}
5897
5898impl<'a> ShlEmitter<Gpw, Imm> for Assembler<'a> {
5899 fn shl(&mut self, op0: Gpw, op1: Imm) {
5900 self.emit(SHL16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5901 }
5902}
5903
5904impl<'a> ShlEmitter<Gpd, Imm> for Assembler<'a> {
5905 fn shl(&mut self, op0: Gpd, op1: Imm) {
5906 self.emit(SHL32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5907 }
5908}
5909
5910impl<'a> ShlEmitter<Gpq, Imm> for Assembler<'a> {
5911 fn shl(&mut self, op0: Gpq, op1: Imm) {
5912 self.emit(SHL64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5913 }
5914}
5915
5916impl<'a> ShlEmitter<GpbLo, GpbLo> for Assembler<'a> {
5917 fn shl(&mut self, op0: GpbLo, op1: GpbLo) {
5918 self.emit(SHL8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5919 }
5920}
5921
5922impl<'a> ShlEmitter<Mem, GpbLo> for Assembler<'a> {
5923 fn shl(&mut self, op0: Mem, op1: GpbLo) {
5924 self.emit(SHL8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5925 }
5926}
5927
5928impl<'a> ShlEmitter<Gpw, GpbLo> for Assembler<'a> {
5929 fn shl(&mut self, op0: Gpw, op1: GpbLo) {
5930 self.emit(SHL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5931 }
5932}
5933
5934impl<'a> ShlEmitter<Gpd, GpbLo> for Assembler<'a> {
5935 fn shl(&mut self, op0: Gpd, op1: GpbLo) {
5936 self.emit(SHL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5937 }
5938}
5939
5940impl<'a> ShlEmitter<Gpq, GpbLo> for Assembler<'a> {
5941 fn shl(&mut self, op0: Gpq, op1: GpbLo) {
5942 self.emit(SHL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5943 }
5944}
5945
5946pub trait ShldEmitter<A, B, C> {
5969 fn shld(&mut self, op0: A, op1: B, op2: C);
5970}
5971
5972impl<'a> ShldEmitter<Gpw, Gpw, Imm> for Assembler<'a> {
5973 fn shld(&mut self, op0: Gpw, op1: Gpw, op2: Imm) {
5974 self.emit(
5975 SHLD16RRI,
5976 op0.as_operand(),
5977 op1.as_operand(),
5978 op2.as_operand(),
5979 &NOREG,
5980 );
5981 }
5982}
5983
5984impl<'a> ShldEmitter<Mem, Gpw, Imm> for Assembler<'a> {
5985 fn shld(&mut self, op0: Mem, op1: Gpw, op2: Imm) {
5986 self.emit(
5987 SHLD16MRI,
5988 op0.as_operand(),
5989 op1.as_operand(),
5990 op2.as_operand(),
5991 &NOREG,
5992 );
5993 }
5994}
5995
5996impl<'a> ShldEmitter<Gpd, Gpd, Imm> for Assembler<'a> {
5997 fn shld(&mut self, op0: Gpd, op1: Gpd, op2: Imm) {
5998 self.emit(
5999 SHLD32RRI,
6000 op0.as_operand(),
6001 op1.as_operand(),
6002 op2.as_operand(),
6003 &NOREG,
6004 );
6005 }
6006}
6007
6008impl<'a> ShldEmitter<Mem, Gpd, Imm> for Assembler<'a> {
6009 fn shld(&mut self, op0: Mem, op1: Gpd, op2: Imm) {
6010 self.emit(
6011 SHLD32MRI,
6012 op0.as_operand(),
6013 op1.as_operand(),
6014 op2.as_operand(),
6015 &NOREG,
6016 );
6017 }
6018}
6019
6020impl<'a> ShldEmitter<Gpq, Gpq, Imm> for Assembler<'a> {
6021 fn shld(&mut self, op0: Gpq, op1: Gpq, op2: Imm) {
6022 self.emit(
6023 SHLD64RRI,
6024 op0.as_operand(),
6025 op1.as_operand(),
6026 op2.as_operand(),
6027 &NOREG,
6028 );
6029 }
6030}
6031
6032impl<'a> ShldEmitter<Mem, Gpq, Imm> for Assembler<'a> {
6033 fn shld(&mut self, op0: Mem, op1: Gpq, op2: Imm) {
6034 self.emit(
6035 SHLD64MRI,
6036 op0.as_operand(),
6037 op1.as_operand(),
6038 op2.as_operand(),
6039 &NOREG,
6040 );
6041 }
6042}
6043
6044impl<'a> ShldEmitter<Gpw, Gpw, GpbLo> for Assembler<'a> {
6045 fn shld(&mut self, op0: Gpw, op1: Gpw, op2: GpbLo) {
6046 self.emit(
6047 SHLD16RRR,
6048 op0.as_operand(),
6049 op1.as_operand(),
6050 op2.as_operand(),
6051 &NOREG,
6052 );
6053 }
6054}
6055
6056impl<'a> ShldEmitter<Mem, Gpw, GpbLo> for Assembler<'a> {
6057 fn shld(&mut self, op0: Mem, op1: Gpw, op2: GpbLo) {
6058 self.emit(
6059 SHLD16MRR,
6060 op0.as_operand(),
6061 op1.as_operand(),
6062 op2.as_operand(),
6063 &NOREG,
6064 );
6065 }
6066}
6067
6068impl<'a> ShldEmitter<Gpd, Gpd, GpbLo> for Assembler<'a> {
6069 fn shld(&mut self, op0: Gpd, op1: Gpd, op2: GpbLo) {
6070 self.emit(
6071 SHLD32RRR,
6072 op0.as_operand(),
6073 op1.as_operand(),
6074 op2.as_operand(),
6075 &NOREG,
6076 );
6077 }
6078}
6079
6080impl<'a> ShldEmitter<Mem, Gpd, GpbLo> for Assembler<'a> {
6081 fn shld(&mut self, op0: Mem, op1: Gpd, op2: GpbLo) {
6082 self.emit(
6083 SHLD32MRR,
6084 op0.as_operand(),
6085 op1.as_operand(),
6086 op2.as_operand(),
6087 &NOREG,
6088 );
6089 }
6090}
6091
6092impl<'a> ShldEmitter<Gpq, Gpq, GpbLo> for Assembler<'a> {
6093 fn shld(&mut self, op0: Gpq, op1: Gpq, op2: GpbLo) {
6094 self.emit(
6095 SHLD64RRR,
6096 op0.as_operand(),
6097 op1.as_operand(),
6098 op2.as_operand(),
6099 &NOREG,
6100 );
6101 }
6102}
6103
6104impl<'a> ShldEmitter<Mem, Gpq, GpbLo> for Assembler<'a> {
6105 fn shld(&mut self, op0: Mem, op1: Gpq, op2: GpbLo) {
6106 self.emit(
6107 SHLD64MRR,
6108 op0.as_operand(),
6109 op1.as_operand(),
6110 op2.as_operand(),
6111 &NOREG,
6112 );
6113 }
6114}
6115
6116pub trait ShrEmitter<A, B> {
6137 fn shr(&mut self, op0: A, op1: B);
6138}
6139
6140impl<'a> ShrEmitter<GpbLo, Imm> for Assembler<'a> {
6141 fn shr(&mut self, op0: GpbLo, op1: Imm) {
6142 self.emit(SHR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6143 }
6144}
6145
6146impl<'a> ShrEmitter<Mem, Imm> for Assembler<'a> {
6147 fn shr(&mut self, op0: Mem, op1: Imm) {
6148 self.emit(SHR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6149 }
6150}
6151
6152impl<'a> ShrEmitter<Gpw, Imm> for Assembler<'a> {
6153 fn shr(&mut self, op0: Gpw, op1: Imm) {
6154 self.emit(SHR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6155 }
6156}
6157
6158impl<'a> ShrEmitter<Gpd, Imm> for Assembler<'a> {
6159 fn shr(&mut self, op0: Gpd, op1: Imm) {
6160 self.emit(SHR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6161 }
6162}
6163
6164impl<'a> ShrEmitter<Gpq, Imm> for Assembler<'a> {
6165 fn shr(&mut self, op0: Gpq, op1: Imm) {
6166 self.emit(SHR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6167 }
6168}
6169
6170impl<'a> ShrEmitter<GpbLo, GpbLo> for Assembler<'a> {
6171 fn shr(&mut self, op0: GpbLo, op1: GpbLo) {
6172 self.emit(SHR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6173 }
6174}
6175
6176impl<'a> ShrEmitter<Mem, GpbLo> for Assembler<'a> {
6177 fn shr(&mut self, op0: Mem, op1: GpbLo) {
6178 self.emit(SHR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6179 }
6180}
6181
6182impl<'a> ShrEmitter<Gpw, GpbLo> for Assembler<'a> {
6183 fn shr(&mut self, op0: Gpw, op1: GpbLo) {
6184 self.emit(SHR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6185 }
6186}
6187
6188impl<'a> ShrEmitter<Gpd, GpbLo> for Assembler<'a> {
6189 fn shr(&mut self, op0: Gpd, op1: GpbLo) {
6190 self.emit(SHR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6191 }
6192}
6193
6194impl<'a> ShrEmitter<Gpq, GpbLo> for Assembler<'a> {
6195 fn shr(&mut self, op0: Gpq, op1: GpbLo) {
6196 self.emit(SHR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6197 }
6198}
6199
6200pub trait ShrdEmitter<A, B, C> {
6223 fn shrd(&mut self, op0: A, op1: B, op2: C);
6224}
6225
6226impl<'a> ShrdEmitter<Gpw, Gpw, Imm> for Assembler<'a> {
6227 fn shrd(&mut self, op0: Gpw, op1: Gpw, op2: Imm) {
6228 self.emit(
6229 SHRD16RRI,
6230 op0.as_operand(),
6231 op1.as_operand(),
6232 op2.as_operand(),
6233 &NOREG,
6234 );
6235 }
6236}
6237
6238impl<'a> ShrdEmitter<Mem, Gpw, Imm> for Assembler<'a> {
6239 fn shrd(&mut self, op0: Mem, op1: Gpw, op2: Imm) {
6240 self.emit(
6241 SHRD16MRI,
6242 op0.as_operand(),
6243 op1.as_operand(),
6244 op2.as_operand(),
6245 &NOREG,
6246 );
6247 }
6248}
6249
6250impl<'a> ShrdEmitter<Gpd, Gpd, Imm> for Assembler<'a> {
6251 fn shrd(&mut self, op0: Gpd, op1: Gpd, op2: Imm) {
6252 self.emit(
6253 SHRD32RRI,
6254 op0.as_operand(),
6255 op1.as_operand(),
6256 op2.as_operand(),
6257 &NOREG,
6258 );
6259 }
6260}
6261
6262impl<'a> ShrdEmitter<Mem, Gpd, Imm> for Assembler<'a> {
6263 fn shrd(&mut self, op0: Mem, op1: Gpd, op2: Imm) {
6264 self.emit(
6265 SHRD32MRI,
6266 op0.as_operand(),
6267 op1.as_operand(),
6268 op2.as_operand(),
6269 &NOREG,
6270 );
6271 }
6272}
6273
6274impl<'a> ShrdEmitter<Gpq, Gpq, Imm> for Assembler<'a> {
6275 fn shrd(&mut self, op0: Gpq, op1: Gpq, op2: Imm) {
6276 self.emit(
6277 SHRD64RRI,
6278 op0.as_operand(),
6279 op1.as_operand(),
6280 op2.as_operand(),
6281 &NOREG,
6282 );
6283 }
6284}
6285
6286impl<'a> ShrdEmitter<Mem, Gpq, Imm> for Assembler<'a> {
6287 fn shrd(&mut self, op0: Mem, op1: Gpq, op2: Imm) {
6288 self.emit(
6289 SHRD64MRI,
6290 op0.as_operand(),
6291 op1.as_operand(),
6292 op2.as_operand(),
6293 &NOREG,
6294 );
6295 }
6296}
6297
6298impl<'a> ShrdEmitter<Gpw, Gpw, GpbLo> for Assembler<'a> {
6299 fn shrd(&mut self, op0: Gpw, op1: Gpw, op2: GpbLo) {
6300 self.emit(
6301 SHRD16RRR,
6302 op0.as_operand(),
6303 op1.as_operand(),
6304 op2.as_operand(),
6305 &NOREG,
6306 );
6307 }
6308}
6309
6310impl<'a> ShrdEmitter<Mem, Gpw, GpbLo> for Assembler<'a> {
6311 fn shrd(&mut self, op0: Mem, op1: Gpw, op2: GpbLo) {
6312 self.emit(
6313 SHRD16MRR,
6314 op0.as_operand(),
6315 op1.as_operand(),
6316 op2.as_operand(),
6317 &NOREG,
6318 );
6319 }
6320}
6321
6322impl<'a> ShrdEmitter<Gpd, Gpd, GpbLo> for Assembler<'a> {
6323 fn shrd(&mut self, op0: Gpd, op1: Gpd, op2: GpbLo) {
6324 self.emit(
6325 SHRD32RRR,
6326 op0.as_operand(),
6327 op1.as_operand(),
6328 op2.as_operand(),
6329 &NOREG,
6330 );
6331 }
6332}
6333
6334impl<'a> ShrdEmitter<Mem, Gpd, GpbLo> for Assembler<'a> {
6335 fn shrd(&mut self, op0: Mem, op1: Gpd, op2: GpbLo) {
6336 self.emit(
6337 SHRD32MRR,
6338 op0.as_operand(),
6339 op1.as_operand(),
6340 op2.as_operand(),
6341 &NOREG,
6342 );
6343 }
6344}
6345
6346impl<'a> ShrdEmitter<Gpq, Gpq, GpbLo> for Assembler<'a> {
6347 fn shrd(&mut self, op0: Gpq, op1: Gpq, op2: GpbLo) {
6348 self.emit(
6349 SHRD64RRR,
6350 op0.as_operand(),
6351 op1.as_operand(),
6352 op2.as_operand(),
6353 &NOREG,
6354 );
6355 }
6356}
6357
6358impl<'a> ShrdEmitter<Mem, Gpq, GpbLo> for Assembler<'a> {
6359 fn shrd(&mut self, op0: Mem, op1: Gpq, op2: GpbLo) {
6360 self.emit(
6361 SHRD64MRR,
6362 op0.as_operand(),
6363 op1.as_operand(),
6364 op2.as_operand(),
6365 &NOREG,
6366 );
6367 }
6368}
6369
6370pub trait SidtEmitter<A> {
6382 fn sidt(&mut self, op0: A);
6383}
6384
6385impl<'a> SidtEmitter<Mem> for Assembler<'a> {
6386 fn sidt(&mut self, op0: Mem) {
6387 self.emit(SIDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6388 }
6389}
6390
6391pub trait SldtEmitter<A> {
6404 fn sldt(&mut self, op0: A);
6405}
6406
6407impl<'a> SldtEmitter<Gpd> for Assembler<'a> {
6408 fn sldt(&mut self, op0: Gpd) {
6409 self.emit(SLDTR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6410 }
6411}
6412
6413impl<'a> SldtEmitter<Mem> for Assembler<'a> {
6414 fn sldt(&mut self, op0: Mem) {
6415 self.emit(SLDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6416 }
6417}
6418
6419pub trait SmswEmitter<A> {
6434 fn smsw(&mut self, op0: A);
6435}
6436
6437impl<'a> SmswEmitter<Mem> for Assembler<'a> {
6438 fn smsw(&mut self, op0: Mem) {
6439 self.emit(SMSWM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6440 }
6441}
6442
6443impl<'a> SmswEmitter<Gpw> for Assembler<'a> {
6444 fn smsw(&mut self, op0: Gpw) {
6445 self.emit(SMSW16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6446 }
6447}
6448
6449impl<'a> SmswEmitter<Gpd> for Assembler<'a> {
6450 fn smsw(&mut self, op0: Gpd) {
6451 self.emit(SMSW32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6452 }
6453}
6454
6455impl<'a> SmswEmitter<Gpq> for Assembler<'a> {
6456 fn smsw(&mut self, op0: Gpq) {
6457 self.emit(SMSW64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6458 }
6459}
6460
6461pub trait StcEmitter {
6473 fn stc(&mut self);
6474}
6475
6476impl<'a> StcEmitter for Assembler<'a> {
6477 fn stc(&mut self) {
6478 self.emit(STC, &NOREG, &NOREG, &NOREG, &NOREG);
6479 }
6480}
6481
6482pub trait StdEmitter {
6494 fn std(&mut self);
6495}
6496
6497impl<'a> StdEmitter for Assembler<'a> {
6498 fn std(&mut self) {
6499 self.emit(STD, &NOREG, &NOREG, &NOREG, &NOREG);
6500 }
6501}
6502
6503pub trait StiEmitter {
6515 fn sti(&mut self);
6516}
6517
6518impl<'a> StiEmitter for Assembler<'a> {
6519 fn sti(&mut self) {
6520 self.emit(STI, &NOREG, &NOREG, &NOREG, &NOREG);
6521 }
6522}
6523
6524pub trait StosEmitter {
6536 fn stos(&mut self);
6537}
6538
6539impl<'a> StosEmitter for Assembler<'a> {
6540 fn stos(&mut self) {
6541 self.emit(STOS8, &NOREG, &NOREG, &NOREG, &NOREG);
6542 }
6543}
6544
6545pub trait StrEmitter<A> {
6558 fn str(&mut self, op0: A);
6559}
6560
6561impl<'a> StrEmitter<Gpd> for Assembler<'a> {
6562 fn str(&mut self, op0: Gpd) {
6563 self.emit(STRR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6564 }
6565}
6566
6567impl<'a> StrEmitter<Mem> for Assembler<'a> {
6568 fn str(&mut self, op0: Mem) {
6569 self.emit(STRM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6570 }
6571}
6572
6573pub trait SttilecfgEmitter<A> {
6585 fn sttilecfg(&mut self, op0: A);
6586}
6587
6588impl<'a> SttilecfgEmitter<Mem> for Assembler<'a> {
6589 fn sttilecfg(&mut self, op0: Mem) {
6590 self.emit(STTILECFGM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6591 }
6592}
6593
6594pub trait SubEmitter<A, B> {
6622 fn sub(&mut self, op0: A, op1: B);
6623}
6624
6625impl<'a> SubEmitter<GpbLo, GpbLo> for Assembler<'a> {
6626 fn sub(&mut self, op0: GpbLo, op1: GpbLo) {
6627 self.emit(SUB8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6628 }
6629}
6630
6631impl<'a> SubEmitter<Mem, GpbLo> for Assembler<'a> {
6632 fn sub(&mut self, op0: Mem, op1: GpbLo) {
6633 self.emit(SUB8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6634 }
6635}
6636
6637impl<'a> SubEmitter<Gpw, Gpw> for Assembler<'a> {
6638 fn sub(&mut self, op0: Gpw, op1: Gpw) {
6639 self.emit(SUB16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6640 }
6641}
6642
6643impl<'a> SubEmitter<Mem, Gpw> for Assembler<'a> {
6644 fn sub(&mut self, op0: Mem, op1: Gpw) {
6645 self.emit(SUB16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6646 }
6647}
6648
6649impl<'a> SubEmitter<Gpd, Gpd> for Assembler<'a> {
6650 fn sub(&mut self, op0: Gpd, op1: Gpd) {
6651 self.emit(SUB32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6652 }
6653}
6654
6655impl<'a> SubEmitter<Mem, Gpd> for Assembler<'a> {
6656 fn sub(&mut self, op0: Mem, op1: Gpd) {
6657 self.emit(SUB32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6658 }
6659}
6660
6661impl<'a> SubEmitter<Gpq, Gpq> for Assembler<'a> {
6662 fn sub(&mut self, op0: Gpq, op1: Gpq) {
6663 self.emit(SUB64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6664 }
6665}
6666
6667impl<'a> SubEmitter<Mem, Gpq> for Assembler<'a> {
6668 fn sub(&mut self, op0: Mem, op1: Gpq) {
6669 self.emit(SUB64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6670 }
6671}
6672
6673impl<'a> SubEmitter<GpbLo, Mem> for Assembler<'a> {
6674 fn sub(&mut self, op0: GpbLo, op1: Mem) {
6675 self.emit(SUB8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6676 }
6677}
6678
6679impl<'a> SubEmitter<Gpw, Mem> for Assembler<'a> {
6680 fn sub(&mut self, op0: Gpw, op1: Mem) {
6681 self.emit(SUB16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6682 }
6683}
6684
6685impl<'a> SubEmitter<Gpd, Mem> for Assembler<'a> {
6686 fn sub(&mut self, op0: Gpd, op1: Mem) {
6687 self.emit(SUB32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6688 }
6689}
6690
6691impl<'a> SubEmitter<Gpq, Mem> for Assembler<'a> {
6692 fn sub(&mut self, op0: Gpq, op1: Mem) {
6693 self.emit(SUB64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6694 }
6695}
6696
6697impl<'a> SubEmitter<GpbLo, Imm> for Assembler<'a> {
6698 fn sub(&mut self, op0: GpbLo, op1: Imm) {
6699 self.emit(SUB8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6700 }
6701}
6702
6703impl<'a> SubEmitter<Gpw, Imm> for Assembler<'a> {
6704 fn sub(&mut self, op0: Gpw, op1: Imm) {
6705 self.emit(SUB16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6706 }
6707}
6708
6709impl<'a> SubEmitter<Gpd, Imm> for Assembler<'a> {
6710 fn sub(&mut self, op0: Gpd, op1: Imm) {
6711 self.emit(SUB32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6712 }
6713}
6714
6715impl<'a> SubEmitter<Gpq, Imm> for Assembler<'a> {
6716 fn sub(&mut self, op0: Gpq, op1: Imm) {
6717 self.emit(SUB64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6718 }
6719}
6720
6721impl<'a> SubEmitter<Mem, Imm> for Assembler<'a> {
6722 fn sub(&mut self, op0: Mem, op1: Imm) {
6723 self.emit(SUB8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6724 }
6725}
6726
6727pub trait SwapgsEmitter {
6739 fn swapgs(&mut self);
6740}
6741
6742impl<'a> SwapgsEmitter for Assembler<'a> {
6743 fn swapgs(&mut self) {
6744 self.emit(SWAPGS, &NOREG, &NOREG, &NOREG, &NOREG);
6745 }
6746}
6747
6748pub trait SyscallEmitter {
6760 fn syscall(&mut self);
6761}
6762
6763impl<'a> SyscallEmitter for Assembler<'a> {
6764 fn syscall(&mut self) {
6765 self.emit(SYSCALL, &NOREG, &NOREG, &NOREG, &NOREG);
6766 }
6767}
6768
6769pub trait SysretEmitter {
6781 fn sysret(&mut self);
6782}
6783
6784impl<'a> SysretEmitter for Assembler<'a> {
6785 fn sysret(&mut self) {
6786 self.emit(SYSRET, &NOREG, &NOREG, &NOREG, &NOREG);
6787 }
6788}
6789
6790pub trait Tcmmimfp16psEmitter<A, B, C> {
6802 fn tcmmimfp16ps(&mut self, op0: A, op1: B, op2: C);
6803}
6804
6805impl<'a> Tcmmimfp16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6806 fn tcmmimfp16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6807 self.emit(
6808 TCMMIMFP16PSRRR,
6809 op0.as_operand(),
6810 op1.as_operand(),
6811 op2.as_operand(),
6812 &NOREG,
6813 );
6814 }
6815}
6816
6817pub trait Tcmmrlfp16psEmitter<A, B, C> {
6829 fn tcmmrlfp16ps(&mut self, op0: A, op1: B, op2: C);
6830}
6831
6832impl<'a> Tcmmrlfp16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6833 fn tcmmrlfp16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6834 self.emit(
6835 TCMMRLFP16PSRRR,
6836 op0.as_operand(),
6837 op1.as_operand(),
6838 op2.as_operand(),
6839 &NOREG,
6840 );
6841 }
6842}
6843
6844pub trait Tdpbf16psEmitter<A, B, C> {
6856 fn tdpbf16ps(&mut self, op0: A, op1: B, op2: C);
6857}
6858
6859impl<'a> Tdpbf16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6860 fn tdpbf16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6861 self.emit(
6862 TDPBF16PSRRR,
6863 op0.as_operand(),
6864 op1.as_operand(),
6865 op2.as_operand(),
6866 &NOREG,
6867 );
6868 }
6869}
6870
6871pub trait TdpbssdEmitter<A, B, C> {
6883 fn tdpbssd(&mut self, op0: A, op1: B, op2: C);
6884}
6885
6886impl<'a> TdpbssdEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6887 fn tdpbssd(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6888 self.emit(
6889 TDPBSSDRRR,
6890 op0.as_operand(),
6891 op1.as_operand(),
6892 op2.as_operand(),
6893 &NOREG,
6894 );
6895 }
6896}
6897
6898pub trait TdpbsudEmitter<A, B, C> {
6910 fn tdpbsud(&mut self, op0: A, op1: B, op2: C);
6911}
6912
6913impl<'a> TdpbsudEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6914 fn tdpbsud(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6915 self.emit(
6916 TDPBSUDRRR,
6917 op0.as_operand(),
6918 op1.as_operand(),
6919 op2.as_operand(),
6920 &NOREG,
6921 );
6922 }
6923}
6924
6925pub trait TdpbusdEmitter<A, B, C> {
6937 fn tdpbusd(&mut self, op0: A, op1: B, op2: C);
6938}
6939
6940impl<'a> TdpbusdEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6941 fn tdpbusd(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6942 self.emit(
6943 TDPBUSDRRR,
6944 op0.as_operand(),
6945 op1.as_operand(),
6946 op2.as_operand(),
6947 &NOREG,
6948 );
6949 }
6950}
6951
6952pub trait TdpbuudEmitter<A, B, C> {
6964 fn tdpbuud(&mut self, op0: A, op1: B, op2: C);
6965}
6966
6967impl<'a> TdpbuudEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6968 fn tdpbuud(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6969 self.emit(
6970 TDPBUUDRRR,
6971 op0.as_operand(),
6972 op1.as_operand(),
6973 op2.as_operand(),
6974 &NOREG,
6975 );
6976 }
6977}
6978
6979pub trait Tdpfp16psEmitter<A, B, C> {
6991 fn tdpfp16ps(&mut self, op0: A, op1: B, op2: C);
6992}
6993
6994impl<'a> Tdpfp16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6995 fn tdpfp16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6996 self.emit(
6997 TDPFP16PSRRR,
6998 op0.as_operand(),
6999 op1.as_operand(),
7000 op2.as_operand(),
7001 &NOREG,
7002 );
7003 }
7004}
7005
7006pub trait TestEmitter<A, B> {
7030 fn test(&mut self, op0: A, op1: B);
7031}
7032
7033impl<'a> TestEmitter<GpbLo, GpbLo> for Assembler<'a> {
7034 fn test(&mut self, op0: GpbLo, op1: GpbLo) {
7035 self.emit(TEST8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7036 }
7037}
7038
7039impl<'a> TestEmitter<Mem, GpbLo> for Assembler<'a> {
7040 fn test(&mut self, op0: Mem, op1: GpbLo) {
7041 self.emit(TEST8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7042 }
7043}
7044
7045impl<'a> TestEmitter<Gpw, Gpw> for Assembler<'a> {
7046 fn test(&mut self, op0: Gpw, op1: Gpw) {
7047 self.emit(TEST16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7048 }
7049}
7050
7051impl<'a> TestEmitter<Mem, Gpw> for Assembler<'a> {
7052 fn test(&mut self, op0: Mem, op1: Gpw) {
7053 self.emit(TEST16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7054 }
7055}
7056
7057impl<'a> TestEmitter<Gpd, Gpd> for Assembler<'a> {
7058 fn test(&mut self, op0: Gpd, op1: Gpd) {
7059 self.emit(TEST32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7060 }
7061}
7062
7063impl<'a> TestEmitter<Mem, Gpd> for Assembler<'a> {
7064 fn test(&mut self, op0: Mem, op1: Gpd) {
7065 self.emit(TEST32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7066 }
7067}
7068
7069impl<'a> TestEmitter<Gpq, Gpq> for Assembler<'a> {
7070 fn test(&mut self, op0: Gpq, op1: Gpq) {
7071 self.emit(TEST64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7072 }
7073}
7074
7075impl<'a> TestEmitter<Mem, Gpq> for Assembler<'a> {
7076 fn test(&mut self, op0: Mem, op1: Gpq) {
7077 self.emit(TEST64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7078 }
7079}
7080
7081impl<'a> TestEmitter<GpbLo, Imm> for Assembler<'a> {
7082 fn test(&mut self, op0: GpbLo, op1: Imm) {
7083 self.emit(TEST8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7084 }
7085}
7086
7087impl<'a> TestEmitter<Gpw, Imm> for Assembler<'a> {
7088 fn test(&mut self, op0: Gpw, op1: Imm) {
7089 self.emit(TEST16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7090 }
7091}
7092
7093impl<'a> TestEmitter<Gpd, Imm> for Assembler<'a> {
7094 fn test(&mut self, op0: Gpd, op1: Imm) {
7095 self.emit(TEST32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7096 }
7097}
7098
7099impl<'a> TestEmitter<Gpq, Imm> for Assembler<'a> {
7100 fn test(&mut self, op0: Gpq, op1: Imm) {
7101 self.emit(TEST64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7102 }
7103}
7104
7105impl<'a> TestEmitter<Mem, Imm> for Assembler<'a> {
7106 fn test(&mut self, op0: Mem, op1: Imm) {
7107 self.emit(TEST8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7108 }
7109}
7110
7111pub trait TileloaddEmitter<A, B> {
7123 fn tileloadd(&mut self, op0: A, op1: B);
7124}
7125
7126impl<'a> TileloaddEmitter<Tmm, Mem> for Assembler<'a> {
7127 fn tileloadd(&mut self, op0: Tmm, op1: Mem) {
7128 self.emit(
7129 TILELOADDRM,
7130 op0.as_operand(),
7131 op1.as_operand(),
7132 &NOREG,
7133 &NOREG,
7134 );
7135 }
7136}
7137
7138pub trait Tileloaddt1Emitter<A, B> {
7150 fn tileloaddt1(&mut self, op0: A, op1: B);
7151}
7152
7153impl<'a> Tileloaddt1Emitter<Tmm, Mem> for Assembler<'a> {
7154 fn tileloaddt1(&mut self, op0: Tmm, op1: Mem) {
7155 self.emit(
7156 TILELOADDT1RM,
7157 op0.as_operand(),
7158 op1.as_operand(),
7159 &NOREG,
7160 &NOREG,
7161 );
7162 }
7163}
7164
7165pub trait TilereleaseEmitter {
7177 fn tilerelease(&mut self);
7178}
7179
7180impl<'a> TilereleaseEmitter for Assembler<'a> {
7181 fn tilerelease(&mut self) {
7182 self.emit(TILERELEASE, &NOREG, &NOREG, &NOREG, &NOREG);
7183 }
7184}
7185
7186pub trait TilestoredEmitter<A, B> {
7198 fn tilestored(&mut self, op0: A, op1: B);
7199}
7200
7201impl<'a> TilestoredEmitter<Mem, Tmm> for Assembler<'a> {
7202 fn tilestored(&mut self, op0: Mem, op1: Tmm) {
7203 self.emit(
7204 TILESTOREDMR,
7205 op0.as_operand(),
7206 op1.as_operand(),
7207 &NOREG,
7208 &NOREG,
7209 );
7210 }
7211}
7212
7213pub trait TilezeroEmitter<A> {
7225 fn tilezero(&mut self, op0: A);
7226}
7227
7228impl<'a> TilezeroEmitter<Tmm> for Assembler<'a> {
7229 fn tilezero(&mut self, op0: Tmm) {
7230 self.emit(TILEZEROR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
7231 }
7232}
7233
7234pub trait Ud0Emitter<A, B> {
7251 fn ud0(&mut self, op0: A, op1: B);
7252}
7253
7254impl<'a> Ud0Emitter<Gpw, Gpw> for Assembler<'a> {
7255 fn ud0(&mut self, op0: Gpw, op1: Gpw) {
7256 self.emit(UD0_16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7257 }
7258}
7259
7260impl<'a> Ud0Emitter<Gpw, Mem> for Assembler<'a> {
7261 fn ud0(&mut self, op0: Gpw, op1: Mem) {
7262 self.emit(UD0_16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7263 }
7264}
7265
7266impl<'a> Ud0Emitter<Gpd, Gpd> for Assembler<'a> {
7267 fn ud0(&mut self, op0: Gpd, op1: Gpd) {
7268 self.emit(UD0_32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7269 }
7270}
7271
7272impl<'a> Ud0Emitter<Gpd, Mem> for Assembler<'a> {
7273 fn ud0(&mut self, op0: Gpd, op1: Mem) {
7274 self.emit(UD0_32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7275 }
7276}
7277
7278impl<'a> Ud0Emitter<Gpq, Gpq> for Assembler<'a> {
7279 fn ud0(&mut self, op0: Gpq, op1: Gpq) {
7280 self.emit(UD0_64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7281 }
7282}
7283
7284impl<'a> Ud0Emitter<Gpq, Mem> for Assembler<'a> {
7285 fn ud0(&mut self, op0: Gpq, op1: Mem) {
7286 self.emit(UD0_64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7287 }
7288}
7289
7290pub trait Ud1Emitter<A, B> {
7307 fn ud1(&mut self, op0: A, op1: B);
7308}
7309
7310impl<'a> Ud1Emitter<Gpw, Gpw> for Assembler<'a> {
7311 fn ud1(&mut self, op0: Gpw, op1: Gpw) {
7312 self.emit(UD1_16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7313 }
7314}
7315
7316impl<'a> Ud1Emitter<Gpw, Mem> for Assembler<'a> {
7317 fn ud1(&mut self, op0: Gpw, op1: Mem) {
7318 self.emit(UD1_16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7319 }
7320}
7321
7322impl<'a> Ud1Emitter<Gpd, Gpd> for Assembler<'a> {
7323 fn ud1(&mut self, op0: Gpd, op1: Gpd) {
7324 self.emit(UD1_32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7325 }
7326}
7327
7328impl<'a> Ud1Emitter<Gpd, Mem> for Assembler<'a> {
7329 fn ud1(&mut self, op0: Gpd, op1: Mem) {
7330 self.emit(UD1_32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7331 }
7332}
7333
7334impl<'a> Ud1Emitter<Gpq, Gpq> for Assembler<'a> {
7335 fn ud1(&mut self, op0: Gpq, op1: Gpq) {
7336 self.emit(UD1_64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7337 }
7338}
7339
7340impl<'a> Ud1Emitter<Gpq, Mem> for Assembler<'a> {
7341 fn ud1(&mut self, op0: Gpq, op1: Mem) {
7342 self.emit(UD1_64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7343 }
7344}
7345
7346pub trait Ud2Emitter {
7358 fn ud2(&mut self);
7359}
7360
7361impl<'a> Ud2Emitter for Assembler<'a> {
7362 fn ud2(&mut self) {
7363 self.emit(UD2, &NOREG, &NOREG, &NOREG, &NOREG);
7364 }
7365}
7366
7367pub trait VaddphEmitter<A, B, C> {
7384 fn vaddph(&mut self, op0: A, op1: B, op2: C);
7385}
7386
7387impl<'a> VaddphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7388 fn vaddph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7389 self.emit(
7390 VADDPH128RRR,
7391 op0.as_operand(),
7392 op1.as_operand(),
7393 op2.as_operand(),
7394 &NOREG,
7395 );
7396 }
7397}
7398
7399impl<'a> VaddphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7400 fn vaddph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7401 self.emit(
7402 VADDPH128RRM,
7403 op0.as_operand(),
7404 op1.as_operand(),
7405 op2.as_operand(),
7406 &NOREG,
7407 );
7408 }
7409}
7410
7411impl<'a> VaddphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7412 fn vaddph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7413 self.emit(
7414 VADDPH256RRR,
7415 op0.as_operand(),
7416 op1.as_operand(),
7417 op2.as_operand(),
7418 &NOREG,
7419 );
7420 }
7421}
7422
7423impl<'a> VaddphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7424 fn vaddph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7425 self.emit(
7426 VADDPH256RRM,
7427 op0.as_operand(),
7428 op1.as_operand(),
7429 op2.as_operand(),
7430 &NOREG,
7431 );
7432 }
7433}
7434
7435impl<'a> VaddphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7436 fn vaddph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7437 self.emit(
7438 VADDPH512RRR,
7439 op0.as_operand(),
7440 op1.as_operand(),
7441 op2.as_operand(),
7442 &NOREG,
7443 );
7444 }
7445}
7446
7447impl<'a> VaddphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7448 fn vaddph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7449 self.emit(
7450 VADDPH512RRM,
7451 op0.as_operand(),
7452 op1.as_operand(),
7453 op2.as_operand(),
7454 &NOREG,
7455 );
7456 }
7457}
7458
7459pub trait VaddphErEmitter<A, B, C> {
7471 fn vaddph_er(&mut self, op0: A, op1: B, op2: C);
7472}
7473
7474impl<'a> VaddphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7475 fn vaddph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7476 self.emit(
7477 VADDPH512RRR_ER,
7478 op0.as_operand(),
7479 op1.as_operand(),
7480 op2.as_operand(),
7481 &NOREG,
7482 );
7483 }
7484}
7485
7486pub trait VaddphMaskEmitter<A, B, C> {
7503 fn vaddph_mask(&mut self, op0: A, op1: B, op2: C);
7504}
7505
7506impl<'a> VaddphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7507 fn vaddph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7508 self.emit(
7509 VADDPH128RRR_MASK,
7510 op0.as_operand(),
7511 op1.as_operand(),
7512 op2.as_operand(),
7513 &NOREG,
7514 );
7515 }
7516}
7517
7518impl<'a> VaddphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7519 fn vaddph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7520 self.emit(
7521 VADDPH128RRM_MASK,
7522 op0.as_operand(),
7523 op1.as_operand(),
7524 op2.as_operand(),
7525 &NOREG,
7526 );
7527 }
7528}
7529
7530impl<'a> VaddphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7531 fn vaddph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7532 self.emit(
7533 VADDPH256RRR_MASK,
7534 op0.as_operand(),
7535 op1.as_operand(),
7536 op2.as_operand(),
7537 &NOREG,
7538 );
7539 }
7540}
7541
7542impl<'a> VaddphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7543 fn vaddph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7544 self.emit(
7545 VADDPH256RRM_MASK,
7546 op0.as_operand(),
7547 op1.as_operand(),
7548 op2.as_operand(),
7549 &NOREG,
7550 );
7551 }
7552}
7553
7554impl<'a> VaddphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7555 fn vaddph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7556 self.emit(
7557 VADDPH512RRR_MASK,
7558 op0.as_operand(),
7559 op1.as_operand(),
7560 op2.as_operand(),
7561 &NOREG,
7562 );
7563 }
7564}
7565
7566impl<'a> VaddphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7567 fn vaddph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7568 self.emit(
7569 VADDPH512RRM_MASK,
7570 op0.as_operand(),
7571 op1.as_operand(),
7572 op2.as_operand(),
7573 &NOREG,
7574 );
7575 }
7576}
7577
7578pub trait VaddphMaskErEmitter<A, B, C> {
7590 fn vaddph_mask_er(&mut self, op0: A, op1: B, op2: C);
7591}
7592
7593impl<'a> VaddphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7594 fn vaddph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7595 self.emit(
7596 VADDPH512RRR_MASK_ER,
7597 op0.as_operand(),
7598 op1.as_operand(),
7599 op2.as_operand(),
7600 &NOREG,
7601 );
7602 }
7603}
7604
7605pub trait VaddphMaskzEmitter<A, B, C> {
7622 fn vaddph_maskz(&mut self, op0: A, op1: B, op2: C);
7623}
7624
7625impl<'a> VaddphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7626 fn vaddph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7627 self.emit(
7628 VADDPH128RRR_MASKZ,
7629 op0.as_operand(),
7630 op1.as_operand(),
7631 op2.as_operand(),
7632 &NOREG,
7633 );
7634 }
7635}
7636
7637impl<'a> VaddphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7638 fn vaddph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7639 self.emit(
7640 VADDPH128RRM_MASKZ,
7641 op0.as_operand(),
7642 op1.as_operand(),
7643 op2.as_operand(),
7644 &NOREG,
7645 );
7646 }
7647}
7648
7649impl<'a> VaddphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7650 fn vaddph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7651 self.emit(
7652 VADDPH256RRR_MASKZ,
7653 op0.as_operand(),
7654 op1.as_operand(),
7655 op2.as_operand(),
7656 &NOREG,
7657 );
7658 }
7659}
7660
7661impl<'a> VaddphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7662 fn vaddph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7663 self.emit(
7664 VADDPH256RRM_MASKZ,
7665 op0.as_operand(),
7666 op1.as_operand(),
7667 op2.as_operand(),
7668 &NOREG,
7669 );
7670 }
7671}
7672
7673impl<'a> VaddphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7674 fn vaddph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7675 self.emit(
7676 VADDPH512RRR_MASKZ,
7677 op0.as_operand(),
7678 op1.as_operand(),
7679 op2.as_operand(),
7680 &NOREG,
7681 );
7682 }
7683}
7684
7685impl<'a> VaddphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7686 fn vaddph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7687 self.emit(
7688 VADDPH512RRM_MASKZ,
7689 op0.as_operand(),
7690 op1.as_operand(),
7691 op2.as_operand(),
7692 &NOREG,
7693 );
7694 }
7695}
7696
7697pub trait VaddphMaskzErEmitter<A, B, C> {
7709 fn vaddph_maskz_er(&mut self, op0: A, op1: B, op2: C);
7710}
7711
7712impl<'a> VaddphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7713 fn vaddph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7714 self.emit(
7715 VADDPH512RRR_MASKZ_ER,
7716 op0.as_operand(),
7717 op1.as_operand(),
7718 op2.as_operand(),
7719 &NOREG,
7720 );
7721 }
7722}
7723
7724pub trait VaddshEmitter<A, B, C> {
7737 fn vaddsh(&mut self, op0: A, op1: B, op2: C);
7738}
7739
7740impl<'a> VaddshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7741 fn vaddsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7742 self.emit(
7743 VADDSHRRR,
7744 op0.as_operand(),
7745 op1.as_operand(),
7746 op2.as_operand(),
7747 &NOREG,
7748 );
7749 }
7750}
7751
7752impl<'a> VaddshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7753 fn vaddsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7754 self.emit(
7755 VADDSHRRM,
7756 op0.as_operand(),
7757 op1.as_operand(),
7758 op2.as_operand(),
7759 &NOREG,
7760 );
7761 }
7762}
7763
7764pub trait VaddshErEmitter<A, B, C> {
7776 fn vaddsh_er(&mut self, op0: A, op1: B, op2: C);
7777}
7778
7779impl<'a> VaddshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7780 fn vaddsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7781 self.emit(
7782 VADDSHRRR_ER,
7783 op0.as_operand(),
7784 op1.as_operand(),
7785 op2.as_operand(),
7786 &NOREG,
7787 );
7788 }
7789}
7790
7791pub trait VaddshMaskEmitter<A, B, C> {
7804 fn vaddsh_mask(&mut self, op0: A, op1: B, op2: C);
7805}
7806
7807impl<'a> VaddshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7808 fn vaddsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7809 self.emit(
7810 VADDSHRRR_MASK,
7811 op0.as_operand(),
7812 op1.as_operand(),
7813 op2.as_operand(),
7814 &NOREG,
7815 );
7816 }
7817}
7818
7819impl<'a> VaddshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7820 fn vaddsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7821 self.emit(
7822 VADDSHRRM_MASK,
7823 op0.as_operand(),
7824 op1.as_operand(),
7825 op2.as_operand(),
7826 &NOREG,
7827 );
7828 }
7829}
7830
7831pub trait VaddshMaskErEmitter<A, B, C> {
7843 fn vaddsh_mask_er(&mut self, op0: A, op1: B, op2: C);
7844}
7845
7846impl<'a> VaddshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7847 fn vaddsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7848 self.emit(
7849 VADDSHRRR_MASK_ER,
7850 op0.as_operand(),
7851 op1.as_operand(),
7852 op2.as_operand(),
7853 &NOREG,
7854 );
7855 }
7856}
7857
7858pub trait VaddshMaskzEmitter<A, B, C> {
7871 fn vaddsh_maskz(&mut self, op0: A, op1: B, op2: C);
7872}
7873
7874impl<'a> VaddshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7875 fn vaddsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7876 self.emit(
7877 VADDSHRRR_MASKZ,
7878 op0.as_operand(),
7879 op1.as_operand(),
7880 op2.as_operand(),
7881 &NOREG,
7882 );
7883 }
7884}
7885
7886impl<'a> VaddshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7887 fn vaddsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7888 self.emit(
7889 VADDSHRRM_MASKZ,
7890 op0.as_operand(),
7891 op1.as_operand(),
7892 op2.as_operand(),
7893 &NOREG,
7894 );
7895 }
7896}
7897
7898pub trait VaddshMaskzErEmitter<A, B, C> {
7910 fn vaddsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
7911}
7912
7913impl<'a> VaddshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7914 fn vaddsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7915 self.emit(
7916 VADDSHRRR_MASKZ_ER,
7917 op0.as_operand(),
7918 op1.as_operand(),
7919 op2.as_operand(),
7920 &NOREG,
7921 );
7922 }
7923}
7924
7925pub trait VaesdecEmitter<A, B, C> {
7942 fn vaesdec(&mut self, op0: A, op1: B, op2: C);
7943}
7944
7945impl<'a> VaesdecEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7946 fn vaesdec(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7947 self.emit(
7948 VAESDEC128RRR,
7949 op0.as_operand(),
7950 op1.as_operand(),
7951 op2.as_operand(),
7952 &NOREG,
7953 );
7954 }
7955}
7956
7957impl<'a> VaesdecEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7958 fn vaesdec(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7959 self.emit(
7960 VAESDEC128RRM,
7961 op0.as_operand(),
7962 op1.as_operand(),
7963 op2.as_operand(),
7964 &NOREG,
7965 );
7966 }
7967}
7968
7969impl<'a> VaesdecEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7970 fn vaesdec(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7971 self.emit(
7972 VAESDEC256RRR,
7973 op0.as_operand(),
7974 op1.as_operand(),
7975 op2.as_operand(),
7976 &NOREG,
7977 );
7978 }
7979}
7980
7981impl<'a> VaesdecEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7982 fn vaesdec(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7983 self.emit(
7984 VAESDEC256RRM,
7985 op0.as_operand(),
7986 op1.as_operand(),
7987 op2.as_operand(),
7988 &NOREG,
7989 );
7990 }
7991}
7992
7993impl<'a> VaesdecEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7994 fn vaesdec(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7995 self.emit(
7996 VAESDEC512RRR,
7997 op0.as_operand(),
7998 op1.as_operand(),
7999 op2.as_operand(),
8000 &NOREG,
8001 );
8002 }
8003}
8004
8005impl<'a> VaesdecEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
8006 fn vaesdec(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
8007 self.emit(
8008 VAESDEC512RRM,
8009 op0.as_operand(),
8010 op1.as_operand(),
8011 op2.as_operand(),
8012 &NOREG,
8013 );
8014 }
8015}
8016
8017pub trait VaesdeclastEmitter<A, B, C> {
8034 fn vaesdeclast(&mut self, op0: A, op1: B, op2: C);
8035}
8036
8037impl<'a> VaesdeclastEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
8038 fn vaesdeclast(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
8039 self.emit(
8040 VAESDECLAST128RRR,
8041 op0.as_operand(),
8042 op1.as_operand(),
8043 op2.as_operand(),
8044 &NOREG,
8045 );
8046 }
8047}
8048
8049impl<'a> VaesdeclastEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
8050 fn vaesdeclast(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
8051 self.emit(
8052 VAESDECLAST128RRM,
8053 op0.as_operand(),
8054 op1.as_operand(),
8055 op2.as_operand(),
8056 &NOREG,
8057 );
8058 }
8059}
8060
8061impl<'a> VaesdeclastEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
8062 fn vaesdeclast(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
8063 self.emit(
8064 VAESDECLAST256RRR,
8065 op0.as_operand(),
8066 op1.as_operand(),
8067 op2.as_operand(),
8068 &NOREG,
8069 );
8070 }
8071}
8072
8073impl<'a> VaesdeclastEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
8074 fn vaesdeclast(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
8075 self.emit(
8076 VAESDECLAST256RRM,
8077 op0.as_operand(),
8078 op1.as_operand(),
8079 op2.as_operand(),
8080 &NOREG,
8081 );
8082 }
8083}
8084
8085impl<'a> VaesdeclastEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
8086 fn vaesdeclast(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
8087 self.emit(
8088 VAESDECLAST512RRR,
8089 op0.as_operand(),
8090 op1.as_operand(),
8091 op2.as_operand(),
8092 &NOREG,
8093 );
8094 }
8095}
8096
8097impl<'a> VaesdeclastEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
8098 fn vaesdeclast(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
8099 self.emit(
8100 VAESDECLAST512RRM,
8101 op0.as_operand(),
8102 op1.as_operand(),
8103 op2.as_operand(),
8104 &NOREG,
8105 );
8106 }
8107}
8108
8109pub trait VaesencEmitter<A, B, C> {
8126 fn vaesenc(&mut self, op0: A, op1: B, op2: C);
8127}
8128
8129impl<'a> VaesencEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
8130 fn vaesenc(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
8131 self.emit(
8132 VAESENC128RRR,
8133 op0.as_operand(),
8134 op1.as_operand(),
8135 op2.as_operand(),
8136 &NOREG,
8137 );
8138 }
8139}
8140
8141impl<'a> VaesencEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
8142 fn vaesenc(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
8143 self.emit(
8144 VAESENC128RRM,
8145 op0.as_operand(),
8146 op1.as_operand(),
8147 op2.as_operand(),
8148 &NOREG,
8149 );
8150 }
8151}
8152
8153impl<'a> VaesencEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
8154 fn vaesenc(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
8155 self.emit(
8156 VAESENC256RRR,
8157 op0.as_operand(),
8158 op1.as_operand(),
8159 op2.as_operand(),
8160 &NOREG,
8161 );
8162 }
8163}
8164
8165impl<'a> VaesencEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
8166 fn vaesenc(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
8167 self.emit(
8168 VAESENC256RRM,
8169 op0.as_operand(),
8170 op1.as_operand(),
8171 op2.as_operand(),
8172 &NOREG,
8173 );
8174 }
8175}
8176
8177impl<'a> VaesencEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
8178 fn vaesenc(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
8179 self.emit(
8180 VAESENC512RRR,
8181 op0.as_operand(),
8182 op1.as_operand(),
8183 op2.as_operand(),
8184 &NOREG,
8185 );
8186 }
8187}
8188
8189impl<'a> VaesencEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
8190 fn vaesenc(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
8191 self.emit(
8192 VAESENC512RRM,
8193 op0.as_operand(),
8194 op1.as_operand(),
8195 op2.as_operand(),
8196 &NOREG,
8197 );
8198 }
8199}
8200
8201pub trait VaesenclastEmitter<A, B, C> {
8218 fn vaesenclast(&mut self, op0: A, op1: B, op2: C);
8219}
8220
8221impl<'a> VaesenclastEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
8222 fn vaesenclast(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
8223 self.emit(
8224 VAESENCLAST128RRR,
8225 op0.as_operand(),
8226 op1.as_operand(),
8227 op2.as_operand(),
8228 &NOREG,
8229 );
8230 }
8231}
8232
8233impl<'a> VaesenclastEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
8234 fn vaesenclast(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
8235 self.emit(
8236 VAESENCLAST128RRM,
8237 op0.as_operand(),
8238 op1.as_operand(),
8239 op2.as_operand(),
8240 &NOREG,
8241 );
8242 }
8243}
8244
8245impl<'a> VaesenclastEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
8246 fn vaesenclast(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
8247 self.emit(
8248 VAESENCLAST256RRR,
8249 op0.as_operand(),
8250 op1.as_operand(),
8251 op2.as_operand(),
8252 &NOREG,
8253 );
8254 }
8255}
8256
8257impl<'a> VaesenclastEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
8258 fn vaesenclast(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
8259 self.emit(
8260 VAESENCLAST256RRM,
8261 op0.as_operand(),
8262 op1.as_operand(),
8263 op2.as_operand(),
8264 &NOREG,
8265 );
8266 }
8267}
8268
8269impl<'a> VaesenclastEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
8270 fn vaesenclast(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
8271 self.emit(
8272 VAESENCLAST512RRR,
8273 op0.as_operand(),
8274 op1.as_operand(),
8275 op2.as_operand(),
8276 &NOREG,
8277 );
8278 }
8279}
8280
8281impl<'a> VaesenclastEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
8282 fn vaesenclast(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
8283 self.emit(
8284 VAESENCLAST512RRM,
8285 op0.as_operand(),
8286 op1.as_operand(),
8287 op2.as_operand(),
8288 &NOREG,
8289 );
8290 }
8291}
8292
8293pub trait VaesimcEmitter<A, B> {
8306 fn vaesimc(&mut self, op0: A, op1: B);
8307}
8308
8309impl<'a> VaesimcEmitter<Xmm, Xmm> for Assembler<'a> {
8310 fn vaesimc(&mut self, op0: Xmm, op1: Xmm) {
8311 self.emit(
8312 VAESIMCRR,
8313 op0.as_operand(),
8314 op1.as_operand(),
8315 &NOREG,
8316 &NOREG,
8317 );
8318 }
8319}
8320
8321impl<'a> VaesimcEmitter<Xmm, Mem> for Assembler<'a> {
8322 fn vaesimc(&mut self, op0: Xmm, op1: Mem) {
8323 self.emit(
8324 VAESIMCRM,
8325 op0.as_operand(),
8326 op1.as_operand(),
8327 &NOREG,
8328 &NOREG,
8329 );
8330 }
8331}
8332
8333pub trait VaeskeygenassistEmitter<A, B, C> {
8346 fn vaeskeygenassist(&mut self, op0: A, op1: B, op2: C);
8347}
8348
8349impl<'a> VaeskeygenassistEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
8350 fn vaeskeygenassist(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
8351 self.emit(
8352 VAESKEYGENASSISTRRI,
8353 op0.as_operand(),
8354 op1.as_operand(),
8355 op2.as_operand(),
8356 &NOREG,
8357 );
8358 }
8359}
8360
8361impl<'a> VaeskeygenassistEmitter<Xmm, Mem, Imm> for Assembler<'a> {
8362 fn vaeskeygenassist(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
8363 self.emit(
8364 VAESKEYGENASSISTRMI,
8365 op0.as_operand(),
8366 op1.as_operand(),
8367 op2.as_operand(),
8368 &NOREG,
8369 );
8370 }
8371}
8372
8373pub trait Vbcstnebf162psEmitter<A, B> {
8386 fn vbcstnebf162ps(&mut self, op0: A, op1: B);
8387}
8388
8389impl<'a> Vbcstnebf162psEmitter<Xmm, Mem> for Assembler<'a> {
8390 fn vbcstnebf162ps(&mut self, op0: Xmm, op1: Mem) {
8391 self.emit(
8392 VBCSTNEBF162PS128RM,
8393 op0.as_operand(),
8394 op1.as_operand(),
8395 &NOREG,
8396 &NOREG,
8397 );
8398 }
8399}
8400
8401impl<'a> Vbcstnebf162psEmitter<Ymm, Mem> for Assembler<'a> {
8402 fn vbcstnebf162ps(&mut self, op0: Ymm, op1: Mem) {
8403 self.emit(
8404 VBCSTNEBF162PS256RM,
8405 op0.as_operand(),
8406 op1.as_operand(),
8407 &NOREG,
8408 &NOREG,
8409 );
8410 }
8411}
8412
8413pub trait Vbcstnesh2psEmitter<A, B> {
8426 fn vbcstnesh2ps(&mut self, op0: A, op1: B);
8427}
8428
8429impl<'a> Vbcstnesh2psEmitter<Xmm, Mem> for Assembler<'a> {
8430 fn vbcstnesh2ps(&mut self, op0: Xmm, op1: Mem) {
8431 self.emit(
8432 VBCSTNESH2PS128RM,
8433 op0.as_operand(),
8434 op1.as_operand(),
8435 &NOREG,
8436 &NOREG,
8437 );
8438 }
8439}
8440
8441impl<'a> Vbcstnesh2psEmitter<Ymm, Mem> for Assembler<'a> {
8442 fn vbcstnesh2ps(&mut self, op0: Ymm, op1: Mem) {
8443 self.emit(
8444 VBCSTNESH2PS256RM,
8445 op0.as_operand(),
8446 op1.as_operand(),
8447 &NOREG,
8448 &NOREG,
8449 );
8450 }
8451}
8452
8453pub trait VcmpphEmitter<A, B, C, D> {
8470 fn vcmpph(&mut self, op0: A, op1: B, op2: C, op3: D);
8471}
8472
8473impl<'a> VcmpphEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8474 fn vcmpph(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8475 self.emit(
8476 VCMPPH128KRRI,
8477 op0.as_operand(),
8478 op1.as_operand(),
8479 op2.as_operand(),
8480 op3.as_operand(),
8481 );
8482 }
8483}
8484
8485impl<'a> VcmpphEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8486 fn vcmpph(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8487 self.emit(
8488 VCMPPH128KRMI,
8489 op0.as_operand(),
8490 op1.as_operand(),
8491 op2.as_operand(),
8492 op3.as_operand(),
8493 );
8494 }
8495}
8496
8497impl<'a> VcmpphEmitter<KReg, Ymm, Ymm, Imm> for Assembler<'a> {
8498 fn vcmpph(&mut self, op0: KReg, op1: Ymm, op2: Ymm, op3: Imm) {
8499 self.emit(
8500 VCMPPH256KRRI,
8501 op0.as_operand(),
8502 op1.as_operand(),
8503 op2.as_operand(),
8504 op3.as_operand(),
8505 );
8506 }
8507}
8508
8509impl<'a> VcmpphEmitter<KReg, Ymm, Mem, Imm> for Assembler<'a> {
8510 fn vcmpph(&mut self, op0: KReg, op1: Ymm, op2: Mem, op3: Imm) {
8511 self.emit(
8512 VCMPPH256KRMI,
8513 op0.as_operand(),
8514 op1.as_operand(),
8515 op2.as_operand(),
8516 op3.as_operand(),
8517 );
8518 }
8519}
8520
8521impl<'a> VcmpphEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8522 fn vcmpph(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8523 self.emit(
8524 VCMPPH512KRRI,
8525 op0.as_operand(),
8526 op1.as_operand(),
8527 op2.as_operand(),
8528 op3.as_operand(),
8529 );
8530 }
8531}
8532
8533impl<'a> VcmpphEmitter<KReg, Zmm, Mem, Imm> for Assembler<'a> {
8534 fn vcmpph(&mut self, op0: KReg, op1: Zmm, op2: Mem, op3: Imm) {
8535 self.emit(
8536 VCMPPH512KRMI,
8537 op0.as_operand(),
8538 op1.as_operand(),
8539 op2.as_operand(),
8540 op3.as_operand(),
8541 );
8542 }
8543}
8544
8545pub trait VcmpphMaskEmitter<A, B, C, D> {
8562 fn vcmpph_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
8563}
8564
8565impl<'a> VcmpphMaskEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8566 fn vcmpph_mask(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8567 self.emit(
8568 VCMPPH128KRRI_MASK,
8569 op0.as_operand(),
8570 op1.as_operand(),
8571 op2.as_operand(),
8572 op3.as_operand(),
8573 );
8574 }
8575}
8576
8577impl<'a> VcmpphMaskEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8578 fn vcmpph_mask(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8579 self.emit(
8580 VCMPPH128KRMI_MASK,
8581 op0.as_operand(),
8582 op1.as_operand(),
8583 op2.as_operand(),
8584 op3.as_operand(),
8585 );
8586 }
8587}
8588
8589impl<'a> VcmpphMaskEmitter<KReg, Ymm, Ymm, Imm> for Assembler<'a> {
8590 fn vcmpph_mask(&mut self, op0: KReg, op1: Ymm, op2: Ymm, op3: Imm) {
8591 self.emit(
8592 VCMPPH256KRRI_MASK,
8593 op0.as_operand(),
8594 op1.as_operand(),
8595 op2.as_operand(),
8596 op3.as_operand(),
8597 );
8598 }
8599}
8600
8601impl<'a> VcmpphMaskEmitter<KReg, Ymm, Mem, Imm> for Assembler<'a> {
8602 fn vcmpph_mask(&mut self, op0: KReg, op1: Ymm, op2: Mem, op3: Imm) {
8603 self.emit(
8604 VCMPPH256KRMI_MASK,
8605 op0.as_operand(),
8606 op1.as_operand(),
8607 op2.as_operand(),
8608 op3.as_operand(),
8609 );
8610 }
8611}
8612
8613impl<'a> VcmpphMaskEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8614 fn vcmpph_mask(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8615 self.emit(
8616 VCMPPH512KRRI_MASK,
8617 op0.as_operand(),
8618 op1.as_operand(),
8619 op2.as_operand(),
8620 op3.as_operand(),
8621 );
8622 }
8623}
8624
8625impl<'a> VcmpphMaskEmitter<KReg, Zmm, Mem, Imm> for Assembler<'a> {
8626 fn vcmpph_mask(&mut self, op0: KReg, op1: Zmm, op2: Mem, op3: Imm) {
8627 self.emit(
8628 VCMPPH512KRMI_MASK,
8629 op0.as_operand(),
8630 op1.as_operand(),
8631 op2.as_operand(),
8632 op3.as_operand(),
8633 );
8634 }
8635}
8636
8637pub trait VcmpphMaskSaeEmitter<A, B, C, D> {
8649 fn vcmpph_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8650}
8651
8652impl<'a> VcmpphMaskSaeEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8653 fn vcmpph_mask_sae(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8654 self.emit(
8655 VCMPPH512KRRI_MASK_SAE,
8656 op0.as_operand(),
8657 op1.as_operand(),
8658 op2.as_operand(),
8659 op3.as_operand(),
8660 );
8661 }
8662}
8663
8664pub trait VcmpphSaeEmitter<A, B, C, D> {
8676 fn vcmpph_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8677}
8678
8679impl<'a> VcmpphSaeEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8680 fn vcmpph_sae(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8681 self.emit(
8682 VCMPPH512KRRI_SAE,
8683 op0.as_operand(),
8684 op1.as_operand(),
8685 op2.as_operand(),
8686 op3.as_operand(),
8687 );
8688 }
8689}
8690
8691pub trait VcmpshEmitter<A, B, C, D> {
8704 fn vcmpsh(&mut self, op0: A, op1: B, op2: C, op3: D);
8705}
8706
8707impl<'a> VcmpshEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8708 fn vcmpsh(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8709 self.emit(
8710 VCMPSHKRRI,
8711 op0.as_operand(),
8712 op1.as_operand(),
8713 op2.as_operand(),
8714 op3.as_operand(),
8715 );
8716 }
8717}
8718
8719impl<'a> VcmpshEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8720 fn vcmpsh(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8721 self.emit(
8722 VCMPSHKRMI,
8723 op0.as_operand(),
8724 op1.as_operand(),
8725 op2.as_operand(),
8726 op3.as_operand(),
8727 );
8728 }
8729}
8730
8731pub trait VcmpshMaskEmitter<A, B, C, D> {
8744 fn vcmpsh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
8745}
8746
8747impl<'a> VcmpshMaskEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8748 fn vcmpsh_mask(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8749 self.emit(
8750 VCMPSHKRRI_MASK,
8751 op0.as_operand(),
8752 op1.as_operand(),
8753 op2.as_operand(),
8754 op3.as_operand(),
8755 );
8756 }
8757}
8758
8759impl<'a> VcmpshMaskEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8760 fn vcmpsh_mask(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8761 self.emit(
8762 VCMPSHKRMI_MASK,
8763 op0.as_operand(),
8764 op1.as_operand(),
8765 op2.as_operand(),
8766 op3.as_operand(),
8767 );
8768 }
8769}
8770
8771pub trait VcmpshMaskSaeEmitter<A, B, C, D> {
8783 fn vcmpsh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8784}
8785
8786impl<'a> VcmpshMaskSaeEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8787 fn vcmpsh_mask_sae(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8788 self.emit(
8789 VCMPSHKRRI_MASK_SAE,
8790 op0.as_operand(),
8791 op1.as_operand(),
8792 op2.as_operand(),
8793 op3.as_operand(),
8794 );
8795 }
8796}
8797
8798pub trait VcmpshSaeEmitter<A, B, C, D> {
8810 fn vcmpsh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8811}
8812
8813impl<'a> VcmpshSaeEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8814 fn vcmpsh_sae(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8815 self.emit(
8816 VCMPSHKRRI_SAE,
8817 op0.as_operand(),
8818 op1.as_operand(),
8819 op2.as_operand(),
8820 op3.as_operand(),
8821 );
8822 }
8823}
8824
8825pub trait VcomishEmitter<A, B> {
8838 fn vcomish(&mut self, op0: A, op1: B);
8839}
8840
8841impl<'a> VcomishEmitter<Xmm, Xmm> for Assembler<'a> {
8842 fn vcomish(&mut self, op0: Xmm, op1: Xmm) {
8843 self.emit(
8844 VCOMISHRR,
8845 op0.as_operand(),
8846 op1.as_operand(),
8847 &NOREG,
8848 &NOREG,
8849 );
8850 }
8851}
8852
8853impl<'a> VcomishEmitter<Xmm, Mem> for Assembler<'a> {
8854 fn vcomish(&mut self, op0: Xmm, op1: Mem) {
8855 self.emit(
8856 VCOMISHRM,
8857 op0.as_operand(),
8858 op1.as_operand(),
8859 &NOREG,
8860 &NOREG,
8861 );
8862 }
8863}
8864
8865pub trait VcomishSaeEmitter<A, B> {
8877 fn vcomish_sae(&mut self, op0: A, op1: B);
8878}
8879
8880impl<'a> VcomishSaeEmitter<Xmm, Xmm> for Assembler<'a> {
8881 fn vcomish_sae(&mut self, op0: Xmm, op1: Xmm) {
8882 self.emit(
8883 VCOMISHRR_SAE,
8884 op0.as_operand(),
8885 op1.as_operand(),
8886 &NOREG,
8887 &NOREG,
8888 );
8889 }
8890}
8891
8892pub trait Vcvtdq2phEmitter<A, B> {
8908 fn vcvtdq2ph(&mut self, op0: A, op1: B);
8909}
8910
8911impl<'a> Vcvtdq2phEmitter<Xmm, Xmm> for Assembler<'a> {
8912 fn vcvtdq2ph(&mut self, op0: Xmm, op1: Xmm) {
8913 self.emit(
8914 VCVTDQ2PH128RR,
8915 op0.as_operand(),
8916 op1.as_operand(),
8917 &NOREG,
8918 &NOREG,
8919 );
8920 }
8921}
8922
8923impl<'a> Vcvtdq2phEmitter<Xmm, Mem> for Assembler<'a> {
8924 fn vcvtdq2ph(&mut self, op0: Xmm, op1: Mem) {
8925 self.emit(
8926 VCVTDQ2PH128RM,
8927 op0.as_operand(),
8928 op1.as_operand(),
8929 &NOREG,
8930 &NOREG,
8931 );
8932 }
8933}
8934
8935impl<'a> Vcvtdq2phEmitter<Xmm, Ymm> for Assembler<'a> {
8936 fn vcvtdq2ph(&mut self, op0: Xmm, op1: Ymm) {
8937 self.emit(
8938 VCVTDQ2PH256RR,
8939 op0.as_operand(),
8940 op1.as_operand(),
8941 &NOREG,
8942 &NOREG,
8943 );
8944 }
8945}
8946
8947impl<'a> Vcvtdq2phEmitter<Ymm, Zmm> for Assembler<'a> {
8948 fn vcvtdq2ph(&mut self, op0: Ymm, op1: Zmm) {
8949 self.emit(
8950 VCVTDQ2PH512RR,
8951 op0.as_operand(),
8952 op1.as_operand(),
8953 &NOREG,
8954 &NOREG,
8955 );
8956 }
8957}
8958
8959impl<'a> Vcvtdq2phEmitter<Ymm, Mem> for Assembler<'a> {
8960 fn vcvtdq2ph(&mut self, op0: Ymm, op1: Mem) {
8961 self.emit(
8962 VCVTDQ2PH512RM,
8963 op0.as_operand(),
8964 op1.as_operand(),
8965 &NOREG,
8966 &NOREG,
8967 );
8968 }
8969}
8970
8971pub trait Vcvtdq2phErEmitter<A, B> {
8983 fn vcvtdq2ph_er(&mut self, op0: A, op1: B);
8984}
8985
8986impl<'a> Vcvtdq2phErEmitter<Ymm, Zmm> for Assembler<'a> {
8987 fn vcvtdq2ph_er(&mut self, op0: Ymm, op1: Zmm) {
8988 self.emit(
8989 VCVTDQ2PH512RR_ER,
8990 op0.as_operand(),
8991 op1.as_operand(),
8992 &NOREG,
8993 &NOREG,
8994 );
8995 }
8996}
8997
8998pub trait Vcvtdq2phMaskEmitter<A, B> {
9014 fn vcvtdq2ph_mask(&mut self, op0: A, op1: B);
9015}
9016
9017impl<'a> Vcvtdq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9018 fn vcvtdq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
9019 self.emit(
9020 VCVTDQ2PH128RR_MASK,
9021 op0.as_operand(),
9022 op1.as_operand(),
9023 &NOREG,
9024 &NOREG,
9025 );
9026 }
9027}
9028
9029impl<'a> Vcvtdq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
9030 fn vcvtdq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
9031 self.emit(
9032 VCVTDQ2PH128RM_MASK,
9033 op0.as_operand(),
9034 op1.as_operand(),
9035 &NOREG,
9036 &NOREG,
9037 );
9038 }
9039}
9040
9041impl<'a> Vcvtdq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
9042 fn vcvtdq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
9043 self.emit(
9044 VCVTDQ2PH256RR_MASK,
9045 op0.as_operand(),
9046 op1.as_operand(),
9047 &NOREG,
9048 &NOREG,
9049 );
9050 }
9051}
9052
9053impl<'a> Vcvtdq2phMaskEmitter<Ymm, Zmm> for Assembler<'a> {
9054 fn vcvtdq2ph_mask(&mut self, op0: Ymm, op1: Zmm) {
9055 self.emit(
9056 VCVTDQ2PH512RR_MASK,
9057 op0.as_operand(),
9058 op1.as_operand(),
9059 &NOREG,
9060 &NOREG,
9061 );
9062 }
9063}
9064
9065impl<'a> Vcvtdq2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
9066 fn vcvtdq2ph_mask(&mut self, op0: Ymm, op1: Mem) {
9067 self.emit(
9068 VCVTDQ2PH512RM_MASK,
9069 op0.as_operand(),
9070 op1.as_operand(),
9071 &NOREG,
9072 &NOREG,
9073 );
9074 }
9075}
9076
9077pub trait Vcvtdq2phMaskErEmitter<A, B> {
9089 fn vcvtdq2ph_mask_er(&mut self, op0: A, op1: B);
9090}
9091
9092impl<'a> Vcvtdq2phMaskErEmitter<Ymm, Zmm> for Assembler<'a> {
9093 fn vcvtdq2ph_mask_er(&mut self, op0: Ymm, op1: Zmm) {
9094 self.emit(
9095 VCVTDQ2PH512RR_MASK_ER,
9096 op0.as_operand(),
9097 op1.as_operand(),
9098 &NOREG,
9099 &NOREG,
9100 );
9101 }
9102}
9103
9104pub trait Vcvtdq2phMaskzEmitter<A, B> {
9120 fn vcvtdq2ph_maskz(&mut self, op0: A, op1: B);
9121}
9122
9123impl<'a> Vcvtdq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9124 fn vcvtdq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
9125 self.emit(
9126 VCVTDQ2PH128RR_MASKZ,
9127 op0.as_operand(),
9128 op1.as_operand(),
9129 &NOREG,
9130 &NOREG,
9131 );
9132 }
9133}
9134
9135impl<'a> Vcvtdq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9136 fn vcvtdq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
9137 self.emit(
9138 VCVTDQ2PH128RM_MASKZ,
9139 op0.as_operand(),
9140 op1.as_operand(),
9141 &NOREG,
9142 &NOREG,
9143 );
9144 }
9145}
9146
9147impl<'a> Vcvtdq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
9148 fn vcvtdq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
9149 self.emit(
9150 VCVTDQ2PH256RR_MASKZ,
9151 op0.as_operand(),
9152 op1.as_operand(),
9153 &NOREG,
9154 &NOREG,
9155 );
9156 }
9157}
9158
9159impl<'a> Vcvtdq2phMaskzEmitter<Ymm, Zmm> for Assembler<'a> {
9160 fn vcvtdq2ph_maskz(&mut self, op0: Ymm, op1: Zmm) {
9161 self.emit(
9162 VCVTDQ2PH512RR_MASKZ,
9163 op0.as_operand(),
9164 op1.as_operand(),
9165 &NOREG,
9166 &NOREG,
9167 );
9168 }
9169}
9170
9171impl<'a> Vcvtdq2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
9172 fn vcvtdq2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
9173 self.emit(
9174 VCVTDQ2PH512RM_MASKZ,
9175 op0.as_operand(),
9176 op1.as_operand(),
9177 &NOREG,
9178 &NOREG,
9179 );
9180 }
9181}
9182
9183pub trait Vcvtdq2phMaskzErEmitter<A, B> {
9195 fn vcvtdq2ph_maskz_er(&mut self, op0: A, op1: B);
9196}
9197
9198impl<'a> Vcvtdq2phMaskzErEmitter<Ymm, Zmm> for Assembler<'a> {
9199 fn vcvtdq2ph_maskz_er(&mut self, op0: Ymm, op1: Zmm) {
9200 self.emit(
9201 VCVTDQ2PH512RR_MASKZ_ER,
9202 op0.as_operand(),
9203 op1.as_operand(),
9204 &NOREG,
9205 &NOREG,
9206 );
9207 }
9208}
9209
9210pub trait Vcvtneebf162psEmitter<A, B> {
9223 fn vcvtneebf162ps(&mut self, op0: A, op1: B);
9224}
9225
9226impl<'a> Vcvtneebf162psEmitter<Xmm, Mem> for Assembler<'a> {
9227 fn vcvtneebf162ps(&mut self, op0: Xmm, op1: Mem) {
9228 self.emit(
9229 VCVTNEEBF162PS128RM,
9230 op0.as_operand(),
9231 op1.as_operand(),
9232 &NOREG,
9233 &NOREG,
9234 );
9235 }
9236}
9237
9238impl<'a> Vcvtneebf162psEmitter<Ymm, Mem> for Assembler<'a> {
9239 fn vcvtneebf162ps(&mut self, op0: Ymm, op1: Mem) {
9240 self.emit(
9241 VCVTNEEBF162PS256RM,
9242 op0.as_operand(),
9243 op1.as_operand(),
9244 &NOREG,
9245 &NOREG,
9246 );
9247 }
9248}
9249
9250pub trait Vcvtneeph2psEmitter<A, B> {
9263 fn vcvtneeph2ps(&mut self, op0: A, op1: B);
9264}
9265
9266impl<'a> Vcvtneeph2psEmitter<Xmm, Mem> for Assembler<'a> {
9267 fn vcvtneeph2ps(&mut self, op0: Xmm, op1: Mem) {
9268 self.emit(
9269 VCVTNEEPH2PS128RM,
9270 op0.as_operand(),
9271 op1.as_operand(),
9272 &NOREG,
9273 &NOREG,
9274 );
9275 }
9276}
9277
9278impl<'a> Vcvtneeph2psEmitter<Ymm, Mem> for Assembler<'a> {
9279 fn vcvtneeph2ps(&mut self, op0: Ymm, op1: Mem) {
9280 self.emit(
9281 VCVTNEEPH2PS256RM,
9282 op0.as_operand(),
9283 op1.as_operand(),
9284 &NOREG,
9285 &NOREG,
9286 );
9287 }
9288}
9289
9290pub trait Vcvtneobf162psEmitter<A, B> {
9303 fn vcvtneobf162ps(&mut self, op0: A, op1: B);
9304}
9305
9306impl<'a> Vcvtneobf162psEmitter<Xmm, Mem> for Assembler<'a> {
9307 fn vcvtneobf162ps(&mut self, op0: Xmm, op1: Mem) {
9308 self.emit(
9309 VCVTNEOBF162PS128RM,
9310 op0.as_operand(),
9311 op1.as_operand(),
9312 &NOREG,
9313 &NOREG,
9314 );
9315 }
9316}
9317
9318impl<'a> Vcvtneobf162psEmitter<Ymm, Mem> for Assembler<'a> {
9319 fn vcvtneobf162ps(&mut self, op0: Ymm, op1: Mem) {
9320 self.emit(
9321 VCVTNEOBF162PS256RM,
9322 op0.as_operand(),
9323 op1.as_operand(),
9324 &NOREG,
9325 &NOREG,
9326 );
9327 }
9328}
9329
9330pub trait Vcvtneoph2psEmitter<A, B> {
9343 fn vcvtneoph2ps(&mut self, op0: A, op1: B);
9344}
9345
9346impl<'a> Vcvtneoph2psEmitter<Xmm, Mem> for Assembler<'a> {
9347 fn vcvtneoph2ps(&mut self, op0: Xmm, op1: Mem) {
9348 self.emit(
9349 VCVTNEOPH2PS128RM,
9350 op0.as_operand(),
9351 op1.as_operand(),
9352 &NOREG,
9353 &NOREG,
9354 );
9355 }
9356}
9357
9358impl<'a> Vcvtneoph2psEmitter<Ymm, Mem> for Assembler<'a> {
9359 fn vcvtneoph2ps(&mut self, op0: Ymm, op1: Mem) {
9360 self.emit(
9361 VCVTNEOPH2PS256RM,
9362 op0.as_operand(),
9363 op1.as_operand(),
9364 &NOREG,
9365 &NOREG,
9366 );
9367 }
9368}
9369
9370pub trait Vcvtpd2phEmitter<A, B> {
9385 fn vcvtpd2ph(&mut self, op0: A, op1: B);
9386}
9387
9388impl<'a> Vcvtpd2phEmitter<Xmm, Xmm> for Assembler<'a> {
9389 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Xmm) {
9390 self.emit(
9391 VCVTPD2PH128RR,
9392 op0.as_operand(),
9393 op1.as_operand(),
9394 &NOREG,
9395 &NOREG,
9396 );
9397 }
9398}
9399
9400impl<'a> Vcvtpd2phEmitter<Xmm, Mem> for Assembler<'a> {
9401 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Mem) {
9402 self.emit(
9403 VCVTPD2PH128RM,
9404 op0.as_operand(),
9405 op1.as_operand(),
9406 &NOREG,
9407 &NOREG,
9408 );
9409 }
9410}
9411
9412impl<'a> Vcvtpd2phEmitter<Xmm, Ymm> for Assembler<'a> {
9413 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Ymm) {
9414 self.emit(
9415 VCVTPD2PH256RR,
9416 op0.as_operand(),
9417 op1.as_operand(),
9418 &NOREG,
9419 &NOREG,
9420 );
9421 }
9422}
9423
9424impl<'a> Vcvtpd2phEmitter<Xmm, Zmm> for Assembler<'a> {
9425 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Zmm) {
9426 self.emit(
9427 VCVTPD2PH512RR,
9428 op0.as_operand(),
9429 op1.as_operand(),
9430 &NOREG,
9431 &NOREG,
9432 );
9433 }
9434}
9435
9436pub trait Vcvtpd2phErEmitter<A, B> {
9448 fn vcvtpd2ph_er(&mut self, op0: A, op1: B);
9449}
9450
9451impl<'a> Vcvtpd2phErEmitter<Xmm, Zmm> for Assembler<'a> {
9452 fn vcvtpd2ph_er(&mut self, op0: Xmm, op1: Zmm) {
9453 self.emit(
9454 VCVTPD2PH512RR_ER,
9455 op0.as_operand(),
9456 op1.as_operand(),
9457 &NOREG,
9458 &NOREG,
9459 );
9460 }
9461}
9462
9463pub trait Vcvtpd2phMaskEmitter<A, B> {
9478 fn vcvtpd2ph_mask(&mut self, op0: A, op1: B);
9479}
9480
9481impl<'a> Vcvtpd2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9482 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
9483 self.emit(
9484 VCVTPD2PH128RR_MASK,
9485 op0.as_operand(),
9486 op1.as_operand(),
9487 &NOREG,
9488 &NOREG,
9489 );
9490 }
9491}
9492
9493impl<'a> Vcvtpd2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
9494 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Mem) {
9495 self.emit(
9496 VCVTPD2PH128RM_MASK,
9497 op0.as_operand(),
9498 op1.as_operand(),
9499 &NOREG,
9500 &NOREG,
9501 );
9502 }
9503}
9504
9505impl<'a> Vcvtpd2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
9506 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
9507 self.emit(
9508 VCVTPD2PH256RR_MASK,
9509 op0.as_operand(),
9510 op1.as_operand(),
9511 &NOREG,
9512 &NOREG,
9513 );
9514 }
9515}
9516
9517impl<'a> Vcvtpd2phMaskEmitter<Xmm, Zmm> for Assembler<'a> {
9518 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Zmm) {
9519 self.emit(
9520 VCVTPD2PH512RR_MASK,
9521 op0.as_operand(),
9522 op1.as_operand(),
9523 &NOREG,
9524 &NOREG,
9525 );
9526 }
9527}
9528
9529pub trait Vcvtpd2phMaskErEmitter<A, B> {
9541 fn vcvtpd2ph_mask_er(&mut self, op0: A, op1: B);
9542}
9543
9544impl<'a> Vcvtpd2phMaskErEmitter<Xmm, Zmm> for Assembler<'a> {
9545 fn vcvtpd2ph_mask_er(&mut self, op0: Xmm, op1: Zmm) {
9546 self.emit(
9547 VCVTPD2PH512RR_MASK_ER,
9548 op0.as_operand(),
9549 op1.as_operand(),
9550 &NOREG,
9551 &NOREG,
9552 );
9553 }
9554}
9555
9556pub trait Vcvtpd2phMaskzEmitter<A, B> {
9571 fn vcvtpd2ph_maskz(&mut self, op0: A, op1: B);
9572}
9573
9574impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9575 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
9576 self.emit(
9577 VCVTPD2PH128RR_MASKZ,
9578 op0.as_operand(),
9579 op1.as_operand(),
9580 &NOREG,
9581 &NOREG,
9582 );
9583 }
9584}
9585
9586impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9587 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
9588 self.emit(
9589 VCVTPD2PH128RM_MASKZ,
9590 op0.as_operand(),
9591 op1.as_operand(),
9592 &NOREG,
9593 &NOREG,
9594 );
9595 }
9596}
9597
9598impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
9599 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
9600 self.emit(
9601 VCVTPD2PH256RR_MASKZ,
9602 op0.as_operand(),
9603 op1.as_operand(),
9604 &NOREG,
9605 &NOREG,
9606 );
9607 }
9608}
9609
9610impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Zmm> for Assembler<'a> {
9611 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Zmm) {
9612 self.emit(
9613 VCVTPD2PH512RR_MASKZ,
9614 op0.as_operand(),
9615 op1.as_operand(),
9616 &NOREG,
9617 &NOREG,
9618 );
9619 }
9620}
9621
9622pub trait Vcvtpd2phMaskzErEmitter<A, B> {
9634 fn vcvtpd2ph_maskz_er(&mut self, op0: A, op1: B);
9635}
9636
9637impl<'a> Vcvtpd2phMaskzErEmitter<Xmm, Zmm> for Assembler<'a> {
9638 fn vcvtpd2ph_maskz_er(&mut self, op0: Xmm, op1: Zmm) {
9639 self.emit(
9640 VCVTPD2PH512RR_MASKZ_ER,
9641 op0.as_operand(),
9642 op1.as_operand(),
9643 &NOREG,
9644 &NOREG,
9645 );
9646 }
9647}
9648
9649pub trait Vcvtph2dqEmitter<A, B> {
9666 fn vcvtph2dq(&mut self, op0: A, op1: B);
9667}
9668
9669impl<'a> Vcvtph2dqEmitter<Xmm, Xmm> for Assembler<'a> {
9670 fn vcvtph2dq(&mut self, op0: Xmm, op1: Xmm) {
9671 self.emit(
9672 VCVTPH2DQ128RR,
9673 op0.as_operand(),
9674 op1.as_operand(),
9675 &NOREG,
9676 &NOREG,
9677 );
9678 }
9679}
9680
9681impl<'a> Vcvtph2dqEmitter<Xmm, Mem> for Assembler<'a> {
9682 fn vcvtph2dq(&mut self, op0: Xmm, op1: Mem) {
9683 self.emit(
9684 VCVTPH2DQ128RM,
9685 op0.as_operand(),
9686 op1.as_operand(),
9687 &NOREG,
9688 &NOREG,
9689 );
9690 }
9691}
9692
9693impl<'a> Vcvtph2dqEmitter<Ymm, Xmm> for Assembler<'a> {
9694 fn vcvtph2dq(&mut self, op0: Ymm, op1: Xmm) {
9695 self.emit(
9696 VCVTPH2DQ256RR,
9697 op0.as_operand(),
9698 op1.as_operand(),
9699 &NOREG,
9700 &NOREG,
9701 );
9702 }
9703}
9704
9705impl<'a> Vcvtph2dqEmitter<Ymm, Mem> for Assembler<'a> {
9706 fn vcvtph2dq(&mut self, op0: Ymm, op1: Mem) {
9707 self.emit(
9708 VCVTPH2DQ256RM,
9709 op0.as_operand(),
9710 op1.as_operand(),
9711 &NOREG,
9712 &NOREG,
9713 );
9714 }
9715}
9716
9717impl<'a> Vcvtph2dqEmitter<Zmm, Ymm> for Assembler<'a> {
9718 fn vcvtph2dq(&mut self, op0: Zmm, op1: Ymm) {
9719 self.emit(
9720 VCVTPH2DQ512RR,
9721 op0.as_operand(),
9722 op1.as_operand(),
9723 &NOREG,
9724 &NOREG,
9725 );
9726 }
9727}
9728
9729impl<'a> Vcvtph2dqEmitter<Zmm, Mem> for Assembler<'a> {
9730 fn vcvtph2dq(&mut self, op0: Zmm, op1: Mem) {
9731 self.emit(
9732 VCVTPH2DQ512RM,
9733 op0.as_operand(),
9734 op1.as_operand(),
9735 &NOREG,
9736 &NOREG,
9737 );
9738 }
9739}
9740
9741pub trait Vcvtph2dqErEmitter<A, B> {
9753 fn vcvtph2dq_er(&mut self, op0: A, op1: B);
9754}
9755
9756impl<'a> Vcvtph2dqErEmitter<Zmm, Ymm> for Assembler<'a> {
9757 fn vcvtph2dq_er(&mut self, op0: Zmm, op1: Ymm) {
9758 self.emit(
9759 VCVTPH2DQ512RR_ER,
9760 op0.as_operand(),
9761 op1.as_operand(),
9762 &NOREG,
9763 &NOREG,
9764 );
9765 }
9766}
9767
9768pub trait Vcvtph2dqMaskEmitter<A, B> {
9785 fn vcvtph2dq_mask(&mut self, op0: A, op1: B);
9786}
9787
9788impl<'a> Vcvtph2dqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9789 fn vcvtph2dq_mask(&mut self, op0: Xmm, op1: Xmm) {
9790 self.emit(
9791 VCVTPH2DQ128RR_MASK,
9792 op0.as_operand(),
9793 op1.as_operand(),
9794 &NOREG,
9795 &NOREG,
9796 );
9797 }
9798}
9799
9800impl<'a> Vcvtph2dqMaskEmitter<Xmm, Mem> for Assembler<'a> {
9801 fn vcvtph2dq_mask(&mut self, op0: Xmm, op1: Mem) {
9802 self.emit(
9803 VCVTPH2DQ128RM_MASK,
9804 op0.as_operand(),
9805 op1.as_operand(),
9806 &NOREG,
9807 &NOREG,
9808 );
9809 }
9810}
9811
9812impl<'a> Vcvtph2dqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
9813 fn vcvtph2dq_mask(&mut self, op0: Ymm, op1: Xmm) {
9814 self.emit(
9815 VCVTPH2DQ256RR_MASK,
9816 op0.as_operand(),
9817 op1.as_operand(),
9818 &NOREG,
9819 &NOREG,
9820 );
9821 }
9822}
9823
9824impl<'a> Vcvtph2dqMaskEmitter<Ymm, Mem> for Assembler<'a> {
9825 fn vcvtph2dq_mask(&mut self, op0: Ymm, op1: Mem) {
9826 self.emit(
9827 VCVTPH2DQ256RM_MASK,
9828 op0.as_operand(),
9829 op1.as_operand(),
9830 &NOREG,
9831 &NOREG,
9832 );
9833 }
9834}
9835
9836impl<'a> Vcvtph2dqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
9837 fn vcvtph2dq_mask(&mut self, op0: Zmm, op1: Ymm) {
9838 self.emit(
9839 VCVTPH2DQ512RR_MASK,
9840 op0.as_operand(),
9841 op1.as_operand(),
9842 &NOREG,
9843 &NOREG,
9844 );
9845 }
9846}
9847
9848impl<'a> Vcvtph2dqMaskEmitter<Zmm, Mem> for Assembler<'a> {
9849 fn vcvtph2dq_mask(&mut self, op0: Zmm, op1: Mem) {
9850 self.emit(
9851 VCVTPH2DQ512RM_MASK,
9852 op0.as_operand(),
9853 op1.as_operand(),
9854 &NOREG,
9855 &NOREG,
9856 );
9857 }
9858}
9859
9860pub trait Vcvtph2dqMaskErEmitter<A, B> {
9872 fn vcvtph2dq_mask_er(&mut self, op0: A, op1: B);
9873}
9874
9875impl<'a> Vcvtph2dqMaskErEmitter<Zmm, Ymm> for Assembler<'a> {
9876 fn vcvtph2dq_mask_er(&mut self, op0: Zmm, op1: Ymm) {
9877 self.emit(
9878 VCVTPH2DQ512RR_MASK_ER,
9879 op0.as_operand(),
9880 op1.as_operand(),
9881 &NOREG,
9882 &NOREG,
9883 );
9884 }
9885}
9886
9887pub trait Vcvtph2dqMaskzEmitter<A, B> {
9904 fn vcvtph2dq_maskz(&mut self, op0: A, op1: B);
9905}
9906
9907impl<'a> Vcvtph2dqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9908 fn vcvtph2dq_maskz(&mut self, op0: Xmm, op1: Xmm) {
9909 self.emit(
9910 VCVTPH2DQ128RR_MASKZ,
9911 op0.as_operand(),
9912 op1.as_operand(),
9913 &NOREG,
9914 &NOREG,
9915 );
9916 }
9917}
9918
9919impl<'a> Vcvtph2dqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9920 fn vcvtph2dq_maskz(&mut self, op0: Xmm, op1: Mem) {
9921 self.emit(
9922 VCVTPH2DQ128RM_MASKZ,
9923 op0.as_operand(),
9924 op1.as_operand(),
9925 &NOREG,
9926 &NOREG,
9927 );
9928 }
9929}
9930
9931impl<'a> Vcvtph2dqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
9932 fn vcvtph2dq_maskz(&mut self, op0: Ymm, op1: Xmm) {
9933 self.emit(
9934 VCVTPH2DQ256RR_MASKZ,
9935 op0.as_operand(),
9936 op1.as_operand(),
9937 &NOREG,
9938 &NOREG,
9939 );
9940 }
9941}
9942
9943impl<'a> Vcvtph2dqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
9944 fn vcvtph2dq_maskz(&mut self, op0: Ymm, op1: Mem) {
9945 self.emit(
9946 VCVTPH2DQ256RM_MASKZ,
9947 op0.as_operand(),
9948 op1.as_operand(),
9949 &NOREG,
9950 &NOREG,
9951 );
9952 }
9953}
9954
9955impl<'a> Vcvtph2dqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
9956 fn vcvtph2dq_maskz(&mut self, op0: Zmm, op1: Ymm) {
9957 self.emit(
9958 VCVTPH2DQ512RR_MASKZ,
9959 op0.as_operand(),
9960 op1.as_operand(),
9961 &NOREG,
9962 &NOREG,
9963 );
9964 }
9965}
9966
9967impl<'a> Vcvtph2dqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
9968 fn vcvtph2dq_maskz(&mut self, op0: Zmm, op1: Mem) {
9969 self.emit(
9970 VCVTPH2DQ512RM_MASKZ,
9971 op0.as_operand(),
9972 op1.as_operand(),
9973 &NOREG,
9974 &NOREG,
9975 );
9976 }
9977}
9978
9979pub trait Vcvtph2dqMaskzErEmitter<A, B> {
9991 fn vcvtph2dq_maskz_er(&mut self, op0: A, op1: B);
9992}
9993
9994impl<'a> Vcvtph2dqMaskzErEmitter<Zmm, Ymm> for Assembler<'a> {
9995 fn vcvtph2dq_maskz_er(&mut self, op0: Zmm, op1: Ymm) {
9996 self.emit(
9997 VCVTPH2DQ512RR_MASKZ_ER,
9998 op0.as_operand(),
9999 op1.as_operand(),
10000 &NOREG,
10001 &NOREG,
10002 );
10003 }
10004}
10005
10006pub trait Vcvtph2pdEmitter<A, B> {
10023 fn vcvtph2pd(&mut self, op0: A, op1: B);
10024}
10025
10026impl<'a> Vcvtph2pdEmitter<Xmm, Xmm> for Assembler<'a> {
10027 fn vcvtph2pd(&mut self, op0: Xmm, op1: Xmm) {
10028 self.emit(
10029 VCVTPH2PD128RR,
10030 op0.as_operand(),
10031 op1.as_operand(),
10032 &NOREG,
10033 &NOREG,
10034 );
10035 }
10036}
10037
10038impl<'a> Vcvtph2pdEmitter<Xmm, Mem> for Assembler<'a> {
10039 fn vcvtph2pd(&mut self, op0: Xmm, op1: Mem) {
10040 self.emit(
10041 VCVTPH2PD128RM,
10042 op0.as_operand(),
10043 op1.as_operand(),
10044 &NOREG,
10045 &NOREG,
10046 );
10047 }
10048}
10049
10050impl<'a> Vcvtph2pdEmitter<Ymm, Xmm> for Assembler<'a> {
10051 fn vcvtph2pd(&mut self, op0: Ymm, op1: Xmm) {
10052 self.emit(
10053 VCVTPH2PD256RR,
10054 op0.as_operand(),
10055 op1.as_operand(),
10056 &NOREG,
10057 &NOREG,
10058 );
10059 }
10060}
10061
10062impl<'a> Vcvtph2pdEmitter<Ymm, Mem> for Assembler<'a> {
10063 fn vcvtph2pd(&mut self, op0: Ymm, op1: Mem) {
10064 self.emit(
10065 VCVTPH2PD256RM,
10066 op0.as_operand(),
10067 op1.as_operand(),
10068 &NOREG,
10069 &NOREG,
10070 );
10071 }
10072}
10073
10074impl<'a> Vcvtph2pdEmitter<Zmm, Xmm> for Assembler<'a> {
10075 fn vcvtph2pd(&mut self, op0: Zmm, op1: Xmm) {
10076 self.emit(
10077 VCVTPH2PD512RR,
10078 op0.as_operand(),
10079 op1.as_operand(),
10080 &NOREG,
10081 &NOREG,
10082 );
10083 }
10084}
10085
10086impl<'a> Vcvtph2pdEmitter<Zmm, Mem> for Assembler<'a> {
10087 fn vcvtph2pd(&mut self, op0: Zmm, op1: Mem) {
10088 self.emit(
10089 VCVTPH2PD512RM,
10090 op0.as_operand(),
10091 op1.as_operand(),
10092 &NOREG,
10093 &NOREG,
10094 );
10095 }
10096}
10097
10098pub trait Vcvtph2pdMaskEmitter<A, B> {
10115 fn vcvtph2pd_mask(&mut self, op0: A, op1: B);
10116}
10117
10118impl<'a> Vcvtph2pdMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10119 fn vcvtph2pd_mask(&mut self, op0: Xmm, op1: Xmm) {
10120 self.emit(
10121 VCVTPH2PD128RR_MASK,
10122 op0.as_operand(),
10123 op1.as_operand(),
10124 &NOREG,
10125 &NOREG,
10126 );
10127 }
10128}
10129
10130impl<'a> Vcvtph2pdMaskEmitter<Xmm, Mem> for Assembler<'a> {
10131 fn vcvtph2pd_mask(&mut self, op0: Xmm, op1: Mem) {
10132 self.emit(
10133 VCVTPH2PD128RM_MASK,
10134 op0.as_operand(),
10135 op1.as_operand(),
10136 &NOREG,
10137 &NOREG,
10138 );
10139 }
10140}
10141
10142impl<'a> Vcvtph2pdMaskEmitter<Ymm, Xmm> for Assembler<'a> {
10143 fn vcvtph2pd_mask(&mut self, op0: Ymm, op1: Xmm) {
10144 self.emit(
10145 VCVTPH2PD256RR_MASK,
10146 op0.as_operand(),
10147 op1.as_operand(),
10148 &NOREG,
10149 &NOREG,
10150 );
10151 }
10152}
10153
10154impl<'a> Vcvtph2pdMaskEmitter<Ymm, Mem> for Assembler<'a> {
10155 fn vcvtph2pd_mask(&mut self, op0: Ymm, op1: Mem) {
10156 self.emit(
10157 VCVTPH2PD256RM_MASK,
10158 op0.as_operand(),
10159 op1.as_operand(),
10160 &NOREG,
10161 &NOREG,
10162 );
10163 }
10164}
10165
10166impl<'a> Vcvtph2pdMaskEmitter<Zmm, Xmm> for Assembler<'a> {
10167 fn vcvtph2pd_mask(&mut self, op0: Zmm, op1: Xmm) {
10168 self.emit(
10169 VCVTPH2PD512RR_MASK,
10170 op0.as_operand(),
10171 op1.as_operand(),
10172 &NOREG,
10173 &NOREG,
10174 );
10175 }
10176}
10177
10178impl<'a> Vcvtph2pdMaskEmitter<Zmm, Mem> for Assembler<'a> {
10179 fn vcvtph2pd_mask(&mut self, op0: Zmm, op1: Mem) {
10180 self.emit(
10181 VCVTPH2PD512RM_MASK,
10182 op0.as_operand(),
10183 op1.as_operand(),
10184 &NOREG,
10185 &NOREG,
10186 );
10187 }
10188}
10189
10190pub trait Vcvtph2pdMaskSaeEmitter<A, B> {
10202 fn vcvtph2pd_mask_sae(&mut self, op0: A, op1: B);
10203}
10204
10205impl<'a> Vcvtph2pdMaskSaeEmitter<Zmm, Xmm> for Assembler<'a> {
10206 fn vcvtph2pd_mask_sae(&mut self, op0: Zmm, op1: Xmm) {
10207 self.emit(
10208 VCVTPH2PD512RR_MASK_SAE,
10209 op0.as_operand(),
10210 op1.as_operand(),
10211 &NOREG,
10212 &NOREG,
10213 );
10214 }
10215}
10216
10217pub trait Vcvtph2pdMaskzEmitter<A, B> {
10234 fn vcvtph2pd_maskz(&mut self, op0: A, op1: B);
10235}
10236
10237impl<'a> Vcvtph2pdMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10238 fn vcvtph2pd_maskz(&mut self, op0: Xmm, op1: Xmm) {
10239 self.emit(
10240 VCVTPH2PD128RR_MASKZ,
10241 op0.as_operand(),
10242 op1.as_operand(),
10243 &NOREG,
10244 &NOREG,
10245 );
10246 }
10247}
10248
10249impl<'a> Vcvtph2pdMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10250 fn vcvtph2pd_maskz(&mut self, op0: Xmm, op1: Mem) {
10251 self.emit(
10252 VCVTPH2PD128RM_MASKZ,
10253 op0.as_operand(),
10254 op1.as_operand(),
10255 &NOREG,
10256 &NOREG,
10257 );
10258 }
10259}
10260
10261impl<'a> Vcvtph2pdMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
10262 fn vcvtph2pd_maskz(&mut self, op0: Ymm, op1: Xmm) {
10263 self.emit(
10264 VCVTPH2PD256RR_MASKZ,
10265 op0.as_operand(),
10266 op1.as_operand(),
10267 &NOREG,
10268 &NOREG,
10269 );
10270 }
10271}
10272
10273impl<'a> Vcvtph2pdMaskzEmitter<Ymm, Mem> for Assembler<'a> {
10274 fn vcvtph2pd_maskz(&mut self, op0: Ymm, op1: Mem) {
10275 self.emit(
10276 VCVTPH2PD256RM_MASKZ,
10277 op0.as_operand(),
10278 op1.as_operand(),
10279 &NOREG,
10280 &NOREG,
10281 );
10282 }
10283}
10284
10285impl<'a> Vcvtph2pdMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
10286 fn vcvtph2pd_maskz(&mut self, op0: Zmm, op1: Xmm) {
10287 self.emit(
10288 VCVTPH2PD512RR_MASKZ,
10289 op0.as_operand(),
10290 op1.as_operand(),
10291 &NOREG,
10292 &NOREG,
10293 );
10294 }
10295}
10296
10297impl<'a> Vcvtph2pdMaskzEmitter<Zmm, Mem> for Assembler<'a> {
10298 fn vcvtph2pd_maskz(&mut self, op0: Zmm, op1: Mem) {
10299 self.emit(
10300 VCVTPH2PD512RM_MASKZ,
10301 op0.as_operand(),
10302 op1.as_operand(),
10303 &NOREG,
10304 &NOREG,
10305 );
10306 }
10307}
10308
10309pub trait Vcvtph2pdMaskzSaeEmitter<A, B> {
10321 fn vcvtph2pd_maskz_sae(&mut self, op0: A, op1: B);
10322}
10323
10324impl<'a> Vcvtph2pdMaskzSaeEmitter<Zmm, Xmm> for Assembler<'a> {
10325 fn vcvtph2pd_maskz_sae(&mut self, op0: Zmm, op1: Xmm) {
10326 self.emit(
10327 VCVTPH2PD512RR_MASKZ_SAE,
10328 op0.as_operand(),
10329 op1.as_operand(),
10330 &NOREG,
10331 &NOREG,
10332 );
10333 }
10334}
10335
10336pub trait Vcvtph2pdSaeEmitter<A, B> {
10348 fn vcvtph2pd_sae(&mut self, op0: A, op1: B);
10349}
10350
10351impl<'a> Vcvtph2pdSaeEmitter<Zmm, Xmm> for Assembler<'a> {
10352 fn vcvtph2pd_sae(&mut self, op0: Zmm, op1: Xmm) {
10353 self.emit(
10354 VCVTPH2PD512RR_SAE,
10355 op0.as_operand(),
10356 op1.as_operand(),
10357 &NOREG,
10358 &NOREG,
10359 );
10360 }
10361}
10362
10363pub trait Vcvtph2psxEmitter<A, B> {
10380 fn vcvtph2psx(&mut self, op0: A, op1: B);
10381}
10382
10383impl<'a> Vcvtph2psxEmitter<Xmm, Xmm> for Assembler<'a> {
10384 fn vcvtph2psx(&mut self, op0: Xmm, op1: Xmm) {
10385 self.emit(
10386 VCVTPH2PSX128RR,
10387 op0.as_operand(),
10388 op1.as_operand(),
10389 &NOREG,
10390 &NOREG,
10391 );
10392 }
10393}
10394
10395impl<'a> Vcvtph2psxEmitter<Xmm, Mem> for Assembler<'a> {
10396 fn vcvtph2psx(&mut self, op0: Xmm, op1: Mem) {
10397 self.emit(
10398 VCVTPH2PSX128RM,
10399 op0.as_operand(),
10400 op1.as_operand(),
10401 &NOREG,
10402 &NOREG,
10403 );
10404 }
10405}
10406
10407impl<'a> Vcvtph2psxEmitter<Ymm, Xmm> for Assembler<'a> {
10408 fn vcvtph2psx(&mut self, op0: Ymm, op1: Xmm) {
10409 self.emit(
10410 VCVTPH2PSX256RR,
10411 op0.as_operand(),
10412 op1.as_operand(),
10413 &NOREG,
10414 &NOREG,
10415 );
10416 }
10417}
10418
10419impl<'a> Vcvtph2psxEmitter<Ymm, Mem> for Assembler<'a> {
10420 fn vcvtph2psx(&mut self, op0: Ymm, op1: Mem) {
10421 self.emit(
10422 VCVTPH2PSX256RM,
10423 op0.as_operand(),
10424 op1.as_operand(),
10425 &NOREG,
10426 &NOREG,
10427 );
10428 }
10429}
10430
10431impl<'a> Vcvtph2psxEmitter<Zmm, Ymm> for Assembler<'a> {
10432 fn vcvtph2psx(&mut self, op0: Zmm, op1: Ymm) {
10433 self.emit(
10434 VCVTPH2PSX512RR,
10435 op0.as_operand(),
10436 op1.as_operand(),
10437 &NOREG,
10438 &NOREG,
10439 );
10440 }
10441}
10442
10443impl<'a> Vcvtph2psxEmitter<Zmm, Mem> for Assembler<'a> {
10444 fn vcvtph2psx(&mut self, op0: Zmm, op1: Mem) {
10445 self.emit(
10446 VCVTPH2PSX512RM,
10447 op0.as_operand(),
10448 op1.as_operand(),
10449 &NOREG,
10450 &NOREG,
10451 );
10452 }
10453}
10454
10455pub trait Vcvtph2psxMaskEmitter<A, B> {
10472 fn vcvtph2psx_mask(&mut self, op0: A, op1: B);
10473}
10474
10475impl<'a> Vcvtph2psxMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10476 fn vcvtph2psx_mask(&mut self, op0: Xmm, op1: Xmm) {
10477 self.emit(
10478 VCVTPH2PSX128RR_MASK,
10479 op0.as_operand(),
10480 op1.as_operand(),
10481 &NOREG,
10482 &NOREG,
10483 );
10484 }
10485}
10486
10487impl<'a> Vcvtph2psxMaskEmitter<Xmm, Mem> for Assembler<'a> {
10488 fn vcvtph2psx_mask(&mut self, op0: Xmm, op1: Mem) {
10489 self.emit(
10490 VCVTPH2PSX128RM_MASK,
10491 op0.as_operand(),
10492 op1.as_operand(),
10493 &NOREG,
10494 &NOREG,
10495 );
10496 }
10497}
10498
10499impl<'a> Vcvtph2psxMaskEmitter<Ymm, Xmm> for Assembler<'a> {
10500 fn vcvtph2psx_mask(&mut self, op0: Ymm, op1: Xmm) {
10501 self.emit(
10502 VCVTPH2PSX256RR_MASK,
10503 op0.as_operand(),
10504 op1.as_operand(),
10505 &NOREG,
10506 &NOREG,
10507 );
10508 }
10509}
10510
10511impl<'a> Vcvtph2psxMaskEmitter<Ymm, Mem> for Assembler<'a> {
10512 fn vcvtph2psx_mask(&mut self, op0: Ymm, op1: Mem) {
10513 self.emit(
10514 VCVTPH2PSX256RM_MASK,
10515 op0.as_operand(),
10516 op1.as_operand(),
10517 &NOREG,
10518 &NOREG,
10519 );
10520 }
10521}
10522
10523impl<'a> Vcvtph2psxMaskEmitter<Zmm, Ymm> for Assembler<'a> {
10524 fn vcvtph2psx_mask(&mut self, op0: Zmm, op1: Ymm) {
10525 self.emit(
10526 VCVTPH2PSX512RR_MASK,
10527 op0.as_operand(),
10528 op1.as_operand(),
10529 &NOREG,
10530 &NOREG,
10531 );
10532 }
10533}
10534
10535impl<'a> Vcvtph2psxMaskEmitter<Zmm, Mem> for Assembler<'a> {
10536 fn vcvtph2psx_mask(&mut self, op0: Zmm, op1: Mem) {
10537 self.emit(
10538 VCVTPH2PSX512RM_MASK,
10539 op0.as_operand(),
10540 op1.as_operand(),
10541 &NOREG,
10542 &NOREG,
10543 );
10544 }
10545}
10546
10547pub trait Vcvtph2psxMaskSaeEmitter<A, B> {
10559 fn vcvtph2psx_mask_sae(&mut self, op0: A, op1: B);
10560}
10561
10562impl<'a> Vcvtph2psxMaskSaeEmitter<Zmm, Ymm> for Assembler<'a> {
10563 fn vcvtph2psx_mask_sae(&mut self, op0: Zmm, op1: Ymm) {
10564 self.emit(
10565 VCVTPH2PSX512RR_MASK_SAE,
10566 op0.as_operand(),
10567 op1.as_operand(),
10568 &NOREG,
10569 &NOREG,
10570 );
10571 }
10572}
10573
10574pub trait Vcvtph2psxMaskzEmitter<A, B> {
10591 fn vcvtph2psx_maskz(&mut self, op0: A, op1: B);
10592}
10593
10594impl<'a> Vcvtph2psxMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10595 fn vcvtph2psx_maskz(&mut self, op0: Xmm, op1: Xmm) {
10596 self.emit(
10597 VCVTPH2PSX128RR_MASKZ,
10598 op0.as_operand(),
10599 op1.as_operand(),
10600 &NOREG,
10601 &NOREG,
10602 );
10603 }
10604}
10605
10606impl<'a> Vcvtph2psxMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10607 fn vcvtph2psx_maskz(&mut self, op0: Xmm, op1: Mem) {
10608 self.emit(
10609 VCVTPH2PSX128RM_MASKZ,
10610 op0.as_operand(),
10611 op1.as_operand(),
10612 &NOREG,
10613 &NOREG,
10614 );
10615 }
10616}
10617
10618impl<'a> Vcvtph2psxMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
10619 fn vcvtph2psx_maskz(&mut self, op0: Ymm, op1: Xmm) {
10620 self.emit(
10621 VCVTPH2PSX256RR_MASKZ,
10622 op0.as_operand(),
10623 op1.as_operand(),
10624 &NOREG,
10625 &NOREG,
10626 );
10627 }
10628}
10629
10630impl<'a> Vcvtph2psxMaskzEmitter<Ymm, Mem> for Assembler<'a> {
10631 fn vcvtph2psx_maskz(&mut self, op0: Ymm, op1: Mem) {
10632 self.emit(
10633 VCVTPH2PSX256RM_MASKZ,
10634 op0.as_operand(),
10635 op1.as_operand(),
10636 &NOREG,
10637 &NOREG,
10638 );
10639 }
10640}
10641
10642impl<'a> Vcvtph2psxMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
10643 fn vcvtph2psx_maskz(&mut self, op0: Zmm, op1: Ymm) {
10644 self.emit(
10645 VCVTPH2PSX512RR_MASKZ,
10646 op0.as_operand(),
10647 op1.as_operand(),
10648 &NOREG,
10649 &NOREG,
10650 );
10651 }
10652}
10653
10654impl<'a> Vcvtph2psxMaskzEmitter<Zmm, Mem> for Assembler<'a> {
10655 fn vcvtph2psx_maskz(&mut self, op0: Zmm, op1: Mem) {
10656 self.emit(
10657 VCVTPH2PSX512RM_MASKZ,
10658 op0.as_operand(),
10659 op1.as_operand(),
10660 &NOREG,
10661 &NOREG,
10662 );
10663 }
10664}
10665
10666pub trait Vcvtph2psxMaskzSaeEmitter<A, B> {
10678 fn vcvtph2psx_maskz_sae(&mut self, op0: A, op1: B);
10679}
10680
10681impl<'a> Vcvtph2psxMaskzSaeEmitter<Zmm, Ymm> for Assembler<'a> {
10682 fn vcvtph2psx_maskz_sae(&mut self, op0: Zmm, op1: Ymm) {
10683 self.emit(
10684 VCVTPH2PSX512RR_MASKZ_SAE,
10685 op0.as_operand(),
10686 op1.as_operand(),
10687 &NOREG,
10688 &NOREG,
10689 );
10690 }
10691}
10692
10693pub trait Vcvtph2psxSaeEmitter<A, B> {
10705 fn vcvtph2psx_sae(&mut self, op0: A, op1: B);
10706}
10707
10708impl<'a> Vcvtph2psxSaeEmitter<Zmm, Ymm> for Assembler<'a> {
10709 fn vcvtph2psx_sae(&mut self, op0: Zmm, op1: Ymm) {
10710 self.emit(
10711 VCVTPH2PSX512RR_SAE,
10712 op0.as_operand(),
10713 op1.as_operand(),
10714 &NOREG,
10715 &NOREG,
10716 );
10717 }
10718}
10719
10720pub trait Vcvtph2qqEmitter<A, B> {
10737 fn vcvtph2qq(&mut self, op0: A, op1: B);
10738}
10739
10740impl<'a> Vcvtph2qqEmitter<Xmm, Xmm> for Assembler<'a> {
10741 fn vcvtph2qq(&mut self, op0: Xmm, op1: Xmm) {
10742 self.emit(
10743 VCVTPH2QQ128RR,
10744 op0.as_operand(),
10745 op1.as_operand(),
10746 &NOREG,
10747 &NOREG,
10748 );
10749 }
10750}
10751
10752impl<'a> Vcvtph2qqEmitter<Xmm, Mem> for Assembler<'a> {
10753 fn vcvtph2qq(&mut self, op0: Xmm, op1: Mem) {
10754 self.emit(
10755 VCVTPH2QQ128RM,
10756 op0.as_operand(),
10757 op1.as_operand(),
10758 &NOREG,
10759 &NOREG,
10760 );
10761 }
10762}
10763
10764impl<'a> Vcvtph2qqEmitter<Ymm, Xmm> for Assembler<'a> {
10765 fn vcvtph2qq(&mut self, op0: Ymm, op1: Xmm) {
10766 self.emit(
10767 VCVTPH2QQ256RR,
10768 op0.as_operand(),
10769 op1.as_operand(),
10770 &NOREG,
10771 &NOREG,
10772 );
10773 }
10774}
10775
10776impl<'a> Vcvtph2qqEmitter<Ymm, Mem> for Assembler<'a> {
10777 fn vcvtph2qq(&mut self, op0: Ymm, op1: Mem) {
10778 self.emit(
10779 VCVTPH2QQ256RM,
10780 op0.as_operand(),
10781 op1.as_operand(),
10782 &NOREG,
10783 &NOREG,
10784 );
10785 }
10786}
10787
10788impl<'a> Vcvtph2qqEmitter<Zmm, Xmm> for Assembler<'a> {
10789 fn vcvtph2qq(&mut self, op0: Zmm, op1: Xmm) {
10790 self.emit(
10791 VCVTPH2QQ512RR,
10792 op0.as_operand(),
10793 op1.as_operand(),
10794 &NOREG,
10795 &NOREG,
10796 );
10797 }
10798}
10799
10800impl<'a> Vcvtph2qqEmitter<Zmm, Mem> for Assembler<'a> {
10801 fn vcvtph2qq(&mut self, op0: Zmm, op1: Mem) {
10802 self.emit(
10803 VCVTPH2QQ512RM,
10804 op0.as_operand(),
10805 op1.as_operand(),
10806 &NOREG,
10807 &NOREG,
10808 );
10809 }
10810}
10811
10812pub trait Vcvtph2qqErEmitter<A, B> {
10824 fn vcvtph2qq_er(&mut self, op0: A, op1: B);
10825}
10826
10827impl<'a> Vcvtph2qqErEmitter<Zmm, Xmm> for Assembler<'a> {
10828 fn vcvtph2qq_er(&mut self, op0: Zmm, op1: Xmm) {
10829 self.emit(
10830 VCVTPH2QQ512RR_ER,
10831 op0.as_operand(),
10832 op1.as_operand(),
10833 &NOREG,
10834 &NOREG,
10835 );
10836 }
10837}
10838
10839pub trait Vcvtph2qqMaskEmitter<A, B> {
10856 fn vcvtph2qq_mask(&mut self, op0: A, op1: B);
10857}
10858
10859impl<'a> Vcvtph2qqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10860 fn vcvtph2qq_mask(&mut self, op0: Xmm, op1: Xmm) {
10861 self.emit(
10862 VCVTPH2QQ128RR_MASK,
10863 op0.as_operand(),
10864 op1.as_operand(),
10865 &NOREG,
10866 &NOREG,
10867 );
10868 }
10869}
10870
10871impl<'a> Vcvtph2qqMaskEmitter<Xmm, Mem> for Assembler<'a> {
10872 fn vcvtph2qq_mask(&mut self, op0: Xmm, op1: Mem) {
10873 self.emit(
10874 VCVTPH2QQ128RM_MASK,
10875 op0.as_operand(),
10876 op1.as_operand(),
10877 &NOREG,
10878 &NOREG,
10879 );
10880 }
10881}
10882
10883impl<'a> Vcvtph2qqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
10884 fn vcvtph2qq_mask(&mut self, op0: Ymm, op1: Xmm) {
10885 self.emit(
10886 VCVTPH2QQ256RR_MASK,
10887 op0.as_operand(),
10888 op1.as_operand(),
10889 &NOREG,
10890 &NOREG,
10891 );
10892 }
10893}
10894
10895impl<'a> Vcvtph2qqMaskEmitter<Ymm, Mem> for Assembler<'a> {
10896 fn vcvtph2qq_mask(&mut self, op0: Ymm, op1: Mem) {
10897 self.emit(
10898 VCVTPH2QQ256RM_MASK,
10899 op0.as_operand(),
10900 op1.as_operand(),
10901 &NOREG,
10902 &NOREG,
10903 );
10904 }
10905}
10906
10907impl<'a> Vcvtph2qqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
10908 fn vcvtph2qq_mask(&mut self, op0: Zmm, op1: Xmm) {
10909 self.emit(
10910 VCVTPH2QQ512RR_MASK,
10911 op0.as_operand(),
10912 op1.as_operand(),
10913 &NOREG,
10914 &NOREG,
10915 );
10916 }
10917}
10918
10919impl<'a> Vcvtph2qqMaskEmitter<Zmm, Mem> for Assembler<'a> {
10920 fn vcvtph2qq_mask(&mut self, op0: Zmm, op1: Mem) {
10921 self.emit(
10922 VCVTPH2QQ512RM_MASK,
10923 op0.as_operand(),
10924 op1.as_operand(),
10925 &NOREG,
10926 &NOREG,
10927 );
10928 }
10929}
10930
10931pub trait Vcvtph2qqMaskErEmitter<A, B> {
10943 fn vcvtph2qq_mask_er(&mut self, op0: A, op1: B);
10944}
10945
10946impl<'a> Vcvtph2qqMaskErEmitter<Zmm, Xmm> for Assembler<'a> {
10947 fn vcvtph2qq_mask_er(&mut self, op0: Zmm, op1: Xmm) {
10948 self.emit(
10949 VCVTPH2QQ512RR_MASK_ER,
10950 op0.as_operand(),
10951 op1.as_operand(),
10952 &NOREG,
10953 &NOREG,
10954 );
10955 }
10956}
10957
10958pub trait Vcvtph2qqMaskzEmitter<A, B> {
10975 fn vcvtph2qq_maskz(&mut self, op0: A, op1: B);
10976}
10977
10978impl<'a> Vcvtph2qqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10979 fn vcvtph2qq_maskz(&mut self, op0: Xmm, op1: Xmm) {
10980 self.emit(
10981 VCVTPH2QQ128RR_MASKZ,
10982 op0.as_operand(),
10983 op1.as_operand(),
10984 &NOREG,
10985 &NOREG,
10986 );
10987 }
10988}
10989
10990impl<'a> Vcvtph2qqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10991 fn vcvtph2qq_maskz(&mut self, op0: Xmm, op1: Mem) {
10992 self.emit(
10993 VCVTPH2QQ128RM_MASKZ,
10994 op0.as_operand(),
10995 op1.as_operand(),
10996 &NOREG,
10997 &NOREG,
10998 );
10999 }
11000}
11001
11002impl<'a> Vcvtph2qqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
11003 fn vcvtph2qq_maskz(&mut self, op0: Ymm, op1: Xmm) {
11004 self.emit(
11005 VCVTPH2QQ256RR_MASKZ,
11006 op0.as_operand(),
11007 op1.as_operand(),
11008 &NOREG,
11009 &NOREG,
11010 );
11011 }
11012}
11013
11014impl<'a> Vcvtph2qqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
11015 fn vcvtph2qq_maskz(&mut self, op0: Ymm, op1: Mem) {
11016 self.emit(
11017 VCVTPH2QQ256RM_MASKZ,
11018 op0.as_operand(),
11019 op1.as_operand(),
11020 &NOREG,
11021 &NOREG,
11022 );
11023 }
11024}
11025
11026impl<'a> Vcvtph2qqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
11027 fn vcvtph2qq_maskz(&mut self, op0: Zmm, op1: Xmm) {
11028 self.emit(
11029 VCVTPH2QQ512RR_MASKZ,
11030 op0.as_operand(),
11031 op1.as_operand(),
11032 &NOREG,
11033 &NOREG,
11034 );
11035 }
11036}
11037
11038impl<'a> Vcvtph2qqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
11039 fn vcvtph2qq_maskz(&mut self, op0: Zmm, op1: Mem) {
11040 self.emit(
11041 VCVTPH2QQ512RM_MASKZ,
11042 op0.as_operand(),
11043 op1.as_operand(),
11044 &NOREG,
11045 &NOREG,
11046 );
11047 }
11048}
11049
11050pub trait Vcvtph2qqMaskzErEmitter<A, B> {
11062 fn vcvtph2qq_maskz_er(&mut self, op0: A, op1: B);
11063}
11064
11065impl<'a> Vcvtph2qqMaskzErEmitter<Zmm, Xmm> for Assembler<'a> {
11066 fn vcvtph2qq_maskz_er(&mut self, op0: Zmm, op1: Xmm) {
11067 self.emit(
11068 VCVTPH2QQ512RR_MASKZ_ER,
11069 op0.as_operand(),
11070 op1.as_operand(),
11071 &NOREG,
11072 &NOREG,
11073 );
11074 }
11075}
11076
11077pub trait Vcvtph2udqEmitter<A, B> {
11094 fn vcvtph2udq(&mut self, op0: A, op1: B);
11095}
11096
11097impl<'a> Vcvtph2udqEmitter<Xmm, Xmm> for Assembler<'a> {
11098 fn vcvtph2udq(&mut self, op0: Xmm, op1: Xmm) {
11099 self.emit(
11100 VCVTPH2UDQ128RR,
11101 op0.as_operand(),
11102 op1.as_operand(),
11103 &NOREG,
11104 &NOREG,
11105 );
11106 }
11107}
11108
11109impl<'a> Vcvtph2udqEmitter<Xmm, Mem> for Assembler<'a> {
11110 fn vcvtph2udq(&mut self, op0: Xmm, op1: Mem) {
11111 self.emit(
11112 VCVTPH2UDQ128RM,
11113 op0.as_operand(),
11114 op1.as_operand(),
11115 &NOREG,
11116 &NOREG,
11117 );
11118 }
11119}
11120
11121impl<'a> Vcvtph2udqEmitter<Ymm, Xmm> for Assembler<'a> {
11122 fn vcvtph2udq(&mut self, op0: Ymm, op1: Xmm) {
11123 self.emit(
11124 VCVTPH2UDQ256RR,
11125 op0.as_operand(),
11126 op1.as_operand(),
11127 &NOREG,
11128 &NOREG,
11129 );
11130 }
11131}
11132
11133impl<'a> Vcvtph2udqEmitter<Ymm, Mem> for Assembler<'a> {
11134 fn vcvtph2udq(&mut self, op0: Ymm, op1: Mem) {
11135 self.emit(
11136 VCVTPH2UDQ256RM,
11137 op0.as_operand(),
11138 op1.as_operand(),
11139 &NOREG,
11140 &NOREG,
11141 );
11142 }
11143}
11144
11145impl<'a> Vcvtph2udqEmitter<Zmm, Ymm> for Assembler<'a> {
11146 fn vcvtph2udq(&mut self, op0: Zmm, op1: Ymm) {
11147 self.emit(
11148 VCVTPH2UDQ512RR,
11149 op0.as_operand(),
11150 op1.as_operand(),
11151 &NOREG,
11152 &NOREG,
11153 );
11154 }
11155}
11156
11157impl<'a> Vcvtph2udqEmitter<Zmm, Mem> for Assembler<'a> {
11158 fn vcvtph2udq(&mut self, op0: Zmm, op1: Mem) {
11159 self.emit(
11160 VCVTPH2UDQ512RM,
11161 op0.as_operand(),
11162 op1.as_operand(),
11163 &NOREG,
11164 &NOREG,
11165 );
11166 }
11167}
11168
11169pub trait Vcvtph2udqErEmitter<A, B> {
11181 fn vcvtph2udq_er(&mut self, op0: A, op1: B);
11182}
11183
11184impl<'a> Vcvtph2udqErEmitter<Zmm, Ymm> for Assembler<'a> {
11185 fn vcvtph2udq_er(&mut self, op0: Zmm, op1: Ymm) {
11186 self.emit(
11187 VCVTPH2UDQ512RR_ER,
11188 op0.as_operand(),
11189 op1.as_operand(),
11190 &NOREG,
11191 &NOREG,
11192 );
11193 }
11194}
11195
11196pub trait Vcvtph2udqMaskEmitter<A, B> {
11213 fn vcvtph2udq_mask(&mut self, op0: A, op1: B);
11214}
11215
11216impl<'a> Vcvtph2udqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
11217 fn vcvtph2udq_mask(&mut self, op0: Xmm, op1: Xmm) {
11218 self.emit(
11219 VCVTPH2UDQ128RR_MASK,
11220 op0.as_operand(),
11221 op1.as_operand(),
11222 &NOREG,
11223 &NOREG,
11224 );
11225 }
11226}
11227
11228impl<'a> Vcvtph2udqMaskEmitter<Xmm, Mem> for Assembler<'a> {
11229 fn vcvtph2udq_mask(&mut self, op0: Xmm, op1: Mem) {
11230 self.emit(
11231 VCVTPH2UDQ128RM_MASK,
11232 op0.as_operand(),
11233 op1.as_operand(),
11234 &NOREG,
11235 &NOREG,
11236 );
11237 }
11238}
11239
11240impl<'a> Vcvtph2udqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
11241 fn vcvtph2udq_mask(&mut self, op0: Ymm, op1: Xmm) {
11242 self.emit(
11243 VCVTPH2UDQ256RR_MASK,
11244 op0.as_operand(),
11245 op1.as_operand(),
11246 &NOREG,
11247 &NOREG,
11248 );
11249 }
11250}
11251
11252impl<'a> Vcvtph2udqMaskEmitter<Ymm, Mem> for Assembler<'a> {
11253 fn vcvtph2udq_mask(&mut self, op0: Ymm, op1: Mem) {
11254 self.emit(
11255 VCVTPH2UDQ256RM_MASK,
11256 op0.as_operand(),
11257 op1.as_operand(),
11258 &NOREG,
11259 &NOREG,
11260 );
11261 }
11262}
11263
11264impl<'a> Vcvtph2udqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
11265 fn vcvtph2udq_mask(&mut self, op0: Zmm, op1: Ymm) {
11266 self.emit(
11267 VCVTPH2UDQ512RR_MASK,
11268 op0.as_operand(),
11269 op1.as_operand(),
11270 &NOREG,
11271 &NOREG,
11272 );
11273 }
11274}
11275
11276impl<'a> Vcvtph2udqMaskEmitter<Zmm, Mem> for Assembler<'a> {
11277 fn vcvtph2udq_mask(&mut self, op0: Zmm, op1: Mem) {
11278 self.emit(
11279 VCVTPH2UDQ512RM_MASK,
11280 op0.as_operand(),
11281 op1.as_operand(),
11282 &NOREG,
11283 &NOREG,
11284 );
11285 }
11286}
11287
11288pub trait Vcvtph2udqMaskErEmitter<A, B> {
11300 fn vcvtph2udq_mask_er(&mut self, op0: A, op1: B);
11301}
11302
11303impl<'a> Vcvtph2udqMaskErEmitter<Zmm, Ymm> for Assembler<'a> {
11304 fn vcvtph2udq_mask_er(&mut self, op0: Zmm, op1: Ymm) {
11305 self.emit(
11306 VCVTPH2UDQ512RR_MASK_ER,
11307 op0.as_operand(),
11308 op1.as_operand(),
11309 &NOREG,
11310 &NOREG,
11311 );
11312 }
11313}
11314
11315pub trait Vcvtph2udqMaskzEmitter<A, B> {
11332 fn vcvtph2udq_maskz(&mut self, op0: A, op1: B);
11333}
11334
11335impl<'a> Vcvtph2udqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
11336 fn vcvtph2udq_maskz(&mut self, op0: Xmm, op1: Xmm) {
11337 self.emit(
11338 VCVTPH2UDQ128RR_MASKZ,
11339 op0.as_operand(),
11340 op1.as_operand(),
11341 &NOREG,
11342 &NOREG,
11343 );
11344 }
11345}
11346
11347impl<'a> Vcvtph2udqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
11348 fn vcvtph2udq_maskz(&mut self, op0: Xmm, op1: Mem) {
11349 self.emit(
11350 VCVTPH2UDQ128RM_MASKZ,
11351 op0.as_operand(),
11352 op1.as_operand(),
11353 &NOREG,
11354 &NOREG,
11355 );
11356 }
11357}
11358
11359impl<'a> Vcvtph2udqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
11360 fn vcvtph2udq_maskz(&mut self, op0: Ymm, op1: Xmm) {
11361 self.emit(
11362 VCVTPH2UDQ256RR_MASKZ,
11363 op0.as_operand(),
11364 op1.as_operand(),
11365 &NOREG,
11366 &NOREG,
11367 );
11368 }
11369}
11370
11371impl<'a> Vcvtph2udqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
11372 fn vcvtph2udq_maskz(&mut self, op0: Ymm, op1: Mem) {
11373 self.emit(
11374 VCVTPH2UDQ256RM_MASKZ,
11375 op0.as_operand(),
11376 op1.as_operand(),
11377 &NOREG,
11378 &NOREG,
11379 );
11380 }
11381}
11382
11383impl<'a> Vcvtph2udqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
11384 fn vcvtph2udq_maskz(&mut self, op0: Zmm, op1: Ymm) {
11385 self.emit(
11386 VCVTPH2UDQ512RR_MASKZ,
11387 op0.as_operand(),
11388 op1.as_operand(),
11389 &NOREG,
11390 &NOREG,
11391 );
11392 }
11393}
11394
11395impl<'a> Vcvtph2udqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
11396 fn vcvtph2udq_maskz(&mut self, op0: Zmm, op1: Mem) {
11397 self.emit(
11398 VCVTPH2UDQ512RM_MASKZ,
11399 op0.as_operand(),
11400 op1.as_operand(),
11401 &NOREG,
11402 &NOREG,
11403 );
11404 }
11405}
11406
11407pub trait Vcvtph2udqMaskzErEmitter<A, B> {
11419 fn vcvtph2udq_maskz_er(&mut self, op0: A, op1: B);
11420}
11421
11422impl<'a> Vcvtph2udqMaskzErEmitter<Zmm, Ymm> for Assembler<'a> {
11423 fn vcvtph2udq_maskz_er(&mut self, op0: Zmm, op1: Ymm) {
11424 self.emit(
11425 VCVTPH2UDQ512RR_MASKZ_ER,
11426 op0.as_operand(),
11427 op1.as_operand(),
11428 &NOREG,
11429 &NOREG,
11430 );
11431 }
11432}
11433
11434pub trait Vcvtph2uqqEmitter<A, B> {
11451 fn vcvtph2uqq(&mut self, op0: A, op1: B);
11452}
11453
11454impl<'a> Vcvtph2uqqEmitter<Xmm, Xmm> for Assembler<'a> {
11455 fn vcvtph2uqq(&mut self, op0: Xmm, op1: Xmm) {
11456 self.emit(
11457 VCVTPH2UQQ128RR,
11458 op0.as_operand(),
11459 op1.as_operand(),
11460 &NOREG,
11461 &NOREG,
11462 );
11463 }
11464}
11465
11466impl<'a> Vcvtph2uqqEmitter<Xmm, Mem> for Assembler<'a> {
11467 fn vcvtph2uqq(&mut self, op0: Xmm, op1: Mem) {
11468 self.emit(
11469 VCVTPH2UQQ128RM,
11470 op0.as_operand(),
11471 op1.as_operand(),
11472 &NOREG,
11473 &NOREG,
11474 );
11475 }
11476}
11477
11478impl<'a> Vcvtph2uqqEmitter<Ymm, Xmm> for Assembler<'a> {
11479 fn vcvtph2uqq(&mut self, op0: Ymm, op1: Xmm) {
11480 self.emit(
11481 VCVTPH2UQQ256RR,
11482 op0.as_operand(),
11483 op1.as_operand(),
11484 &NOREG,
11485 &NOREG,
11486 );
11487 }
11488}
11489
11490impl<'a> Vcvtph2uqqEmitter<Ymm, Mem> for Assembler<'a> {
11491 fn vcvtph2uqq(&mut self, op0: Ymm, op1: Mem) {
11492 self.emit(
11493 VCVTPH2UQQ256RM,
11494 op0.as_operand(),
11495 op1.as_operand(),
11496 &NOREG,
11497 &NOREG,
11498 );
11499 }
11500}
11501
11502impl<'a> Vcvtph2uqqEmitter<Zmm, Xmm> for Assembler<'a> {
11503 fn vcvtph2uqq(&mut self, op0: Zmm, op1: Xmm) {
11504 self.emit(
11505 VCVTPH2UQQ512RR,
11506 op0.as_operand(),
11507 op1.as_operand(),
11508 &NOREG,
11509 &NOREG,
11510 );
11511 }
11512}
11513
11514impl<'a> Vcvtph2uqqEmitter<Zmm, Mem> for Assembler<'a> {
11515 fn vcvtph2uqq(&mut self, op0: Zmm, op1: Mem) {
11516 self.emit(
11517 VCVTPH2UQQ512RM,
11518 op0.as_operand(),
11519 op1.as_operand(),
11520 &NOREG,
11521 &NOREG,
11522 );
11523 }
11524}
11525
11526pub trait Vcvtph2uqqErEmitter<A, B> {
11538 fn vcvtph2uqq_er(&mut self, op0: A, op1: B);
11539}
11540
11541impl<'a> Vcvtph2uqqErEmitter<Zmm, Xmm> for Assembler<'a> {
11542 fn vcvtph2uqq_er(&mut self, op0: Zmm, op1: Xmm) {
11543 self.emit(
11544 VCVTPH2UQQ512RR_ER,
11545 op0.as_operand(),
11546 op1.as_operand(),
11547 &NOREG,
11548 &NOREG,
11549 );
11550 }
11551}
11552
11553pub trait Vcvtph2uqqMaskEmitter<A, B> {
11570 fn vcvtph2uqq_mask(&mut self, op0: A, op1: B);
11571}
11572
11573impl<'a> Vcvtph2uqqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
11574 fn vcvtph2uqq_mask(&mut self, op0: Xmm, op1: Xmm) {
11575 self.emit(
11576 VCVTPH2UQQ128RR_MASK,
11577 op0.as_operand(),
11578 op1.as_operand(),
11579 &NOREG,
11580 &NOREG,
11581 );
11582 }
11583}
11584
11585impl<'a> Vcvtph2uqqMaskEmitter<Xmm, Mem> for Assembler<'a> {
11586 fn vcvtph2uqq_mask(&mut self, op0: Xmm, op1: Mem) {
11587 self.emit(
11588 VCVTPH2UQQ128RM_MASK,
11589 op0.as_operand(),
11590 op1.as_operand(),
11591 &NOREG,
11592 &NOREG,
11593 );
11594 }
11595}
11596
11597impl<'a> Vcvtph2uqqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
11598 fn vcvtph2uqq_mask(&mut self, op0: Ymm, op1: Xmm) {
11599 self.emit(
11600 VCVTPH2UQQ256RR_MASK,
11601 op0.as_operand(),
11602 op1.as_operand(),
11603 &NOREG,
11604 &NOREG,
11605 );
11606 }
11607}
11608
11609impl<'a> Vcvtph2uqqMaskEmitter<Ymm, Mem> for Assembler<'a> {
11610 fn vcvtph2uqq_mask(&mut self, op0: Ymm, op1: Mem) {
11611 self.emit(
11612 VCVTPH2UQQ256RM_MASK,
11613 op0.as_operand(),
11614 op1.as_operand(),
11615 &NOREG,
11616 &NOREG,
11617 );
11618 }
11619}
11620
11621impl<'a> Vcvtph2uqqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
11622 fn vcvtph2uqq_mask(&mut self, op0: Zmm, op1: Xmm) {
11623 self.emit(
11624 VCVTPH2UQQ512RR_MASK,
11625 op0.as_operand(),
11626 op1.as_operand(),
11627 &NOREG,
11628 &NOREG,
11629 );
11630 }
11631}
11632
11633impl<'a> Vcvtph2uqqMaskEmitter<Zmm, Mem> for Assembler<'a> {
11634 fn vcvtph2uqq_mask(&mut self, op0: Zmm, op1: Mem) {
11635 self.emit(
11636 VCVTPH2UQQ512RM_MASK,
11637 op0.as_operand(),
11638 op1.as_operand(),
11639 &NOREG,
11640 &NOREG,
11641 );
11642 }
11643}
11644
11645pub trait Vcvtph2uqqMaskErEmitter<A, B> {
11657 fn vcvtph2uqq_mask_er(&mut self, op0: A, op1: B);
11658}
11659
11660impl<'a> Vcvtph2uqqMaskErEmitter<Zmm, Xmm> for Assembler<'a> {
11661 fn vcvtph2uqq_mask_er(&mut self, op0: Zmm, op1: Xmm) {
11662 self.emit(
11663 VCVTPH2UQQ512RR_MASK_ER,
11664 op0.as_operand(),
11665 op1.as_operand(),
11666 &NOREG,
11667 &NOREG,
11668 );
11669 }
11670}
11671
11672pub trait Vcvtph2uqqMaskzEmitter<A, B> {
11689 fn vcvtph2uqq_maskz(&mut self, op0: A, op1: B);
11690}
11691
11692impl<'a> Vcvtph2uqqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
11693 fn vcvtph2uqq_maskz(&mut self, op0: Xmm, op1: Xmm) {
11694 self.emit(
11695 VCVTPH2UQQ128RR_MASKZ,
11696 op0.as_operand(),
11697 op1.as_operand(),
11698 &NOREG,
11699 &NOREG,
11700 );
11701 }
11702}
11703
11704impl<'a> Vcvtph2uqqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
11705 fn vcvtph2uqq_maskz(&mut self, op0: Xmm, op1: Mem) {
11706 self.emit(
11707 VCVTPH2UQQ128RM_MASKZ,
11708 op0.as_operand(),
11709 op1.as_operand(),
11710 &NOREG,
11711 &NOREG,
11712 );
11713 }
11714}
11715
11716impl<'a> Vcvtph2uqqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
11717 fn vcvtph2uqq_maskz(&mut self, op0: Ymm, op1: Xmm) {
11718 self.emit(
11719 VCVTPH2UQQ256RR_MASKZ,
11720 op0.as_operand(),
11721 op1.as_operand(),
11722 &NOREG,
11723 &NOREG,
11724 );
11725 }
11726}
11727
11728impl<'a> Vcvtph2uqqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
11729 fn vcvtph2uqq_maskz(&mut self, op0: Ymm, op1: Mem) {
11730 self.emit(
11731 VCVTPH2UQQ256RM_MASKZ,
11732 op0.as_operand(),
11733 op1.as_operand(),
11734 &NOREG,
11735 &NOREG,
11736 );
11737 }
11738}
11739
11740impl<'a> Vcvtph2uqqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
11741 fn vcvtph2uqq_maskz(&mut self, op0: Zmm, op1: Xmm) {
11742 self.emit(
11743 VCVTPH2UQQ512RR_MASKZ,
11744 op0.as_operand(),
11745 op1.as_operand(),
11746 &NOREG,
11747 &NOREG,
11748 );
11749 }
11750}
11751
11752impl<'a> Vcvtph2uqqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
11753 fn vcvtph2uqq_maskz(&mut self, op0: Zmm, op1: Mem) {
11754 self.emit(
11755 VCVTPH2UQQ512RM_MASKZ,
11756 op0.as_operand(),
11757 op1.as_operand(),
11758 &NOREG,
11759 &NOREG,
11760 );
11761 }
11762}
11763
11764pub trait Vcvtph2uqqMaskzErEmitter<A, B> {
11776 fn vcvtph2uqq_maskz_er(&mut self, op0: A, op1: B);
11777}
11778
11779impl<'a> Vcvtph2uqqMaskzErEmitter<Zmm, Xmm> for Assembler<'a> {
11780 fn vcvtph2uqq_maskz_er(&mut self, op0: Zmm, op1: Xmm) {
11781 self.emit(
11782 VCVTPH2UQQ512RR_MASKZ_ER,
11783 op0.as_operand(),
11784 op1.as_operand(),
11785 &NOREG,
11786 &NOREG,
11787 );
11788 }
11789}
11790
11791pub trait Vcvtph2uwEmitter<A, B> {
11808 fn vcvtph2uw(&mut self, op0: A, op1: B);
11809}
11810
11811impl<'a> Vcvtph2uwEmitter<Xmm, Xmm> for Assembler<'a> {
11812 fn vcvtph2uw(&mut self, op0: Xmm, op1: Xmm) {
11813 self.emit(
11814 VCVTPH2UW128RR,
11815 op0.as_operand(),
11816 op1.as_operand(),
11817 &NOREG,
11818 &NOREG,
11819 );
11820 }
11821}
11822
11823impl<'a> Vcvtph2uwEmitter<Xmm, Mem> for Assembler<'a> {
11824 fn vcvtph2uw(&mut self, op0: Xmm, op1: Mem) {
11825 self.emit(
11826 VCVTPH2UW128RM,
11827 op0.as_operand(),
11828 op1.as_operand(),
11829 &NOREG,
11830 &NOREG,
11831 );
11832 }
11833}
11834
11835impl<'a> Vcvtph2uwEmitter<Ymm, Ymm> for Assembler<'a> {
11836 fn vcvtph2uw(&mut self, op0: Ymm, op1: Ymm) {
11837 self.emit(
11838 VCVTPH2UW256RR,
11839 op0.as_operand(),
11840 op1.as_operand(),
11841 &NOREG,
11842 &NOREG,
11843 );
11844 }
11845}
11846
11847impl<'a> Vcvtph2uwEmitter<Ymm, Mem> for Assembler<'a> {
11848 fn vcvtph2uw(&mut self, op0: Ymm, op1: Mem) {
11849 self.emit(
11850 VCVTPH2UW256RM,
11851 op0.as_operand(),
11852 op1.as_operand(),
11853 &NOREG,
11854 &NOREG,
11855 );
11856 }
11857}
11858
11859impl<'a> Vcvtph2uwEmitter<Zmm, Zmm> for Assembler<'a> {
11860 fn vcvtph2uw(&mut self, op0: Zmm, op1: Zmm) {
11861 self.emit(
11862 VCVTPH2UW512RR,
11863 op0.as_operand(),
11864 op1.as_operand(),
11865 &NOREG,
11866 &NOREG,
11867 );
11868 }
11869}
11870
11871impl<'a> Vcvtph2uwEmitter<Zmm, Mem> for Assembler<'a> {
11872 fn vcvtph2uw(&mut self, op0: Zmm, op1: Mem) {
11873 self.emit(
11874 VCVTPH2UW512RM,
11875 op0.as_operand(),
11876 op1.as_operand(),
11877 &NOREG,
11878 &NOREG,
11879 );
11880 }
11881}
11882
11883pub trait Vcvtph2uwErEmitter<A, B> {
11895 fn vcvtph2uw_er(&mut self, op0: A, op1: B);
11896}
11897
11898impl<'a> Vcvtph2uwErEmitter<Zmm, Zmm> for Assembler<'a> {
11899 fn vcvtph2uw_er(&mut self, op0: Zmm, op1: Zmm) {
11900 self.emit(
11901 VCVTPH2UW512RR_ER,
11902 op0.as_operand(),
11903 op1.as_operand(),
11904 &NOREG,
11905 &NOREG,
11906 );
11907 }
11908}
11909
11910pub trait Vcvtph2uwMaskEmitter<A, B> {
11927 fn vcvtph2uw_mask(&mut self, op0: A, op1: B);
11928}
11929
11930impl<'a> Vcvtph2uwMaskEmitter<Xmm, Xmm> for Assembler<'a> {
11931 fn vcvtph2uw_mask(&mut self, op0: Xmm, op1: Xmm) {
11932 self.emit(
11933 VCVTPH2UW128RR_MASK,
11934 op0.as_operand(),
11935 op1.as_operand(),
11936 &NOREG,
11937 &NOREG,
11938 );
11939 }
11940}
11941
11942impl<'a> Vcvtph2uwMaskEmitter<Xmm, Mem> for Assembler<'a> {
11943 fn vcvtph2uw_mask(&mut self, op0: Xmm, op1: Mem) {
11944 self.emit(
11945 VCVTPH2UW128RM_MASK,
11946 op0.as_operand(),
11947 op1.as_operand(),
11948 &NOREG,
11949 &NOREG,
11950 );
11951 }
11952}
11953
11954impl<'a> Vcvtph2uwMaskEmitter<Ymm, Ymm> for Assembler<'a> {
11955 fn vcvtph2uw_mask(&mut self, op0: Ymm, op1: Ymm) {
11956 self.emit(
11957 VCVTPH2UW256RR_MASK,
11958 op0.as_operand(),
11959 op1.as_operand(),
11960 &NOREG,
11961 &NOREG,
11962 );
11963 }
11964}
11965
11966impl<'a> Vcvtph2uwMaskEmitter<Ymm, Mem> for Assembler<'a> {
11967 fn vcvtph2uw_mask(&mut self, op0: Ymm, op1: Mem) {
11968 self.emit(
11969 VCVTPH2UW256RM_MASK,
11970 op0.as_operand(),
11971 op1.as_operand(),
11972 &NOREG,
11973 &NOREG,
11974 );
11975 }
11976}
11977
11978impl<'a> Vcvtph2uwMaskEmitter<Zmm, Zmm> for Assembler<'a> {
11979 fn vcvtph2uw_mask(&mut self, op0: Zmm, op1: Zmm) {
11980 self.emit(
11981 VCVTPH2UW512RR_MASK,
11982 op0.as_operand(),
11983 op1.as_operand(),
11984 &NOREG,
11985 &NOREG,
11986 );
11987 }
11988}
11989
11990impl<'a> Vcvtph2uwMaskEmitter<Zmm, Mem> for Assembler<'a> {
11991 fn vcvtph2uw_mask(&mut self, op0: Zmm, op1: Mem) {
11992 self.emit(
11993 VCVTPH2UW512RM_MASK,
11994 op0.as_operand(),
11995 op1.as_operand(),
11996 &NOREG,
11997 &NOREG,
11998 );
11999 }
12000}
12001
12002pub trait Vcvtph2uwMaskErEmitter<A, B> {
12014 fn vcvtph2uw_mask_er(&mut self, op0: A, op1: B);
12015}
12016
12017impl<'a> Vcvtph2uwMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
12018 fn vcvtph2uw_mask_er(&mut self, op0: Zmm, op1: Zmm) {
12019 self.emit(
12020 VCVTPH2UW512RR_MASK_ER,
12021 op0.as_operand(),
12022 op1.as_operand(),
12023 &NOREG,
12024 &NOREG,
12025 );
12026 }
12027}
12028
12029pub trait Vcvtph2uwMaskzEmitter<A, B> {
12046 fn vcvtph2uw_maskz(&mut self, op0: A, op1: B);
12047}
12048
12049impl<'a> Vcvtph2uwMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12050 fn vcvtph2uw_maskz(&mut self, op0: Xmm, op1: Xmm) {
12051 self.emit(
12052 VCVTPH2UW128RR_MASKZ,
12053 op0.as_operand(),
12054 op1.as_operand(),
12055 &NOREG,
12056 &NOREG,
12057 );
12058 }
12059}
12060
12061impl<'a> Vcvtph2uwMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12062 fn vcvtph2uw_maskz(&mut self, op0: Xmm, op1: Mem) {
12063 self.emit(
12064 VCVTPH2UW128RM_MASKZ,
12065 op0.as_operand(),
12066 op1.as_operand(),
12067 &NOREG,
12068 &NOREG,
12069 );
12070 }
12071}
12072
12073impl<'a> Vcvtph2uwMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
12074 fn vcvtph2uw_maskz(&mut self, op0: Ymm, op1: Ymm) {
12075 self.emit(
12076 VCVTPH2UW256RR_MASKZ,
12077 op0.as_operand(),
12078 op1.as_operand(),
12079 &NOREG,
12080 &NOREG,
12081 );
12082 }
12083}
12084
12085impl<'a> Vcvtph2uwMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12086 fn vcvtph2uw_maskz(&mut self, op0: Ymm, op1: Mem) {
12087 self.emit(
12088 VCVTPH2UW256RM_MASKZ,
12089 op0.as_operand(),
12090 op1.as_operand(),
12091 &NOREG,
12092 &NOREG,
12093 );
12094 }
12095}
12096
12097impl<'a> Vcvtph2uwMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
12098 fn vcvtph2uw_maskz(&mut self, op0: Zmm, op1: Zmm) {
12099 self.emit(
12100 VCVTPH2UW512RR_MASKZ,
12101 op0.as_operand(),
12102 op1.as_operand(),
12103 &NOREG,
12104 &NOREG,
12105 );
12106 }
12107}
12108
12109impl<'a> Vcvtph2uwMaskzEmitter<Zmm, Mem> for Assembler<'a> {
12110 fn vcvtph2uw_maskz(&mut self, op0: Zmm, op1: Mem) {
12111 self.emit(
12112 VCVTPH2UW512RM_MASKZ,
12113 op0.as_operand(),
12114 op1.as_operand(),
12115 &NOREG,
12116 &NOREG,
12117 );
12118 }
12119}
12120
12121pub trait Vcvtph2uwMaskzErEmitter<A, B> {
12133 fn vcvtph2uw_maskz_er(&mut self, op0: A, op1: B);
12134}
12135
12136impl<'a> Vcvtph2uwMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
12137 fn vcvtph2uw_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
12138 self.emit(
12139 VCVTPH2UW512RR_MASKZ_ER,
12140 op0.as_operand(),
12141 op1.as_operand(),
12142 &NOREG,
12143 &NOREG,
12144 );
12145 }
12146}
12147
12148pub trait Vcvtph2wEmitter<A, B> {
12165 fn vcvtph2w(&mut self, op0: A, op1: B);
12166}
12167
12168impl<'a> Vcvtph2wEmitter<Xmm, Xmm> for Assembler<'a> {
12169 fn vcvtph2w(&mut self, op0: Xmm, op1: Xmm) {
12170 self.emit(
12171 VCVTPH2W128RR,
12172 op0.as_operand(),
12173 op1.as_operand(),
12174 &NOREG,
12175 &NOREG,
12176 );
12177 }
12178}
12179
12180impl<'a> Vcvtph2wEmitter<Xmm, Mem> for Assembler<'a> {
12181 fn vcvtph2w(&mut self, op0: Xmm, op1: Mem) {
12182 self.emit(
12183 VCVTPH2W128RM,
12184 op0.as_operand(),
12185 op1.as_operand(),
12186 &NOREG,
12187 &NOREG,
12188 );
12189 }
12190}
12191
12192impl<'a> Vcvtph2wEmitter<Ymm, Ymm> for Assembler<'a> {
12193 fn vcvtph2w(&mut self, op0: Ymm, op1: Ymm) {
12194 self.emit(
12195 VCVTPH2W256RR,
12196 op0.as_operand(),
12197 op1.as_operand(),
12198 &NOREG,
12199 &NOREG,
12200 );
12201 }
12202}
12203
12204impl<'a> Vcvtph2wEmitter<Ymm, Mem> for Assembler<'a> {
12205 fn vcvtph2w(&mut self, op0: Ymm, op1: Mem) {
12206 self.emit(
12207 VCVTPH2W256RM,
12208 op0.as_operand(),
12209 op1.as_operand(),
12210 &NOREG,
12211 &NOREG,
12212 );
12213 }
12214}
12215
12216impl<'a> Vcvtph2wEmitter<Zmm, Zmm> for Assembler<'a> {
12217 fn vcvtph2w(&mut self, op0: Zmm, op1: Zmm) {
12218 self.emit(
12219 VCVTPH2W512RR,
12220 op0.as_operand(),
12221 op1.as_operand(),
12222 &NOREG,
12223 &NOREG,
12224 );
12225 }
12226}
12227
12228impl<'a> Vcvtph2wEmitter<Zmm, Mem> for Assembler<'a> {
12229 fn vcvtph2w(&mut self, op0: Zmm, op1: Mem) {
12230 self.emit(
12231 VCVTPH2W512RM,
12232 op0.as_operand(),
12233 op1.as_operand(),
12234 &NOREG,
12235 &NOREG,
12236 );
12237 }
12238}
12239
12240pub trait Vcvtph2wErEmitter<A, B> {
12252 fn vcvtph2w_er(&mut self, op0: A, op1: B);
12253}
12254
12255impl<'a> Vcvtph2wErEmitter<Zmm, Zmm> for Assembler<'a> {
12256 fn vcvtph2w_er(&mut self, op0: Zmm, op1: Zmm) {
12257 self.emit(
12258 VCVTPH2W512RR_ER,
12259 op0.as_operand(),
12260 op1.as_operand(),
12261 &NOREG,
12262 &NOREG,
12263 );
12264 }
12265}
12266
12267pub trait Vcvtph2wMaskEmitter<A, B> {
12284 fn vcvtph2w_mask(&mut self, op0: A, op1: B);
12285}
12286
12287impl<'a> Vcvtph2wMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12288 fn vcvtph2w_mask(&mut self, op0: Xmm, op1: Xmm) {
12289 self.emit(
12290 VCVTPH2W128RR_MASK,
12291 op0.as_operand(),
12292 op1.as_operand(),
12293 &NOREG,
12294 &NOREG,
12295 );
12296 }
12297}
12298
12299impl<'a> Vcvtph2wMaskEmitter<Xmm, Mem> for Assembler<'a> {
12300 fn vcvtph2w_mask(&mut self, op0: Xmm, op1: Mem) {
12301 self.emit(
12302 VCVTPH2W128RM_MASK,
12303 op0.as_operand(),
12304 op1.as_operand(),
12305 &NOREG,
12306 &NOREG,
12307 );
12308 }
12309}
12310
12311impl<'a> Vcvtph2wMaskEmitter<Ymm, Ymm> for Assembler<'a> {
12312 fn vcvtph2w_mask(&mut self, op0: Ymm, op1: Ymm) {
12313 self.emit(
12314 VCVTPH2W256RR_MASK,
12315 op0.as_operand(),
12316 op1.as_operand(),
12317 &NOREG,
12318 &NOREG,
12319 );
12320 }
12321}
12322
12323impl<'a> Vcvtph2wMaskEmitter<Ymm, Mem> for Assembler<'a> {
12324 fn vcvtph2w_mask(&mut self, op0: Ymm, op1: Mem) {
12325 self.emit(
12326 VCVTPH2W256RM_MASK,
12327 op0.as_operand(),
12328 op1.as_operand(),
12329 &NOREG,
12330 &NOREG,
12331 );
12332 }
12333}
12334
12335impl<'a> Vcvtph2wMaskEmitter<Zmm, Zmm> for Assembler<'a> {
12336 fn vcvtph2w_mask(&mut self, op0: Zmm, op1: Zmm) {
12337 self.emit(
12338 VCVTPH2W512RR_MASK,
12339 op0.as_operand(),
12340 op1.as_operand(),
12341 &NOREG,
12342 &NOREG,
12343 );
12344 }
12345}
12346
12347impl<'a> Vcvtph2wMaskEmitter<Zmm, Mem> for Assembler<'a> {
12348 fn vcvtph2w_mask(&mut self, op0: Zmm, op1: Mem) {
12349 self.emit(
12350 VCVTPH2W512RM_MASK,
12351 op0.as_operand(),
12352 op1.as_operand(),
12353 &NOREG,
12354 &NOREG,
12355 );
12356 }
12357}
12358
12359pub trait Vcvtph2wMaskErEmitter<A, B> {
12371 fn vcvtph2w_mask_er(&mut self, op0: A, op1: B);
12372}
12373
12374impl<'a> Vcvtph2wMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
12375 fn vcvtph2w_mask_er(&mut self, op0: Zmm, op1: Zmm) {
12376 self.emit(
12377 VCVTPH2W512RR_MASK_ER,
12378 op0.as_operand(),
12379 op1.as_operand(),
12380 &NOREG,
12381 &NOREG,
12382 );
12383 }
12384}
12385
12386pub trait Vcvtph2wMaskzEmitter<A, B> {
12403 fn vcvtph2w_maskz(&mut self, op0: A, op1: B);
12404}
12405
12406impl<'a> Vcvtph2wMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12407 fn vcvtph2w_maskz(&mut self, op0: Xmm, op1: Xmm) {
12408 self.emit(
12409 VCVTPH2W128RR_MASKZ,
12410 op0.as_operand(),
12411 op1.as_operand(),
12412 &NOREG,
12413 &NOREG,
12414 );
12415 }
12416}
12417
12418impl<'a> Vcvtph2wMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12419 fn vcvtph2w_maskz(&mut self, op0: Xmm, op1: Mem) {
12420 self.emit(
12421 VCVTPH2W128RM_MASKZ,
12422 op0.as_operand(),
12423 op1.as_operand(),
12424 &NOREG,
12425 &NOREG,
12426 );
12427 }
12428}
12429
12430impl<'a> Vcvtph2wMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
12431 fn vcvtph2w_maskz(&mut self, op0: Ymm, op1: Ymm) {
12432 self.emit(
12433 VCVTPH2W256RR_MASKZ,
12434 op0.as_operand(),
12435 op1.as_operand(),
12436 &NOREG,
12437 &NOREG,
12438 );
12439 }
12440}
12441
12442impl<'a> Vcvtph2wMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12443 fn vcvtph2w_maskz(&mut self, op0: Ymm, op1: Mem) {
12444 self.emit(
12445 VCVTPH2W256RM_MASKZ,
12446 op0.as_operand(),
12447 op1.as_operand(),
12448 &NOREG,
12449 &NOREG,
12450 );
12451 }
12452}
12453
12454impl<'a> Vcvtph2wMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
12455 fn vcvtph2w_maskz(&mut self, op0: Zmm, op1: Zmm) {
12456 self.emit(
12457 VCVTPH2W512RR_MASKZ,
12458 op0.as_operand(),
12459 op1.as_operand(),
12460 &NOREG,
12461 &NOREG,
12462 );
12463 }
12464}
12465
12466impl<'a> Vcvtph2wMaskzEmitter<Zmm, Mem> for Assembler<'a> {
12467 fn vcvtph2w_maskz(&mut self, op0: Zmm, op1: Mem) {
12468 self.emit(
12469 VCVTPH2W512RM_MASKZ,
12470 op0.as_operand(),
12471 op1.as_operand(),
12472 &NOREG,
12473 &NOREG,
12474 );
12475 }
12476}
12477
12478pub trait Vcvtph2wMaskzErEmitter<A, B> {
12490 fn vcvtph2w_maskz_er(&mut self, op0: A, op1: B);
12491}
12492
12493impl<'a> Vcvtph2wMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
12494 fn vcvtph2w_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
12495 self.emit(
12496 VCVTPH2W512RR_MASKZ_ER,
12497 op0.as_operand(),
12498 op1.as_operand(),
12499 &NOREG,
12500 &NOREG,
12501 );
12502 }
12503}
12504
12505pub trait Vcvtps2phxEmitter<A, B> {
12521 fn vcvtps2phx(&mut self, op0: A, op1: B);
12522}
12523
12524impl<'a> Vcvtps2phxEmitter<Xmm, Xmm> for Assembler<'a> {
12525 fn vcvtps2phx(&mut self, op0: Xmm, op1: Xmm) {
12526 self.emit(
12527 VCVTPS2PHX128RR,
12528 op0.as_operand(),
12529 op1.as_operand(),
12530 &NOREG,
12531 &NOREG,
12532 );
12533 }
12534}
12535
12536impl<'a> Vcvtps2phxEmitter<Xmm, Mem> for Assembler<'a> {
12537 fn vcvtps2phx(&mut self, op0: Xmm, op1: Mem) {
12538 self.emit(
12539 VCVTPS2PHX128RM,
12540 op0.as_operand(),
12541 op1.as_operand(),
12542 &NOREG,
12543 &NOREG,
12544 );
12545 }
12546}
12547
12548impl<'a> Vcvtps2phxEmitter<Xmm, Ymm> for Assembler<'a> {
12549 fn vcvtps2phx(&mut self, op0: Xmm, op1: Ymm) {
12550 self.emit(
12551 VCVTPS2PHX256RR,
12552 op0.as_operand(),
12553 op1.as_operand(),
12554 &NOREG,
12555 &NOREG,
12556 );
12557 }
12558}
12559
12560impl<'a> Vcvtps2phxEmitter<Ymm, Zmm> for Assembler<'a> {
12561 fn vcvtps2phx(&mut self, op0: Ymm, op1: Zmm) {
12562 self.emit(
12563 VCVTPS2PHX512RR,
12564 op0.as_operand(),
12565 op1.as_operand(),
12566 &NOREG,
12567 &NOREG,
12568 );
12569 }
12570}
12571
12572impl<'a> Vcvtps2phxEmitter<Ymm, Mem> for Assembler<'a> {
12573 fn vcvtps2phx(&mut self, op0: Ymm, op1: Mem) {
12574 self.emit(
12575 VCVTPS2PHX512RM,
12576 op0.as_operand(),
12577 op1.as_operand(),
12578 &NOREG,
12579 &NOREG,
12580 );
12581 }
12582}
12583
12584pub trait Vcvtps2phxErEmitter<A, B> {
12596 fn vcvtps2phx_er(&mut self, op0: A, op1: B);
12597}
12598
12599impl<'a> Vcvtps2phxErEmitter<Ymm, Zmm> for Assembler<'a> {
12600 fn vcvtps2phx_er(&mut self, op0: Ymm, op1: Zmm) {
12601 self.emit(
12602 VCVTPS2PHX512RR_ER,
12603 op0.as_operand(),
12604 op1.as_operand(),
12605 &NOREG,
12606 &NOREG,
12607 );
12608 }
12609}
12610
12611pub trait Vcvtps2phxMaskEmitter<A, B> {
12627 fn vcvtps2phx_mask(&mut self, op0: A, op1: B);
12628}
12629
12630impl<'a> Vcvtps2phxMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12631 fn vcvtps2phx_mask(&mut self, op0: Xmm, op1: Xmm) {
12632 self.emit(
12633 VCVTPS2PHX128RR_MASK,
12634 op0.as_operand(),
12635 op1.as_operand(),
12636 &NOREG,
12637 &NOREG,
12638 );
12639 }
12640}
12641
12642impl<'a> Vcvtps2phxMaskEmitter<Xmm, Mem> for Assembler<'a> {
12643 fn vcvtps2phx_mask(&mut self, op0: Xmm, op1: Mem) {
12644 self.emit(
12645 VCVTPS2PHX128RM_MASK,
12646 op0.as_operand(),
12647 op1.as_operand(),
12648 &NOREG,
12649 &NOREG,
12650 );
12651 }
12652}
12653
12654impl<'a> Vcvtps2phxMaskEmitter<Xmm, Ymm> for Assembler<'a> {
12655 fn vcvtps2phx_mask(&mut self, op0: Xmm, op1: Ymm) {
12656 self.emit(
12657 VCVTPS2PHX256RR_MASK,
12658 op0.as_operand(),
12659 op1.as_operand(),
12660 &NOREG,
12661 &NOREG,
12662 );
12663 }
12664}
12665
12666impl<'a> Vcvtps2phxMaskEmitter<Ymm, Zmm> for Assembler<'a> {
12667 fn vcvtps2phx_mask(&mut self, op0: Ymm, op1: Zmm) {
12668 self.emit(
12669 VCVTPS2PHX512RR_MASK,
12670 op0.as_operand(),
12671 op1.as_operand(),
12672 &NOREG,
12673 &NOREG,
12674 );
12675 }
12676}
12677
12678impl<'a> Vcvtps2phxMaskEmitter<Ymm, Mem> for Assembler<'a> {
12679 fn vcvtps2phx_mask(&mut self, op0: Ymm, op1: Mem) {
12680 self.emit(
12681 VCVTPS2PHX512RM_MASK,
12682 op0.as_operand(),
12683 op1.as_operand(),
12684 &NOREG,
12685 &NOREG,
12686 );
12687 }
12688}
12689
12690pub trait Vcvtps2phxMaskErEmitter<A, B> {
12702 fn vcvtps2phx_mask_er(&mut self, op0: A, op1: B);
12703}
12704
12705impl<'a> Vcvtps2phxMaskErEmitter<Ymm, Zmm> for Assembler<'a> {
12706 fn vcvtps2phx_mask_er(&mut self, op0: Ymm, op1: Zmm) {
12707 self.emit(
12708 VCVTPS2PHX512RR_MASK_ER,
12709 op0.as_operand(),
12710 op1.as_operand(),
12711 &NOREG,
12712 &NOREG,
12713 );
12714 }
12715}
12716
12717pub trait Vcvtps2phxMaskzEmitter<A, B> {
12733 fn vcvtps2phx_maskz(&mut self, op0: A, op1: B);
12734}
12735
12736impl<'a> Vcvtps2phxMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12737 fn vcvtps2phx_maskz(&mut self, op0: Xmm, op1: Xmm) {
12738 self.emit(
12739 VCVTPS2PHX128RR_MASKZ,
12740 op0.as_operand(),
12741 op1.as_operand(),
12742 &NOREG,
12743 &NOREG,
12744 );
12745 }
12746}
12747
12748impl<'a> Vcvtps2phxMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12749 fn vcvtps2phx_maskz(&mut self, op0: Xmm, op1: Mem) {
12750 self.emit(
12751 VCVTPS2PHX128RM_MASKZ,
12752 op0.as_operand(),
12753 op1.as_operand(),
12754 &NOREG,
12755 &NOREG,
12756 );
12757 }
12758}
12759
12760impl<'a> Vcvtps2phxMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
12761 fn vcvtps2phx_maskz(&mut self, op0: Xmm, op1: Ymm) {
12762 self.emit(
12763 VCVTPS2PHX256RR_MASKZ,
12764 op0.as_operand(),
12765 op1.as_operand(),
12766 &NOREG,
12767 &NOREG,
12768 );
12769 }
12770}
12771
12772impl<'a> Vcvtps2phxMaskzEmitter<Ymm, Zmm> for Assembler<'a> {
12773 fn vcvtps2phx_maskz(&mut self, op0: Ymm, op1: Zmm) {
12774 self.emit(
12775 VCVTPS2PHX512RR_MASKZ,
12776 op0.as_operand(),
12777 op1.as_operand(),
12778 &NOREG,
12779 &NOREG,
12780 );
12781 }
12782}
12783
12784impl<'a> Vcvtps2phxMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12785 fn vcvtps2phx_maskz(&mut self, op0: Ymm, op1: Mem) {
12786 self.emit(
12787 VCVTPS2PHX512RM_MASKZ,
12788 op0.as_operand(),
12789 op1.as_operand(),
12790 &NOREG,
12791 &NOREG,
12792 );
12793 }
12794}
12795
12796pub trait Vcvtps2phxMaskzErEmitter<A, B> {
12808 fn vcvtps2phx_maskz_er(&mut self, op0: A, op1: B);
12809}
12810
12811impl<'a> Vcvtps2phxMaskzErEmitter<Ymm, Zmm> for Assembler<'a> {
12812 fn vcvtps2phx_maskz_er(&mut self, op0: Ymm, op1: Zmm) {
12813 self.emit(
12814 VCVTPS2PHX512RR_MASKZ_ER,
12815 op0.as_operand(),
12816 op1.as_operand(),
12817 &NOREG,
12818 &NOREG,
12819 );
12820 }
12821}
12822
12823pub trait Vcvtqq2phEmitter<A, B> {
12838 fn vcvtqq2ph(&mut self, op0: A, op1: B);
12839}
12840
12841impl<'a> Vcvtqq2phEmitter<Xmm, Xmm> for Assembler<'a> {
12842 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Xmm) {
12843 self.emit(
12844 VCVTQQ2PH128RR,
12845 op0.as_operand(),
12846 op1.as_operand(),
12847 &NOREG,
12848 &NOREG,
12849 );
12850 }
12851}
12852
12853impl<'a> Vcvtqq2phEmitter<Xmm, Mem> for Assembler<'a> {
12854 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Mem) {
12855 self.emit(
12856 VCVTQQ2PH128RM,
12857 op0.as_operand(),
12858 op1.as_operand(),
12859 &NOREG,
12860 &NOREG,
12861 );
12862 }
12863}
12864
12865impl<'a> Vcvtqq2phEmitter<Xmm, Ymm> for Assembler<'a> {
12866 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Ymm) {
12867 self.emit(
12868 VCVTQQ2PH256RR,
12869 op0.as_operand(),
12870 op1.as_operand(),
12871 &NOREG,
12872 &NOREG,
12873 );
12874 }
12875}
12876
12877impl<'a> Vcvtqq2phEmitter<Xmm, Zmm> for Assembler<'a> {
12878 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Zmm) {
12879 self.emit(
12880 VCVTQQ2PH512RR,
12881 op0.as_operand(),
12882 op1.as_operand(),
12883 &NOREG,
12884 &NOREG,
12885 );
12886 }
12887}
12888
12889pub trait Vcvtqq2phErEmitter<A, B> {
12901 fn vcvtqq2ph_er(&mut self, op0: A, op1: B);
12902}
12903
12904impl<'a> Vcvtqq2phErEmitter<Xmm, Zmm> for Assembler<'a> {
12905 fn vcvtqq2ph_er(&mut self, op0: Xmm, op1: Zmm) {
12906 self.emit(
12907 VCVTQQ2PH512RR_ER,
12908 op0.as_operand(),
12909 op1.as_operand(),
12910 &NOREG,
12911 &NOREG,
12912 );
12913 }
12914}
12915
12916pub trait Vcvtqq2phMaskEmitter<A, B> {
12931 fn vcvtqq2ph_mask(&mut self, op0: A, op1: B);
12932}
12933
12934impl<'a> Vcvtqq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12935 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
12936 self.emit(
12937 VCVTQQ2PH128RR_MASK,
12938 op0.as_operand(),
12939 op1.as_operand(),
12940 &NOREG,
12941 &NOREG,
12942 );
12943 }
12944}
12945
12946impl<'a> Vcvtqq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
12947 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
12948 self.emit(
12949 VCVTQQ2PH128RM_MASK,
12950 op0.as_operand(),
12951 op1.as_operand(),
12952 &NOREG,
12953 &NOREG,
12954 );
12955 }
12956}
12957
12958impl<'a> Vcvtqq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
12959 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
12960 self.emit(
12961 VCVTQQ2PH256RR_MASK,
12962 op0.as_operand(),
12963 op1.as_operand(),
12964 &NOREG,
12965 &NOREG,
12966 );
12967 }
12968}
12969
12970impl<'a> Vcvtqq2phMaskEmitter<Xmm, Zmm> for Assembler<'a> {
12971 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Zmm) {
12972 self.emit(
12973 VCVTQQ2PH512RR_MASK,
12974 op0.as_operand(),
12975 op1.as_operand(),
12976 &NOREG,
12977 &NOREG,
12978 );
12979 }
12980}
12981
12982pub trait Vcvtqq2phMaskErEmitter<A, B> {
12994 fn vcvtqq2ph_mask_er(&mut self, op0: A, op1: B);
12995}
12996
12997impl<'a> Vcvtqq2phMaskErEmitter<Xmm, Zmm> for Assembler<'a> {
12998 fn vcvtqq2ph_mask_er(&mut self, op0: Xmm, op1: Zmm) {
12999 self.emit(
13000 VCVTQQ2PH512RR_MASK_ER,
13001 op0.as_operand(),
13002 op1.as_operand(),
13003 &NOREG,
13004 &NOREG,
13005 );
13006 }
13007}
13008
13009pub trait Vcvtqq2phMaskzEmitter<A, B> {
13024 fn vcvtqq2ph_maskz(&mut self, op0: A, op1: B);
13025}
13026
13027impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
13028 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
13029 self.emit(
13030 VCVTQQ2PH128RR_MASKZ,
13031 op0.as_operand(),
13032 op1.as_operand(),
13033 &NOREG,
13034 &NOREG,
13035 );
13036 }
13037}
13038
13039impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
13040 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
13041 self.emit(
13042 VCVTQQ2PH128RM_MASKZ,
13043 op0.as_operand(),
13044 op1.as_operand(),
13045 &NOREG,
13046 &NOREG,
13047 );
13048 }
13049}
13050
13051impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
13052 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
13053 self.emit(
13054 VCVTQQ2PH256RR_MASKZ,
13055 op0.as_operand(),
13056 op1.as_operand(),
13057 &NOREG,
13058 &NOREG,
13059 );
13060 }
13061}
13062
13063impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Zmm> for Assembler<'a> {
13064 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Zmm) {
13065 self.emit(
13066 VCVTQQ2PH512RR_MASKZ,
13067 op0.as_operand(),
13068 op1.as_operand(),
13069 &NOREG,
13070 &NOREG,
13071 );
13072 }
13073}
13074
13075pub trait Vcvtqq2phMaskzErEmitter<A, B> {
13087 fn vcvtqq2ph_maskz_er(&mut self, op0: A, op1: B);
13088}
13089
13090impl<'a> Vcvtqq2phMaskzErEmitter<Xmm, Zmm> for Assembler<'a> {
13091 fn vcvtqq2ph_maskz_er(&mut self, op0: Xmm, op1: Zmm) {
13092 self.emit(
13093 VCVTQQ2PH512RR_MASKZ_ER,
13094 op0.as_operand(),
13095 op1.as_operand(),
13096 &NOREG,
13097 &NOREG,
13098 );
13099 }
13100}
13101
13102pub trait Vcvtsd2shEmitter<A, B, C> {
13115 fn vcvtsd2sh(&mut self, op0: A, op1: B, op2: C);
13116}
13117
13118impl<'a> Vcvtsd2shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13119 fn vcvtsd2sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13120 self.emit(
13121 VCVTSD2SHRRR,
13122 op0.as_operand(),
13123 op1.as_operand(),
13124 op2.as_operand(),
13125 &NOREG,
13126 );
13127 }
13128}
13129
13130impl<'a> Vcvtsd2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13131 fn vcvtsd2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13132 self.emit(
13133 VCVTSD2SHRRM,
13134 op0.as_operand(),
13135 op1.as_operand(),
13136 op2.as_operand(),
13137 &NOREG,
13138 );
13139 }
13140}
13141
13142pub trait Vcvtsd2shErEmitter<A, B, C> {
13154 fn vcvtsd2sh_er(&mut self, op0: A, op1: B, op2: C);
13155}
13156
13157impl<'a> Vcvtsd2shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13158 fn vcvtsd2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13159 self.emit(
13160 VCVTSD2SHRRR_ER,
13161 op0.as_operand(),
13162 op1.as_operand(),
13163 op2.as_operand(),
13164 &NOREG,
13165 );
13166 }
13167}
13168
13169pub trait Vcvtsd2shMaskEmitter<A, B, C> {
13182 fn vcvtsd2sh_mask(&mut self, op0: A, op1: B, op2: C);
13183}
13184
13185impl<'a> Vcvtsd2shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13186 fn vcvtsd2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13187 self.emit(
13188 VCVTSD2SHRRR_MASK,
13189 op0.as_operand(),
13190 op1.as_operand(),
13191 op2.as_operand(),
13192 &NOREG,
13193 );
13194 }
13195}
13196
13197impl<'a> Vcvtsd2shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13198 fn vcvtsd2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13199 self.emit(
13200 VCVTSD2SHRRM_MASK,
13201 op0.as_operand(),
13202 op1.as_operand(),
13203 op2.as_operand(),
13204 &NOREG,
13205 );
13206 }
13207}
13208
13209pub trait Vcvtsd2shMaskErEmitter<A, B, C> {
13221 fn vcvtsd2sh_mask_er(&mut self, op0: A, op1: B, op2: C);
13222}
13223
13224impl<'a> Vcvtsd2shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13225 fn vcvtsd2sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13226 self.emit(
13227 VCVTSD2SHRRR_MASK_ER,
13228 op0.as_operand(),
13229 op1.as_operand(),
13230 op2.as_operand(),
13231 &NOREG,
13232 );
13233 }
13234}
13235
13236pub trait Vcvtsd2shMaskzEmitter<A, B, C> {
13249 fn vcvtsd2sh_maskz(&mut self, op0: A, op1: B, op2: C);
13250}
13251
13252impl<'a> Vcvtsd2shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13253 fn vcvtsd2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13254 self.emit(
13255 VCVTSD2SHRRR_MASKZ,
13256 op0.as_operand(),
13257 op1.as_operand(),
13258 op2.as_operand(),
13259 &NOREG,
13260 );
13261 }
13262}
13263
13264impl<'a> Vcvtsd2shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13265 fn vcvtsd2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13266 self.emit(
13267 VCVTSD2SHRRM_MASKZ,
13268 op0.as_operand(),
13269 op1.as_operand(),
13270 op2.as_operand(),
13271 &NOREG,
13272 );
13273 }
13274}
13275
13276pub trait Vcvtsd2shMaskzErEmitter<A, B, C> {
13288 fn vcvtsd2sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
13289}
13290
13291impl<'a> Vcvtsd2shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13292 fn vcvtsd2sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13293 self.emit(
13294 VCVTSD2SHRRR_MASKZ_ER,
13295 op0.as_operand(),
13296 op1.as_operand(),
13297 op2.as_operand(),
13298 &NOREG,
13299 );
13300 }
13301}
13302
13303pub trait Vcvtsh2sdEmitter<A, B, C> {
13316 fn vcvtsh2sd(&mut self, op0: A, op1: B, op2: C);
13317}
13318
13319impl<'a> Vcvtsh2sdEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13320 fn vcvtsh2sd(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13321 self.emit(
13322 VCVTSH2SDRRR,
13323 op0.as_operand(),
13324 op1.as_operand(),
13325 op2.as_operand(),
13326 &NOREG,
13327 );
13328 }
13329}
13330
13331impl<'a> Vcvtsh2sdEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13332 fn vcvtsh2sd(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13333 self.emit(
13334 VCVTSH2SDRRM,
13335 op0.as_operand(),
13336 op1.as_operand(),
13337 op2.as_operand(),
13338 &NOREG,
13339 );
13340 }
13341}
13342
13343pub trait Vcvtsh2sdMaskEmitter<A, B, C> {
13356 fn vcvtsh2sd_mask(&mut self, op0: A, op1: B, op2: C);
13357}
13358
13359impl<'a> Vcvtsh2sdMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13360 fn vcvtsh2sd_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13361 self.emit(
13362 VCVTSH2SDRRR_MASK,
13363 op0.as_operand(),
13364 op1.as_operand(),
13365 op2.as_operand(),
13366 &NOREG,
13367 );
13368 }
13369}
13370
13371impl<'a> Vcvtsh2sdMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13372 fn vcvtsh2sd_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13373 self.emit(
13374 VCVTSH2SDRRM_MASK,
13375 op0.as_operand(),
13376 op1.as_operand(),
13377 op2.as_operand(),
13378 &NOREG,
13379 );
13380 }
13381}
13382
13383pub trait Vcvtsh2sdMaskSaeEmitter<A, B, C> {
13395 fn vcvtsh2sd_mask_sae(&mut self, op0: A, op1: B, op2: C);
13396}
13397
13398impl<'a> Vcvtsh2sdMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13399 fn vcvtsh2sd_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13400 self.emit(
13401 VCVTSH2SDRRR_MASK_SAE,
13402 op0.as_operand(),
13403 op1.as_operand(),
13404 op2.as_operand(),
13405 &NOREG,
13406 );
13407 }
13408}
13409
13410pub trait Vcvtsh2sdMaskzEmitter<A, B, C> {
13423 fn vcvtsh2sd_maskz(&mut self, op0: A, op1: B, op2: C);
13424}
13425
13426impl<'a> Vcvtsh2sdMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13427 fn vcvtsh2sd_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13428 self.emit(
13429 VCVTSH2SDRRR_MASKZ,
13430 op0.as_operand(),
13431 op1.as_operand(),
13432 op2.as_operand(),
13433 &NOREG,
13434 );
13435 }
13436}
13437
13438impl<'a> Vcvtsh2sdMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13439 fn vcvtsh2sd_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13440 self.emit(
13441 VCVTSH2SDRRM_MASKZ,
13442 op0.as_operand(),
13443 op1.as_operand(),
13444 op2.as_operand(),
13445 &NOREG,
13446 );
13447 }
13448}
13449
13450pub trait Vcvtsh2sdMaskzSaeEmitter<A, B, C> {
13462 fn vcvtsh2sd_maskz_sae(&mut self, op0: A, op1: B, op2: C);
13463}
13464
13465impl<'a> Vcvtsh2sdMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13466 fn vcvtsh2sd_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13467 self.emit(
13468 VCVTSH2SDRRR_MASKZ_SAE,
13469 op0.as_operand(),
13470 op1.as_operand(),
13471 op2.as_operand(),
13472 &NOREG,
13473 );
13474 }
13475}
13476
13477pub trait Vcvtsh2sdSaeEmitter<A, B, C> {
13489 fn vcvtsh2sd_sae(&mut self, op0: A, op1: B, op2: C);
13490}
13491
13492impl<'a> Vcvtsh2sdSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13493 fn vcvtsh2sd_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13494 self.emit(
13495 VCVTSH2SDRRR_SAE,
13496 op0.as_operand(),
13497 op1.as_operand(),
13498 op2.as_operand(),
13499 &NOREG,
13500 );
13501 }
13502}
13503
13504pub trait Vcvtsh2siEmitter<A, B> {
13519 fn vcvtsh2si(&mut self, op0: A, op1: B);
13520}
13521
13522impl<'a> Vcvtsh2siEmitter<Gpd, Xmm> for Assembler<'a> {
13523 fn vcvtsh2si(&mut self, op0: Gpd, op1: Xmm) {
13524 self.emit(
13525 VCVTSH2SI32RR,
13526 op0.as_operand(),
13527 op1.as_operand(),
13528 &NOREG,
13529 &NOREG,
13530 );
13531 }
13532}
13533
13534impl<'a> Vcvtsh2siEmitter<Gpd, Mem> for Assembler<'a> {
13535 fn vcvtsh2si(&mut self, op0: Gpd, op1: Mem) {
13536 self.emit(
13537 VCVTSH2SI32RM,
13538 op0.as_operand(),
13539 op1.as_operand(),
13540 &NOREG,
13541 &NOREG,
13542 );
13543 }
13544}
13545
13546impl<'a> Vcvtsh2siEmitter<Gpq, Xmm> for Assembler<'a> {
13547 fn vcvtsh2si(&mut self, op0: Gpq, op1: Xmm) {
13548 self.emit(
13549 VCVTSH2SI64RR,
13550 op0.as_operand(),
13551 op1.as_operand(),
13552 &NOREG,
13553 &NOREG,
13554 );
13555 }
13556}
13557
13558impl<'a> Vcvtsh2siEmitter<Gpq, Mem> for Assembler<'a> {
13559 fn vcvtsh2si(&mut self, op0: Gpq, op1: Mem) {
13560 self.emit(
13561 VCVTSH2SI64RM,
13562 op0.as_operand(),
13563 op1.as_operand(),
13564 &NOREG,
13565 &NOREG,
13566 );
13567 }
13568}
13569
13570pub trait Vcvtsh2siErEmitter<A, B> {
13583 fn vcvtsh2si_er(&mut self, op0: A, op1: B);
13584}
13585
13586impl<'a> Vcvtsh2siErEmitter<Gpd, Xmm> for Assembler<'a> {
13587 fn vcvtsh2si_er(&mut self, op0: Gpd, op1: Xmm) {
13588 self.emit(
13589 VCVTSH2SI32RR_ER,
13590 op0.as_operand(),
13591 op1.as_operand(),
13592 &NOREG,
13593 &NOREG,
13594 );
13595 }
13596}
13597
13598impl<'a> Vcvtsh2siErEmitter<Gpq, Xmm> for Assembler<'a> {
13599 fn vcvtsh2si_er(&mut self, op0: Gpq, op1: Xmm) {
13600 self.emit(
13601 VCVTSH2SI64RR_ER,
13602 op0.as_operand(),
13603 op1.as_operand(),
13604 &NOREG,
13605 &NOREG,
13606 );
13607 }
13608}
13609
13610pub trait Vcvtsh2ssEmitter<A, B, C> {
13623 fn vcvtsh2ss(&mut self, op0: A, op1: B, op2: C);
13624}
13625
13626impl<'a> Vcvtsh2ssEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13627 fn vcvtsh2ss(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13628 self.emit(
13629 VCVTSH2SSRRR,
13630 op0.as_operand(),
13631 op1.as_operand(),
13632 op2.as_operand(),
13633 &NOREG,
13634 );
13635 }
13636}
13637
13638impl<'a> Vcvtsh2ssEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13639 fn vcvtsh2ss(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13640 self.emit(
13641 VCVTSH2SSRRM,
13642 op0.as_operand(),
13643 op1.as_operand(),
13644 op2.as_operand(),
13645 &NOREG,
13646 );
13647 }
13648}
13649
13650pub trait Vcvtsh2ssMaskEmitter<A, B, C> {
13663 fn vcvtsh2ss_mask(&mut self, op0: A, op1: B, op2: C);
13664}
13665
13666impl<'a> Vcvtsh2ssMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13667 fn vcvtsh2ss_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13668 self.emit(
13669 VCVTSH2SSRRR_MASK,
13670 op0.as_operand(),
13671 op1.as_operand(),
13672 op2.as_operand(),
13673 &NOREG,
13674 );
13675 }
13676}
13677
13678impl<'a> Vcvtsh2ssMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13679 fn vcvtsh2ss_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13680 self.emit(
13681 VCVTSH2SSRRM_MASK,
13682 op0.as_operand(),
13683 op1.as_operand(),
13684 op2.as_operand(),
13685 &NOREG,
13686 );
13687 }
13688}
13689
13690pub trait Vcvtsh2ssMaskSaeEmitter<A, B, C> {
13702 fn vcvtsh2ss_mask_sae(&mut self, op0: A, op1: B, op2: C);
13703}
13704
13705impl<'a> Vcvtsh2ssMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13706 fn vcvtsh2ss_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13707 self.emit(
13708 VCVTSH2SSRRR_MASK_SAE,
13709 op0.as_operand(),
13710 op1.as_operand(),
13711 op2.as_operand(),
13712 &NOREG,
13713 );
13714 }
13715}
13716
13717pub trait Vcvtsh2ssMaskzEmitter<A, B, C> {
13730 fn vcvtsh2ss_maskz(&mut self, op0: A, op1: B, op2: C);
13731}
13732
13733impl<'a> Vcvtsh2ssMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13734 fn vcvtsh2ss_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13735 self.emit(
13736 VCVTSH2SSRRR_MASKZ,
13737 op0.as_operand(),
13738 op1.as_operand(),
13739 op2.as_operand(),
13740 &NOREG,
13741 );
13742 }
13743}
13744
13745impl<'a> Vcvtsh2ssMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13746 fn vcvtsh2ss_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13747 self.emit(
13748 VCVTSH2SSRRM_MASKZ,
13749 op0.as_operand(),
13750 op1.as_operand(),
13751 op2.as_operand(),
13752 &NOREG,
13753 );
13754 }
13755}
13756
13757pub trait Vcvtsh2ssMaskzSaeEmitter<A, B, C> {
13769 fn vcvtsh2ss_maskz_sae(&mut self, op0: A, op1: B, op2: C);
13770}
13771
13772impl<'a> Vcvtsh2ssMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13773 fn vcvtsh2ss_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13774 self.emit(
13775 VCVTSH2SSRRR_MASKZ_SAE,
13776 op0.as_operand(),
13777 op1.as_operand(),
13778 op2.as_operand(),
13779 &NOREG,
13780 );
13781 }
13782}
13783
13784pub trait Vcvtsh2ssSaeEmitter<A, B, C> {
13796 fn vcvtsh2ss_sae(&mut self, op0: A, op1: B, op2: C);
13797}
13798
13799impl<'a> Vcvtsh2ssSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
13800 fn vcvtsh2ss_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
13801 self.emit(
13802 VCVTSH2SSRRR_SAE,
13803 op0.as_operand(),
13804 op1.as_operand(),
13805 op2.as_operand(),
13806 &NOREG,
13807 );
13808 }
13809}
13810
13811pub trait Vcvtsh2usiEmitter<A, B> {
13826 fn vcvtsh2usi(&mut self, op0: A, op1: B);
13827}
13828
13829impl<'a> Vcvtsh2usiEmitter<Gpd, Xmm> for Assembler<'a> {
13830 fn vcvtsh2usi(&mut self, op0: Gpd, op1: Xmm) {
13831 self.emit(
13832 VCVTSH2USI32RR,
13833 op0.as_operand(),
13834 op1.as_operand(),
13835 &NOREG,
13836 &NOREG,
13837 );
13838 }
13839}
13840
13841impl<'a> Vcvtsh2usiEmitter<Gpd, Mem> for Assembler<'a> {
13842 fn vcvtsh2usi(&mut self, op0: Gpd, op1: Mem) {
13843 self.emit(
13844 VCVTSH2USI32RM,
13845 op0.as_operand(),
13846 op1.as_operand(),
13847 &NOREG,
13848 &NOREG,
13849 );
13850 }
13851}
13852
13853impl<'a> Vcvtsh2usiEmitter<Gpq, Xmm> for Assembler<'a> {
13854 fn vcvtsh2usi(&mut self, op0: Gpq, op1: Xmm) {
13855 self.emit(
13856 VCVTSH2USI64RR,
13857 op0.as_operand(),
13858 op1.as_operand(),
13859 &NOREG,
13860 &NOREG,
13861 );
13862 }
13863}
13864
13865impl<'a> Vcvtsh2usiEmitter<Gpq, Mem> for Assembler<'a> {
13866 fn vcvtsh2usi(&mut self, op0: Gpq, op1: Mem) {
13867 self.emit(
13868 VCVTSH2USI64RM,
13869 op0.as_operand(),
13870 op1.as_operand(),
13871 &NOREG,
13872 &NOREG,
13873 );
13874 }
13875}
13876
13877pub trait Vcvtsh2usiErEmitter<A, B> {
13890 fn vcvtsh2usi_er(&mut self, op0: A, op1: B);
13891}
13892
13893impl<'a> Vcvtsh2usiErEmitter<Gpd, Xmm> for Assembler<'a> {
13894 fn vcvtsh2usi_er(&mut self, op0: Gpd, op1: Xmm) {
13895 self.emit(
13896 VCVTSH2USI32RR_ER,
13897 op0.as_operand(),
13898 op1.as_operand(),
13899 &NOREG,
13900 &NOREG,
13901 );
13902 }
13903}
13904
13905impl<'a> Vcvtsh2usiErEmitter<Gpq, Xmm> for Assembler<'a> {
13906 fn vcvtsh2usi_er(&mut self, op0: Gpq, op1: Xmm) {
13907 self.emit(
13908 VCVTSH2USI64RR_ER,
13909 op0.as_operand(),
13910 op1.as_operand(),
13911 &NOREG,
13912 &NOREG,
13913 );
13914 }
13915}
13916
13917pub trait Vcvtsi2shEmitter<A, B, C> {
13931 fn vcvtsi2sh(&mut self, op0: A, op1: B, op2: C);
13932}
13933
13934impl<'a> Vcvtsi2shEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
13935 fn vcvtsi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
13936 self.emit(
13937 VCVTSI2SH32RRR,
13938 op0.as_operand(),
13939 op1.as_operand(),
13940 op2.as_operand(),
13941 &NOREG,
13942 );
13943 }
13944}
13945
13946impl<'a> Vcvtsi2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
13947 fn vcvtsi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
13948 self.emit(
13949 VCVTSI2SH32RRM,
13950 op0.as_operand(),
13951 op1.as_operand(),
13952 op2.as_operand(),
13953 &NOREG,
13954 );
13955 }
13956}
13957
13958impl<'a> Vcvtsi2shEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
13959 fn vcvtsi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
13960 self.emit(
13961 VCVTSI2SH64RRR,
13962 op0.as_operand(),
13963 op1.as_operand(),
13964 op2.as_operand(),
13965 &NOREG,
13966 );
13967 }
13968}
13969
13970pub trait Vcvtsi2shErEmitter<A, B, C> {
13983 fn vcvtsi2sh_er(&mut self, op0: A, op1: B, op2: C);
13984}
13985
13986impl<'a> Vcvtsi2shErEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
13987 fn vcvtsi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
13988 self.emit(
13989 VCVTSI2SH32RRR_ER,
13990 op0.as_operand(),
13991 op1.as_operand(),
13992 op2.as_operand(),
13993 &NOREG,
13994 );
13995 }
13996}
13997
13998impl<'a> Vcvtsi2shErEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
13999 fn vcvtsi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
14000 self.emit(
14001 VCVTSI2SH64RRR_ER,
14002 op0.as_operand(),
14003 op1.as_operand(),
14004 op2.as_operand(),
14005 &NOREG,
14006 );
14007 }
14008}
14009
14010pub trait Vcvtss2shEmitter<A, B, C> {
14023 fn vcvtss2sh(&mut self, op0: A, op1: B, op2: C);
14024}
14025
14026impl<'a> Vcvtss2shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14027 fn vcvtss2sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14028 self.emit(
14029 VCVTSS2SHRRR,
14030 op0.as_operand(),
14031 op1.as_operand(),
14032 op2.as_operand(),
14033 &NOREG,
14034 );
14035 }
14036}
14037
14038impl<'a> Vcvtss2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14039 fn vcvtss2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14040 self.emit(
14041 VCVTSS2SHRRM,
14042 op0.as_operand(),
14043 op1.as_operand(),
14044 op2.as_operand(),
14045 &NOREG,
14046 );
14047 }
14048}
14049
14050pub trait Vcvtss2shErEmitter<A, B, C> {
14062 fn vcvtss2sh_er(&mut self, op0: A, op1: B, op2: C);
14063}
14064
14065impl<'a> Vcvtss2shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14066 fn vcvtss2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14067 self.emit(
14068 VCVTSS2SHRRR_ER,
14069 op0.as_operand(),
14070 op1.as_operand(),
14071 op2.as_operand(),
14072 &NOREG,
14073 );
14074 }
14075}
14076
14077pub trait Vcvtss2shMaskEmitter<A, B, C> {
14090 fn vcvtss2sh_mask(&mut self, op0: A, op1: B, op2: C);
14091}
14092
14093impl<'a> Vcvtss2shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14094 fn vcvtss2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14095 self.emit(
14096 VCVTSS2SHRRR_MASK,
14097 op0.as_operand(),
14098 op1.as_operand(),
14099 op2.as_operand(),
14100 &NOREG,
14101 );
14102 }
14103}
14104
14105impl<'a> Vcvtss2shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14106 fn vcvtss2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14107 self.emit(
14108 VCVTSS2SHRRM_MASK,
14109 op0.as_operand(),
14110 op1.as_operand(),
14111 op2.as_operand(),
14112 &NOREG,
14113 );
14114 }
14115}
14116
14117pub trait Vcvtss2shMaskErEmitter<A, B, C> {
14129 fn vcvtss2sh_mask_er(&mut self, op0: A, op1: B, op2: C);
14130}
14131
14132impl<'a> Vcvtss2shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14133 fn vcvtss2sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14134 self.emit(
14135 VCVTSS2SHRRR_MASK_ER,
14136 op0.as_operand(),
14137 op1.as_operand(),
14138 op2.as_operand(),
14139 &NOREG,
14140 );
14141 }
14142}
14143
14144pub trait Vcvtss2shMaskzEmitter<A, B, C> {
14157 fn vcvtss2sh_maskz(&mut self, op0: A, op1: B, op2: C);
14158}
14159
14160impl<'a> Vcvtss2shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14161 fn vcvtss2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14162 self.emit(
14163 VCVTSS2SHRRR_MASKZ,
14164 op0.as_operand(),
14165 op1.as_operand(),
14166 op2.as_operand(),
14167 &NOREG,
14168 );
14169 }
14170}
14171
14172impl<'a> Vcvtss2shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14173 fn vcvtss2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14174 self.emit(
14175 VCVTSS2SHRRM_MASKZ,
14176 op0.as_operand(),
14177 op1.as_operand(),
14178 op2.as_operand(),
14179 &NOREG,
14180 );
14181 }
14182}
14183
14184pub trait Vcvtss2shMaskzErEmitter<A, B, C> {
14196 fn vcvtss2sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
14197}
14198
14199impl<'a> Vcvtss2shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14200 fn vcvtss2sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14201 self.emit(
14202 VCVTSS2SHRRR_MASKZ_ER,
14203 op0.as_operand(),
14204 op1.as_operand(),
14205 op2.as_operand(),
14206 &NOREG,
14207 );
14208 }
14209}
14210
14211pub trait Vcvttph2dqEmitter<A, B> {
14228 fn vcvttph2dq(&mut self, op0: A, op1: B);
14229}
14230
14231impl<'a> Vcvttph2dqEmitter<Xmm, Xmm> for Assembler<'a> {
14232 fn vcvttph2dq(&mut self, op0: Xmm, op1: Xmm) {
14233 self.emit(
14234 VCVTTPH2DQ128RR,
14235 op0.as_operand(),
14236 op1.as_operand(),
14237 &NOREG,
14238 &NOREG,
14239 );
14240 }
14241}
14242
14243impl<'a> Vcvttph2dqEmitter<Xmm, Mem> for Assembler<'a> {
14244 fn vcvttph2dq(&mut self, op0: Xmm, op1: Mem) {
14245 self.emit(
14246 VCVTTPH2DQ128RM,
14247 op0.as_operand(),
14248 op1.as_operand(),
14249 &NOREG,
14250 &NOREG,
14251 );
14252 }
14253}
14254
14255impl<'a> Vcvttph2dqEmitter<Ymm, Xmm> for Assembler<'a> {
14256 fn vcvttph2dq(&mut self, op0: Ymm, op1: Xmm) {
14257 self.emit(
14258 VCVTTPH2DQ256RR,
14259 op0.as_operand(),
14260 op1.as_operand(),
14261 &NOREG,
14262 &NOREG,
14263 );
14264 }
14265}
14266
14267impl<'a> Vcvttph2dqEmitter<Ymm, Mem> for Assembler<'a> {
14268 fn vcvttph2dq(&mut self, op0: Ymm, op1: Mem) {
14269 self.emit(
14270 VCVTTPH2DQ256RM,
14271 op0.as_operand(),
14272 op1.as_operand(),
14273 &NOREG,
14274 &NOREG,
14275 );
14276 }
14277}
14278
14279impl<'a> Vcvttph2dqEmitter<Zmm, Ymm> for Assembler<'a> {
14280 fn vcvttph2dq(&mut self, op0: Zmm, op1: Ymm) {
14281 self.emit(
14282 VCVTTPH2DQ512RR,
14283 op0.as_operand(),
14284 op1.as_operand(),
14285 &NOREG,
14286 &NOREG,
14287 );
14288 }
14289}
14290
14291impl<'a> Vcvttph2dqEmitter<Zmm, Mem> for Assembler<'a> {
14292 fn vcvttph2dq(&mut self, op0: Zmm, op1: Mem) {
14293 self.emit(
14294 VCVTTPH2DQ512RM,
14295 op0.as_operand(),
14296 op1.as_operand(),
14297 &NOREG,
14298 &NOREG,
14299 );
14300 }
14301}
14302
14303pub trait Vcvttph2dqMaskEmitter<A, B> {
14320 fn vcvttph2dq_mask(&mut self, op0: A, op1: B);
14321}
14322
14323impl<'a> Vcvttph2dqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
14324 fn vcvttph2dq_mask(&mut self, op0: Xmm, op1: Xmm) {
14325 self.emit(
14326 VCVTTPH2DQ128RR_MASK,
14327 op0.as_operand(),
14328 op1.as_operand(),
14329 &NOREG,
14330 &NOREG,
14331 );
14332 }
14333}
14334
14335impl<'a> Vcvttph2dqMaskEmitter<Xmm, Mem> for Assembler<'a> {
14336 fn vcvttph2dq_mask(&mut self, op0: Xmm, op1: Mem) {
14337 self.emit(
14338 VCVTTPH2DQ128RM_MASK,
14339 op0.as_operand(),
14340 op1.as_operand(),
14341 &NOREG,
14342 &NOREG,
14343 );
14344 }
14345}
14346
14347impl<'a> Vcvttph2dqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
14348 fn vcvttph2dq_mask(&mut self, op0: Ymm, op1: Xmm) {
14349 self.emit(
14350 VCVTTPH2DQ256RR_MASK,
14351 op0.as_operand(),
14352 op1.as_operand(),
14353 &NOREG,
14354 &NOREG,
14355 );
14356 }
14357}
14358
14359impl<'a> Vcvttph2dqMaskEmitter<Ymm, Mem> for Assembler<'a> {
14360 fn vcvttph2dq_mask(&mut self, op0: Ymm, op1: Mem) {
14361 self.emit(
14362 VCVTTPH2DQ256RM_MASK,
14363 op0.as_operand(),
14364 op1.as_operand(),
14365 &NOREG,
14366 &NOREG,
14367 );
14368 }
14369}
14370
14371impl<'a> Vcvttph2dqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
14372 fn vcvttph2dq_mask(&mut self, op0: Zmm, op1: Ymm) {
14373 self.emit(
14374 VCVTTPH2DQ512RR_MASK,
14375 op0.as_operand(),
14376 op1.as_operand(),
14377 &NOREG,
14378 &NOREG,
14379 );
14380 }
14381}
14382
14383impl<'a> Vcvttph2dqMaskEmitter<Zmm, Mem> for Assembler<'a> {
14384 fn vcvttph2dq_mask(&mut self, op0: Zmm, op1: Mem) {
14385 self.emit(
14386 VCVTTPH2DQ512RM_MASK,
14387 op0.as_operand(),
14388 op1.as_operand(),
14389 &NOREG,
14390 &NOREG,
14391 );
14392 }
14393}
14394
14395pub trait Vcvttph2dqMaskSaeEmitter<A, B> {
14407 fn vcvttph2dq_mask_sae(&mut self, op0: A, op1: B);
14408}
14409
14410impl<'a> Vcvttph2dqMaskSaeEmitter<Zmm, Ymm> for Assembler<'a> {
14411 fn vcvttph2dq_mask_sae(&mut self, op0: Zmm, op1: Ymm) {
14412 self.emit(
14413 VCVTTPH2DQ512RR_MASK_SAE,
14414 op0.as_operand(),
14415 op1.as_operand(),
14416 &NOREG,
14417 &NOREG,
14418 );
14419 }
14420}
14421
14422pub trait Vcvttph2dqMaskzEmitter<A, B> {
14439 fn vcvttph2dq_maskz(&mut self, op0: A, op1: B);
14440}
14441
14442impl<'a> Vcvttph2dqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
14443 fn vcvttph2dq_maskz(&mut self, op0: Xmm, op1: Xmm) {
14444 self.emit(
14445 VCVTTPH2DQ128RR_MASKZ,
14446 op0.as_operand(),
14447 op1.as_operand(),
14448 &NOREG,
14449 &NOREG,
14450 );
14451 }
14452}
14453
14454impl<'a> Vcvttph2dqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
14455 fn vcvttph2dq_maskz(&mut self, op0: Xmm, op1: Mem) {
14456 self.emit(
14457 VCVTTPH2DQ128RM_MASKZ,
14458 op0.as_operand(),
14459 op1.as_operand(),
14460 &NOREG,
14461 &NOREG,
14462 );
14463 }
14464}
14465
14466impl<'a> Vcvttph2dqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
14467 fn vcvttph2dq_maskz(&mut self, op0: Ymm, op1: Xmm) {
14468 self.emit(
14469 VCVTTPH2DQ256RR_MASKZ,
14470 op0.as_operand(),
14471 op1.as_operand(),
14472 &NOREG,
14473 &NOREG,
14474 );
14475 }
14476}
14477
14478impl<'a> Vcvttph2dqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
14479 fn vcvttph2dq_maskz(&mut self, op0: Ymm, op1: Mem) {
14480 self.emit(
14481 VCVTTPH2DQ256RM_MASKZ,
14482 op0.as_operand(),
14483 op1.as_operand(),
14484 &NOREG,
14485 &NOREG,
14486 );
14487 }
14488}
14489
14490impl<'a> Vcvttph2dqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
14491 fn vcvttph2dq_maskz(&mut self, op0: Zmm, op1: Ymm) {
14492 self.emit(
14493 VCVTTPH2DQ512RR_MASKZ,
14494 op0.as_operand(),
14495 op1.as_operand(),
14496 &NOREG,
14497 &NOREG,
14498 );
14499 }
14500}
14501
14502impl<'a> Vcvttph2dqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
14503 fn vcvttph2dq_maskz(&mut self, op0: Zmm, op1: Mem) {
14504 self.emit(
14505 VCVTTPH2DQ512RM_MASKZ,
14506 op0.as_operand(),
14507 op1.as_operand(),
14508 &NOREG,
14509 &NOREG,
14510 );
14511 }
14512}
14513
14514pub trait Vcvttph2dqMaskzSaeEmitter<A, B> {
14526 fn vcvttph2dq_maskz_sae(&mut self, op0: A, op1: B);
14527}
14528
14529impl<'a> Vcvttph2dqMaskzSaeEmitter<Zmm, Ymm> for Assembler<'a> {
14530 fn vcvttph2dq_maskz_sae(&mut self, op0: Zmm, op1: Ymm) {
14531 self.emit(
14532 VCVTTPH2DQ512RR_MASKZ_SAE,
14533 op0.as_operand(),
14534 op1.as_operand(),
14535 &NOREG,
14536 &NOREG,
14537 );
14538 }
14539}
14540
14541pub trait Vcvttph2dqSaeEmitter<A, B> {
14553 fn vcvttph2dq_sae(&mut self, op0: A, op1: B);
14554}
14555
14556impl<'a> Vcvttph2dqSaeEmitter<Zmm, Ymm> for Assembler<'a> {
14557 fn vcvttph2dq_sae(&mut self, op0: Zmm, op1: Ymm) {
14558 self.emit(
14559 VCVTTPH2DQ512RR_SAE,
14560 op0.as_operand(),
14561 op1.as_operand(),
14562 &NOREG,
14563 &NOREG,
14564 );
14565 }
14566}
14567
14568pub trait Vcvttph2qqEmitter<A, B> {
14585 fn vcvttph2qq(&mut self, op0: A, op1: B);
14586}
14587
14588impl<'a> Vcvttph2qqEmitter<Xmm, Xmm> for Assembler<'a> {
14589 fn vcvttph2qq(&mut self, op0: Xmm, op1: Xmm) {
14590 self.emit(
14591 VCVTTPH2QQ128RR,
14592 op0.as_operand(),
14593 op1.as_operand(),
14594 &NOREG,
14595 &NOREG,
14596 );
14597 }
14598}
14599
14600impl<'a> Vcvttph2qqEmitter<Xmm, Mem> for Assembler<'a> {
14601 fn vcvttph2qq(&mut self, op0: Xmm, op1: Mem) {
14602 self.emit(
14603 VCVTTPH2QQ128RM,
14604 op0.as_operand(),
14605 op1.as_operand(),
14606 &NOREG,
14607 &NOREG,
14608 );
14609 }
14610}
14611
14612impl<'a> Vcvttph2qqEmitter<Ymm, Xmm> for Assembler<'a> {
14613 fn vcvttph2qq(&mut self, op0: Ymm, op1: Xmm) {
14614 self.emit(
14615 VCVTTPH2QQ256RR,
14616 op0.as_operand(),
14617 op1.as_operand(),
14618 &NOREG,
14619 &NOREG,
14620 );
14621 }
14622}
14623
14624impl<'a> Vcvttph2qqEmitter<Ymm, Mem> for Assembler<'a> {
14625 fn vcvttph2qq(&mut self, op0: Ymm, op1: Mem) {
14626 self.emit(
14627 VCVTTPH2QQ256RM,
14628 op0.as_operand(),
14629 op1.as_operand(),
14630 &NOREG,
14631 &NOREG,
14632 );
14633 }
14634}
14635
14636impl<'a> Vcvttph2qqEmitter<Zmm, Xmm> for Assembler<'a> {
14637 fn vcvttph2qq(&mut self, op0: Zmm, op1: Xmm) {
14638 self.emit(
14639 VCVTTPH2QQ512RR,
14640 op0.as_operand(),
14641 op1.as_operand(),
14642 &NOREG,
14643 &NOREG,
14644 );
14645 }
14646}
14647
14648impl<'a> Vcvttph2qqEmitter<Zmm, Mem> for Assembler<'a> {
14649 fn vcvttph2qq(&mut self, op0: Zmm, op1: Mem) {
14650 self.emit(
14651 VCVTTPH2QQ512RM,
14652 op0.as_operand(),
14653 op1.as_operand(),
14654 &NOREG,
14655 &NOREG,
14656 );
14657 }
14658}
14659
14660pub trait Vcvttph2qqMaskEmitter<A, B> {
14677 fn vcvttph2qq_mask(&mut self, op0: A, op1: B);
14678}
14679
14680impl<'a> Vcvttph2qqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
14681 fn vcvttph2qq_mask(&mut self, op0: Xmm, op1: Xmm) {
14682 self.emit(
14683 VCVTTPH2QQ128RR_MASK,
14684 op0.as_operand(),
14685 op1.as_operand(),
14686 &NOREG,
14687 &NOREG,
14688 );
14689 }
14690}
14691
14692impl<'a> Vcvttph2qqMaskEmitter<Xmm, Mem> for Assembler<'a> {
14693 fn vcvttph2qq_mask(&mut self, op0: Xmm, op1: Mem) {
14694 self.emit(
14695 VCVTTPH2QQ128RM_MASK,
14696 op0.as_operand(),
14697 op1.as_operand(),
14698 &NOREG,
14699 &NOREG,
14700 );
14701 }
14702}
14703
14704impl<'a> Vcvttph2qqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
14705 fn vcvttph2qq_mask(&mut self, op0: Ymm, op1: Xmm) {
14706 self.emit(
14707 VCVTTPH2QQ256RR_MASK,
14708 op0.as_operand(),
14709 op1.as_operand(),
14710 &NOREG,
14711 &NOREG,
14712 );
14713 }
14714}
14715
14716impl<'a> Vcvttph2qqMaskEmitter<Ymm, Mem> for Assembler<'a> {
14717 fn vcvttph2qq_mask(&mut self, op0: Ymm, op1: Mem) {
14718 self.emit(
14719 VCVTTPH2QQ256RM_MASK,
14720 op0.as_operand(),
14721 op1.as_operand(),
14722 &NOREG,
14723 &NOREG,
14724 );
14725 }
14726}
14727
14728impl<'a> Vcvttph2qqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
14729 fn vcvttph2qq_mask(&mut self, op0: Zmm, op1: Xmm) {
14730 self.emit(
14731 VCVTTPH2QQ512RR_MASK,
14732 op0.as_operand(),
14733 op1.as_operand(),
14734 &NOREG,
14735 &NOREG,
14736 );
14737 }
14738}
14739
14740impl<'a> Vcvttph2qqMaskEmitter<Zmm, Mem> for Assembler<'a> {
14741 fn vcvttph2qq_mask(&mut self, op0: Zmm, op1: Mem) {
14742 self.emit(
14743 VCVTTPH2QQ512RM_MASK,
14744 op0.as_operand(),
14745 op1.as_operand(),
14746 &NOREG,
14747 &NOREG,
14748 );
14749 }
14750}
14751
14752pub trait Vcvttph2qqMaskSaeEmitter<A, B> {
14764 fn vcvttph2qq_mask_sae(&mut self, op0: A, op1: B);
14765}
14766
14767impl<'a> Vcvttph2qqMaskSaeEmitter<Zmm, Xmm> for Assembler<'a> {
14768 fn vcvttph2qq_mask_sae(&mut self, op0: Zmm, op1: Xmm) {
14769 self.emit(
14770 VCVTTPH2QQ512RR_MASK_SAE,
14771 op0.as_operand(),
14772 op1.as_operand(),
14773 &NOREG,
14774 &NOREG,
14775 );
14776 }
14777}
14778
14779pub trait Vcvttph2qqMaskzEmitter<A, B> {
14796 fn vcvttph2qq_maskz(&mut self, op0: A, op1: B);
14797}
14798
14799impl<'a> Vcvttph2qqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
14800 fn vcvttph2qq_maskz(&mut self, op0: Xmm, op1: Xmm) {
14801 self.emit(
14802 VCVTTPH2QQ128RR_MASKZ,
14803 op0.as_operand(),
14804 op1.as_operand(),
14805 &NOREG,
14806 &NOREG,
14807 );
14808 }
14809}
14810
14811impl<'a> Vcvttph2qqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
14812 fn vcvttph2qq_maskz(&mut self, op0: Xmm, op1: Mem) {
14813 self.emit(
14814 VCVTTPH2QQ128RM_MASKZ,
14815 op0.as_operand(),
14816 op1.as_operand(),
14817 &NOREG,
14818 &NOREG,
14819 );
14820 }
14821}
14822
14823impl<'a> Vcvttph2qqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
14824 fn vcvttph2qq_maskz(&mut self, op0: Ymm, op1: Xmm) {
14825 self.emit(
14826 VCVTTPH2QQ256RR_MASKZ,
14827 op0.as_operand(),
14828 op1.as_operand(),
14829 &NOREG,
14830 &NOREG,
14831 );
14832 }
14833}
14834
14835impl<'a> Vcvttph2qqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
14836 fn vcvttph2qq_maskz(&mut self, op0: Ymm, op1: Mem) {
14837 self.emit(
14838 VCVTTPH2QQ256RM_MASKZ,
14839 op0.as_operand(),
14840 op1.as_operand(),
14841 &NOREG,
14842 &NOREG,
14843 );
14844 }
14845}
14846
14847impl<'a> Vcvttph2qqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
14848 fn vcvttph2qq_maskz(&mut self, op0: Zmm, op1: Xmm) {
14849 self.emit(
14850 VCVTTPH2QQ512RR_MASKZ,
14851 op0.as_operand(),
14852 op1.as_operand(),
14853 &NOREG,
14854 &NOREG,
14855 );
14856 }
14857}
14858
14859impl<'a> Vcvttph2qqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
14860 fn vcvttph2qq_maskz(&mut self, op0: Zmm, op1: Mem) {
14861 self.emit(
14862 VCVTTPH2QQ512RM_MASKZ,
14863 op0.as_operand(),
14864 op1.as_operand(),
14865 &NOREG,
14866 &NOREG,
14867 );
14868 }
14869}
14870
14871pub trait Vcvttph2qqMaskzSaeEmitter<A, B> {
14883 fn vcvttph2qq_maskz_sae(&mut self, op0: A, op1: B);
14884}
14885
14886impl<'a> Vcvttph2qqMaskzSaeEmitter<Zmm, Xmm> for Assembler<'a> {
14887 fn vcvttph2qq_maskz_sae(&mut self, op0: Zmm, op1: Xmm) {
14888 self.emit(
14889 VCVTTPH2QQ512RR_MASKZ_SAE,
14890 op0.as_operand(),
14891 op1.as_operand(),
14892 &NOREG,
14893 &NOREG,
14894 );
14895 }
14896}
14897
14898pub trait Vcvttph2qqSaeEmitter<A, B> {
14910 fn vcvttph2qq_sae(&mut self, op0: A, op1: B);
14911}
14912
14913impl<'a> Vcvttph2qqSaeEmitter<Zmm, Xmm> for Assembler<'a> {
14914 fn vcvttph2qq_sae(&mut self, op0: Zmm, op1: Xmm) {
14915 self.emit(
14916 VCVTTPH2QQ512RR_SAE,
14917 op0.as_operand(),
14918 op1.as_operand(),
14919 &NOREG,
14920 &NOREG,
14921 );
14922 }
14923}
14924
14925pub trait Vcvttph2udqEmitter<A, B> {
14942 fn vcvttph2udq(&mut self, op0: A, op1: B);
14943}
14944
14945impl<'a> Vcvttph2udqEmitter<Xmm, Xmm> for Assembler<'a> {
14946 fn vcvttph2udq(&mut self, op0: Xmm, op1: Xmm) {
14947 self.emit(
14948 VCVTTPH2UDQ128RR,
14949 op0.as_operand(),
14950 op1.as_operand(),
14951 &NOREG,
14952 &NOREG,
14953 );
14954 }
14955}
14956
14957impl<'a> Vcvttph2udqEmitter<Xmm, Mem> for Assembler<'a> {
14958 fn vcvttph2udq(&mut self, op0: Xmm, op1: Mem) {
14959 self.emit(
14960 VCVTTPH2UDQ128RM,
14961 op0.as_operand(),
14962 op1.as_operand(),
14963 &NOREG,
14964 &NOREG,
14965 );
14966 }
14967}
14968
14969impl<'a> Vcvttph2udqEmitter<Ymm, Xmm> for Assembler<'a> {
14970 fn vcvttph2udq(&mut self, op0: Ymm, op1: Xmm) {
14971 self.emit(
14972 VCVTTPH2UDQ256RR,
14973 op0.as_operand(),
14974 op1.as_operand(),
14975 &NOREG,
14976 &NOREG,
14977 );
14978 }
14979}
14980
14981impl<'a> Vcvttph2udqEmitter<Ymm, Mem> for Assembler<'a> {
14982 fn vcvttph2udq(&mut self, op0: Ymm, op1: Mem) {
14983 self.emit(
14984 VCVTTPH2UDQ256RM,
14985 op0.as_operand(),
14986 op1.as_operand(),
14987 &NOREG,
14988 &NOREG,
14989 );
14990 }
14991}
14992
14993impl<'a> Vcvttph2udqEmitter<Zmm, Ymm> for Assembler<'a> {
14994 fn vcvttph2udq(&mut self, op0: Zmm, op1: Ymm) {
14995 self.emit(
14996 VCVTTPH2UDQ512RR,
14997 op0.as_operand(),
14998 op1.as_operand(),
14999 &NOREG,
15000 &NOREG,
15001 );
15002 }
15003}
15004
15005impl<'a> Vcvttph2udqEmitter<Zmm, Mem> for Assembler<'a> {
15006 fn vcvttph2udq(&mut self, op0: Zmm, op1: Mem) {
15007 self.emit(
15008 VCVTTPH2UDQ512RM,
15009 op0.as_operand(),
15010 op1.as_operand(),
15011 &NOREG,
15012 &NOREG,
15013 );
15014 }
15015}
15016
15017pub trait Vcvttph2udqMaskEmitter<A, B> {
15034 fn vcvttph2udq_mask(&mut self, op0: A, op1: B);
15035}
15036
15037impl<'a> Vcvttph2udqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
15038 fn vcvttph2udq_mask(&mut self, op0: Xmm, op1: Xmm) {
15039 self.emit(
15040 VCVTTPH2UDQ128RR_MASK,
15041 op0.as_operand(),
15042 op1.as_operand(),
15043 &NOREG,
15044 &NOREG,
15045 );
15046 }
15047}
15048
15049impl<'a> Vcvttph2udqMaskEmitter<Xmm, Mem> for Assembler<'a> {
15050 fn vcvttph2udq_mask(&mut self, op0: Xmm, op1: Mem) {
15051 self.emit(
15052 VCVTTPH2UDQ128RM_MASK,
15053 op0.as_operand(),
15054 op1.as_operand(),
15055 &NOREG,
15056 &NOREG,
15057 );
15058 }
15059}
15060
15061impl<'a> Vcvttph2udqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
15062 fn vcvttph2udq_mask(&mut self, op0: Ymm, op1: Xmm) {
15063 self.emit(
15064 VCVTTPH2UDQ256RR_MASK,
15065 op0.as_operand(),
15066 op1.as_operand(),
15067 &NOREG,
15068 &NOREG,
15069 );
15070 }
15071}
15072
15073impl<'a> Vcvttph2udqMaskEmitter<Ymm, Mem> for Assembler<'a> {
15074 fn vcvttph2udq_mask(&mut self, op0: Ymm, op1: Mem) {
15075 self.emit(
15076 VCVTTPH2UDQ256RM_MASK,
15077 op0.as_operand(),
15078 op1.as_operand(),
15079 &NOREG,
15080 &NOREG,
15081 );
15082 }
15083}
15084
15085impl<'a> Vcvttph2udqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
15086 fn vcvttph2udq_mask(&mut self, op0: Zmm, op1: Ymm) {
15087 self.emit(
15088 VCVTTPH2UDQ512RR_MASK,
15089 op0.as_operand(),
15090 op1.as_operand(),
15091 &NOREG,
15092 &NOREG,
15093 );
15094 }
15095}
15096
15097impl<'a> Vcvttph2udqMaskEmitter<Zmm, Mem> for Assembler<'a> {
15098 fn vcvttph2udq_mask(&mut self, op0: Zmm, op1: Mem) {
15099 self.emit(
15100 VCVTTPH2UDQ512RM_MASK,
15101 op0.as_operand(),
15102 op1.as_operand(),
15103 &NOREG,
15104 &NOREG,
15105 );
15106 }
15107}
15108
15109pub trait Vcvttph2udqMaskSaeEmitter<A, B> {
15121 fn vcvttph2udq_mask_sae(&mut self, op0: A, op1: B);
15122}
15123
15124impl<'a> Vcvttph2udqMaskSaeEmitter<Zmm, Ymm> for Assembler<'a> {
15125 fn vcvttph2udq_mask_sae(&mut self, op0: Zmm, op1: Ymm) {
15126 self.emit(
15127 VCVTTPH2UDQ512RR_MASK_SAE,
15128 op0.as_operand(),
15129 op1.as_operand(),
15130 &NOREG,
15131 &NOREG,
15132 );
15133 }
15134}
15135
15136pub trait Vcvttph2udqMaskzEmitter<A, B> {
15153 fn vcvttph2udq_maskz(&mut self, op0: A, op1: B);
15154}
15155
15156impl<'a> Vcvttph2udqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
15157 fn vcvttph2udq_maskz(&mut self, op0: Xmm, op1: Xmm) {
15158 self.emit(
15159 VCVTTPH2UDQ128RR_MASKZ,
15160 op0.as_operand(),
15161 op1.as_operand(),
15162 &NOREG,
15163 &NOREG,
15164 );
15165 }
15166}
15167
15168impl<'a> Vcvttph2udqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
15169 fn vcvttph2udq_maskz(&mut self, op0: Xmm, op1: Mem) {
15170 self.emit(
15171 VCVTTPH2UDQ128RM_MASKZ,
15172 op0.as_operand(),
15173 op1.as_operand(),
15174 &NOREG,
15175 &NOREG,
15176 );
15177 }
15178}
15179
15180impl<'a> Vcvttph2udqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
15181 fn vcvttph2udq_maskz(&mut self, op0: Ymm, op1: Xmm) {
15182 self.emit(
15183 VCVTTPH2UDQ256RR_MASKZ,
15184 op0.as_operand(),
15185 op1.as_operand(),
15186 &NOREG,
15187 &NOREG,
15188 );
15189 }
15190}
15191
15192impl<'a> Vcvttph2udqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
15193 fn vcvttph2udq_maskz(&mut self, op0: Ymm, op1: Mem) {
15194 self.emit(
15195 VCVTTPH2UDQ256RM_MASKZ,
15196 op0.as_operand(),
15197 op1.as_operand(),
15198 &NOREG,
15199 &NOREG,
15200 );
15201 }
15202}
15203
15204impl<'a> Vcvttph2udqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
15205 fn vcvttph2udq_maskz(&mut self, op0: Zmm, op1: Ymm) {
15206 self.emit(
15207 VCVTTPH2UDQ512RR_MASKZ,
15208 op0.as_operand(),
15209 op1.as_operand(),
15210 &NOREG,
15211 &NOREG,
15212 );
15213 }
15214}
15215
15216impl<'a> Vcvttph2udqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
15217 fn vcvttph2udq_maskz(&mut self, op0: Zmm, op1: Mem) {
15218 self.emit(
15219 VCVTTPH2UDQ512RM_MASKZ,
15220 op0.as_operand(),
15221 op1.as_operand(),
15222 &NOREG,
15223 &NOREG,
15224 );
15225 }
15226}
15227
15228pub trait Vcvttph2udqMaskzSaeEmitter<A, B> {
15240 fn vcvttph2udq_maskz_sae(&mut self, op0: A, op1: B);
15241}
15242
15243impl<'a> Vcvttph2udqMaskzSaeEmitter<Zmm, Ymm> for Assembler<'a> {
15244 fn vcvttph2udq_maskz_sae(&mut self, op0: Zmm, op1: Ymm) {
15245 self.emit(
15246 VCVTTPH2UDQ512RR_MASKZ_SAE,
15247 op0.as_operand(),
15248 op1.as_operand(),
15249 &NOREG,
15250 &NOREG,
15251 );
15252 }
15253}
15254
15255pub trait Vcvttph2udqSaeEmitter<A, B> {
15267 fn vcvttph2udq_sae(&mut self, op0: A, op1: B);
15268}
15269
15270impl<'a> Vcvttph2udqSaeEmitter<Zmm, Ymm> for Assembler<'a> {
15271 fn vcvttph2udq_sae(&mut self, op0: Zmm, op1: Ymm) {
15272 self.emit(
15273 VCVTTPH2UDQ512RR_SAE,
15274 op0.as_operand(),
15275 op1.as_operand(),
15276 &NOREG,
15277 &NOREG,
15278 );
15279 }
15280}
15281
15282pub trait Vcvttph2uqqEmitter<A, B> {
15299 fn vcvttph2uqq(&mut self, op0: A, op1: B);
15300}
15301
15302impl<'a> Vcvttph2uqqEmitter<Xmm, Xmm> for Assembler<'a> {
15303 fn vcvttph2uqq(&mut self, op0: Xmm, op1: Xmm) {
15304 self.emit(
15305 VCVTTPH2UQQ128RR,
15306 op0.as_operand(),
15307 op1.as_operand(),
15308 &NOREG,
15309 &NOREG,
15310 );
15311 }
15312}
15313
15314impl<'a> Vcvttph2uqqEmitter<Xmm, Mem> for Assembler<'a> {
15315 fn vcvttph2uqq(&mut self, op0: Xmm, op1: Mem) {
15316 self.emit(
15317 VCVTTPH2UQQ128RM,
15318 op0.as_operand(),
15319 op1.as_operand(),
15320 &NOREG,
15321 &NOREG,
15322 );
15323 }
15324}
15325
15326impl<'a> Vcvttph2uqqEmitter<Ymm, Xmm> for Assembler<'a> {
15327 fn vcvttph2uqq(&mut self, op0: Ymm, op1: Xmm) {
15328 self.emit(
15329 VCVTTPH2UQQ256RR,
15330 op0.as_operand(),
15331 op1.as_operand(),
15332 &NOREG,
15333 &NOREG,
15334 );
15335 }
15336}
15337
15338impl<'a> Vcvttph2uqqEmitter<Ymm, Mem> for Assembler<'a> {
15339 fn vcvttph2uqq(&mut self, op0: Ymm, op1: Mem) {
15340 self.emit(
15341 VCVTTPH2UQQ256RM,
15342 op0.as_operand(),
15343 op1.as_operand(),
15344 &NOREG,
15345 &NOREG,
15346 );
15347 }
15348}
15349
15350impl<'a> Vcvttph2uqqEmitter<Zmm, Xmm> for Assembler<'a> {
15351 fn vcvttph2uqq(&mut self, op0: Zmm, op1: Xmm) {
15352 self.emit(
15353 VCVTTPH2UQQ512RR,
15354 op0.as_operand(),
15355 op1.as_operand(),
15356 &NOREG,
15357 &NOREG,
15358 );
15359 }
15360}
15361
15362impl<'a> Vcvttph2uqqEmitter<Zmm, Mem> for Assembler<'a> {
15363 fn vcvttph2uqq(&mut self, op0: Zmm, op1: Mem) {
15364 self.emit(
15365 VCVTTPH2UQQ512RM,
15366 op0.as_operand(),
15367 op1.as_operand(),
15368 &NOREG,
15369 &NOREG,
15370 );
15371 }
15372}
15373
15374pub trait Vcvttph2uqqMaskEmitter<A, B> {
15391 fn vcvttph2uqq_mask(&mut self, op0: A, op1: B);
15392}
15393
15394impl<'a> Vcvttph2uqqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
15395 fn vcvttph2uqq_mask(&mut self, op0: Xmm, op1: Xmm) {
15396 self.emit(
15397 VCVTTPH2UQQ128RR_MASK,
15398 op0.as_operand(),
15399 op1.as_operand(),
15400 &NOREG,
15401 &NOREG,
15402 );
15403 }
15404}
15405
15406impl<'a> Vcvttph2uqqMaskEmitter<Xmm, Mem> for Assembler<'a> {
15407 fn vcvttph2uqq_mask(&mut self, op0: Xmm, op1: Mem) {
15408 self.emit(
15409 VCVTTPH2UQQ128RM_MASK,
15410 op0.as_operand(),
15411 op1.as_operand(),
15412 &NOREG,
15413 &NOREG,
15414 );
15415 }
15416}
15417
15418impl<'a> Vcvttph2uqqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
15419 fn vcvttph2uqq_mask(&mut self, op0: Ymm, op1: Xmm) {
15420 self.emit(
15421 VCVTTPH2UQQ256RR_MASK,
15422 op0.as_operand(),
15423 op1.as_operand(),
15424 &NOREG,
15425 &NOREG,
15426 );
15427 }
15428}
15429
15430impl<'a> Vcvttph2uqqMaskEmitter<Ymm, Mem> for Assembler<'a> {
15431 fn vcvttph2uqq_mask(&mut self, op0: Ymm, op1: Mem) {
15432 self.emit(
15433 VCVTTPH2UQQ256RM_MASK,
15434 op0.as_operand(),
15435 op1.as_operand(),
15436 &NOREG,
15437 &NOREG,
15438 );
15439 }
15440}
15441
15442impl<'a> Vcvttph2uqqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
15443 fn vcvttph2uqq_mask(&mut self, op0: Zmm, op1: Xmm) {
15444 self.emit(
15445 VCVTTPH2UQQ512RR_MASK,
15446 op0.as_operand(),
15447 op1.as_operand(),
15448 &NOREG,
15449 &NOREG,
15450 );
15451 }
15452}
15453
15454impl<'a> Vcvttph2uqqMaskEmitter<Zmm, Mem> for Assembler<'a> {
15455 fn vcvttph2uqq_mask(&mut self, op0: Zmm, op1: Mem) {
15456 self.emit(
15457 VCVTTPH2UQQ512RM_MASK,
15458 op0.as_operand(),
15459 op1.as_operand(),
15460 &NOREG,
15461 &NOREG,
15462 );
15463 }
15464}
15465
15466pub trait Vcvttph2uqqMaskSaeEmitter<A, B> {
15478 fn vcvttph2uqq_mask_sae(&mut self, op0: A, op1: B);
15479}
15480
15481impl<'a> Vcvttph2uqqMaskSaeEmitter<Zmm, Xmm> for Assembler<'a> {
15482 fn vcvttph2uqq_mask_sae(&mut self, op0: Zmm, op1: Xmm) {
15483 self.emit(
15484 VCVTTPH2UQQ512RR_MASK_SAE,
15485 op0.as_operand(),
15486 op1.as_operand(),
15487 &NOREG,
15488 &NOREG,
15489 );
15490 }
15491}
15492
15493pub trait Vcvttph2uqqMaskzEmitter<A, B> {
15510 fn vcvttph2uqq_maskz(&mut self, op0: A, op1: B);
15511}
15512
15513impl<'a> Vcvttph2uqqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
15514 fn vcvttph2uqq_maskz(&mut self, op0: Xmm, op1: Xmm) {
15515 self.emit(
15516 VCVTTPH2UQQ128RR_MASKZ,
15517 op0.as_operand(),
15518 op1.as_operand(),
15519 &NOREG,
15520 &NOREG,
15521 );
15522 }
15523}
15524
15525impl<'a> Vcvttph2uqqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
15526 fn vcvttph2uqq_maskz(&mut self, op0: Xmm, op1: Mem) {
15527 self.emit(
15528 VCVTTPH2UQQ128RM_MASKZ,
15529 op0.as_operand(),
15530 op1.as_operand(),
15531 &NOREG,
15532 &NOREG,
15533 );
15534 }
15535}
15536
15537impl<'a> Vcvttph2uqqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
15538 fn vcvttph2uqq_maskz(&mut self, op0: Ymm, op1: Xmm) {
15539 self.emit(
15540 VCVTTPH2UQQ256RR_MASKZ,
15541 op0.as_operand(),
15542 op1.as_operand(),
15543 &NOREG,
15544 &NOREG,
15545 );
15546 }
15547}
15548
15549impl<'a> Vcvttph2uqqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
15550 fn vcvttph2uqq_maskz(&mut self, op0: Ymm, op1: Mem) {
15551 self.emit(
15552 VCVTTPH2UQQ256RM_MASKZ,
15553 op0.as_operand(),
15554 op1.as_operand(),
15555 &NOREG,
15556 &NOREG,
15557 );
15558 }
15559}
15560
15561impl<'a> Vcvttph2uqqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
15562 fn vcvttph2uqq_maskz(&mut self, op0: Zmm, op1: Xmm) {
15563 self.emit(
15564 VCVTTPH2UQQ512RR_MASKZ,
15565 op0.as_operand(),
15566 op1.as_operand(),
15567 &NOREG,
15568 &NOREG,
15569 );
15570 }
15571}
15572
15573impl<'a> Vcvttph2uqqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
15574 fn vcvttph2uqq_maskz(&mut self, op0: Zmm, op1: Mem) {
15575 self.emit(
15576 VCVTTPH2UQQ512RM_MASKZ,
15577 op0.as_operand(),
15578 op1.as_operand(),
15579 &NOREG,
15580 &NOREG,
15581 );
15582 }
15583}
15584
15585pub trait Vcvttph2uqqMaskzSaeEmitter<A, B> {
15597 fn vcvttph2uqq_maskz_sae(&mut self, op0: A, op1: B);
15598}
15599
15600impl<'a> Vcvttph2uqqMaskzSaeEmitter<Zmm, Xmm> for Assembler<'a> {
15601 fn vcvttph2uqq_maskz_sae(&mut self, op0: Zmm, op1: Xmm) {
15602 self.emit(
15603 VCVTTPH2UQQ512RR_MASKZ_SAE,
15604 op0.as_operand(),
15605 op1.as_operand(),
15606 &NOREG,
15607 &NOREG,
15608 );
15609 }
15610}
15611
15612pub trait Vcvttph2uqqSaeEmitter<A, B> {
15624 fn vcvttph2uqq_sae(&mut self, op0: A, op1: B);
15625}
15626
15627impl<'a> Vcvttph2uqqSaeEmitter<Zmm, Xmm> for Assembler<'a> {
15628 fn vcvttph2uqq_sae(&mut self, op0: Zmm, op1: Xmm) {
15629 self.emit(
15630 VCVTTPH2UQQ512RR_SAE,
15631 op0.as_operand(),
15632 op1.as_operand(),
15633 &NOREG,
15634 &NOREG,
15635 );
15636 }
15637}
15638
15639pub trait Vcvttph2uwEmitter<A, B> {
15656 fn vcvttph2uw(&mut self, op0: A, op1: B);
15657}
15658
15659impl<'a> Vcvttph2uwEmitter<Xmm, Xmm> for Assembler<'a> {
15660 fn vcvttph2uw(&mut self, op0: Xmm, op1: Xmm) {
15661 self.emit(
15662 VCVTTPH2UW128RR,
15663 op0.as_operand(),
15664 op1.as_operand(),
15665 &NOREG,
15666 &NOREG,
15667 );
15668 }
15669}
15670
15671impl<'a> Vcvttph2uwEmitter<Xmm, Mem> for Assembler<'a> {
15672 fn vcvttph2uw(&mut self, op0: Xmm, op1: Mem) {
15673 self.emit(
15674 VCVTTPH2UW128RM,
15675 op0.as_operand(),
15676 op1.as_operand(),
15677 &NOREG,
15678 &NOREG,
15679 );
15680 }
15681}
15682
15683impl<'a> Vcvttph2uwEmitter<Ymm, Ymm> for Assembler<'a> {
15684 fn vcvttph2uw(&mut self, op0: Ymm, op1: Ymm) {
15685 self.emit(
15686 VCVTTPH2UW256RR,
15687 op0.as_operand(),
15688 op1.as_operand(),
15689 &NOREG,
15690 &NOREG,
15691 );
15692 }
15693}
15694
15695impl<'a> Vcvttph2uwEmitter<Ymm, Mem> for Assembler<'a> {
15696 fn vcvttph2uw(&mut self, op0: Ymm, op1: Mem) {
15697 self.emit(
15698 VCVTTPH2UW256RM,
15699 op0.as_operand(),
15700 op1.as_operand(),
15701 &NOREG,
15702 &NOREG,
15703 );
15704 }
15705}
15706
15707impl<'a> Vcvttph2uwEmitter<Zmm, Zmm> for Assembler<'a> {
15708 fn vcvttph2uw(&mut self, op0: Zmm, op1: Zmm) {
15709 self.emit(
15710 VCVTTPH2UW512RR,
15711 op0.as_operand(),
15712 op1.as_operand(),
15713 &NOREG,
15714 &NOREG,
15715 );
15716 }
15717}
15718
15719impl<'a> Vcvttph2uwEmitter<Zmm, Mem> for Assembler<'a> {
15720 fn vcvttph2uw(&mut self, op0: Zmm, op1: Mem) {
15721 self.emit(
15722 VCVTTPH2UW512RM,
15723 op0.as_operand(),
15724 op1.as_operand(),
15725 &NOREG,
15726 &NOREG,
15727 );
15728 }
15729}
15730
15731pub trait Vcvttph2uwMaskEmitter<A, B> {
15748 fn vcvttph2uw_mask(&mut self, op0: A, op1: B);
15749}
15750
15751impl<'a> Vcvttph2uwMaskEmitter<Xmm, Xmm> for Assembler<'a> {
15752 fn vcvttph2uw_mask(&mut self, op0: Xmm, op1: Xmm) {
15753 self.emit(
15754 VCVTTPH2UW128RR_MASK,
15755 op0.as_operand(),
15756 op1.as_operand(),
15757 &NOREG,
15758 &NOREG,
15759 );
15760 }
15761}
15762
15763impl<'a> Vcvttph2uwMaskEmitter<Xmm, Mem> for Assembler<'a> {
15764 fn vcvttph2uw_mask(&mut self, op0: Xmm, op1: Mem) {
15765 self.emit(
15766 VCVTTPH2UW128RM_MASK,
15767 op0.as_operand(),
15768 op1.as_operand(),
15769 &NOREG,
15770 &NOREG,
15771 );
15772 }
15773}
15774
15775impl<'a> Vcvttph2uwMaskEmitter<Ymm, Ymm> for Assembler<'a> {
15776 fn vcvttph2uw_mask(&mut self, op0: Ymm, op1: Ymm) {
15777 self.emit(
15778 VCVTTPH2UW256RR_MASK,
15779 op0.as_operand(),
15780 op1.as_operand(),
15781 &NOREG,
15782 &NOREG,
15783 );
15784 }
15785}
15786
15787impl<'a> Vcvttph2uwMaskEmitter<Ymm, Mem> for Assembler<'a> {
15788 fn vcvttph2uw_mask(&mut self, op0: Ymm, op1: Mem) {
15789 self.emit(
15790 VCVTTPH2UW256RM_MASK,
15791 op0.as_operand(),
15792 op1.as_operand(),
15793 &NOREG,
15794 &NOREG,
15795 );
15796 }
15797}
15798
15799impl<'a> Vcvttph2uwMaskEmitter<Zmm, Zmm> for Assembler<'a> {
15800 fn vcvttph2uw_mask(&mut self, op0: Zmm, op1: Zmm) {
15801 self.emit(
15802 VCVTTPH2UW512RR_MASK,
15803 op0.as_operand(),
15804 op1.as_operand(),
15805 &NOREG,
15806 &NOREG,
15807 );
15808 }
15809}
15810
15811impl<'a> Vcvttph2uwMaskEmitter<Zmm, Mem> for Assembler<'a> {
15812 fn vcvttph2uw_mask(&mut self, op0: Zmm, op1: Mem) {
15813 self.emit(
15814 VCVTTPH2UW512RM_MASK,
15815 op0.as_operand(),
15816 op1.as_operand(),
15817 &NOREG,
15818 &NOREG,
15819 );
15820 }
15821}
15822
15823pub trait Vcvttph2uwMaskSaeEmitter<A, B> {
15835 fn vcvttph2uw_mask_sae(&mut self, op0: A, op1: B);
15836}
15837
15838impl<'a> Vcvttph2uwMaskSaeEmitter<Zmm, Zmm> for Assembler<'a> {
15839 fn vcvttph2uw_mask_sae(&mut self, op0: Zmm, op1: Zmm) {
15840 self.emit(
15841 VCVTTPH2UW512RR_MASK_SAE,
15842 op0.as_operand(),
15843 op1.as_operand(),
15844 &NOREG,
15845 &NOREG,
15846 );
15847 }
15848}
15849
15850pub trait Vcvttph2uwMaskzEmitter<A, B> {
15867 fn vcvttph2uw_maskz(&mut self, op0: A, op1: B);
15868}
15869
15870impl<'a> Vcvttph2uwMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
15871 fn vcvttph2uw_maskz(&mut self, op0: Xmm, op1: Xmm) {
15872 self.emit(
15873 VCVTTPH2UW128RR_MASKZ,
15874 op0.as_operand(),
15875 op1.as_operand(),
15876 &NOREG,
15877 &NOREG,
15878 );
15879 }
15880}
15881
15882impl<'a> Vcvttph2uwMaskzEmitter<Xmm, Mem> for Assembler<'a> {
15883 fn vcvttph2uw_maskz(&mut self, op0: Xmm, op1: Mem) {
15884 self.emit(
15885 VCVTTPH2UW128RM_MASKZ,
15886 op0.as_operand(),
15887 op1.as_operand(),
15888 &NOREG,
15889 &NOREG,
15890 );
15891 }
15892}
15893
15894impl<'a> Vcvttph2uwMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
15895 fn vcvttph2uw_maskz(&mut self, op0: Ymm, op1: Ymm) {
15896 self.emit(
15897 VCVTTPH2UW256RR_MASKZ,
15898 op0.as_operand(),
15899 op1.as_operand(),
15900 &NOREG,
15901 &NOREG,
15902 );
15903 }
15904}
15905
15906impl<'a> Vcvttph2uwMaskzEmitter<Ymm, Mem> for Assembler<'a> {
15907 fn vcvttph2uw_maskz(&mut self, op0: Ymm, op1: Mem) {
15908 self.emit(
15909 VCVTTPH2UW256RM_MASKZ,
15910 op0.as_operand(),
15911 op1.as_operand(),
15912 &NOREG,
15913 &NOREG,
15914 );
15915 }
15916}
15917
15918impl<'a> Vcvttph2uwMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
15919 fn vcvttph2uw_maskz(&mut self, op0: Zmm, op1: Zmm) {
15920 self.emit(
15921 VCVTTPH2UW512RR_MASKZ,
15922 op0.as_operand(),
15923 op1.as_operand(),
15924 &NOREG,
15925 &NOREG,
15926 );
15927 }
15928}
15929
15930impl<'a> Vcvttph2uwMaskzEmitter<Zmm, Mem> for Assembler<'a> {
15931 fn vcvttph2uw_maskz(&mut self, op0: Zmm, op1: Mem) {
15932 self.emit(
15933 VCVTTPH2UW512RM_MASKZ,
15934 op0.as_operand(),
15935 op1.as_operand(),
15936 &NOREG,
15937 &NOREG,
15938 );
15939 }
15940}
15941
15942pub trait Vcvttph2uwMaskzSaeEmitter<A, B> {
15954 fn vcvttph2uw_maskz_sae(&mut self, op0: A, op1: B);
15955}
15956
15957impl<'a> Vcvttph2uwMaskzSaeEmitter<Zmm, Zmm> for Assembler<'a> {
15958 fn vcvttph2uw_maskz_sae(&mut self, op0: Zmm, op1: Zmm) {
15959 self.emit(
15960 VCVTTPH2UW512RR_MASKZ_SAE,
15961 op0.as_operand(),
15962 op1.as_operand(),
15963 &NOREG,
15964 &NOREG,
15965 );
15966 }
15967}
15968
15969pub trait Vcvttph2uwSaeEmitter<A, B> {
15981 fn vcvttph2uw_sae(&mut self, op0: A, op1: B);
15982}
15983
15984impl<'a> Vcvttph2uwSaeEmitter<Zmm, Zmm> for Assembler<'a> {
15985 fn vcvttph2uw_sae(&mut self, op0: Zmm, op1: Zmm) {
15986 self.emit(
15987 VCVTTPH2UW512RR_SAE,
15988 op0.as_operand(),
15989 op1.as_operand(),
15990 &NOREG,
15991 &NOREG,
15992 );
15993 }
15994}
15995
15996pub trait Vcvttph2wEmitter<A, B> {
16013 fn vcvttph2w(&mut self, op0: A, op1: B);
16014}
16015
16016impl<'a> Vcvttph2wEmitter<Xmm, Xmm> for Assembler<'a> {
16017 fn vcvttph2w(&mut self, op0: Xmm, op1: Xmm) {
16018 self.emit(
16019 VCVTTPH2W128RR,
16020 op0.as_operand(),
16021 op1.as_operand(),
16022 &NOREG,
16023 &NOREG,
16024 );
16025 }
16026}
16027
16028impl<'a> Vcvttph2wEmitter<Xmm, Mem> for Assembler<'a> {
16029 fn vcvttph2w(&mut self, op0: Xmm, op1: Mem) {
16030 self.emit(
16031 VCVTTPH2W128RM,
16032 op0.as_operand(),
16033 op1.as_operand(),
16034 &NOREG,
16035 &NOREG,
16036 );
16037 }
16038}
16039
16040impl<'a> Vcvttph2wEmitter<Ymm, Ymm> for Assembler<'a> {
16041 fn vcvttph2w(&mut self, op0: Ymm, op1: Ymm) {
16042 self.emit(
16043 VCVTTPH2W256RR,
16044 op0.as_operand(),
16045 op1.as_operand(),
16046 &NOREG,
16047 &NOREG,
16048 );
16049 }
16050}
16051
16052impl<'a> Vcvttph2wEmitter<Ymm, Mem> for Assembler<'a> {
16053 fn vcvttph2w(&mut self, op0: Ymm, op1: Mem) {
16054 self.emit(
16055 VCVTTPH2W256RM,
16056 op0.as_operand(),
16057 op1.as_operand(),
16058 &NOREG,
16059 &NOREG,
16060 );
16061 }
16062}
16063
16064impl<'a> Vcvttph2wEmitter<Zmm, Zmm> for Assembler<'a> {
16065 fn vcvttph2w(&mut self, op0: Zmm, op1: Zmm) {
16066 self.emit(
16067 VCVTTPH2W512RR,
16068 op0.as_operand(),
16069 op1.as_operand(),
16070 &NOREG,
16071 &NOREG,
16072 );
16073 }
16074}
16075
16076impl<'a> Vcvttph2wEmitter<Zmm, Mem> for Assembler<'a> {
16077 fn vcvttph2w(&mut self, op0: Zmm, op1: Mem) {
16078 self.emit(
16079 VCVTTPH2W512RM,
16080 op0.as_operand(),
16081 op1.as_operand(),
16082 &NOREG,
16083 &NOREG,
16084 );
16085 }
16086}
16087
16088pub trait Vcvttph2wMaskEmitter<A, B> {
16105 fn vcvttph2w_mask(&mut self, op0: A, op1: B);
16106}
16107
16108impl<'a> Vcvttph2wMaskEmitter<Xmm, Xmm> for Assembler<'a> {
16109 fn vcvttph2w_mask(&mut self, op0: Xmm, op1: Xmm) {
16110 self.emit(
16111 VCVTTPH2W128RR_MASK,
16112 op0.as_operand(),
16113 op1.as_operand(),
16114 &NOREG,
16115 &NOREG,
16116 );
16117 }
16118}
16119
16120impl<'a> Vcvttph2wMaskEmitter<Xmm, Mem> for Assembler<'a> {
16121 fn vcvttph2w_mask(&mut self, op0: Xmm, op1: Mem) {
16122 self.emit(
16123 VCVTTPH2W128RM_MASK,
16124 op0.as_operand(),
16125 op1.as_operand(),
16126 &NOREG,
16127 &NOREG,
16128 );
16129 }
16130}
16131
16132impl<'a> Vcvttph2wMaskEmitter<Ymm, Ymm> for Assembler<'a> {
16133 fn vcvttph2w_mask(&mut self, op0: Ymm, op1: Ymm) {
16134 self.emit(
16135 VCVTTPH2W256RR_MASK,
16136 op0.as_operand(),
16137 op1.as_operand(),
16138 &NOREG,
16139 &NOREG,
16140 );
16141 }
16142}
16143
16144impl<'a> Vcvttph2wMaskEmitter<Ymm, Mem> for Assembler<'a> {
16145 fn vcvttph2w_mask(&mut self, op0: Ymm, op1: Mem) {
16146 self.emit(
16147 VCVTTPH2W256RM_MASK,
16148 op0.as_operand(),
16149 op1.as_operand(),
16150 &NOREG,
16151 &NOREG,
16152 );
16153 }
16154}
16155
16156impl<'a> Vcvttph2wMaskEmitter<Zmm, Zmm> for Assembler<'a> {
16157 fn vcvttph2w_mask(&mut self, op0: Zmm, op1: Zmm) {
16158 self.emit(
16159 VCVTTPH2W512RR_MASK,
16160 op0.as_operand(),
16161 op1.as_operand(),
16162 &NOREG,
16163 &NOREG,
16164 );
16165 }
16166}
16167
16168impl<'a> Vcvttph2wMaskEmitter<Zmm, Mem> for Assembler<'a> {
16169 fn vcvttph2w_mask(&mut self, op0: Zmm, op1: Mem) {
16170 self.emit(
16171 VCVTTPH2W512RM_MASK,
16172 op0.as_operand(),
16173 op1.as_operand(),
16174 &NOREG,
16175 &NOREG,
16176 );
16177 }
16178}
16179
16180pub trait Vcvttph2wMaskSaeEmitter<A, B> {
16192 fn vcvttph2w_mask_sae(&mut self, op0: A, op1: B);
16193}
16194
16195impl<'a> Vcvttph2wMaskSaeEmitter<Zmm, Zmm> for Assembler<'a> {
16196 fn vcvttph2w_mask_sae(&mut self, op0: Zmm, op1: Zmm) {
16197 self.emit(
16198 VCVTTPH2W512RR_MASK_SAE,
16199 op0.as_operand(),
16200 op1.as_operand(),
16201 &NOREG,
16202 &NOREG,
16203 );
16204 }
16205}
16206
16207pub trait Vcvttph2wMaskzEmitter<A, B> {
16224 fn vcvttph2w_maskz(&mut self, op0: A, op1: B);
16225}
16226
16227impl<'a> Vcvttph2wMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
16228 fn vcvttph2w_maskz(&mut self, op0: Xmm, op1: Xmm) {
16229 self.emit(
16230 VCVTTPH2W128RR_MASKZ,
16231 op0.as_operand(),
16232 op1.as_operand(),
16233 &NOREG,
16234 &NOREG,
16235 );
16236 }
16237}
16238
16239impl<'a> Vcvttph2wMaskzEmitter<Xmm, Mem> for Assembler<'a> {
16240 fn vcvttph2w_maskz(&mut self, op0: Xmm, op1: Mem) {
16241 self.emit(
16242 VCVTTPH2W128RM_MASKZ,
16243 op0.as_operand(),
16244 op1.as_operand(),
16245 &NOREG,
16246 &NOREG,
16247 );
16248 }
16249}
16250
16251impl<'a> Vcvttph2wMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
16252 fn vcvttph2w_maskz(&mut self, op0: Ymm, op1: Ymm) {
16253 self.emit(
16254 VCVTTPH2W256RR_MASKZ,
16255 op0.as_operand(),
16256 op1.as_operand(),
16257 &NOREG,
16258 &NOREG,
16259 );
16260 }
16261}
16262
16263impl<'a> Vcvttph2wMaskzEmitter<Ymm, Mem> for Assembler<'a> {
16264 fn vcvttph2w_maskz(&mut self, op0: Ymm, op1: Mem) {
16265 self.emit(
16266 VCVTTPH2W256RM_MASKZ,
16267 op0.as_operand(),
16268 op1.as_operand(),
16269 &NOREG,
16270 &NOREG,
16271 );
16272 }
16273}
16274
16275impl<'a> Vcvttph2wMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
16276 fn vcvttph2w_maskz(&mut self, op0: Zmm, op1: Zmm) {
16277 self.emit(
16278 VCVTTPH2W512RR_MASKZ,
16279 op0.as_operand(),
16280 op1.as_operand(),
16281 &NOREG,
16282 &NOREG,
16283 );
16284 }
16285}
16286
16287impl<'a> Vcvttph2wMaskzEmitter<Zmm, Mem> for Assembler<'a> {
16288 fn vcvttph2w_maskz(&mut self, op0: Zmm, op1: Mem) {
16289 self.emit(
16290 VCVTTPH2W512RM_MASKZ,
16291 op0.as_operand(),
16292 op1.as_operand(),
16293 &NOREG,
16294 &NOREG,
16295 );
16296 }
16297}
16298
16299pub trait Vcvttph2wMaskzSaeEmitter<A, B> {
16311 fn vcvttph2w_maskz_sae(&mut self, op0: A, op1: B);
16312}
16313
16314impl<'a> Vcvttph2wMaskzSaeEmitter<Zmm, Zmm> for Assembler<'a> {
16315 fn vcvttph2w_maskz_sae(&mut self, op0: Zmm, op1: Zmm) {
16316 self.emit(
16317 VCVTTPH2W512RR_MASKZ_SAE,
16318 op0.as_operand(),
16319 op1.as_operand(),
16320 &NOREG,
16321 &NOREG,
16322 );
16323 }
16324}
16325
16326pub trait Vcvttph2wSaeEmitter<A, B> {
16338 fn vcvttph2w_sae(&mut self, op0: A, op1: B);
16339}
16340
16341impl<'a> Vcvttph2wSaeEmitter<Zmm, Zmm> for Assembler<'a> {
16342 fn vcvttph2w_sae(&mut self, op0: Zmm, op1: Zmm) {
16343 self.emit(
16344 VCVTTPH2W512RR_SAE,
16345 op0.as_operand(),
16346 op1.as_operand(),
16347 &NOREG,
16348 &NOREG,
16349 );
16350 }
16351}
16352
16353pub trait Vcvttsh2siEmitter<A, B> {
16368 fn vcvttsh2si(&mut self, op0: A, op1: B);
16369}
16370
16371impl<'a> Vcvttsh2siEmitter<Gpd, Xmm> for Assembler<'a> {
16372 fn vcvttsh2si(&mut self, op0: Gpd, op1: Xmm) {
16373 self.emit(
16374 VCVTTSH2SI32RR,
16375 op0.as_operand(),
16376 op1.as_operand(),
16377 &NOREG,
16378 &NOREG,
16379 );
16380 }
16381}
16382
16383impl<'a> Vcvttsh2siEmitter<Gpd, Mem> for Assembler<'a> {
16384 fn vcvttsh2si(&mut self, op0: Gpd, op1: Mem) {
16385 self.emit(
16386 VCVTTSH2SI32RM,
16387 op0.as_operand(),
16388 op1.as_operand(),
16389 &NOREG,
16390 &NOREG,
16391 );
16392 }
16393}
16394
16395impl<'a> Vcvttsh2siEmitter<Gpq, Xmm> for Assembler<'a> {
16396 fn vcvttsh2si(&mut self, op0: Gpq, op1: Xmm) {
16397 self.emit(
16398 VCVTTSH2SI64RR,
16399 op0.as_operand(),
16400 op1.as_operand(),
16401 &NOREG,
16402 &NOREG,
16403 );
16404 }
16405}
16406
16407impl<'a> Vcvttsh2siEmitter<Gpq, Mem> for Assembler<'a> {
16408 fn vcvttsh2si(&mut self, op0: Gpq, op1: Mem) {
16409 self.emit(
16410 VCVTTSH2SI64RM,
16411 op0.as_operand(),
16412 op1.as_operand(),
16413 &NOREG,
16414 &NOREG,
16415 );
16416 }
16417}
16418
16419pub trait Vcvttsh2siSaeEmitter<A, B> {
16432 fn vcvttsh2si_sae(&mut self, op0: A, op1: B);
16433}
16434
16435impl<'a> Vcvttsh2siSaeEmitter<Gpd, Xmm> for Assembler<'a> {
16436 fn vcvttsh2si_sae(&mut self, op0: Gpd, op1: Xmm) {
16437 self.emit(
16438 VCVTTSH2SI32RR_SAE,
16439 op0.as_operand(),
16440 op1.as_operand(),
16441 &NOREG,
16442 &NOREG,
16443 );
16444 }
16445}
16446
16447impl<'a> Vcvttsh2siSaeEmitter<Gpq, Xmm> for Assembler<'a> {
16448 fn vcvttsh2si_sae(&mut self, op0: Gpq, op1: Xmm) {
16449 self.emit(
16450 VCVTTSH2SI64RR_SAE,
16451 op0.as_operand(),
16452 op1.as_operand(),
16453 &NOREG,
16454 &NOREG,
16455 );
16456 }
16457}
16458
16459pub trait Vcvttsh2usiEmitter<A, B> {
16474 fn vcvttsh2usi(&mut self, op0: A, op1: B);
16475}
16476
16477impl<'a> Vcvttsh2usiEmitter<Gpd, Xmm> for Assembler<'a> {
16478 fn vcvttsh2usi(&mut self, op0: Gpd, op1: Xmm) {
16479 self.emit(
16480 VCVTTSH2USI32RR,
16481 op0.as_operand(),
16482 op1.as_operand(),
16483 &NOREG,
16484 &NOREG,
16485 );
16486 }
16487}
16488
16489impl<'a> Vcvttsh2usiEmitter<Gpd, Mem> for Assembler<'a> {
16490 fn vcvttsh2usi(&mut self, op0: Gpd, op1: Mem) {
16491 self.emit(
16492 VCVTTSH2USI32RM,
16493 op0.as_operand(),
16494 op1.as_operand(),
16495 &NOREG,
16496 &NOREG,
16497 );
16498 }
16499}
16500
16501impl<'a> Vcvttsh2usiEmitter<Gpq, Xmm> for Assembler<'a> {
16502 fn vcvttsh2usi(&mut self, op0: Gpq, op1: Xmm) {
16503 self.emit(
16504 VCVTTSH2USI64RR,
16505 op0.as_operand(),
16506 op1.as_operand(),
16507 &NOREG,
16508 &NOREG,
16509 );
16510 }
16511}
16512
16513impl<'a> Vcvttsh2usiEmitter<Gpq, Mem> for Assembler<'a> {
16514 fn vcvttsh2usi(&mut self, op0: Gpq, op1: Mem) {
16515 self.emit(
16516 VCVTTSH2USI64RM,
16517 op0.as_operand(),
16518 op1.as_operand(),
16519 &NOREG,
16520 &NOREG,
16521 );
16522 }
16523}
16524
16525pub trait Vcvttsh2usiSaeEmitter<A, B> {
16538 fn vcvttsh2usi_sae(&mut self, op0: A, op1: B);
16539}
16540
16541impl<'a> Vcvttsh2usiSaeEmitter<Gpd, Xmm> for Assembler<'a> {
16542 fn vcvttsh2usi_sae(&mut self, op0: Gpd, op1: Xmm) {
16543 self.emit(
16544 VCVTTSH2USI32RR_SAE,
16545 op0.as_operand(),
16546 op1.as_operand(),
16547 &NOREG,
16548 &NOREG,
16549 );
16550 }
16551}
16552
16553impl<'a> Vcvttsh2usiSaeEmitter<Gpq, Xmm> for Assembler<'a> {
16554 fn vcvttsh2usi_sae(&mut self, op0: Gpq, op1: Xmm) {
16555 self.emit(
16556 VCVTTSH2USI64RR_SAE,
16557 op0.as_operand(),
16558 op1.as_operand(),
16559 &NOREG,
16560 &NOREG,
16561 );
16562 }
16563}
16564
16565pub trait Vcvtudq2phEmitter<A, B> {
16581 fn vcvtudq2ph(&mut self, op0: A, op1: B);
16582}
16583
16584impl<'a> Vcvtudq2phEmitter<Xmm, Xmm> for Assembler<'a> {
16585 fn vcvtudq2ph(&mut self, op0: Xmm, op1: Xmm) {
16586 self.emit(
16587 VCVTUDQ2PH128RR,
16588 op0.as_operand(),
16589 op1.as_operand(),
16590 &NOREG,
16591 &NOREG,
16592 );
16593 }
16594}
16595
16596impl<'a> Vcvtudq2phEmitter<Xmm, Mem> for Assembler<'a> {
16597 fn vcvtudq2ph(&mut self, op0: Xmm, op1: Mem) {
16598 self.emit(
16599 VCVTUDQ2PH128RM,
16600 op0.as_operand(),
16601 op1.as_operand(),
16602 &NOREG,
16603 &NOREG,
16604 );
16605 }
16606}
16607
16608impl<'a> Vcvtudq2phEmitter<Xmm, Ymm> for Assembler<'a> {
16609 fn vcvtudq2ph(&mut self, op0: Xmm, op1: Ymm) {
16610 self.emit(
16611 VCVTUDQ2PH256RR,
16612 op0.as_operand(),
16613 op1.as_operand(),
16614 &NOREG,
16615 &NOREG,
16616 );
16617 }
16618}
16619
16620impl<'a> Vcvtudq2phEmitter<Ymm, Zmm> for Assembler<'a> {
16621 fn vcvtudq2ph(&mut self, op0: Ymm, op1: Zmm) {
16622 self.emit(
16623 VCVTUDQ2PH512RR,
16624 op0.as_operand(),
16625 op1.as_operand(),
16626 &NOREG,
16627 &NOREG,
16628 );
16629 }
16630}
16631
16632impl<'a> Vcvtudq2phEmitter<Ymm, Mem> for Assembler<'a> {
16633 fn vcvtudq2ph(&mut self, op0: Ymm, op1: Mem) {
16634 self.emit(
16635 VCVTUDQ2PH512RM,
16636 op0.as_operand(),
16637 op1.as_operand(),
16638 &NOREG,
16639 &NOREG,
16640 );
16641 }
16642}
16643
16644pub trait Vcvtudq2phErEmitter<A, B> {
16656 fn vcvtudq2ph_er(&mut self, op0: A, op1: B);
16657}
16658
16659impl<'a> Vcvtudq2phErEmitter<Ymm, Zmm> for Assembler<'a> {
16660 fn vcvtudq2ph_er(&mut self, op0: Ymm, op1: Zmm) {
16661 self.emit(
16662 VCVTUDQ2PH512RR_ER,
16663 op0.as_operand(),
16664 op1.as_operand(),
16665 &NOREG,
16666 &NOREG,
16667 );
16668 }
16669}
16670
16671pub trait Vcvtudq2phMaskEmitter<A, B> {
16687 fn vcvtudq2ph_mask(&mut self, op0: A, op1: B);
16688}
16689
16690impl<'a> Vcvtudq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
16691 fn vcvtudq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
16692 self.emit(
16693 VCVTUDQ2PH128RR_MASK,
16694 op0.as_operand(),
16695 op1.as_operand(),
16696 &NOREG,
16697 &NOREG,
16698 );
16699 }
16700}
16701
16702impl<'a> Vcvtudq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
16703 fn vcvtudq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
16704 self.emit(
16705 VCVTUDQ2PH128RM_MASK,
16706 op0.as_operand(),
16707 op1.as_operand(),
16708 &NOREG,
16709 &NOREG,
16710 );
16711 }
16712}
16713
16714impl<'a> Vcvtudq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
16715 fn vcvtudq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
16716 self.emit(
16717 VCVTUDQ2PH256RR_MASK,
16718 op0.as_operand(),
16719 op1.as_operand(),
16720 &NOREG,
16721 &NOREG,
16722 );
16723 }
16724}
16725
16726impl<'a> Vcvtudq2phMaskEmitter<Ymm, Zmm> for Assembler<'a> {
16727 fn vcvtudq2ph_mask(&mut self, op0: Ymm, op1: Zmm) {
16728 self.emit(
16729 VCVTUDQ2PH512RR_MASK,
16730 op0.as_operand(),
16731 op1.as_operand(),
16732 &NOREG,
16733 &NOREG,
16734 );
16735 }
16736}
16737
16738impl<'a> Vcvtudq2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
16739 fn vcvtudq2ph_mask(&mut self, op0: Ymm, op1: Mem) {
16740 self.emit(
16741 VCVTUDQ2PH512RM_MASK,
16742 op0.as_operand(),
16743 op1.as_operand(),
16744 &NOREG,
16745 &NOREG,
16746 );
16747 }
16748}
16749
16750pub trait Vcvtudq2phMaskErEmitter<A, B> {
16762 fn vcvtudq2ph_mask_er(&mut self, op0: A, op1: B);
16763}
16764
16765impl<'a> Vcvtudq2phMaskErEmitter<Ymm, Zmm> for Assembler<'a> {
16766 fn vcvtudq2ph_mask_er(&mut self, op0: Ymm, op1: Zmm) {
16767 self.emit(
16768 VCVTUDQ2PH512RR_MASK_ER,
16769 op0.as_operand(),
16770 op1.as_operand(),
16771 &NOREG,
16772 &NOREG,
16773 );
16774 }
16775}
16776
16777pub trait Vcvtudq2phMaskzEmitter<A, B> {
16793 fn vcvtudq2ph_maskz(&mut self, op0: A, op1: B);
16794}
16795
16796impl<'a> Vcvtudq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
16797 fn vcvtudq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
16798 self.emit(
16799 VCVTUDQ2PH128RR_MASKZ,
16800 op0.as_operand(),
16801 op1.as_operand(),
16802 &NOREG,
16803 &NOREG,
16804 );
16805 }
16806}
16807
16808impl<'a> Vcvtudq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
16809 fn vcvtudq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
16810 self.emit(
16811 VCVTUDQ2PH128RM_MASKZ,
16812 op0.as_operand(),
16813 op1.as_operand(),
16814 &NOREG,
16815 &NOREG,
16816 );
16817 }
16818}
16819
16820impl<'a> Vcvtudq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
16821 fn vcvtudq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
16822 self.emit(
16823 VCVTUDQ2PH256RR_MASKZ,
16824 op0.as_operand(),
16825 op1.as_operand(),
16826 &NOREG,
16827 &NOREG,
16828 );
16829 }
16830}
16831
16832impl<'a> Vcvtudq2phMaskzEmitter<Ymm, Zmm> for Assembler<'a> {
16833 fn vcvtudq2ph_maskz(&mut self, op0: Ymm, op1: Zmm) {
16834 self.emit(
16835 VCVTUDQ2PH512RR_MASKZ,
16836 op0.as_operand(),
16837 op1.as_operand(),
16838 &NOREG,
16839 &NOREG,
16840 );
16841 }
16842}
16843
16844impl<'a> Vcvtudq2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
16845 fn vcvtudq2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
16846 self.emit(
16847 VCVTUDQ2PH512RM_MASKZ,
16848 op0.as_operand(),
16849 op1.as_operand(),
16850 &NOREG,
16851 &NOREG,
16852 );
16853 }
16854}
16855
16856pub trait Vcvtudq2phMaskzErEmitter<A, B> {
16868 fn vcvtudq2ph_maskz_er(&mut self, op0: A, op1: B);
16869}
16870
16871impl<'a> Vcvtudq2phMaskzErEmitter<Ymm, Zmm> for Assembler<'a> {
16872 fn vcvtudq2ph_maskz_er(&mut self, op0: Ymm, op1: Zmm) {
16873 self.emit(
16874 VCVTUDQ2PH512RR_MASKZ_ER,
16875 op0.as_operand(),
16876 op1.as_operand(),
16877 &NOREG,
16878 &NOREG,
16879 );
16880 }
16881}
16882
16883pub trait Vcvtuqq2phEmitter<A, B> {
16898 fn vcvtuqq2ph(&mut self, op0: A, op1: B);
16899}
16900
16901impl<'a> Vcvtuqq2phEmitter<Xmm, Xmm> for Assembler<'a> {
16902 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Xmm) {
16903 self.emit(
16904 VCVTUQQ2PH128RR,
16905 op0.as_operand(),
16906 op1.as_operand(),
16907 &NOREG,
16908 &NOREG,
16909 );
16910 }
16911}
16912
16913impl<'a> Vcvtuqq2phEmitter<Xmm, Mem> for Assembler<'a> {
16914 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Mem) {
16915 self.emit(
16916 VCVTUQQ2PH128RM,
16917 op0.as_operand(),
16918 op1.as_operand(),
16919 &NOREG,
16920 &NOREG,
16921 );
16922 }
16923}
16924
16925impl<'a> Vcvtuqq2phEmitter<Xmm, Ymm> for Assembler<'a> {
16926 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Ymm) {
16927 self.emit(
16928 VCVTUQQ2PH256RR,
16929 op0.as_operand(),
16930 op1.as_operand(),
16931 &NOREG,
16932 &NOREG,
16933 );
16934 }
16935}
16936
16937impl<'a> Vcvtuqq2phEmitter<Xmm, Zmm> for Assembler<'a> {
16938 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Zmm) {
16939 self.emit(
16940 VCVTUQQ2PH512RR,
16941 op0.as_operand(),
16942 op1.as_operand(),
16943 &NOREG,
16944 &NOREG,
16945 );
16946 }
16947}
16948
16949pub trait Vcvtuqq2phErEmitter<A, B> {
16961 fn vcvtuqq2ph_er(&mut self, op0: A, op1: B);
16962}
16963
16964impl<'a> Vcvtuqq2phErEmitter<Xmm, Zmm> for Assembler<'a> {
16965 fn vcvtuqq2ph_er(&mut self, op0: Xmm, op1: Zmm) {
16966 self.emit(
16967 VCVTUQQ2PH512RR_ER,
16968 op0.as_operand(),
16969 op1.as_operand(),
16970 &NOREG,
16971 &NOREG,
16972 );
16973 }
16974}
16975
16976pub trait Vcvtuqq2phMaskEmitter<A, B> {
16991 fn vcvtuqq2ph_mask(&mut self, op0: A, op1: B);
16992}
16993
16994impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
16995 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
16996 self.emit(
16997 VCVTUQQ2PH128RR_MASK,
16998 op0.as_operand(),
16999 op1.as_operand(),
17000 &NOREG,
17001 &NOREG,
17002 );
17003 }
17004}
17005
17006impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
17007 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
17008 self.emit(
17009 VCVTUQQ2PH128RM_MASK,
17010 op0.as_operand(),
17011 op1.as_operand(),
17012 &NOREG,
17013 &NOREG,
17014 );
17015 }
17016}
17017
17018impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
17019 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
17020 self.emit(
17021 VCVTUQQ2PH256RR_MASK,
17022 op0.as_operand(),
17023 op1.as_operand(),
17024 &NOREG,
17025 &NOREG,
17026 );
17027 }
17028}
17029
17030impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Zmm> for Assembler<'a> {
17031 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Zmm) {
17032 self.emit(
17033 VCVTUQQ2PH512RR_MASK,
17034 op0.as_operand(),
17035 op1.as_operand(),
17036 &NOREG,
17037 &NOREG,
17038 );
17039 }
17040}
17041
17042pub trait Vcvtuqq2phMaskErEmitter<A, B> {
17054 fn vcvtuqq2ph_mask_er(&mut self, op0: A, op1: B);
17055}
17056
17057impl<'a> Vcvtuqq2phMaskErEmitter<Xmm, Zmm> for Assembler<'a> {
17058 fn vcvtuqq2ph_mask_er(&mut self, op0: Xmm, op1: Zmm) {
17059 self.emit(
17060 VCVTUQQ2PH512RR_MASK_ER,
17061 op0.as_operand(),
17062 op1.as_operand(),
17063 &NOREG,
17064 &NOREG,
17065 );
17066 }
17067}
17068
17069pub trait Vcvtuqq2phMaskzEmitter<A, B> {
17084 fn vcvtuqq2ph_maskz(&mut self, op0: A, op1: B);
17085}
17086
17087impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
17088 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
17089 self.emit(
17090 VCVTUQQ2PH128RR_MASKZ,
17091 op0.as_operand(),
17092 op1.as_operand(),
17093 &NOREG,
17094 &NOREG,
17095 );
17096 }
17097}
17098
17099impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
17100 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
17101 self.emit(
17102 VCVTUQQ2PH128RM_MASKZ,
17103 op0.as_operand(),
17104 op1.as_operand(),
17105 &NOREG,
17106 &NOREG,
17107 );
17108 }
17109}
17110
17111impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
17112 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
17113 self.emit(
17114 VCVTUQQ2PH256RR_MASKZ,
17115 op0.as_operand(),
17116 op1.as_operand(),
17117 &NOREG,
17118 &NOREG,
17119 );
17120 }
17121}
17122
17123impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Zmm> for Assembler<'a> {
17124 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Zmm) {
17125 self.emit(
17126 VCVTUQQ2PH512RR_MASKZ,
17127 op0.as_operand(),
17128 op1.as_operand(),
17129 &NOREG,
17130 &NOREG,
17131 );
17132 }
17133}
17134
17135pub trait Vcvtuqq2phMaskzErEmitter<A, B> {
17147 fn vcvtuqq2ph_maskz_er(&mut self, op0: A, op1: B);
17148}
17149
17150impl<'a> Vcvtuqq2phMaskzErEmitter<Xmm, Zmm> for Assembler<'a> {
17151 fn vcvtuqq2ph_maskz_er(&mut self, op0: Xmm, op1: Zmm) {
17152 self.emit(
17153 VCVTUQQ2PH512RR_MASKZ_ER,
17154 op0.as_operand(),
17155 op1.as_operand(),
17156 &NOREG,
17157 &NOREG,
17158 );
17159 }
17160}
17161
17162pub trait Vcvtusi2shEmitter<A, B, C> {
17176 fn vcvtusi2sh(&mut self, op0: A, op1: B, op2: C);
17177}
17178
17179impl<'a> Vcvtusi2shEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
17180 fn vcvtusi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
17181 self.emit(
17182 VCVTUSI2SH32RRR,
17183 op0.as_operand(),
17184 op1.as_operand(),
17185 op2.as_operand(),
17186 &NOREG,
17187 );
17188 }
17189}
17190
17191impl<'a> Vcvtusi2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17192 fn vcvtusi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17193 self.emit(
17194 VCVTUSI2SH32RRM,
17195 op0.as_operand(),
17196 op1.as_operand(),
17197 op2.as_operand(),
17198 &NOREG,
17199 );
17200 }
17201}
17202
17203impl<'a> Vcvtusi2shEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
17204 fn vcvtusi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
17205 self.emit(
17206 VCVTUSI2SH64RRR,
17207 op0.as_operand(),
17208 op1.as_operand(),
17209 op2.as_operand(),
17210 &NOREG,
17211 );
17212 }
17213}
17214
17215pub trait Vcvtusi2shErEmitter<A, B, C> {
17228 fn vcvtusi2sh_er(&mut self, op0: A, op1: B, op2: C);
17229}
17230
17231impl<'a> Vcvtusi2shErEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
17232 fn vcvtusi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
17233 self.emit(
17234 VCVTUSI2SH32RRR_ER,
17235 op0.as_operand(),
17236 op1.as_operand(),
17237 op2.as_operand(),
17238 &NOREG,
17239 );
17240 }
17241}
17242
17243impl<'a> Vcvtusi2shErEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
17244 fn vcvtusi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
17245 self.emit(
17246 VCVTUSI2SH64RRR_ER,
17247 op0.as_operand(),
17248 op1.as_operand(),
17249 op2.as_operand(),
17250 &NOREG,
17251 );
17252 }
17253}
17254
17255pub trait Vcvtuw2phEmitter<A, B> {
17272 fn vcvtuw2ph(&mut self, op0: A, op1: B);
17273}
17274
17275impl<'a> Vcvtuw2phEmitter<Xmm, Xmm> for Assembler<'a> {
17276 fn vcvtuw2ph(&mut self, op0: Xmm, op1: Xmm) {
17277 self.emit(
17278 VCVTUW2PH128RR,
17279 op0.as_operand(),
17280 op1.as_operand(),
17281 &NOREG,
17282 &NOREG,
17283 );
17284 }
17285}
17286
17287impl<'a> Vcvtuw2phEmitter<Xmm, Mem> for Assembler<'a> {
17288 fn vcvtuw2ph(&mut self, op0: Xmm, op1: Mem) {
17289 self.emit(
17290 VCVTUW2PH128RM,
17291 op0.as_operand(),
17292 op1.as_operand(),
17293 &NOREG,
17294 &NOREG,
17295 );
17296 }
17297}
17298
17299impl<'a> Vcvtuw2phEmitter<Ymm, Ymm> for Assembler<'a> {
17300 fn vcvtuw2ph(&mut self, op0: Ymm, op1: Ymm) {
17301 self.emit(
17302 VCVTUW2PH256RR,
17303 op0.as_operand(),
17304 op1.as_operand(),
17305 &NOREG,
17306 &NOREG,
17307 );
17308 }
17309}
17310
17311impl<'a> Vcvtuw2phEmitter<Ymm, Mem> for Assembler<'a> {
17312 fn vcvtuw2ph(&mut self, op0: Ymm, op1: Mem) {
17313 self.emit(
17314 VCVTUW2PH256RM,
17315 op0.as_operand(),
17316 op1.as_operand(),
17317 &NOREG,
17318 &NOREG,
17319 );
17320 }
17321}
17322
17323impl<'a> Vcvtuw2phEmitter<Zmm, Zmm> for Assembler<'a> {
17324 fn vcvtuw2ph(&mut self, op0: Zmm, op1: Zmm) {
17325 self.emit(
17326 VCVTUW2PH512RR,
17327 op0.as_operand(),
17328 op1.as_operand(),
17329 &NOREG,
17330 &NOREG,
17331 );
17332 }
17333}
17334
17335impl<'a> Vcvtuw2phEmitter<Zmm, Mem> for Assembler<'a> {
17336 fn vcvtuw2ph(&mut self, op0: Zmm, op1: Mem) {
17337 self.emit(
17338 VCVTUW2PH512RM,
17339 op0.as_operand(),
17340 op1.as_operand(),
17341 &NOREG,
17342 &NOREG,
17343 );
17344 }
17345}
17346
17347pub trait Vcvtuw2phErEmitter<A, B> {
17359 fn vcvtuw2ph_er(&mut self, op0: A, op1: B);
17360}
17361
17362impl<'a> Vcvtuw2phErEmitter<Zmm, Zmm> for Assembler<'a> {
17363 fn vcvtuw2ph_er(&mut self, op0: Zmm, op1: Zmm) {
17364 self.emit(
17365 VCVTUW2PH512RR_ER,
17366 op0.as_operand(),
17367 op1.as_operand(),
17368 &NOREG,
17369 &NOREG,
17370 );
17371 }
17372}
17373
17374pub trait Vcvtuw2phMaskEmitter<A, B> {
17391 fn vcvtuw2ph_mask(&mut self, op0: A, op1: B);
17392}
17393
17394impl<'a> Vcvtuw2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
17395 fn vcvtuw2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
17396 self.emit(
17397 VCVTUW2PH128RR_MASK,
17398 op0.as_operand(),
17399 op1.as_operand(),
17400 &NOREG,
17401 &NOREG,
17402 );
17403 }
17404}
17405
17406impl<'a> Vcvtuw2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
17407 fn vcvtuw2ph_mask(&mut self, op0: Xmm, op1: Mem) {
17408 self.emit(
17409 VCVTUW2PH128RM_MASK,
17410 op0.as_operand(),
17411 op1.as_operand(),
17412 &NOREG,
17413 &NOREG,
17414 );
17415 }
17416}
17417
17418impl<'a> Vcvtuw2phMaskEmitter<Ymm, Ymm> for Assembler<'a> {
17419 fn vcvtuw2ph_mask(&mut self, op0: Ymm, op1: Ymm) {
17420 self.emit(
17421 VCVTUW2PH256RR_MASK,
17422 op0.as_operand(),
17423 op1.as_operand(),
17424 &NOREG,
17425 &NOREG,
17426 );
17427 }
17428}
17429
17430impl<'a> Vcvtuw2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
17431 fn vcvtuw2ph_mask(&mut self, op0: Ymm, op1: Mem) {
17432 self.emit(
17433 VCVTUW2PH256RM_MASK,
17434 op0.as_operand(),
17435 op1.as_operand(),
17436 &NOREG,
17437 &NOREG,
17438 );
17439 }
17440}
17441
17442impl<'a> Vcvtuw2phMaskEmitter<Zmm, Zmm> for Assembler<'a> {
17443 fn vcvtuw2ph_mask(&mut self, op0: Zmm, op1: Zmm) {
17444 self.emit(
17445 VCVTUW2PH512RR_MASK,
17446 op0.as_operand(),
17447 op1.as_operand(),
17448 &NOREG,
17449 &NOREG,
17450 );
17451 }
17452}
17453
17454impl<'a> Vcvtuw2phMaskEmitter<Zmm, Mem> for Assembler<'a> {
17455 fn vcvtuw2ph_mask(&mut self, op0: Zmm, op1: Mem) {
17456 self.emit(
17457 VCVTUW2PH512RM_MASK,
17458 op0.as_operand(),
17459 op1.as_operand(),
17460 &NOREG,
17461 &NOREG,
17462 );
17463 }
17464}
17465
17466pub trait Vcvtuw2phMaskErEmitter<A, B> {
17478 fn vcvtuw2ph_mask_er(&mut self, op0: A, op1: B);
17479}
17480
17481impl<'a> Vcvtuw2phMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
17482 fn vcvtuw2ph_mask_er(&mut self, op0: Zmm, op1: Zmm) {
17483 self.emit(
17484 VCVTUW2PH512RR_MASK_ER,
17485 op0.as_operand(),
17486 op1.as_operand(),
17487 &NOREG,
17488 &NOREG,
17489 );
17490 }
17491}
17492
17493pub trait Vcvtuw2phMaskzEmitter<A, B> {
17510 fn vcvtuw2ph_maskz(&mut self, op0: A, op1: B);
17511}
17512
17513impl<'a> Vcvtuw2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
17514 fn vcvtuw2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
17515 self.emit(
17516 VCVTUW2PH128RR_MASKZ,
17517 op0.as_operand(),
17518 op1.as_operand(),
17519 &NOREG,
17520 &NOREG,
17521 );
17522 }
17523}
17524
17525impl<'a> Vcvtuw2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
17526 fn vcvtuw2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
17527 self.emit(
17528 VCVTUW2PH128RM_MASKZ,
17529 op0.as_operand(),
17530 op1.as_operand(),
17531 &NOREG,
17532 &NOREG,
17533 );
17534 }
17535}
17536
17537impl<'a> Vcvtuw2phMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
17538 fn vcvtuw2ph_maskz(&mut self, op0: Ymm, op1: Ymm) {
17539 self.emit(
17540 VCVTUW2PH256RR_MASKZ,
17541 op0.as_operand(),
17542 op1.as_operand(),
17543 &NOREG,
17544 &NOREG,
17545 );
17546 }
17547}
17548
17549impl<'a> Vcvtuw2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
17550 fn vcvtuw2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
17551 self.emit(
17552 VCVTUW2PH256RM_MASKZ,
17553 op0.as_operand(),
17554 op1.as_operand(),
17555 &NOREG,
17556 &NOREG,
17557 );
17558 }
17559}
17560
17561impl<'a> Vcvtuw2phMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
17562 fn vcvtuw2ph_maskz(&mut self, op0: Zmm, op1: Zmm) {
17563 self.emit(
17564 VCVTUW2PH512RR_MASKZ,
17565 op0.as_operand(),
17566 op1.as_operand(),
17567 &NOREG,
17568 &NOREG,
17569 );
17570 }
17571}
17572
17573impl<'a> Vcvtuw2phMaskzEmitter<Zmm, Mem> for Assembler<'a> {
17574 fn vcvtuw2ph_maskz(&mut self, op0: Zmm, op1: Mem) {
17575 self.emit(
17576 VCVTUW2PH512RM_MASKZ,
17577 op0.as_operand(),
17578 op1.as_operand(),
17579 &NOREG,
17580 &NOREG,
17581 );
17582 }
17583}
17584
17585pub trait Vcvtuw2phMaskzErEmitter<A, B> {
17597 fn vcvtuw2ph_maskz_er(&mut self, op0: A, op1: B);
17598}
17599
17600impl<'a> Vcvtuw2phMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
17601 fn vcvtuw2ph_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
17602 self.emit(
17603 VCVTUW2PH512RR_MASKZ_ER,
17604 op0.as_operand(),
17605 op1.as_operand(),
17606 &NOREG,
17607 &NOREG,
17608 );
17609 }
17610}
17611
17612pub trait Vcvtw2phEmitter<A, B> {
17629 fn vcvtw2ph(&mut self, op0: A, op1: B);
17630}
17631
17632impl<'a> Vcvtw2phEmitter<Xmm, Xmm> for Assembler<'a> {
17633 fn vcvtw2ph(&mut self, op0: Xmm, op1: Xmm) {
17634 self.emit(
17635 VCVTW2PH128RR,
17636 op0.as_operand(),
17637 op1.as_operand(),
17638 &NOREG,
17639 &NOREG,
17640 );
17641 }
17642}
17643
17644impl<'a> Vcvtw2phEmitter<Xmm, Mem> for Assembler<'a> {
17645 fn vcvtw2ph(&mut self, op0: Xmm, op1: Mem) {
17646 self.emit(
17647 VCVTW2PH128RM,
17648 op0.as_operand(),
17649 op1.as_operand(),
17650 &NOREG,
17651 &NOREG,
17652 );
17653 }
17654}
17655
17656impl<'a> Vcvtw2phEmitter<Ymm, Ymm> for Assembler<'a> {
17657 fn vcvtw2ph(&mut self, op0: Ymm, op1: Ymm) {
17658 self.emit(
17659 VCVTW2PH256RR,
17660 op0.as_operand(),
17661 op1.as_operand(),
17662 &NOREG,
17663 &NOREG,
17664 );
17665 }
17666}
17667
17668impl<'a> Vcvtw2phEmitter<Ymm, Mem> for Assembler<'a> {
17669 fn vcvtw2ph(&mut self, op0: Ymm, op1: Mem) {
17670 self.emit(
17671 VCVTW2PH256RM,
17672 op0.as_operand(),
17673 op1.as_operand(),
17674 &NOREG,
17675 &NOREG,
17676 );
17677 }
17678}
17679
17680impl<'a> Vcvtw2phEmitter<Zmm, Zmm> for Assembler<'a> {
17681 fn vcvtw2ph(&mut self, op0: Zmm, op1: Zmm) {
17682 self.emit(
17683 VCVTW2PH512RR,
17684 op0.as_operand(),
17685 op1.as_operand(),
17686 &NOREG,
17687 &NOREG,
17688 );
17689 }
17690}
17691
17692impl<'a> Vcvtw2phEmitter<Zmm, Mem> for Assembler<'a> {
17693 fn vcvtw2ph(&mut self, op0: Zmm, op1: Mem) {
17694 self.emit(
17695 VCVTW2PH512RM,
17696 op0.as_operand(),
17697 op1.as_operand(),
17698 &NOREG,
17699 &NOREG,
17700 );
17701 }
17702}
17703
17704pub trait Vcvtw2phErEmitter<A, B> {
17716 fn vcvtw2ph_er(&mut self, op0: A, op1: B);
17717}
17718
17719impl<'a> Vcvtw2phErEmitter<Zmm, Zmm> for Assembler<'a> {
17720 fn vcvtw2ph_er(&mut self, op0: Zmm, op1: Zmm) {
17721 self.emit(
17722 VCVTW2PH512RR_ER,
17723 op0.as_operand(),
17724 op1.as_operand(),
17725 &NOREG,
17726 &NOREG,
17727 );
17728 }
17729}
17730
17731pub trait Vcvtw2phMaskEmitter<A, B> {
17748 fn vcvtw2ph_mask(&mut self, op0: A, op1: B);
17749}
17750
17751impl<'a> Vcvtw2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
17752 fn vcvtw2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
17753 self.emit(
17754 VCVTW2PH128RR_MASK,
17755 op0.as_operand(),
17756 op1.as_operand(),
17757 &NOREG,
17758 &NOREG,
17759 );
17760 }
17761}
17762
17763impl<'a> Vcvtw2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
17764 fn vcvtw2ph_mask(&mut self, op0: Xmm, op1: Mem) {
17765 self.emit(
17766 VCVTW2PH128RM_MASK,
17767 op0.as_operand(),
17768 op1.as_operand(),
17769 &NOREG,
17770 &NOREG,
17771 );
17772 }
17773}
17774
17775impl<'a> Vcvtw2phMaskEmitter<Ymm, Ymm> for Assembler<'a> {
17776 fn vcvtw2ph_mask(&mut self, op0: Ymm, op1: Ymm) {
17777 self.emit(
17778 VCVTW2PH256RR_MASK,
17779 op0.as_operand(),
17780 op1.as_operand(),
17781 &NOREG,
17782 &NOREG,
17783 );
17784 }
17785}
17786
17787impl<'a> Vcvtw2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
17788 fn vcvtw2ph_mask(&mut self, op0: Ymm, op1: Mem) {
17789 self.emit(
17790 VCVTW2PH256RM_MASK,
17791 op0.as_operand(),
17792 op1.as_operand(),
17793 &NOREG,
17794 &NOREG,
17795 );
17796 }
17797}
17798
17799impl<'a> Vcvtw2phMaskEmitter<Zmm, Zmm> for Assembler<'a> {
17800 fn vcvtw2ph_mask(&mut self, op0: Zmm, op1: Zmm) {
17801 self.emit(
17802 VCVTW2PH512RR_MASK,
17803 op0.as_operand(),
17804 op1.as_operand(),
17805 &NOREG,
17806 &NOREG,
17807 );
17808 }
17809}
17810
17811impl<'a> Vcvtw2phMaskEmitter<Zmm, Mem> for Assembler<'a> {
17812 fn vcvtw2ph_mask(&mut self, op0: Zmm, op1: Mem) {
17813 self.emit(
17814 VCVTW2PH512RM_MASK,
17815 op0.as_operand(),
17816 op1.as_operand(),
17817 &NOREG,
17818 &NOREG,
17819 );
17820 }
17821}
17822
17823pub trait Vcvtw2phMaskErEmitter<A, B> {
17835 fn vcvtw2ph_mask_er(&mut self, op0: A, op1: B);
17836}
17837
17838impl<'a> Vcvtw2phMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
17839 fn vcvtw2ph_mask_er(&mut self, op0: Zmm, op1: Zmm) {
17840 self.emit(
17841 VCVTW2PH512RR_MASK_ER,
17842 op0.as_operand(),
17843 op1.as_operand(),
17844 &NOREG,
17845 &NOREG,
17846 );
17847 }
17848}
17849
17850pub trait Vcvtw2phMaskzEmitter<A, B> {
17867 fn vcvtw2ph_maskz(&mut self, op0: A, op1: B);
17868}
17869
17870impl<'a> Vcvtw2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
17871 fn vcvtw2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
17872 self.emit(
17873 VCVTW2PH128RR_MASKZ,
17874 op0.as_operand(),
17875 op1.as_operand(),
17876 &NOREG,
17877 &NOREG,
17878 );
17879 }
17880}
17881
17882impl<'a> Vcvtw2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
17883 fn vcvtw2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
17884 self.emit(
17885 VCVTW2PH128RM_MASKZ,
17886 op0.as_operand(),
17887 op1.as_operand(),
17888 &NOREG,
17889 &NOREG,
17890 );
17891 }
17892}
17893
17894impl<'a> Vcvtw2phMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
17895 fn vcvtw2ph_maskz(&mut self, op0: Ymm, op1: Ymm) {
17896 self.emit(
17897 VCVTW2PH256RR_MASKZ,
17898 op0.as_operand(),
17899 op1.as_operand(),
17900 &NOREG,
17901 &NOREG,
17902 );
17903 }
17904}
17905
17906impl<'a> Vcvtw2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
17907 fn vcvtw2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
17908 self.emit(
17909 VCVTW2PH256RM_MASKZ,
17910 op0.as_operand(),
17911 op1.as_operand(),
17912 &NOREG,
17913 &NOREG,
17914 );
17915 }
17916}
17917
17918impl<'a> Vcvtw2phMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
17919 fn vcvtw2ph_maskz(&mut self, op0: Zmm, op1: Zmm) {
17920 self.emit(
17921 VCVTW2PH512RR_MASKZ,
17922 op0.as_operand(),
17923 op1.as_operand(),
17924 &NOREG,
17925 &NOREG,
17926 );
17927 }
17928}
17929
17930impl<'a> Vcvtw2phMaskzEmitter<Zmm, Mem> for Assembler<'a> {
17931 fn vcvtw2ph_maskz(&mut self, op0: Zmm, op1: Mem) {
17932 self.emit(
17933 VCVTW2PH512RM_MASKZ,
17934 op0.as_operand(),
17935 op1.as_operand(),
17936 &NOREG,
17937 &NOREG,
17938 );
17939 }
17940}
17941
17942pub trait Vcvtw2phMaskzErEmitter<A, B> {
17954 fn vcvtw2ph_maskz_er(&mut self, op0: A, op1: B);
17955}
17956
17957impl<'a> Vcvtw2phMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
17958 fn vcvtw2ph_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
17959 self.emit(
17960 VCVTW2PH512RR_MASKZ_ER,
17961 op0.as_operand(),
17962 op1.as_operand(),
17963 &NOREG,
17964 &NOREG,
17965 );
17966 }
17967}
17968
17969pub trait VdivphEmitter<A, B, C> {
17986 fn vdivph(&mut self, op0: A, op1: B, op2: C);
17987}
17988
17989impl<'a> VdivphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17990 fn vdivph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17991 self.emit(
17992 VDIVPH128RRR,
17993 op0.as_operand(),
17994 op1.as_operand(),
17995 op2.as_operand(),
17996 &NOREG,
17997 );
17998 }
17999}
18000
18001impl<'a> VdivphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18002 fn vdivph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18003 self.emit(
18004 VDIVPH128RRM,
18005 op0.as_operand(),
18006 op1.as_operand(),
18007 op2.as_operand(),
18008 &NOREG,
18009 );
18010 }
18011}
18012
18013impl<'a> VdivphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18014 fn vdivph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18015 self.emit(
18016 VDIVPH256RRR,
18017 op0.as_operand(),
18018 op1.as_operand(),
18019 op2.as_operand(),
18020 &NOREG,
18021 );
18022 }
18023}
18024
18025impl<'a> VdivphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18026 fn vdivph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18027 self.emit(
18028 VDIVPH256RRM,
18029 op0.as_operand(),
18030 op1.as_operand(),
18031 op2.as_operand(),
18032 &NOREG,
18033 );
18034 }
18035}
18036
18037impl<'a> VdivphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18038 fn vdivph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18039 self.emit(
18040 VDIVPH512RRR,
18041 op0.as_operand(),
18042 op1.as_operand(),
18043 op2.as_operand(),
18044 &NOREG,
18045 );
18046 }
18047}
18048
18049impl<'a> VdivphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18050 fn vdivph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18051 self.emit(
18052 VDIVPH512RRM,
18053 op0.as_operand(),
18054 op1.as_operand(),
18055 op2.as_operand(),
18056 &NOREG,
18057 );
18058 }
18059}
18060
18061pub trait VdivphErEmitter<A, B, C> {
18073 fn vdivph_er(&mut self, op0: A, op1: B, op2: C);
18074}
18075
18076impl<'a> VdivphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18077 fn vdivph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18078 self.emit(
18079 VDIVPH512RRR_ER,
18080 op0.as_operand(),
18081 op1.as_operand(),
18082 op2.as_operand(),
18083 &NOREG,
18084 );
18085 }
18086}
18087
18088pub trait VdivphMaskEmitter<A, B, C> {
18105 fn vdivph_mask(&mut self, op0: A, op1: B, op2: C);
18106}
18107
18108impl<'a> VdivphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18109 fn vdivph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18110 self.emit(
18111 VDIVPH128RRR_MASK,
18112 op0.as_operand(),
18113 op1.as_operand(),
18114 op2.as_operand(),
18115 &NOREG,
18116 );
18117 }
18118}
18119
18120impl<'a> VdivphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18121 fn vdivph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18122 self.emit(
18123 VDIVPH128RRM_MASK,
18124 op0.as_operand(),
18125 op1.as_operand(),
18126 op2.as_operand(),
18127 &NOREG,
18128 );
18129 }
18130}
18131
18132impl<'a> VdivphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18133 fn vdivph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18134 self.emit(
18135 VDIVPH256RRR_MASK,
18136 op0.as_operand(),
18137 op1.as_operand(),
18138 op2.as_operand(),
18139 &NOREG,
18140 );
18141 }
18142}
18143
18144impl<'a> VdivphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18145 fn vdivph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18146 self.emit(
18147 VDIVPH256RRM_MASK,
18148 op0.as_operand(),
18149 op1.as_operand(),
18150 op2.as_operand(),
18151 &NOREG,
18152 );
18153 }
18154}
18155
18156impl<'a> VdivphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18157 fn vdivph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18158 self.emit(
18159 VDIVPH512RRR_MASK,
18160 op0.as_operand(),
18161 op1.as_operand(),
18162 op2.as_operand(),
18163 &NOREG,
18164 );
18165 }
18166}
18167
18168impl<'a> VdivphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18169 fn vdivph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18170 self.emit(
18171 VDIVPH512RRM_MASK,
18172 op0.as_operand(),
18173 op1.as_operand(),
18174 op2.as_operand(),
18175 &NOREG,
18176 );
18177 }
18178}
18179
18180pub trait VdivphMaskErEmitter<A, B, C> {
18192 fn vdivph_mask_er(&mut self, op0: A, op1: B, op2: C);
18193}
18194
18195impl<'a> VdivphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18196 fn vdivph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18197 self.emit(
18198 VDIVPH512RRR_MASK_ER,
18199 op0.as_operand(),
18200 op1.as_operand(),
18201 op2.as_operand(),
18202 &NOREG,
18203 );
18204 }
18205}
18206
18207pub trait VdivphMaskzEmitter<A, B, C> {
18224 fn vdivph_maskz(&mut self, op0: A, op1: B, op2: C);
18225}
18226
18227impl<'a> VdivphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18228 fn vdivph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18229 self.emit(
18230 VDIVPH128RRR_MASKZ,
18231 op0.as_operand(),
18232 op1.as_operand(),
18233 op2.as_operand(),
18234 &NOREG,
18235 );
18236 }
18237}
18238
18239impl<'a> VdivphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18240 fn vdivph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18241 self.emit(
18242 VDIVPH128RRM_MASKZ,
18243 op0.as_operand(),
18244 op1.as_operand(),
18245 op2.as_operand(),
18246 &NOREG,
18247 );
18248 }
18249}
18250
18251impl<'a> VdivphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18252 fn vdivph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18253 self.emit(
18254 VDIVPH256RRR_MASKZ,
18255 op0.as_operand(),
18256 op1.as_operand(),
18257 op2.as_operand(),
18258 &NOREG,
18259 );
18260 }
18261}
18262
18263impl<'a> VdivphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18264 fn vdivph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18265 self.emit(
18266 VDIVPH256RRM_MASKZ,
18267 op0.as_operand(),
18268 op1.as_operand(),
18269 op2.as_operand(),
18270 &NOREG,
18271 );
18272 }
18273}
18274
18275impl<'a> VdivphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18276 fn vdivph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18277 self.emit(
18278 VDIVPH512RRR_MASKZ,
18279 op0.as_operand(),
18280 op1.as_operand(),
18281 op2.as_operand(),
18282 &NOREG,
18283 );
18284 }
18285}
18286
18287impl<'a> VdivphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18288 fn vdivph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18289 self.emit(
18290 VDIVPH512RRM_MASKZ,
18291 op0.as_operand(),
18292 op1.as_operand(),
18293 op2.as_operand(),
18294 &NOREG,
18295 );
18296 }
18297}
18298
18299pub trait VdivphMaskzErEmitter<A, B, C> {
18311 fn vdivph_maskz_er(&mut self, op0: A, op1: B, op2: C);
18312}
18313
18314impl<'a> VdivphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18315 fn vdivph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18316 self.emit(
18317 VDIVPH512RRR_MASKZ_ER,
18318 op0.as_operand(),
18319 op1.as_operand(),
18320 op2.as_operand(),
18321 &NOREG,
18322 );
18323 }
18324}
18325
18326pub trait VdivshEmitter<A, B, C> {
18339 fn vdivsh(&mut self, op0: A, op1: B, op2: C);
18340}
18341
18342impl<'a> VdivshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18343 fn vdivsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18344 self.emit(
18345 VDIVSHRRR,
18346 op0.as_operand(),
18347 op1.as_operand(),
18348 op2.as_operand(),
18349 &NOREG,
18350 );
18351 }
18352}
18353
18354impl<'a> VdivshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18355 fn vdivsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18356 self.emit(
18357 VDIVSHRRM,
18358 op0.as_operand(),
18359 op1.as_operand(),
18360 op2.as_operand(),
18361 &NOREG,
18362 );
18363 }
18364}
18365
18366pub trait VdivshErEmitter<A, B, C> {
18378 fn vdivsh_er(&mut self, op0: A, op1: B, op2: C);
18379}
18380
18381impl<'a> VdivshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18382 fn vdivsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18383 self.emit(
18384 VDIVSHRRR_ER,
18385 op0.as_operand(),
18386 op1.as_operand(),
18387 op2.as_operand(),
18388 &NOREG,
18389 );
18390 }
18391}
18392
18393pub trait VdivshMaskEmitter<A, B, C> {
18406 fn vdivsh_mask(&mut self, op0: A, op1: B, op2: C);
18407}
18408
18409impl<'a> VdivshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18410 fn vdivsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18411 self.emit(
18412 VDIVSHRRR_MASK,
18413 op0.as_operand(),
18414 op1.as_operand(),
18415 op2.as_operand(),
18416 &NOREG,
18417 );
18418 }
18419}
18420
18421impl<'a> VdivshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18422 fn vdivsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18423 self.emit(
18424 VDIVSHRRM_MASK,
18425 op0.as_operand(),
18426 op1.as_operand(),
18427 op2.as_operand(),
18428 &NOREG,
18429 );
18430 }
18431}
18432
18433pub trait VdivshMaskErEmitter<A, B, C> {
18445 fn vdivsh_mask_er(&mut self, op0: A, op1: B, op2: C);
18446}
18447
18448impl<'a> VdivshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18449 fn vdivsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18450 self.emit(
18451 VDIVSHRRR_MASK_ER,
18452 op0.as_operand(),
18453 op1.as_operand(),
18454 op2.as_operand(),
18455 &NOREG,
18456 );
18457 }
18458}
18459
18460pub trait VdivshMaskzEmitter<A, B, C> {
18473 fn vdivsh_maskz(&mut self, op0: A, op1: B, op2: C);
18474}
18475
18476impl<'a> VdivshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18477 fn vdivsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18478 self.emit(
18479 VDIVSHRRR_MASKZ,
18480 op0.as_operand(),
18481 op1.as_operand(),
18482 op2.as_operand(),
18483 &NOREG,
18484 );
18485 }
18486}
18487
18488impl<'a> VdivshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18489 fn vdivsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18490 self.emit(
18491 VDIVSHRRM_MASKZ,
18492 op0.as_operand(),
18493 op1.as_operand(),
18494 op2.as_operand(),
18495 &NOREG,
18496 );
18497 }
18498}
18499
18500pub trait VdivshMaskzErEmitter<A, B, C> {
18512 fn vdivsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
18513}
18514
18515impl<'a> VdivshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18516 fn vdivsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18517 self.emit(
18518 VDIVSHRRR_MASKZ_ER,
18519 op0.as_operand(),
18520 op1.as_operand(),
18521 op2.as_operand(),
18522 &NOREG,
18523 );
18524 }
18525}
18526
18527pub trait VerrEmitter<A> {
18540 fn verr(&mut self, op0: A);
18541}
18542
18543impl<'a> VerrEmitter<Gpd> for Assembler<'a> {
18544 fn verr(&mut self, op0: Gpd) {
18545 self.emit(VERRR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
18546 }
18547}
18548
18549impl<'a> VerrEmitter<Mem> for Assembler<'a> {
18550 fn verr(&mut self, op0: Mem) {
18551 self.emit(VERRM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
18552 }
18553}
18554
18555pub trait VerwEmitter<A> {
18568 fn verw(&mut self, op0: A);
18569}
18570
18571impl<'a> VerwEmitter<Gpd> for Assembler<'a> {
18572 fn verw(&mut self, op0: Gpd) {
18573 self.emit(VERWR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
18574 }
18575}
18576
18577impl<'a> VerwEmitter<Mem> for Assembler<'a> {
18578 fn verw(&mut self, op0: Mem) {
18579 self.emit(VERWM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
18580 }
18581}
18582
18583pub trait VfcmaddcphEmitter<A, B, C> {
18600 fn vfcmaddcph(&mut self, op0: A, op1: B, op2: C);
18601}
18602
18603impl<'a> VfcmaddcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18604 fn vfcmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18605 self.emit(
18606 VFCMADDCPH128RRR,
18607 op0.as_operand(),
18608 op1.as_operand(),
18609 op2.as_operand(),
18610 &NOREG,
18611 );
18612 }
18613}
18614
18615impl<'a> VfcmaddcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18616 fn vfcmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18617 self.emit(
18618 VFCMADDCPH128RRM,
18619 op0.as_operand(),
18620 op1.as_operand(),
18621 op2.as_operand(),
18622 &NOREG,
18623 );
18624 }
18625}
18626
18627impl<'a> VfcmaddcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18628 fn vfcmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18629 self.emit(
18630 VFCMADDCPH256RRR,
18631 op0.as_operand(),
18632 op1.as_operand(),
18633 op2.as_operand(),
18634 &NOREG,
18635 );
18636 }
18637}
18638
18639impl<'a> VfcmaddcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18640 fn vfcmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18641 self.emit(
18642 VFCMADDCPH256RRM,
18643 op0.as_operand(),
18644 op1.as_operand(),
18645 op2.as_operand(),
18646 &NOREG,
18647 );
18648 }
18649}
18650
18651impl<'a> VfcmaddcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18652 fn vfcmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18653 self.emit(
18654 VFCMADDCPH512RRR,
18655 op0.as_operand(),
18656 op1.as_operand(),
18657 op2.as_operand(),
18658 &NOREG,
18659 );
18660 }
18661}
18662
18663impl<'a> VfcmaddcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18664 fn vfcmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18665 self.emit(
18666 VFCMADDCPH512RRM,
18667 op0.as_operand(),
18668 op1.as_operand(),
18669 op2.as_operand(),
18670 &NOREG,
18671 );
18672 }
18673}
18674
18675pub trait VfcmaddcphErEmitter<A, B, C> {
18687 fn vfcmaddcph_er(&mut self, op0: A, op1: B, op2: C);
18688}
18689
18690impl<'a> VfcmaddcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18691 fn vfcmaddcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18692 self.emit(
18693 VFCMADDCPH512RRR_ER,
18694 op0.as_operand(),
18695 op1.as_operand(),
18696 op2.as_operand(),
18697 &NOREG,
18698 );
18699 }
18700}
18701
18702pub trait VfcmaddcphMaskEmitter<A, B, C> {
18719 fn vfcmaddcph_mask(&mut self, op0: A, op1: B, op2: C);
18720}
18721
18722impl<'a> VfcmaddcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18723 fn vfcmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18724 self.emit(
18725 VFCMADDCPH128RRR_MASK,
18726 op0.as_operand(),
18727 op1.as_operand(),
18728 op2.as_operand(),
18729 &NOREG,
18730 );
18731 }
18732}
18733
18734impl<'a> VfcmaddcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18735 fn vfcmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18736 self.emit(
18737 VFCMADDCPH128RRM_MASK,
18738 op0.as_operand(),
18739 op1.as_operand(),
18740 op2.as_operand(),
18741 &NOREG,
18742 );
18743 }
18744}
18745
18746impl<'a> VfcmaddcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18747 fn vfcmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18748 self.emit(
18749 VFCMADDCPH256RRR_MASK,
18750 op0.as_operand(),
18751 op1.as_operand(),
18752 op2.as_operand(),
18753 &NOREG,
18754 );
18755 }
18756}
18757
18758impl<'a> VfcmaddcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18759 fn vfcmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18760 self.emit(
18761 VFCMADDCPH256RRM_MASK,
18762 op0.as_operand(),
18763 op1.as_operand(),
18764 op2.as_operand(),
18765 &NOREG,
18766 );
18767 }
18768}
18769
18770impl<'a> VfcmaddcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18771 fn vfcmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18772 self.emit(
18773 VFCMADDCPH512RRR_MASK,
18774 op0.as_operand(),
18775 op1.as_operand(),
18776 op2.as_operand(),
18777 &NOREG,
18778 );
18779 }
18780}
18781
18782impl<'a> VfcmaddcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18783 fn vfcmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18784 self.emit(
18785 VFCMADDCPH512RRM_MASK,
18786 op0.as_operand(),
18787 op1.as_operand(),
18788 op2.as_operand(),
18789 &NOREG,
18790 );
18791 }
18792}
18793
18794pub trait VfcmaddcphMaskErEmitter<A, B, C> {
18806 fn vfcmaddcph_mask_er(&mut self, op0: A, op1: B, op2: C);
18807}
18808
18809impl<'a> VfcmaddcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18810 fn vfcmaddcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18811 self.emit(
18812 VFCMADDCPH512RRR_MASK_ER,
18813 op0.as_operand(),
18814 op1.as_operand(),
18815 op2.as_operand(),
18816 &NOREG,
18817 );
18818 }
18819}
18820
18821pub trait VfcmaddcphMaskzEmitter<A, B, C> {
18838 fn vfcmaddcph_maskz(&mut self, op0: A, op1: B, op2: C);
18839}
18840
18841impl<'a> VfcmaddcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18842 fn vfcmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18843 self.emit(
18844 VFCMADDCPH128RRR_MASKZ,
18845 op0.as_operand(),
18846 op1.as_operand(),
18847 op2.as_operand(),
18848 &NOREG,
18849 );
18850 }
18851}
18852
18853impl<'a> VfcmaddcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18854 fn vfcmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18855 self.emit(
18856 VFCMADDCPH128RRM_MASKZ,
18857 op0.as_operand(),
18858 op1.as_operand(),
18859 op2.as_operand(),
18860 &NOREG,
18861 );
18862 }
18863}
18864
18865impl<'a> VfcmaddcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18866 fn vfcmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18867 self.emit(
18868 VFCMADDCPH256RRR_MASKZ,
18869 op0.as_operand(),
18870 op1.as_operand(),
18871 op2.as_operand(),
18872 &NOREG,
18873 );
18874 }
18875}
18876
18877impl<'a> VfcmaddcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18878 fn vfcmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18879 self.emit(
18880 VFCMADDCPH256RRM_MASKZ,
18881 op0.as_operand(),
18882 op1.as_operand(),
18883 op2.as_operand(),
18884 &NOREG,
18885 );
18886 }
18887}
18888
18889impl<'a> VfcmaddcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18890 fn vfcmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18891 self.emit(
18892 VFCMADDCPH512RRR_MASKZ,
18893 op0.as_operand(),
18894 op1.as_operand(),
18895 op2.as_operand(),
18896 &NOREG,
18897 );
18898 }
18899}
18900
18901impl<'a> VfcmaddcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18902 fn vfcmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18903 self.emit(
18904 VFCMADDCPH512RRM_MASKZ,
18905 op0.as_operand(),
18906 op1.as_operand(),
18907 op2.as_operand(),
18908 &NOREG,
18909 );
18910 }
18911}
18912
18913pub trait VfcmaddcphMaskzErEmitter<A, B, C> {
18925 fn vfcmaddcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
18926}
18927
18928impl<'a> VfcmaddcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18929 fn vfcmaddcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18930 self.emit(
18931 VFCMADDCPH512RRR_MASKZ_ER,
18932 op0.as_operand(),
18933 op1.as_operand(),
18934 op2.as_operand(),
18935 &NOREG,
18936 );
18937 }
18938}
18939
18940pub trait VfcmaddcshEmitter<A, B, C> {
18953 fn vfcmaddcsh(&mut self, op0: A, op1: B, op2: C);
18954}
18955
18956impl<'a> VfcmaddcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18957 fn vfcmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18958 self.emit(
18959 VFCMADDCSHRRR,
18960 op0.as_operand(),
18961 op1.as_operand(),
18962 op2.as_operand(),
18963 &NOREG,
18964 );
18965 }
18966}
18967
18968impl<'a> VfcmaddcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18969 fn vfcmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18970 self.emit(
18971 VFCMADDCSHRRM,
18972 op0.as_operand(),
18973 op1.as_operand(),
18974 op2.as_operand(),
18975 &NOREG,
18976 );
18977 }
18978}
18979
18980pub trait VfcmaddcshErEmitter<A, B, C> {
18992 fn vfcmaddcsh_er(&mut self, op0: A, op1: B, op2: C);
18993}
18994
18995impl<'a> VfcmaddcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18996 fn vfcmaddcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18997 self.emit(
18998 VFCMADDCSHRRR_ER,
18999 op0.as_operand(),
19000 op1.as_operand(),
19001 op2.as_operand(),
19002 &NOREG,
19003 );
19004 }
19005}
19006
19007pub trait VfcmaddcshMaskEmitter<A, B, C> {
19020 fn vfcmaddcsh_mask(&mut self, op0: A, op1: B, op2: C);
19021}
19022
19023impl<'a> VfcmaddcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19024 fn vfcmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19025 self.emit(
19026 VFCMADDCSHRRR_MASK,
19027 op0.as_operand(),
19028 op1.as_operand(),
19029 op2.as_operand(),
19030 &NOREG,
19031 );
19032 }
19033}
19034
19035impl<'a> VfcmaddcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19036 fn vfcmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19037 self.emit(
19038 VFCMADDCSHRRM_MASK,
19039 op0.as_operand(),
19040 op1.as_operand(),
19041 op2.as_operand(),
19042 &NOREG,
19043 );
19044 }
19045}
19046
19047pub trait VfcmaddcshMaskErEmitter<A, B, C> {
19059 fn vfcmaddcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
19060}
19061
19062impl<'a> VfcmaddcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19063 fn vfcmaddcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19064 self.emit(
19065 VFCMADDCSHRRR_MASK_ER,
19066 op0.as_operand(),
19067 op1.as_operand(),
19068 op2.as_operand(),
19069 &NOREG,
19070 );
19071 }
19072}
19073
19074pub trait VfcmaddcshMaskzEmitter<A, B, C> {
19087 fn vfcmaddcsh_maskz(&mut self, op0: A, op1: B, op2: C);
19088}
19089
19090impl<'a> VfcmaddcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19091 fn vfcmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19092 self.emit(
19093 VFCMADDCSHRRR_MASKZ,
19094 op0.as_operand(),
19095 op1.as_operand(),
19096 op2.as_operand(),
19097 &NOREG,
19098 );
19099 }
19100}
19101
19102impl<'a> VfcmaddcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19103 fn vfcmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19104 self.emit(
19105 VFCMADDCSHRRM_MASKZ,
19106 op0.as_operand(),
19107 op1.as_operand(),
19108 op2.as_operand(),
19109 &NOREG,
19110 );
19111 }
19112}
19113
19114pub trait VfcmaddcshMaskzErEmitter<A, B, C> {
19126 fn vfcmaddcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
19127}
19128
19129impl<'a> VfcmaddcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19130 fn vfcmaddcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19131 self.emit(
19132 VFCMADDCSHRRR_MASKZ_ER,
19133 op0.as_operand(),
19134 op1.as_operand(),
19135 op2.as_operand(),
19136 &NOREG,
19137 );
19138 }
19139}
19140
19141pub trait VfcmulcphEmitter<A, B, C> {
19158 fn vfcmulcph(&mut self, op0: A, op1: B, op2: C);
19159}
19160
19161impl<'a> VfcmulcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19162 fn vfcmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19163 self.emit(
19164 VFCMULCPH128RRR,
19165 op0.as_operand(),
19166 op1.as_operand(),
19167 op2.as_operand(),
19168 &NOREG,
19169 );
19170 }
19171}
19172
19173impl<'a> VfcmulcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19174 fn vfcmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19175 self.emit(
19176 VFCMULCPH128RRM,
19177 op0.as_operand(),
19178 op1.as_operand(),
19179 op2.as_operand(),
19180 &NOREG,
19181 );
19182 }
19183}
19184
19185impl<'a> VfcmulcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19186 fn vfcmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19187 self.emit(
19188 VFCMULCPH256RRR,
19189 op0.as_operand(),
19190 op1.as_operand(),
19191 op2.as_operand(),
19192 &NOREG,
19193 );
19194 }
19195}
19196
19197impl<'a> VfcmulcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19198 fn vfcmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19199 self.emit(
19200 VFCMULCPH256RRM,
19201 op0.as_operand(),
19202 op1.as_operand(),
19203 op2.as_operand(),
19204 &NOREG,
19205 );
19206 }
19207}
19208
19209impl<'a> VfcmulcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19210 fn vfcmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19211 self.emit(
19212 VFCMULCPH512RRR,
19213 op0.as_operand(),
19214 op1.as_operand(),
19215 op2.as_operand(),
19216 &NOREG,
19217 );
19218 }
19219}
19220
19221impl<'a> VfcmulcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19222 fn vfcmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19223 self.emit(
19224 VFCMULCPH512RRM,
19225 op0.as_operand(),
19226 op1.as_operand(),
19227 op2.as_operand(),
19228 &NOREG,
19229 );
19230 }
19231}
19232
19233pub trait VfcmulcphErEmitter<A, B, C> {
19245 fn vfcmulcph_er(&mut self, op0: A, op1: B, op2: C);
19246}
19247
19248impl<'a> VfcmulcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19249 fn vfcmulcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19250 self.emit(
19251 VFCMULCPH512RRR_ER,
19252 op0.as_operand(),
19253 op1.as_operand(),
19254 op2.as_operand(),
19255 &NOREG,
19256 );
19257 }
19258}
19259
19260pub trait VfcmulcphMaskEmitter<A, B, C> {
19277 fn vfcmulcph_mask(&mut self, op0: A, op1: B, op2: C);
19278}
19279
19280impl<'a> VfcmulcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19281 fn vfcmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19282 self.emit(
19283 VFCMULCPH128RRR_MASK,
19284 op0.as_operand(),
19285 op1.as_operand(),
19286 op2.as_operand(),
19287 &NOREG,
19288 );
19289 }
19290}
19291
19292impl<'a> VfcmulcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19293 fn vfcmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19294 self.emit(
19295 VFCMULCPH128RRM_MASK,
19296 op0.as_operand(),
19297 op1.as_operand(),
19298 op2.as_operand(),
19299 &NOREG,
19300 );
19301 }
19302}
19303
19304impl<'a> VfcmulcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19305 fn vfcmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19306 self.emit(
19307 VFCMULCPH256RRR_MASK,
19308 op0.as_operand(),
19309 op1.as_operand(),
19310 op2.as_operand(),
19311 &NOREG,
19312 );
19313 }
19314}
19315
19316impl<'a> VfcmulcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19317 fn vfcmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19318 self.emit(
19319 VFCMULCPH256RRM_MASK,
19320 op0.as_operand(),
19321 op1.as_operand(),
19322 op2.as_operand(),
19323 &NOREG,
19324 );
19325 }
19326}
19327
19328impl<'a> VfcmulcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19329 fn vfcmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19330 self.emit(
19331 VFCMULCPH512RRR_MASK,
19332 op0.as_operand(),
19333 op1.as_operand(),
19334 op2.as_operand(),
19335 &NOREG,
19336 );
19337 }
19338}
19339
19340impl<'a> VfcmulcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19341 fn vfcmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19342 self.emit(
19343 VFCMULCPH512RRM_MASK,
19344 op0.as_operand(),
19345 op1.as_operand(),
19346 op2.as_operand(),
19347 &NOREG,
19348 );
19349 }
19350}
19351
19352pub trait VfcmulcphMaskErEmitter<A, B, C> {
19364 fn vfcmulcph_mask_er(&mut self, op0: A, op1: B, op2: C);
19365}
19366
19367impl<'a> VfcmulcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19368 fn vfcmulcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19369 self.emit(
19370 VFCMULCPH512RRR_MASK_ER,
19371 op0.as_operand(),
19372 op1.as_operand(),
19373 op2.as_operand(),
19374 &NOREG,
19375 );
19376 }
19377}
19378
19379pub trait VfcmulcphMaskzEmitter<A, B, C> {
19396 fn vfcmulcph_maskz(&mut self, op0: A, op1: B, op2: C);
19397}
19398
19399impl<'a> VfcmulcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19400 fn vfcmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19401 self.emit(
19402 VFCMULCPH128RRR_MASKZ,
19403 op0.as_operand(),
19404 op1.as_operand(),
19405 op2.as_operand(),
19406 &NOREG,
19407 );
19408 }
19409}
19410
19411impl<'a> VfcmulcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19412 fn vfcmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19413 self.emit(
19414 VFCMULCPH128RRM_MASKZ,
19415 op0.as_operand(),
19416 op1.as_operand(),
19417 op2.as_operand(),
19418 &NOREG,
19419 );
19420 }
19421}
19422
19423impl<'a> VfcmulcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19424 fn vfcmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19425 self.emit(
19426 VFCMULCPH256RRR_MASKZ,
19427 op0.as_operand(),
19428 op1.as_operand(),
19429 op2.as_operand(),
19430 &NOREG,
19431 );
19432 }
19433}
19434
19435impl<'a> VfcmulcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19436 fn vfcmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19437 self.emit(
19438 VFCMULCPH256RRM_MASKZ,
19439 op0.as_operand(),
19440 op1.as_operand(),
19441 op2.as_operand(),
19442 &NOREG,
19443 );
19444 }
19445}
19446
19447impl<'a> VfcmulcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19448 fn vfcmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19449 self.emit(
19450 VFCMULCPH512RRR_MASKZ,
19451 op0.as_operand(),
19452 op1.as_operand(),
19453 op2.as_operand(),
19454 &NOREG,
19455 );
19456 }
19457}
19458
19459impl<'a> VfcmulcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19460 fn vfcmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19461 self.emit(
19462 VFCMULCPH512RRM_MASKZ,
19463 op0.as_operand(),
19464 op1.as_operand(),
19465 op2.as_operand(),
19466 &NOREG,
19467 );
19468 }
19469}
19470
19471pub trait VfcmulcphMaskzErEmitter<A, B, C> {
19483 fn vfcmulcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
19484}
19485
19486impl<'a> VfcmulcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19487 fn vfcmulcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19488 self.emit(
19489 VFCMULCPH512RRR_MASKZ_ER,
19490 op0.as_operand(),
19491 op1.as_operand(),
19492 op2.as_operand(),
19493 &NOREG,
19494 );
19495 }
19496}
19497
19498pub trait VfcmulcshEmitter<A, B, C> {
19511 fn vfcmulcsh(&mut self, op0: A, op1: B, op2: C);
19512}
19513
19514impl<'a> VfcmulcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19515 fn vfcmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19516 self.emit(
19517 VFCMULCSHRRR,
19518 op0.as_operand(),
19519 op1.as_operand(),
19520 op2.as_operand(),
19521 &NOREG,
19522 );
19523 }
19524}
19525
19526impl<'a> VfcmulcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19527 fn vfcmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19528 self.emit(
19529 VFCMULCSHRRM,
19530 op0.as_operand(),
19531 op1.as_operand(),
19532 op2.as_operand(),
19533 &NOREG,
19534 );
19535 }
19536}
19537
19538pub trait VfcmulcshErEmitter<A, B, C> {
19550 fn vfcmulcsh_er(&mut self, op0: A, op1: B, op2: C);
19551}
19552
19553impl<'a> VfcmulcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19554 fn vfcmulcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19555 self.emit(
19556 VFCMULCSHRRR_ER,
19557 op0.as_operand(),
19558 op1.as_operand(),
19559 op2.as_operand(),
19560 &NOREG,
19561 );
19562 }
19563}
19564
19565pub trait VfcmulcshMaskEmitter<A, B, C> {
19578 fn vfcmulcsh_mask(&mut self, op0: A, op1: B, op2: C);
19579}
19580
19581impl<'a> VfcmulcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19582 fn vfcmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19583 self.emit(
19584 VFCMULCSHRRR_MASK,
19585 op0.as_operand(),
19586 op1.as_operand(),
19587 op2.as_operand(),
19588 &NOREG,
19589 );
19590 }
19591}
19592
19593impl<'a> VfcmulcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19594 fn vfcmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19595 self.emit(
19596 VFCMULCSHRRM_MASK,
19597 op0.as_operand(),
19598 op1.as_operand(),
19599 op2.as_operand(),
19600 &NOREG,
19601 );
19602 }
19603}
19604
19605pub trait VfcmulcshMaskErEmitter<A, B, C> {
19617 fn vfcmulcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
19618}
19619
19620impl<'a> VfcmulcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19621 fn vfcmulcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19622 self.emit(
19623 VFCMULCSHRRR_MASK_ER,
19624 op0.as_operand(),
19625 op1.as_operand(),
19626 op2.as_operand(),
19627 &NOREG,
19628 );
19629 }
19630}
19631
19632pub trait VfcmulcshMaskzEmitter<A, B, C> {
19645 fn vfcmulcsh_maskz(&mut self, op0: A, op1: B, op2: C);
19646}
19647
19648impl<'a> VfcmulcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19649 fn vfcmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19650 self.emit(
19651 VFCMULCSHRRR_MASKZ,
19652 op0.as_operand(),
19653 op1.as_operand(),
19654 op2.as_operand(),
19655 &NOREG,
19656 );
19657 }
19658}
19659
19660impl<'a> VfcmulcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19661 fn vfcmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19662 self.emit(
19663 VFCMULCSHRRM_MASKZ,
19664 op0.as_operand(),
19665 op1.as_operand(),
19666 op2.as_operand(),
19667 &NOREG,
19668 );
19669 }
19670}
19671
19672pub trait VfcmulcshMaskzErEmitter<A, B, C> {
19684 fn vfcmulcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
19685}
19686
19687impl<'a> VfcmulcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19688 fn vfcmulcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19689 self.emit(
19690 VFCMULCSHRRR_MASKZ_ER,
19691 op0.as_operand(),
19692 op1.as_operand(),
19693 op2.as_operand(),
19694 &NOREG,
19695 );
19696 }
19697}
19698
19699pub trait Vfmadd132phEmitter<A, B, C> {
19716 fn vfmadd132ph(&mut self, op0: A, op1: B, op2: C);
19717}
19718
19719impl<'a> Vfmadd132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19720 fn vfmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19721 self.emit(
19722 VFMADD132PH128RRR,
19723 op0.as_operand(),
19724 op1.as_operand(),
19725 op2.as_operand(),
19726 &NOREG,
19727 );
19728 }
19729}
19730
19731impl<'a> Vfmadd132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19732 fn vfmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19733 self.emit(
19734 VFMADD132PH128RRM,
19735 op0.as_operand(),
19736 op1.as_operand(),
19737 op2.as_operand(),
19738 &NOREG,
19739 );
19740 }
19741}
19742
19743impl<'a> Vfmadd132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19744 fn vfmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19745 self.emit(
19746 VFMADD132PH256RRR,
19747 op0.as_operand(),
19748 op1.as_operand(),
19749 op2.as_operand(),
19750 &NOREG,
19751 );
19752 }
19753}
19754
19755impl<'a> Vfmadd132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19756 fn vfmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19757 self.emit(
19758 VFMADD132PH256RRM,
19759 op0.as_operand(),
19760 op1.as_operand(),
19761 op2.as_operand(),
19762 &NOREG,
19763 );
19764 }
19765}
19766
19767impl<'a> Vfmadd132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19768 fn vfmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19769 self.emit(
19770 VFMADD132PH512RRR,
19771 op0.as_operand(),
19772 op1.as_operand(),
19773 op2.as_operand(),
19774 &NOREG,
19775 );
19776 }
19777}
19778
19779impl<'a> Vfmadd132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19780 fn vfmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19781 self.emit(
19782 VFMADD132PH512RRM,
19783 op0.as_operand(),
19784 op1.as_operand(),
19785 op2.as_operand(),
19786 &NOREG,
19787 );
19788 }
19789}
19790
19791pub trait Vfmadd132phErEmitter<A, B, C> {
19803 fn vfmadd132ph_er(&mut self, op0: A, op1: B, op2: C);
19804}
19805
19806impl<'a> Vfmadd132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19807 fn vfmadd132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19808 self.emit(
19809 VFMADD132PH512RRR_ER,
19810 op0.as_operand(),
19811 op1.as_operand(),
19812 op2.as_operand(),
19813 &NOREG,
19814 );
19815 }
19816}
19817
19818pub trait Vfmadd132phMaskEmitter<A, B, C> {
19835 fn vfmadd132ph_mask(&mut self, op0: A, op1: B, op2: C);
19836}
19837
19838impl<'a> Vfmadd132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19839 fn vfmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19840 self.emit(
19841 VFMADD132PH128RRR_MASK,
19842 op0.as_operand(),
19843 op1.as_operand(),
19844 op2.as_operand(),
19845 &NOREG,
19846 );
19847 }
19848}
19849
19850impl<'a> Vfmadd132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19851 fn vfmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19852 self.emit(
19853 VFMADD132PH128RRM_MASK,
19854 op0.as_operand(),
19855 op1.as_operand(),
19856 op2.as_operand(),
19857 &NOREG,
19858 );
19859 }
19860}
19861
19862impl<'a> Vfmadd132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19863 fn vfmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19864 self.emit(
19865 VFMADD132PH256RRR_MASK,
19866 op0.as_operand(),
19867 op1.as_operand(),
19868 op2.as_operand(),
19869 &NOREG,
19870 );
19871 }
19872}
19873
19874impl<'a> Vfmadd132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19875 fn vfmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19876 self.emit(
19877 VFMADD132PH256RRM_MASK,
19878 op0.as_operand(),
19879 op1.as_operand(),
19880 op2.as_operand(),
19881 &NOREG,
19882 );
19883 }
19884}
19885
19886impl<'a> Vfmadd132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19887 fn vfmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19888 self.emit(
19889 VFMADD132PH512RRR_MASK,
19890 op0.as_operand(),
19891 op1.as_operand(),
19892 op2.as_operand(),
19893 &NOREG,
19894 );
19895 }
19896}
19897
19898impl<'a> Vfmadd132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19899 fn vfmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19900 self.emit(
19901 VFMADD132PH512RRM_MASK,
19902 op0.as_operand(),
19903 op1.as_operand(),
19904 op2.as_operand(),
19905 &NOREG,
19906 );
19907 }
19908}
19909
19910pub trait Vfmadd132phMaskErEmitter<A, B, C> {
19922 fn vfmadd132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
19923}
19924
19925impl<'a> Vfmadd132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19926 fn vfmadd132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19927 self.emit(
19928 VFMADD132PH512RRR_MASK_ER,
19929 op0.as_operand(),
19930 op1.as_operand(),
19931 op2.as_operand(),
19932 &NOREG,
19933 );
19934 }
19935}
19936
19937pub trait Vfmadd132phMaskzEmitter<A, B, C> {
19954 fn vfmadd132ph_maskz(&mut self, op0: A, op1: B, op2: C);
19955}
19956
19957impl<'a> Vfmadd132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19958 fn vfmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19959 self.emit(
19960 VFMADD132PH128RRR_MASKZ,
19961 op0.as_operand(),
19962 op1.as_operand(),
19963 op2.as_operand(),
19964 &NOREG,
19965 );
19966 }
19967}
19968
19969impl<'a> Vfmadd132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19970 fn vfmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19971 self.emit(
19972 VFMADD132PH128RRM_MASKZ,
19973 op0.as_operand(),
19974 op1.as_operand(),
19975 op2.as_operand(),
19976 &NOREG,
19977 );
19978 }
19979}
19980
19981impl<'a> Vfmadd132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19982 fn vfmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19983 self.emit(
19984 VFMADD132PH256RRR_MASKZ,
19985 op0.as_operand(),
19986 op1.as_operand(),
19987 op2.as_operand(),
19988 &NOREG,
19989 );
19990 }
19991}
19992
19993impl<'a> Vfmadd132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19994 fn vfmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19995 self.emit(
19996 VFMADD132PH256RRM_MASKZ,
19997 op0.as_operand(),
19998 op1.as_operand(),
19999 op2.as_operand(),
20000 &NOREG,
20001 );
20002 }
20003}
20004
20005impl<'a> Vfmadd132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20006 fn vfmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20007 self.emit(
20008 VFMADD132PH512RRR_MASKZ,
20009 op0.as_operand(),
20010 op1.as_operand(),
20011 op2.as_operand(),
20012 &NOREG,
20013 );
20014 }
20015}
20016
20017impl<'a> Vfmadd132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20018 fn vfmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20019 self.emit(
20020 VFMADD132PH512RRM_MASKZ,
20021 op0.as_operand(),
20022 op1.as_operand(),
20023 op2.as_operand(),
20024 &NOREG,
20025 );
20026 }
20027}
20028
20029pub trait Vfmadd132phMaskzErEmitter<A, B, C> {
20041 fn vfmadd132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
20042}
20043
20044impl<'a> Vfmadd132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20045 fn vfmadd132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20046 self.emit(
20047 VFMADD132PH512RRR_MASKZ_ER,
20048 op0.as_operand(),
20049 op1.as_operand(),
20050 op2.as_operand(),
20051 &NOREG,
20052 );
20053 }
20054}
20055
20056pub trait Vfmadd132shEmitter<A, B, C> {
20069 fn vfmadd132sh(&mut self, op0: A, op1: B, op2: C);
20070}
20071
20072impl<'a> Vfmadd132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20073 fn vfmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20074 self.emit(
20075 VFMADD132SHRRR,
20076 op0.as_operand(),
20077 op1.as_operand(),
20078 op2.as_operand(),
20079 &NOREG,
20080 );
20081 }
20082}
20083
20084impl<'a> Vfmadd132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20085 fn vfmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20086 self.emit(
20087 VFMADD132SHRRM,
20088 op0.as_operand(),
20089 op1.as_operand(),
20090 op2.as_operand(),
20091 &NOREG,
20092 );
20093 }
20094}
20095
20096pub trait Vfmadd132shErEmitter<A, B, C> {
20108 fn vfmadd132sh_er(&mut self, op0: A, op1: B, op2: C);
20109}
20110
20111impl<'a> Vfmadd132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20112 fn vfmadd132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20113 self.emit(
20114 VFMADD132SHRRR_ER,
20115 op0.as_operand(),
20116 op1.as_operand(),
20117 op2.as_operand(),
20118 &NOREG,
20119 );
20120 }
20121}
20122
20123pub trait Vfmadd132shMaskEmitter<A, B, C> {
20136 fn vfmadd132sh_mask(&mut self, op0: A, op1: B, op2: C);
20137}
20138
20139impl<'a> Vfmadd132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20140 fn vfmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20141 self.emit(
20142 VFMADD132SHRRR_MASK,
20143 op0.as_operand(),
20144 op1.as_operand(),
20145 op2.as_operand(),
20146 &NOREG,
20147 );
20148 }
20149}
20150
20151impl<'a> Vfmadd132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20152 fn vfmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20153 self.emit(
20154 VFMADD132SHRRM_MASK,
20155 op0.as_operand(),
20156 op1.as_operand(),
20157 op2.as_operand(),
20158 &NOREG,
20159 );
20160 }
20161}
20162
20163pub trait Vfmadd132shMaskErEmitter<A, B, C> {
20175 fn vfmadd132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
20176}
20177
20178impl<'a> Vfmadd132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20179 fn vfmadd132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20180 self.emit(
20181 VFMADD132SHRRR_MASK_ER,
20182 op0.as_operand(),
20183 op1.as_operand(),
20184 op2.as_operand(),
20185 &NOREG,
20186 );
20187 }
20188}
20189
20190pub trait Vfmadd132shMaskzEmitter<A, B, C> {
20203 fn vfmadd132sh_maskz(&mut self, op0: A, op1: B, op2: C);
20204}
20205
20206impl<'a> Vfmadd132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20207 fn vfmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20208 self.emit(
20209 VFMADD132SHRRR_MASKZ,
20210 op0.as_operand(),
20211 op1.as_operand(),
20212 op2.as_operand(),
20213 &NOREG,
20214 );
20215 }
20216}
20217
20218impl<'a> Vfmadd132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20219 fn vfmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20220 self.emit(
20221 VFMADD132SHRRM_MASKZ,
20222 op0.as_operand(),
20223 op1.as_operand(),
20224 op2.as_operand(),
20225 &NOREG,
20226 );
20227 }
20228}
20229
20230pub trait Vfmadd132shMaskzErEmitter<A, B, C> {
20242 fn vfmadd132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
20243}
20244
20245impl<'a> Vfmadd132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20246 fn vfmadd132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20247 self.emit(
20248 VFMADD132SHRRR_MASKZ_ER,
20249 op0.as_operand(),
20250 op1.as_operand(),
20251 op2.as_operand(),
20252 &NOREG,
20253 );
20254 }
20255}
20256
20257pub trait Vfmadd213phEmitter<A, B, C> {
20274 fn vfmadd213ph(&mut self, op0: A, op1: B, op2: C);
20275}
20276
20277impl<'a> Vfmadd213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20278 fn vfmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20279 self.emit(
20280 VFMADD213PH128RRR,
20281 op0.as_operand(),
20282 op1.as_operand(),
20283 op2.as_operand(),
20284 &NOREG,
20285 );
20286 }
20287}
20288
20289impl<'a> Vfmadd213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20290 fn vfmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20291 self.emit(
20292 VFMADD213PH128RRM,
20293 op0.as_operand(),
20294 op1.as_operand(),
20295 op2.as_operand(),
20296 &NOREG,
20297 );
20298 }
20299}
20300
20301impl<'a> Vfmadd213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20302 fn vfmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20303 self.emit(
20304 VFMADD213PH256RRR,
20305 op0.as_operand(),
20306 op1.as_operand(),
20307 op2.as_operand(),
20308 &NOREG,
20309 );
20310 }
20311}
20312
20313impl<'a> Vfmadd213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20314 fn vfmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20315 self.emit(
20316 VFMADD213PH256RRM,
20317 op0.as_operand(),
20318 op1.as_operand(),
20319 op2.as_operand(),
20320 &NOREG,
20321 );
20322 }
20323}
20324
20325impl<'a> Vfmadd213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20326 fn vfmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20327 self.emit(
20328 VFMADD213PH512RRR,
20329 op0.as_operand(),
20330 op1.as_operand(),
20331 op2.as_operand(),
20332 &NOREG,
20333 );
20334 }
20335}
20336
20337impl<'a> Vfmadd213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20338 fn vfmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20339 self.emit(
20340 VFMADD213PH512RRM,
20341 op0.as_operand(),
20342 op1.as_operand(),
20343 op2.as_operand(),
20344 &NOREG,
20345 );
20346 }
20347}
20348
20349pub trait Vfmadd213phErEmitter<A, B, C> {
20361 fn vfmadd213ph_er(&mut self, op0: A, op1: B, op2: C);
20362}
20363
20364impl<'a> Vfmadd213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20365 fn vfmadd213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20366 self.emit(
20367 VFMADD213PH512RRR_ER,
20368 op0.as_operand(),
20369 op1.as_operand(),
20370 op2.as_operand(),
20371 &NOREG,
20372 );
20373 }
20374}
20375
20376pub trait Vfmadd213phMaskEmitter<A, B, C> {
20393 fn vfmadd213ph_mask(&mut self, op0: A, op1: B, op2: C);
20394}
20395
20396impl<'a> Vfmadd213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20397 fn vfmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20398 self.emit(
20399 VFMADD213PH128RRR_MASK,
20400 op0.as_operand(),
20401 op1.as_operand(),
20402 op2.as_operand(),
20403 &NOREG,
20404 );
20405 }
20406}
20407
20408impl<'a> Vfmadd213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20409 fn vfmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20410 self.emit(
20411 VFMADD213PH128RRM_MASK,
20412 op0.as_operand(),
20413 op1.as_operand(),
20414 op2.as_operand(),
20415 &NOREG,
20416 );
20417 }
20418}
20419
20420impl<'a> Vfmadd213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20421 fn vfmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20422 self.emit(
20423 VFMADD213PH256RRR_MASK,
20424 op0.as_operand(),
20425 op1.as_operand(),
20426 op2.as_operand(),
20427 &NOREG,
20428 );
20429 }
20430}
20431
20432impl<'a> Vfmadd213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20433 fn vfmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20434 self.emit(
20435 VFMADD213PH256RRM_MASK,
20436 op0.as_operand(),
20437 op1.as_operand(),
20438 op2.as_operand(),
20439 &NOREG,
20440 );
20441 }
20442}
20443
20444impl<'a> Vfmadd213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20445 fn vfmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20446 self.emit(
20447 VFMADD213PH512RRR_MASK,
20448 op0.as_operand(),
20449 op1.as_operand(),
20450 op2.as_operand(),
20451 &NOREG,
20452 );
20453 }
20454}
20455
20456impl<'a> Vfmadd213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20457 fn vfmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20458 self.emit(
20459 VFMADD213PH512RRM_MASK,
20460 op0.as_operand(),
20461 op1.as_operand(),
20462 op2.as_operand(),
20463 &NOREG,
20464 );
20465 }
20466}
20467
20468pub trait Vfmadd213phMaskErEmitter<A, B, C> {
20480 fn vfmadd213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
20481}
20482
20483impl<'a> Vfmadd213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20484 fn vfmadd213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20485 self.emit(
20486 VFMADD213PH512RRR_MASK_ER,
20487 op0.as_operand(),
20488 op1.as_operand(),
20489 op2.as_operand(),
20490 &NOREG,
20491 );
20492 }
20493}
20494
20495pub trait Vfmadd213phMaskzEmitter<A, B, C> {
20512 fn vfmadd213ph_maskz(&mut self, op0: A, op1: B, op2: C);
20513}
20514
20515impl<'a> Vfmadd213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20516 fn vfmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20517 self.emit(
20518 VFMADD213PH128RRR_MASKZ,
20519 op0.as_operand(),
20520 op1.as_operand(),
20521 op2.as_operand(),
20522 &NOREG,
20523 );
20524 }
20525}
20526
20527impl<'a> Vfmadd213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20528 fn vfmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20529 self.emit(
20530 VFMADD213PH128RRM_MASKZ,
20531 op0.as_operand(),
20532 op1.as_operand(),
20533 op2.as_operand(),
20534 &NOREG,
20535 );
20536 }
20537}
20538
20539impl<'a> Vfmadd213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20540 fn vfmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20541 self.emit(
20542 VFMADD213PH256RRR_MASKZ,
20543 op0.as_operand(),
20544 op1.as_operand(),
20545 op2.as_operand(),
20546 &NOREG,
20547 );
20548 }
20549}
20550
20551impl<'a> Vfmadd213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20552 fn vfmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20553 self.emit(
20554 VFMADD213PH256RRM_MASKZ,
20555 op0.as_operand(),
20556 op1.as_operand(),
20557 op2.as_operand(),
20558 &NOREG,
20559 );
20560 }
20561}
20562
20563impl<'a> Vfmadd213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20564 fn vfmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20565 self.emit(
20566 VFMADD213PH512RRR_MASKZ,
20567 op0.as_operand(),
20568 op1.as_operand(),
20569 op2.as_operand(),
20570 &NOREG,
20571 );
20572 }
20573}
20574
20575impl<'a> Vfmadd213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20576 fn vfmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20577 self.emit(
20578 VFMADD213PH512RRM_MASKZ,
20579 op0.as_operand(),
20580 op1.as_operand(),
20581 op2.as_operand(),
20582 &NOREG,
20583 );
20584 }
20585}
20586
20587pub trait Vfmadd213phMaskzErEmitter<A, B, C> {
20599 fn vfmadd213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
20600}
20601
20602impl<'a> Vfmadd213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20603 fn vfmadd213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20604 self.emit(
20605 VFMADD213PH512RRR_MASKZ_ER,
20606 op0.as_operand(),
20607 op1.as_operand(),
20608 op2.as_operand(),
20609 &NOREG,
20610 );
20611 }
20612}
20613
20614pub trait Vfmadd213shEmitter<A, B, C> {
20627 fn vfmadd213sh(&mut self, op0: A, op1: B, op2: C);
20628}
20629
20630impl<'a> Vfmadd213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20631 fn vfmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20632 self.emit(
20633 VFMADD213SHRRR,
20634 op0.as_operand(),
20635 op1.as_operand(),
20636 op2.as_operand(),
20637 &NOREG,
20638 );
20639 }
20640}
20641
20642impl<'a> Vfmadd213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20643 fn vfmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20644 self.emit(
20645 VFMADD213SHRRM,
20646 op0.as_operand(),
20647 op1.as_operand(),
20648 op2.as_operand(),
20649 &NOREG,
20650 );
20651 }
20652}
20653
20654pub trait Vfmadd213shErEmitter<A, B, C> {
20666 fn vfmadd213sh_er(&mut self, op0: A, op1: B, op2: C);
20667}
20668
20669impl<'a> Vfmadd213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20670 fn vfmadd213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20671 self.emit(
20672 VFMADD213SHRRR_ER,
20673 op0.as_operand(),
20674 op1.as_operand(),
20675 op2.as_operand(),
20676 &NOREG,
20677 );
20678 }
20679}
20680
20681pub trait Vfmadd213shMaskEmitter<A, B, C> {
20694 fn vfmadd213sh_mask(&mut self, op0: A, op1: B, op2: C);
20695}
20696
20697impl<'a> Vfmadd213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20698 fn vfmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20699 self.emit(
20700 VFMADD213SHRRR_MASK,
20701 op0.as_operand(),
20702 op1.as_operand(),
20703 op2.as_operand(),
20704 &NOREG,
20705 );
20706 }
20707}
20708
20709impl<'a> Vfmadd213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20710 fn vfmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20711 self.emit(
20712 VFMADD213SHRRM_MASK,
20713 op0.as_operand(),
20714 op1.as_operand(),
20715 op2.as_operand(),
20716 &NOREG,
20717 );
20718 }
20719}
20720
20721pub trait Vfmadd213shMaskErEmitter<A, B, C> {
20733 fn vfmadd213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
20734}
20735
20736impl<'a> Vfmadd213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20737 fn vfmadd213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20738 self.emit(
20739 VFMADD213SHRRR_MASK_ER,
20740 op0.as_operand(),
20741 op1.as_operand(),
20742 op2.as_operand(),
20743 &NOREG,
20744 );
20745 }
20746}
20747
20748pub trait Vfmadd213shMaskzEmitter<A, B, C> {
20761 fn vfmadd213sh_maskz(&mut self, op0: A, op1: B, op2: C);
20762}
20763
20764impl<'a> Vfmadd213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20765 fn vfmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20766 self.emit(
20767 VFMADD213SHRRR_MASKZ,
20768 op0.as_operand(),
20769 op1.as_operand(),
20770 op2.as_operand(),
20771 &NOREG,
20772 );
20773 }
20774}
20775
20776impl<'a> Vfmadd213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20777 fn vfmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20778 self.emit(
20779 VFMADD213SHRRM_MASKZ,
20780 op0.as_operand(),
20781 op1.as_operand(),
20782 op2.as_operand(),
20783 &NOREG,
20784 );
20785 }
20786}
20787
20788pub trait Vfmadd213shMaskzErEmitter<A, B, C> {
20800 fn vfmadd213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
20801}
20802
20803impl<'a> Vfmadd213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20804 fn vfmadd213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20805 self.emit(
20806 VFMADD213SHRRR_MASKZ_ER,
20807 op0.as_operand(),
20808 op1.as_operand(),
20809 op2.as_operand(),
20810 &NOREG,
20811 );
20812 }
20813}
20814
20815pub trait Vfmadd231phEmitter<A, B, C> {
20832 fn vfmadd231ph(&mut self, op0: A, op1: B, op2: C);
20833}
20834
20835impl<'a> Vfmadd231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20836 fn vfmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20837 self.emit(
20838 VFMADD231PH128RRR,
20839 op0.as_operand(),
20840 op1.as_operand(),
20841 op2.as_operand(),
20842 &NOREG,
20843 );
20844 }
20845}
20846
20847impl<'a> Vfmadd231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20848 fn vfmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20849 self.emit(
20850 VFMADD231PH128RRM,
20851 op0.as_operand(),
20852 op1.as_operand(),
20853 op2.as_operand(),
20854 &NOREG,
20855 );
20856 }
20857}
20858
20859impl<'a> Vfmadd231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20860 fn vfmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20861 self.emit(
20862 VFMADD231PH256RRR,
20863 op0.as_operand(),
20864 op1.as_operand(),
20865 op2.as_operand(),
20866 &NOREG,
20867 );
20868 }
20869}
20870
20871impl<'a> Vfmadd231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20872 fn vfmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20873 self.emit(
20874 VFMADD231PH256RRM,
20875 op0.as_operand(),
20876 op1.as_operand(),
20877 op2.as_operand(),
20878 &NOREG,
20879 );
20880 }
20881}
20882
20883impl<'a> Vfmadd231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20884 fn vfmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20885 self.emit(
20886 VFMADD231PH512RRR,
20887 op0.as_operand(),
20888 op1.as_operand(),
20889 op2.as_operand(),
20890 &NOREG,
20891 );
20892 }
20893}
20894
20895impl<'a> Vfmadd231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20896 fn vfmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20897 self.emit(
20898 VFMADD231PH512RRM,
20899 op0.as_operand(),
20900 op1.as_operand(),
20901 op2.as_operand(),
20902 &NOREG,
20903 );
20904 }
20905}
20906
20907pub trait Vfmadd231phErEmitter<A, B, C> {
20919 fn vfmadd231ph_er(&mut self, op0: A, op1: B, op2: C);
20920}
20921
20922impl<'a> Vfmadd231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20923 fn vfmadd231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20924 self.emit(
20925 VFMADD231PH512RRR_ER,
20926 op0.as_operand(),
20927 op1.as_operand(),
20928 op2.as_operand(),
20929 &NOREG,
20930 );
20931 }
20932}
20933
20934pub trait Vfmadd231phMaskEmitter<A, B, C> {
20951 fn vfmadd231ph_mask(&mut self, op0: A, op1: B, op2: C);
20952}
20953
20954impl<'a> Vfmadd231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20955 fn vfmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20956 self.emit(
20957 VFMADD231PH128RRR_MASK,
20958 op0.as_operand(),
20959 op1.as_operand(),
20960 op2.as_operand(),
20961 &NOREG,
20962 );
20963 }
20964}
20965
20966impl<'a> Vfmadd231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20967 fn vfmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20968 self.emit(
20969 VFMADD231PH128RRM_MASK,
20970 op0.as_operand(),
20971 op1.as_operand(),
20972 op2.as_operand(),
20973 &NOREG,
20974 );
20975 }
20976}
20977
20978impl<'a> Vfmadd231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20979 fn vfmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20980 self.emit(
20981 VFMADD231PH256RRR_MASK,
20982 op0.as_operand(),
20983 op1.as_operand(),
20984 op2.as_operand(),
20985 &NOREG,
20986 );
20987 }
20988}
20989
20990impl<'a> Vfmadd231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20991 fn vfmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20992 self.emit(
20993 VFMADD231PH256RRM_MASK,
20994 op0.as_operand(),
20995 op1.as_operand(),
20996 op2.as_operand(),
20997 &NOREG,
20998 );
20999 }
21000}
21001
21002impl<'a> Vfmadd231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21003 fn vfmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21004 self.emit(
21005 VFMADD231PH512RRR_MASK,
21006 op0.as_operand(),
21007 op1.as_operand(),
21008 op2.as_operand(),
21009 &NOREG,
21010 );
21011 }
21012}
21013
21014impl<'a> Vfmadd231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21015 fn vfmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21016 self.emit(
21017 VFMADD231PH512RRM_MASK,
21018 op0.as_operand(),
21019 op1.as_operand(),
21020 op2.as_operand(),
21021 &NOREG,
21022 );
21023 }
21024}
21025
21026pub trait Vfmadd231phMaskErEmitter<A, B, C> {
21038 fn vfmadd231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
21039}
21040
21041impl<'a> Vfmadd231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21042 fn vfmadd231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21043 self.emit(
21044 VFMADD231PH512RRR_MASK_ER,
21045 op0.as_operand(),
21046 op1.as_operand(),
21047 op2.as_operand(),
21048 &NOREG,
21049 );
21050 }
21051}
21052
21053pub trait Vfmadd231phMaskzEmitter<A, B, C> {
21070 fn vfmadd231ph_maskz(&mut self, op0: A, op1: B, op2: C);
21071}
21072
21073impl<'a> Vfmadd231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21074 fn vfmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21075 self.emit(
21076 VFMADD231PH128RRR_MASKZ,
21077 op0.as_operand(),
21078 op1.as_operand(),
21079 op2.as_operand(),
21080 &NOREG,
21081 );
21082 }
21083}
21084
21085impl<'a> Vfmadd231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21086 fn vfmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21087 self.emit(
21088 VFMADD231PH128RRM_MASKZ,
21089 op0.as_operand(),
21090 op1.as_operand(),
21091 op2.as_operand(),
21092 &NOREG,
21093 );
21094 }
21095}
21096
21097impl<'a> Vfmadd231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21098 fn vfmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21099 self.emit(
21100 VFMADD231PH256RRR_MASKZ,
21101 op0.as_operand(),
21102 op1.as_operand(),
21103 op2.as_operand(),
21104 &NOREG,
21105 );
21106 }
21107}
21108
21109impl<'a> Vfmadd231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21110 fn vfmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21111 self.emit(
21112 VFMADD231PH256RRM_MASKZ,
21113 op0.as_operand(),
21114 op1.as_operand(),
21115 op2.as_operand(),
21116 &NOREG,
21117 );
21118 }
21119}
21120
21121impl<'a> Vfmadd231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21122 fn vfmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21123 self.emit(
21124 VFMADD231PH512RRR_MASKZ,
21125 op0.as_operand(),
21126 op1.as_operand(),
21127 op2.as_operand(),
21128 &NOREG,
21129 );
21130 }
21131}
21132
21133impl<'a> Vfmadd231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21134 fn vfmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21135 self.emit(
21136 VFMADD231PH512RRM_MASKZ,
21137 op0.as_operand(),
21138 op1.as_operand(),
21139 op2.as_operand(),
21140 &NOREG,
21141 );
21142 }
21143}
21144
21145pub trait Vfmadd231phMaskzErEmitter<A, B, C> {
21157 fn vfmadd231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
21158}
21159
21160impl<'a> Vfmadd231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21161 fn vfmadd231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21162 self.emit(
21163 VFMADD231PH512RRR_MASKZ_ER,
21164 op0.as_operand(),
21165 op1.as_operand(),
21166 op2.as_operand(),
21167 &NOREG,
21168 );
21169 }
21170}
21171
21172pub trait Vfmadd231shEmitter<A, B, C> {
21185 fn vfmadd231sh(&mut self, op0: A, op1: B, op2: C);
21186}
21187
21188impl<'a> Vfmadd231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21189 fn vfmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21190 self.emit(
21191 VFMADD231SHRRR,
21192 op0.as_operand(),
21193 op1.as_operand(),
21194 op2.as_operand(),
21195 &NOREG,
21196 );
21197 }
21198}
21199
21200impl<'a> Vfmadd231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21201 fn vfmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21202 self.emit(
21203 VFMADD231SHRRM,
21204 op0.as_operand(),
21205 op1.as_operand(),
21206 op2.as_operand(),
21207 &NOREG,
21208 );
21209 }
21210}
21211
21212pub trait Vfmadd231shErEmitter<A, B, C> {
21224 fn vfmadd231sh_er(&mut self, op0: A, op1: B, op2: C);
21225}
21226
21227impl<'a> Vfmadd231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21228 fn vfmadd231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21229 self.emit(
21230 VFMADD231SHRRR_ER,
21231 op0.as_operand(),
21232 op1.as_operand(),
21233 op2.as_operand(),
21234 &NOREG,
21235 );
21236 }
21237}
21238
21239pub trait Vfmadd231shMaskEmitter<A, B, C> {
21252 fn vfmadd231sh_mask(&mut self, op0: A, op1: B, op2: C);
21253}
21254
21255impl<'a> Vfmadd231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21256 fn vfmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21257 self.emit(
21258 VFMADD231SHRRR_MASK,
21259 op0.as_operand(),
21260 op1.as_operand(),
21261 op2.as_operand(),
21262 &NOREG,
21263 );
21264 }
21265}
21266
21267impl<'a> Vfmadd231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21268 fn vfmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21269 self.emit(
21270 VFMADD231SHRRM_MASK,
21271 op0.as_operand(),
21272 op1.as_operand(),
21273 op2.as_operand(),
21274 &NOREG,
21275 );
21276 }
21277}
21278
21279pub trait Vfmadd231shMaskErEmitter<A, B, C> {
21291 fn vfmadd231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
21292}
21293
21294impl<'a> Vfmadd231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21295 fn vfmadd231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21296 self.emit(
21297 VFMADD231SHRRR_MASK_ER,
21298 op0.as_operand(),
21299 op1.as_operand(),
21300 op2.as_operand(),
21301 &NOREG,
21302 );
21303 }
21304}
21305
21306pub trait Vfmadd231shMaskzEmitter<A, B, C> {
21319 fn vfmadd231sh_maskz(&mut self, op0: A, op1: B, op2: C);
21320}
21321
21322impl<'a> Vfmadd231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21323 fn vfmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21324 self.emit(
21325 VFMADD231SHRRR_MASKZ,
21326 op0.as_operand(),
21327 op1.as_operand(),
21328 op2.as_operand(),
21329 &NOREG,
21330 );
21331 }
21332}
21333
21334impl<'a> Vfmadd231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21335 fn vfmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21336 self.emit(
21337 VFMADD231SHRRM_MASKZ,
21338 op0.as_operand(),
21339 op1.as_operand(),
21340 op2.as_operand(),
21341 &NOREG,
21342 );
21343 }
21344}
21345
21346pub trait Vfmadd231shMaskzErEmitter<A, B, C> {
21358 fn vfmadd231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
21359}
21360
21361impl<'a> Vfmadd231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21362 fn vfmadd231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21363 self.emit(
21364 VFMADD231SHRRR_MASKZ_ER,
21365 op0.as_operand(),
21366 op1.as_operand(),
21367 op2.as_operand(),
21368 &NOREG,
21369 );
21370 }
21371}
21372
21373pub trait VfmaddcphEmitter<A, B, C> {
21390 fn vfmaddcph(&mut self, op0: A, op1: B, op2: C);
21391}
21392
21393impl<'a> VfmaddcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21394 fn vfmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21395 self.emit(
21396 VFMADDCPH128RRR,
21397 op0.as_operand(),
21398 op1.as_operand(),
21399 op2.as_operand(),
21400 &NOREG,
21401 );
21402 }
21403}
21404
21405impl<'a> VfmaddcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21406 fn vfmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21407 self.emit(
21408 VFMADDCPH128RRM,
21409 op0.as_operand(),
21410 op1.as_operand(),
21411 op2.as_operand(),
21412 &NOREG,
21413 );
21414 }
21415}
21416
21417impl<'a> VfmaddcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21418 fn vfmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21419 self.emit(
21420 VFMADDCPH256RRR,
21421 op0.as_operand(),
21422 op1.as_operand(),
21423 op2.as_operand(),
21424 &NOREG,
21425 );
21426 }
21427}
21428
21429impl<'a> VfmaddcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21430 fn vfmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21431 self.emit(
21432 VFMADDCPH256RRM,
21433 op0.as_operand(),
21434 op1.as_operand(),
21435 op2.as_operand(),
21436 &NOREG,
21437 );
21438 }
21439}
21440
21441impl<'a> VfmaddcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21442 fn vfmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21443 self.emit(
21444 VFMADDCPH512RRR,
21445 op0.as_operand(),
21446 op1.as_operand(),
21447 op2.as_operand(),
21448 &NOREG,
21449 );
21450 }
21451}
21452
21453impl<'a> VfmaddcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21454 fn vfmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21455 self.emit(
21456 VFMADDCPH512RRM,
21457 op0.as_operand(),
21458 op1.as_operand(),
21459 op2.as_operand(),
21460 &NOREG,
21461 );
21462 }
21463}
21464
21465pub trait VfmaddcphErEmitter<A, B, C> {
21477 fn vfmaddcph_er(&mut self, op0: A, op1: B, op2: C);
21478}
21479
21480impl<'a> VfmaddcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21481 fn vfmaddcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21482 self.emit(
21483 VFMADDCPH512RRR_ER,
21484 op0.as_operand(),
21485 op1.as_operand(),
21486 op2.as_operand(),
21487 &NOREG,
21488 );
21489 }
21490}
21491
21492pub trait VfmaddcphMaskEmitter<A, B, C> {
21509 fn vfmaddcph_mask(&mut self, op0: A, op1: B, op2: C);
21510}
21511
21512impl<'a> VfmaddcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21513 fn vfmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21514 self.emit(
21515 VFMADDCPH128RRR_MASK,
21516 op0.as_operand(),
21517 op1.as_operand(),
21518 op2.as_operand(),
21519 &NOREG,
21520 );
21521 }
21522}
21523
21524impl<'a> VfmaddcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21525 fn vfmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21526 self.emit(
21527 VFMADDCPH128RRM_MASK,
21528 op0.as_operand(),
21529 op1.as_operand(),
21530 op2.as_operand(),
21531 &NOREG,
21532 );
21533 }
21534}
21535
21536impl<'a> VfmaddcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21537 fn vfmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21538 self.emit(
21539 VFMADDCPH256RRR_MASK,
21540 op0.as_operand(),
21541 op1.as_operand(),
21542 op2.as_operand(),
21543 &NOREG,
21544 );
21545 }
21546}
21547
21548impl<'a> VfmaddcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21549 fn vfmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21550 self.emit(
21551 VFMADDCPH256RRM_MASK,
21552 op0.as_operand(),
21553 op1.as_operand(),
21554 op2.as_operand(),
21555 &NOREG,
21556 );
21557 }
21558}
21559
21560impl<'a> VfmaddcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21561 fn vfmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21562 self.emit(
21563 VFMADDCPH512RRR_MASK,
21564 op0.as_operand(),
21565 op1.as_operand(),
21566 op2.as_operand(),
21567 &NOREG,
21568 );
21569 }
21570}
21571
21572impl<'a> VfmaddcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21573 fn vfmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21574 self.emit(
21575 VFMADDCPH512RRM_MASK,
21576 op0.as_operand(),
21577 op1.as_operand(),
21578 op2.as_operand(),
21579 &NOREG,
21580 );
21581 }
21582}
21583
21584pub trait VfmaddcphMaskErEmitter<A, B, C> {
21596 fn vfmaddcph_mask_er(&mut self, op0: A, op1: B, op2: C);
21597}
21598
21599impl<'a> VfmaddcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21600 fn vfmaddcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21601 self.emit(
21602 VFMADDCPH512RRR_MASK_ER,
21603 op0.as_operand(),
21604 op1.as_operand(),
21605 op2.as_operand(),
21606 &NOREG,
21607 );
21608 }
21609}
21610
21611pub trait VfmaddcphMaskzEmitter<A, B, C> {
21628 fn vfmaddcph_maskz(&mut self, op0: A, op1: B, op2: C);
21629}
21630
21631impl<'a> VfmaddcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21632 fn vfmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21633 self.emit(
21634 VFMADDCPH128RRR_MASKZ,
21635 op0.as_operand(),
21636 op1.as_operand(),
21637 op2.as_operand(),
21638 &NOREG,
21639 );
21640 }
21641}
21642
21643impl<'a> VfmaddcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21644 fn vfmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21645 self.emit(
21646 VFMADDCPH128RRM_MASKZ,
21647 op0.as_operand(),
21648 op1.as_operand(),
21649 op2.as_operand(),
21650 &NOREG,
21651 );
21652 }
21653}
21654
21655impl<'a> VfmaddcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21656 fn vfmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21657 self.emit(
21658 VFMADDCPH256RRR_MASKZ,
21659 op0.as_operand(),
21660 op1.as_operand(),
21661 op2.as_operand(),
21662 &NOREG,
21663 );
21664 }
21665}
21666
21667impl<'a> VfmaddcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21668 fn vfmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21669 self.emit(
21670 VFMADDCPH256RRM_MASKZ,
21671 op0.as_operand(),
21672 op1.as_operand(),
21673 op2.as_operand(),
21674 &NOREG,
21675 );
21676 }
21677}
21678
21679impl<'a> VfmaddcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21680 fn vfmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21681 self.emit(
21682 VFMADDCPH512RRR_MASKZ,
21683 op0.as_operand(),
21684 op1.as_operand(),
21685 op2.as_operand(),
21686 &NOREG,
21687 );
21688 }
21689}
21690
21691impl<'a> VfmaddcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21692 fn vfmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21693 self.emit(
21694 VFMADDCPH512RRM_MASKZ,
21695 op0.as_operand(),
21696 op1.as_operand(),
21697 op2.as_operand(),
21698 &NOREG,
21699 );
21700 }
21701}
21702
21703pub trait VfmaddcphMaskzErEmitter<A, B, C> {
21715 fn vfmaddcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
21716}
21717
21718impl<'a> VfmaddcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21719 fn vfmaddcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21720 self.emit(
21721 VFMADDCPH512RRR_MASKZ_ER,
21722 op0.as_operand(),
21723 op1.as_operand(),
21724 op2.as_operand(),
21725 &NOREG,
21726 );
21727 }
21728}
21729
21730pub trait VfmaddcshEmitter<A, B, C> {
21743 fn vfmaddcsh(&mut self, op0: A, op1: B, op2: C);
21744}
21745
21746impl<'a> VfmaddcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21747 fn vfmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21748 self.emit(
21749 VFMADDCSHRRR,
21750 op0.as_operand(),
21751 op1.as_operand(),
21752 op2.as_operand(),
21753 &NOREG,
21754 );
21755 }
21756}
21757
21758impl<'a> VfmaddcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21759 fn vfmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21760 self.emit(
21761 VFMADDCSHRRM,
21762 op0.as_operand(),
21763 op1.as_operand(),
21764 op2.as_operand(),
21765 &NOREG,
21766 );
21767 }
21768}
21769
21770pub trait VfmaddcshErEmitter<A, B, C> {
21782 fn vfmaddcsh_er(&mut self, op0: A, op1: B, op2: C);
21783}
21784
21785impl<'a> VfmaddcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21786 fn vfmaddcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21787 self.emit(
21788 VFMADDCSHRRR_ER,
21789 op0.as_operand(),
21790 op1.as_operand(),
21791 op2.as_operand(),
21792 &NOREG,
21793 );
21794 }
21795}
21796
21797pub trait VfmaddcshMaskEmitter<A, B, C> {
21810 fn vfmaddcsh_mask(&mut self, op0: A, op1: B, op2: C);
21811}
21812
21813impl<'a> VfmaddcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21814 fn vfmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21815 self.emit(
21816 VFMADDCSHRRR_MASK,
21817 op0.as_operand(),
21818 op1.as_operand(),
21819 op2.as_operand(),
21820 &NOREG,
21821 );
21822 }
21823}
21824
21825impl<'a> VfmaddcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21826 fn vfmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21827 self.emit(
21828 VFMADDCSHRRM_MASK,
21829 op0.as_operand(),
21830 op1.as_operand(),
21831 op2.as_operand(),
21832 &NOREG,
21833 );
21834 }
21835}
21836
21837pub trait VfmaddcshMaskErEmitter<A, B, C> {
21849 fn vfmaddcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
21850}
21851
21852impl<'a> VfmaddcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21853 fn vfmaddcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21854 self.emit(
21855 VFMADDCSHRRR_MASK_ER,
21856 op0.as_operand(),
21857 op1.as_operand(),
21858 op2.as_operand(),
21859 &NOREG,
21860 );
21861 }
21862}
21863
21864pub trait VfmaddcshMaskzEmitter<A, B, C> {
21877 fn vfmaddcsh_maskz(&mut self, op0: A, op1: B, op2: C);
21878}
21879
21880impl<'a> VfmaddcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21881 fn vfmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21882 self.emit(
21883 VFMADDCSHRRR_MASKZ,
21884 op0.as_operand(),
21885 op1.as_operand(),
21886 op2.as_operand(),
21887 &NOREG,
21888 );
21889 }
21890}
21891
21892impl<'a> VfmaddcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21893 fn vfmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21894 self.emit(
21895 VFMADDCSHRRM_MASKZ,
21896 op0.as_operand(),
21897 op1.as_operand(),
21898 op2.as_operand(),
21899 &NOREG,
21900 );
21901 }
21902}
21903
21904pub trait VfmaddcshMaskzErEmitter<A, B, C> {
21916 fn vfmaddcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
21917}
21918
21919impl<'a> VfmaddcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21920 fn vfmaddcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21921 self.emit(
21922 VFMADDCSHRRR_MASKZ_ER,
21923 op0.as_operand(),
21924 op1.as_operand(),
21925 op2.as_operand(),
21926 &NOREG,
21927 );
21928 }
21929}
21930
21931pub trait Vfmaddsub132phEmitter<A, B, C> {
21948 fn vfmaddsub132ph(&mut self, op0: A, op1: B, op2: C);
21949}
21950
21951impl<'a> Vfmaddsub132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21952 fn vfmaddsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21953 self.emit(
21954 VFMADDSUB132PH128RRR,
21955 op0.as_operand(),
21956 op1.as_operand(),
21957 op2.as_operand(),
21958 &NOREG,
21959 );
21960 }
21961}
21962
21963impl<'a> Vfmaddsub132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21964 fn vfmaddsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21965 self.emit(
21966 VFMADDSUB132PH128RRM,
21967 op0.as_operand(),
21968 op1.as_operand(),
21969 op2.as_operand(),
21970 &NOREG,
21971 );
21972 }
21973}
21974
21975impl<'a> Vfmaddsub132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21976 fn vfmaddsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21977 self.emit(
21978 VFMADDSUB132PH256RRR,
21979 op0.as_operand(),
21980 op1.as_operand(),
21981 op2.as_operand(),
21982 &NOREG,
21983 );
21984 }
21985}
21986
21987impl<'a> Vfmaddsub132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21988 fn vfmaddsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21989 self.emit(
21990 VFMADDSUB132PH256RRM,
21991 op0.as_operand(),
21992 op1.as_operand(),
21993 op2.as_operand(),
21994 &NOREG,
21995 );
21996 }
21997}
21998
21999impl<'a> Vfmaddsub132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22000 fn vfmaddsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22001 self.emit(
22002 VFMADDSUB132PH512RRR,
22003 op0.as_operand(),
22004 op1.as_operand(),
22005 op2.as_operand(),
22006 &NOREG,
22007 );
22008 }
22009}
22010
22011impl<'a> Vfmaddsub132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22012 fn vfmaddsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22013 self.emit(
22014 VFMADDSUB132PH512RRM,
22015 op0.as_operand(),
22016 op1.as_operand(),
22017 op2.as_operand(),
22018 &NOREG,
22019 );
22020 }
22021}
22022
22023pub trait Vfmaddsub132phErEmitter<A, B, C> {
22035 fn vfmaddsub132ph_er(&mut self, op0: A, op1: B, op2: C);
22036}
22037
22038impl<'a> Vfmaddsub132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22039 fn vfmaddsub132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22040 self.emit(
22041 VFMADDSUB132PH512RRR_ER,
22042 op0.as_operand(),
22043 op1.as_operand(),
22044 op2.as_operand(),
22045 &NOREG,
22046 );
22047 }
22048}
22049
22050pub trait Vfmaddsub132phMaskEmitter<A, B, C> {
22067 fn vfmaddsub132ph_mask(&mut self, op0: A, op1: B, op2: C);
22068}
22069
22070impl<'a> Vfmaddsub132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22071 fn vfmaddsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22072 self.emit(
22073 VFMADDSUB132PH128RRR_MASK,
22074 op0.as_operand(),
22075 op1.as_operand(),
22076 op2.as_operand(),
22077 &NOREG,
22078 );
22079 }
22080}
22081
22082impl<'a> Vfmaddsub132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22083 fn vfmaddsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22084 self.emit(
22085 VFMADDSUB132PH128RRM_MASK,
22086 op0.as_operand(),
22087 op1.as_operand(),
22088 op2.as_operand(),
22089 &NOREG,
22090 );
22091 }
22092}
22093
22094impl<'a> Vfmaddsub132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22095 fn vfmaddsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22096 self.emit(
22097 VFMADDSUB132PH256RRR_MASK,
22098 op0.as_operand(),
22099 op1.as_operand(),
22100 op2.as_operand(),
22101 &NOREG,
22102 );
22103 }
22104}
22105
22106impl<'a> Vfmaddsub132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22107 fn vfmaddsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22108 self.emit(
22109 VFMADDSUB132PH256RRM_MASK,
22110 op0.as_operand(),
22111 op1.as_operand(),
22112 op2.as_operand(),
22113 &NOREG,
22114 );
22115 }
22116}
22117
22118impl<'a> Vfmaddsub132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22119 fn vfmaddsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22120 self.emit(
22121 VFMADDSUB132PH512RRR_MASK,
22122 op0.as_operand(),
22123 op1.as_operand(),
22124 op2.as_operand(),
22125 &NOREG,
22126 );
22127 }
22128}
22129
22130impl<'a> Vfmaddsub132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22131 fn vfmaddsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22132 self.emit(
22133 VFMADDSUB132PH512RRM_MASK,
22134 op0.as_operand(),
22135 op1.as_operand(),
22136 op2.as_operand(),
22137 &NOREG,
22138 );
22139 }
22140}
22141
22142pub trait Vfmaddsub132phMaskErEmitter<A, B, C> {
22154 fn vfmaddsub132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
22155}
22156
22157impl<'a> Vfmaddsub132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22158 fn vfmaddsub132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22159 self.emit(
22160 VFMADDSUB132PH512RRR_MASK_ER,
22161 op0.as_operand(),
22162 op1.as_operand(),
22163 op2.as_operand(),
22164 &NOREG,
22165 );
22166 }
22167}
22168
22169pub trait Vfmaddsub132phMaskzEmitter<A, B, C> {
22186 fn vfmaddsub132ph_maskz(&mut self, op0: A, op1: B, op2: C);
22187}
22188
22189impl<'a> Vfmaddsub132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22190 fn vfmaddsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22191 self.emit(
22192 VFMADDSUB132PH128RRR_MASKZ,
22193 op0.as_operand(),
22194 op1.as_operand(),
22195 op2.as_operand(),
22196 &NOREG,
22197 );
22198 }
22199}
22200
22201impl<'a> Vfmaddsub132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22202 fn vfmaddsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22203 self.emit(
22204 VFMADDSUB132PH128RRM_MASKZ,
22205 op0.as_operand(),
22206 op1.as_operand(),
22207 op2.as_operand(),
22208 &NOREG,
22209 );
22210 }
22211}
22212
22213impl<'a> Vfmaddsub132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22214 fn vfmaddsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22215 self.emit(
22216 VFMADDSUB132PH256RRR_MASKZ,
22217 op0.as_operand(),
22218 op1.as_operand(),
22219 op2.as_operand(),
22220 &NOREG,
22221 );
22222 }
22223}
22224
22225impl<'a> Vfmaddsub132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22226 fn vfmaddsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22227 self.emit(
22228 VFMADDSUB132PH256RRM_MASKZ,
22229 op0.as_operand(),
22230 op1.as_operand(),
22231 op2.as_operand(),
22232 &NOREG,
22233 );
22234 }
22235}
22236
22237impl<'a> Vfmaddsub132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22238 fn vfmaddsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22239 self.emit(
22240 VFMADDSUB132PH512RRR_MASKZ,
22241 op0.as_operand(),
22242 op1.as_operand(),
22243 op2.as_operand(),
22244 &NOREG,
22245 );
22246 }
22247}
22248
22249impl<'a> Vfmaddsub132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22250 fn vfmaddsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22251 self.emit(
22252 VFMADDSUB132PH512RRM_MASKZ,
22253 op0.as_operand(),
22254 op1.as_operand(),
22255 op2.as_operand(),
22256 &NOREG,
22257 );
22258 }
22259}
22260
22261pub trait Vfmaddsub132phMaskzErEmitter<A, B, C> {
22273 fn vfmaddsub132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
22274}
22275
22276impl<'a> Vfmaddsub132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22277 fn vfmaddsub132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22278 self.emit(
22279 VFMADDSUB132PH512RRR_MASKZ_ER,
22280 op0.as_operand(),
22281 op1.as_operand(),
22282 op2.as_operand(),
22283 &NOREG,
22284 );
22285 }
22286}
22287
22288pub trait Vfmaddsub213phEmitter<A, B, C> {
22305 fn vfmaddsub213ph(&mut self, op0: A, op1: B, op2: C);
22306}
22307
22308impl<'a> Vfmaddsub213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22309 fn vfmaddsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22310 self.emit(
22311 VFMADDSUB213PH128RRR,
22312 op0.as_operand(),
22313 op1.as_operand(),
22314 op2.as_operand(),
22315 &NOREG,
22316 );
22317 }
22318}
22319
22320impl<'a> Vfmaddsub213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22321 fn vfmaddsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22322 self.emit(
22323 VFMADDSUB213PH128RRM,
22324 op0.as_operand(),
22325 op1.as_operand(),
22326 op2.as_operand(),
22327 &NOREG,
22328 );
22329 }
22330}
22331
22332impl<'a> Vfmaddsub213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22333 fn vfmaddsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22334 self.emit(
22335 VFMADDSUB213PH256RRR,
22336 op0.as_operand(),
22337 op1.as_operand(),
22338 op2.as_operand(),
22339 &NOREG,
22340 );
22341 }
22342}
22343
22344impl<'a> Vfmaddsub213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22345 fn vfmaddsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22346 self.emit(
22347 VFMADDSUB213PH256RRM,
22348 op0.as_operand(),
22349 op1.as_operand(),
22350 op2.as_operand(),
22351 &NOREG,
22352 );
22353 }
22354}
22355
22356impl<'a> Vfmaddsub213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22357 fn vfmaddsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22358 self.emit(
22359 VFMADDSUB213PH512RRR,
22360 op0.as_operand(),
22361 op1.as_operand(),
22362 op2.as_operand(),
22363 &NOREG,
22364 );
22365 }
22366}
22367
22368impl<'a> Vfmaddsub213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22369 fn vfmaddsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22370 self.emit(
22371 VFMADDSUB213PH512RRM,
22372 op0.as_operand(),
22373 op1.as_operand(),
22374 op2.as_operand(),
22375 &NOREG,
22376 );
22377 }
22378}
22379
22380pub trait Vfmaddsub213phErEmitter<A, B, C> {
22392 fn vfmaddsub213ph_er(&mut self, op0: A, op1: B, op2: C);
22393}
22394
22395impl<'a> Vfmaddsub213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22396 fn vfmaddsub213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22397 self.emit(
22398 VFMADDSUB213PH512RRR_ER,
22399 op0.as_operand(),
22400 op1.as_operand(),
22401 op2.as_operand(),
22402 &NOREG,
22403 );
22404 }
22405}
22406
22407pub trait Vfmaddsub213phMaskEmitter<A, B, C> {
22424 fn vfmaddsub213ph_mask(&mut self, op0: A, op1: B, op2: C);
22425}
22426
22427impl<'a> Vfmaddsub213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22428 fn vfmaddsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22429 self.emit(
22430 VFMADDSUB213PH128RRR_MASK,
22431 op0.as_operand(),
22432 op1.as_operand(),
22433 op2.as_operand(),
22434 &NOREG,
22435 );
22436 }
22437}
22438
22439impl<'a> Vfmaddsub213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22440 fn vfmaddsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22441 self.emit(
22442 VFMADDSUB213PH128RRM_MASK,
22443 op0.as_operand(),
22444 op1.as_operand(),
22445 op2.as_operand(),
22446 &NOREG,
22447 );
22448 }
22449}
22450
22451impl<'a> Vfmaddsub213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22452 fn vfmaddsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22453 self.emit(
22454 VFMADDSUB213PH256RRR_MASK,
22455 op0.as_operand(),
22456 op1.as_operand(),
22457 op2.as_operand(),
22458 &NOREG,
22459 );
22460 }
22461}
22462
22463impl<'a> Vfmaddsub213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22464 fn vfmaddsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22465 self.emit(
22466 VFMADDSUB213PH256RRM_MASK,
22467 op0.as_operand(),
22468 op1.as_operand(),
22469 op2.as_operand(),
22470 &NOREG,
22471 );
22472 }
22473}
22474
22475impl<'a> Vfmaddsub213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22476 fn vfmaddsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22477 self.emit(
22478 VFMADDSUB213PH512RRR_MASK,
22479 op0.as_operand(),
22480 op1.as_operand(),
22481 op2.as_operand(),
22482 &NOREG,
22483 );
22484 }
22485}
22486
22487impl<'a> Vfmaddsub213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22488 fn vfmaddsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22489 self.emit(
22490 VFMADDSUB213PH512RRM_MASK,
22491 op0.as_operand(),
22492 op1.as_operand(),
22493 op2.as_operand(),
22494 &NOREG,
22495 );
22496 }
22497}
22498
22499pub trait Vfmaddsub213phMaskErEmitter<A, B, C> {
22511 fn vfmaddsub213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
22512}
22513
22514impl<'a> Vfmaddsub213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22515 fn vfmaddsub213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22516 self.emit(
22517 VFMADDSUB213PH512RRR_MASK_ER,
22518 op0.as_operand(),
22519 op1.as_operand(),
22520 op2.as_operand(),
22521 &NOREG,
22522 );
22523 }
22524}
22525
22526pub trait Vfmaddsub213phMaskzEmitter<A, B, C> {
22543 fn vfmaddsub213ph_maskz(&mut self, op0: A, op1: B, op2: C);
22544}
22545
22546impl<'a> Vfmaddsub213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22547 fn vfmaddsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22548 self.emit(
22549 VFMADDSUB213PH128RRR_MASKZ,
22550 op0.as_operand(),
22551 op1.as_operand(),
22552 op2.as_operand(),
22553 &NOREG,
22554 );
22555 }
22556}
22557
22558impl<'a> Vfmaddsub213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22559 fn vfmaddsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22560 self.emit(
22561 VFMADDSUB213PH128RRM_MASKZ,
22562 op0.as_operand(),
22563 op1.as_operand(),
22564 op2.as_operand(),
22565 &NOREG,
22566 );
22567 }
22568}
22569
22570impl<'a> Vfmaddsub213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22571 fn vfmaddsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22572 self.emit(
22573 VFMADDSUB213PH256RRR_MASKZ,
22574 op0.as_operand(),
22575 op1.as_operand(),
22576 op2.as_operand(),
22577 &NOREG,
22578 );
22579 }
22580}
22581
22582impl<'a> Vfmaddsub213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22583 fn vfmaddsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22584 self.emit(
22585 VFMADDSUB213PH256RRM_MASKZ,
22586 op0.as_operand(),
22587 op1.as_operand(),
22588 op2.as_operand(),
22589 &NOREG,
22590 );
22591 }
22592}
22593
22594impl<'a> Vfmaddsub213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22595 fn vfmaddsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22596 self.emit(
22597 VFMADDSUB213PH512RRR_MASKZ,
22598 op0.as_operand(),
22599 op1.as_operand(),
22600 op2.as_operand(),
22601 &NOREG,
22602 );
22603 }
22604}
22605
22606impl<'a> Vfmaddsub213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22607 fn vfmaddsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22608 self.emit(
22609 VFMADDSUB213PH512RRM_MASKZ,
22610 op0.as_operand(),
22611 op1.as_operand(),
22612 op2.as_operand(),
22613 &NOREG,
22614 );
22615 }
22616}
22617
22618pub trait Vfmaddsub213phMaskzErEmitter<A, B, C> {
22630 fn vfmaddsub213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
22631}
22632
22633impl<'a> Vfmaddsub213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22634 fn vfmaddsub213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22635 self.emit(
22636 VFMADDSUB213PH512RRR_MASKZ_ER,
22637 op0.as_operand(),
22638 op1.as_operand(),
22639 op2.as_operand(),
22640 &NOREG,
22641 );
22642 }
22643}
22644
22645pub trait Vfmaddsub231phEmitter<A, B, C> {
22662 fn vfmaddsub231ph(&mut self, op0: A, op1: B, op2: C);
22663}
22664
22665impl<'a> Vfmaddsub231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22666 fn vfmaddsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22667 self.emit(
22668 VFMADDSUB231PH128RRR,
22669 op0.as_operand(),
22670 op1.as_operand(),
22671 op2.as_operand(),
22672 &NOREG,
22673 );
22674 }
22675}
22676
22677impl<'a> Vfmaddsub231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22678 fn vfmaddsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22679 self.emit(
22680 VFMADDSUB231PH128RRM,
22681 op0.as_operand(),
22682 op1.as_operand(),
22683 op2.as_operand(),
22684 &NOREG,
22685 );
22686 }
22687}
22688
22689impl<'a> Vfmaddsub231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22690 fn vfmaddsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22691 self.emit(
22692 VFMADDSUB231PH256RRR,
22693 op0.as_operand(),
22694 op1.as_operand(),
22695 op2.as_operand(),
22696 &NOREG,
22697 );
22698 }
22699}
22700
22701impl<'a> Vfmaddsub231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22702 fn vfmaddsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22703 self.emit(
22704 VFMADDSUB231PH256RRM,
22705 op0.as_operand(),
22706 op1.as_operand(),
22707 op2.as_operand(),
22708 &NOREG,
22709 );
22710 }
22711}
22712
22713impl<'a> Vfmaddsub231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22714 fn vfmaddsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22715 self.emit(
22716 VFMADDSUB231PH512RRR,
22717 op0.as_operand(),
22718 op1.as_operand(),
22719 op2.as_operand(),
22720 &NOREG,
22721 );
22722 }
22723}
22724
22725impl<'a> Vfmaddsub231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22726 fn vfmaddsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22727 self.emit(
22728 VFMADDSUB231PH512RRM,
22729 op0.as_operand(),
22730 op1.as_operand(),
22731 op2.as_operand(),
22732 &NOREG,
22733 );
22734 }
22735}
22736
22737pub trait Vfmaddsub231phErEmitter<A, B, C> {
22749 fn vfmaddsub231ph_er(&mut self, op0: A, op1: B, op2: C);
22750}
22751
22752impl<'a> Vfmaddsub231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22753 fn vfmaddsub231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22754 self.emit(
22755 VFMADDSUB231PH512RRR_ER,
22756 op0.as_operand(),
22757 op1.as_operand(),
22758 op2.as_operand(),
22759 &NOREG,
22760 );
22761 }
22762}
22763
22764pub trait Vfmaddsub231phMaskEmitter<A, B, C> {
22781 fn vfmaddsub231ph_mask(&mut self, op0: A, op1: B, op2: C);
22782}
22783
22784impl<'a> Vfmaddsub231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22785 fn vfmaddsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22786 self.emit(
22787 VFMADDSUB231PH128RRR_MASK,
22788 op0.as_operand(),
22789 op1.as_operand(),
22790 op2.as_operand(),
22791 &NOREG,
22792 );
22793 }
22794}
22795
22796impl<'a> Vfmaddsub231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22797 fn vfmaddsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22798 self.emit(
22799 VFMADDSUB231PH128RRM_MASK,
22800 op0.as_operand(),
22801 op1.as_operand(),
22802 op2.as_operand(),
22803 &NOREG,
22804 );
22805 }
22806}
22807
22808impl<'a> Vfmaddsub231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22809 fn vfmaddsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22810 self.emit(
22811 VFMADDSUB231PH256RRR_MASK,
22812 op0.as_operand(),
22813 op1.as_operand(),
22814 op2.as_operand(),
22815 &NOREG,
22816 );
22817 }
22818}
22819
22820impl<'a> Vfmaddsub231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22821 fn vfmaddsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22822 self.emit(
22823 VFMADDSUB231PH256RRM_MASK,
22824 op0.as_operand(),
22825 op1.as_operand(),
22826 op2.as_operand(),
22827 &NOREG,
22828 );
22829 }
22830}
22831
22832impl<'a> Vfmaddsub231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22833 fn vfmaddsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22834 self.emit(
22835 VFMADDSUB231PH512RRR_MASK,
22836 op0.as_operand(),
22837 op1.as_operand(),
22838 op2.as_operand(),
22839 &NOREG,
22840 );
22841 }
22842}
22843
22844impl<'a> Vfmaddsub231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22845 fn vfmaddsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22846 self.emit(
22847 VFMADDSUB231PH512RRM_MASK,
22848 op0.as_operand(),
22849 op1.as_operand(),
22850 op2.as_operand(),
22851 &NOREG,
22852 );
22853 }
22854}
22855
22856pub trait Vfmaddsub231phMaskErEmitter<A, B, C> {
22868 fn vfmaddsub231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
22869}
22870
22871impl<'a> Vfmaddsub231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22872 fn vfmaddsub231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22873 self.emit(
22874 VFMADDSUB231PH512RRR_MASK_ER,
22875 op0.as_operand(),
22876 op1.as_operand(),
22877 op2.as_operand(),
22878 &NOREG,
22879 );
22880 }
22881}
22882
22883pub trait Vfmaddsub231phMaskzEmitter<A, B, C> {
22900 fn vfmaddsub231ph_maskz(&mut self, op0: A, op1: B, op2: C);
22901}
22902
22903impl<'a> Vfmaddsub231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22904 fn vfmaddsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22905 self.emit(
22906 VFMADDSUB231PH128RRR_MASKZ,
22907 op0.as_operand(),
22908 op1.as_operand(),
22909 op2.as_operand(),
22910 &NOREG,
22911 );
22912 }
22913}
22914
22915impl<'a> Vfmaddsub231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22916 fn vfmaddsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22917 self.emit(
22918 VFMADDSUB231PH128RRM_MASKZ,
22919 op0.as_operand(),
22920 op1.as_operand(),
22921 op2.as_operand(),
22922 &NOREG,
22923 );
22924 }
22925}
22926
22927impl<'a> Vfmaddsub231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22928 fn vfmaddsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22929 self.emit(
22930 VFMADDSUB231PH256RRR_MASKZ,
22931 op0.as_operand(),
22932 op1.as_operand(),
22933 op2.as_operand(),
22934 &NOREG,
22935 );
22936 }
22937}
22938
22939impl<'a> Vfmaddsub231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22940 fn vfmaddsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22941 self.emit(
22942 VFMADDSUB231PH256RRM_MASKZ,
22943 op0.as_operand(),
22944 op1.as_operand(),
22945 op2.as_operand(),
22946 &NOREG,
22947 );
22948 }
22949}
22950
22951impl<'a> Vfmaddsub231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22952 fn vfmaddsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22953 self.emit(
22954 VFMADDSUB231PH512RRR_MASKZ,
22955 op0.as_operand(),
22956 op1.as_operand(),
22957 op2.as_operand(),
22958 &NOREG,
22959 );
22960 }
22961}
22962
22963impl<'a> Vfmaddsub231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22964 fn vfmaddsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22965 self.emit(
22966 VFMADDSUB231PH512RRM_MASKZ,
22967 op0.as_operand(),
22968 op1.as_operand(),
22969 op2.as_operand(),
22970 &NOREG,
22971 );
22972 }
22973}
22974
22975pub trait Vfmaddsub231phMaskzErEmitter<A, B, C> {
22987 fn vfmaddsub231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
22988}
22989
22990impl<'a> Vfmaddsub231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22991 fn vfmaddsub231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22992 self.emit(
22993 VFMADDSUB231PH512RRR_MASKZ_ER,
22994 op0.as_operand(),
22995 op1.as_operand(),
22996 op2.as_operand(),
22997 &NOREG,
22998 );
22999 }
23000}
23001
23002pub trait Vfmsub132phEmitter<A, B, C> {
23019 fn vfmsub132ph(&mut self, op0: A, op1: B, op2: C);
23020}
23021
23022impl<'a> Vfmsub132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23023 fn vfmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23024 self.emit(
23025 VFMSUB132PH128RRR,
23026 op0.as_operand(),
23027 op1.as_operand(),
23028 op2.as_operand(),
23029 &NOREG,
23030 );
23031 }
23032}
23033
23034impl<'a> Vfmsub132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23035 fn vfmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23036 self.emit(
23037 VFMSUB132PH128RRM,
23038 op0.as_operand(),
23039 op1.as_operand(),
23040 op2.as_operand(),
23041 &NOREG,
23042 );
23043 }
23044}
23045
23046impl<'a> Vfmsub132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23047 fn vfmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23048 self.emit(
23049 VFMSUB132PH256RRR,
23050 op0.as_operand(),
23051 op1.as_operand(),
23052 op2.as_operand(),
23053 &NOREG,
23054 );
23055 }
23056}
23057
23058impl<'a> Vfmsub132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23059 fn vfmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23060 self.emit(
23061 VFMSUB132PH256RRM,
23062 op0.as_operand(),
23063 op1.as_operand(),
23064 op2.as_operand(),
23065 &NOREG,
23066 );
23067 }
23068}
23069
23070impl<'a> Vfmsub132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23071 fn vfmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23072 self.emit(
23073 VFMSUB132PH512RRR,
23074 op0.as_operand(),
23075 op1.as_operand(),
23076 op2.as_operand(),
23077 &NOREG,
23078 );
23079 }
23080}
23081
23082impl<'a> Vfmsub132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23083 fn vfmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23084 self.emit(
23085 VFMSUB132PH512RRM,
23086 op0.as_operand(),
23087 op1.as_operand(),
23088 op2.as_operand(),
23089 &NOREG,
23090 );
23091 }
23092}
23093
23094pub trait Vfmsub132phErEmitter<A, B, C> {
23106 fn vfmsub132ph_er(&mut self, op0: A, op1: B, op2: C);
23107}
23108
23109impl<'a> Vfmsub132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23110 fn vfmsub132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23111 self.emit(
23112 VFMSUB132PH512RRR_ER,
23113 op0.as_operand(),
23114 op1.as_operand(),
23115 op2.as_operand(),
23116 &NOREG,
23117 );
23118 }
23119}
23120
23121pub trait Vfmsub132phMaskEmitter<A, B, C> {
23138 fn vfmsub132ph_mask(&mut self, op0: A, op1: B, op2: C);
23139}
23140
23141impl<'a> Vfmsub132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23142 fn vfmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23143 self.emit(
23144 VFMSUB132PH128RRR_MASK,
23145 op0.as_operand(),
23146 op1.as_operand(),
23147 op2.as_operand(),
23148 &NOREG,
23149 );
23150 }
23151}
23152
23153impl<'a> Vfmsub132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23154 fn vfmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23155 self.emit(
23156 VFMSUB132PH128RRM_MASK,
23157 op0.as_operand(),
23158 op1.as_operand(),
23159 op2.as_operand(),
23160 &NOREG,
23161 );
23162 }
23163}
23164
23165impl<'a> Vfmsub132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23166 fn vfmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23167 self.emit(
23168 VFMSUB132PH256RRR_MASK,
23169 op0.as_operand(),
23170 op1.as_operand(),
23171 op2.as_operand(),
23172 &NOREG,
23173 );
23174 }
23175}
23176
23177impl<'a> Vfmsub132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23178 fn vfmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23179 self.emit(
23180 VFMSUB132PH256RRM_MASK,
23181 op0.as_operand(),
23182 op1.as_operand(),
23183 op2.as_operand(),
23184 &NOREG,
23185 );
23186 }
23187}
23188
23189impl<'a> Vfmsub132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23190 fn vfmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23191 self.emit(
23192 VFMSUB132PH512RRR_MASK,
23193 op0.as_operand(),
23194 op1.as_operand(),
23195 op2.as_operand(),
23196 &NOREG,
23197 );
23198 }
23199}
23200
23201impl<'a> Vfmsub132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23202 fn vfmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23203 self.emit(
23204 VFMSUB132PH512RRM_MASK,
23205 op0.as_operand(),
23206 op1.as_operand(),
23207 op2.as_operand(),
23208 &NOREG,
23209 );
23210 }
23211}
23212
23213pub trait Vfmsub132phMaskErEmitter<A, B, C> {
23225 fn vfmsub132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
23226}
23227
23228impl<'a> Vfmsub132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23229 fn vfmsub132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23230 self.emit(
23231 VFMSUB132PH512RRR_MASK_ER,
23232 op0.as_operand(),
23233 op1.as_operand(),
23234 op2.as_operand(),
23235 &NOREG,
23236 );
23237 }
23238}
23239
23240pub trait Vfmsub132phMaskzEmitter<A, B, C> {
23257 fn vfmsub132ph_maskz(&mut self, op0: A, op1: B, op2: C);
23258}
23259
23260impl<'a> Vfmsub132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23261 fn vfmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23262 self.emit(
23263 VFMSUB132PH128RRR_MASKZ,
23264 op0.as_operand(),
23265 op1.as_operand(),
23266 op2.as_operand(),
23267 &NOREG,
23268 );
23269 }
23270}
23271
23272impl<'a> Vfmsub132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23273 fn vfmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23274 self.emit(
23275 VFMSUB132PH128RRM_MASKZ,
23276 op0.as_operand(),
23277 op1.as_operand(),
23278 op2.as_operand(),
23279 &NOREG,
23280 );
23281 }
23282}
23283
23284impl<'a> Vfmsub132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23285 fn vfmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23286 self.emit(
23287 VFMSUB132PH256RRR_MASKZ,
23288 op0.as_operand(),
23289 op1.as_operand(),
23290 op2.as_operand(),
23291 &NOREG,
23292 );
23293 }
23294}
23295
23296impl<'a> Vfmsub132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23297 fn vfmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23298 self.emit(
23299 VFMSUB132PH256RRM_MASKZ,
23300 op0.as_operand(),
23301 op1.as_operand(),
23302 op2.as_operand(),
23303 &NOREG,
23304 );
23305 }
23306}
23307
23308impl<'a> Vfmsub132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23309 fn vfmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23310 self.emit(
23311 VFMSUB132PH512RRR_MASKZ,
23312 op0.as_operand(),
23313 op1.as_operand(),
23314 op2.as_operand(),
23315 &NOREG,
23316 );
23317 }
23318}
23319
23320impl<'a> Vfmsub132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23321 fn vfmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23322 self.emit(
23323 VFMSUB132PH512RRM_MASKZ,
23324 op0.as_operand(),
23325 op1.as_operand(),
23326 op2.as_operand(),
23327 &NOREG,
23328 );
23329 }
23330}
23331
23332pub trait Vfmsub132phMaskzErEmitter<A, B, C> {
23344 fn vfmsub132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
23345}
23346
23347impl<'a> Vfmsub132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23348 fn vfmsub132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23349 self.emit(
23350 VFMSUB132PH512RRR_MASKZ_ER,
23351 op0.as_operand(),
23352 op1.as_operand(),
23353 op2.as_operand(),
23354 &NOREG,
23355 );
23356 }
23357}
23358
23359pub trait Vfmsub132shEmitter<A, B, C> {
23372 fn vfmsub132sh(&mut self, op0: A, op1: B, op2: C);
23373}
23374
23375impl<'a> Vfmsub132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23376 fn vfmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23377 self.emit(
23378 VFMSUB132SHRRR,
23379 op0.as_operand(),
23380 op1.as_operand(),
23381 op2.as_operand(),
23382 &NOREG,
23383 );
23384 }
23385}
23386
23387impl<'a> Vfmsub132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23388 fn vfmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23389 self.emit(
23390 VFMSUB132SHRRM,
23391 op0.as_operand(),
23392 op1.as_operand(),
23393 op2.as_operand(),
23394 &NOREG,
23395 );
23396 }
23397}
23398
23399pub trait Vfmsub132shErEmitter<A, B, C> {
23411 fn vfmsub132sh_er(&mut self, op0: A, op1: B, op2: C);
23412}
23413
23414impl<'a> Vfmsub132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23415 fn vfmsub132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23416 self.emit(
23417 VFMSUB132SHRRR_ER,
23418 op0.as_operand(),
23419 op1.as_operand(),
23420 op2.as_operand(),
23421 &NOREG,
23422 );
23423 }
23424}
23425
23426pub trait Vfmsub132shMaskEmitter<A, B, C> {
23439 fn vfmsub132sh_mask(&mut self, op0: A, op1: B, op2: C);
23440}
23441
23442impl<'a> Vfmsub132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23443 fn vfmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23444 self.emit(
23445 VFMSUB132SHRRR_MASK,
23446 op0.as_operand(),
23447 op1.as_operand(),
23448 op2.as_operand(),
23449 &NOREG,
23450 );
23451 }
23452}
23453
23454impl<'a> Vfmsub132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23455 fn vfmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23456 self.emit(
23457 VFMSUB132SHRRM_MASK,
23458 op0.as_operand(),
23459 op1.as_operand(),
23460 op2.as_operand(),
23461 &NOREG,
23462 );
23463 }
23464}
23465
23466pub trait Vfmsub132shMaskErEmitter<A, B, C> {
23478 fn vfmsub132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
23479}
23480
23481impl<'a> Vfmsub132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23482 fn vfmsub132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23483 self.emit(
23484 VFMSUB132SHRRR_MASK_ER,
23485 op0.as_operand(),
23486 op1.as_operand(),
23487 op2.as_operand(),
23488 &NOREG,
23489 );
23490 }
23491}
23492
23493pub trait Vfmsub132shMaskzEmitter<A, B, C> {
23506 fn vfmsub132sh_maskz(&mut self, op0: A, op1: B, op2: C);
23507}
23508
23509impl<'a> Vfmsub132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23510 fn vfmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23511 self.emit(
23512 VFMSUB132SHRRR_MASKZ,
23513 op0.as_operand(),
23514 op1.as_operand(),
23515 op2.as_operand(),
23516 &NOREG,
23517 );
23518 }
23519}
23520
23521impl<'a> Vfmsub132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23522 fn vfmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23523 self.emit(
23524 VFMSUB132SHRRM_MASKZ,
23525 op0.as_operand(),
23526 op1.as_operand(),
23527 op2.as_operand(),
23528 &NOREG,
23529 );
23530 }
23531}
23532
23533pub trait Vfmsub132shMaskzErEmitter<A, B, C> {
23545 fn vfmsub132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
23546}
23547
23548impl<'a> Vfmsub132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23549 fn vfmsub132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23550 self.emit(
23551 VFMSUB132SHRRR_MASKZ_ER,
23552 op0.as_operand(),
23553 op1.as_operand(),
23554 op2.as_operand(),
23555 &NOREG,
23556 );
23557 }
23558}
23559
23560pub trait Vfmsub213phEmitter<A, B, C> {
23577 fn vfmsub213ph(&mut self, op0: A, op1: B, op2: C);
23578}
23579
23580impl<'a> Vfmsub213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23581 fn vfmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23582 self.emit(
23583 VFMSUB213PH128RRR,
23584 op0.as_operand(),
23585 op1.as_operand(),
23586 op2.as_operand(),
23587 &NOREG,
23588 );
23589 }
23590}
23591
23592impl<'a> Vfmsub213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23593 fn vfmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23594 self.emit(
23595 VFMSUB213PH128RRM,
23596 op0.as_operand(),
23597 op1.as_operand(),
23598 op2.as_operand(),
23599 &NOREG,
23600 );
23601 }
23602}
23603
23604impl<'a> Vfmsub213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23605 fn vfmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23606 self.emit(
23607 VFMSUB213PH256RRR,
23608 op0.as_operand(),
23609 op1.as_operand(),
23610 op2.as_operand(),
23611 &NOREG,
23612 );
23613 }
23614}
23615
23616impl<'a> Vfmsub213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23617 fn vfmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23618 self.emit(
23619 VFMSUB213PH256RRM,
23620 op0.as_operand(),
23621 op1.as_operand(),
23622 op2.as_operand(),
23623 &NOREG,
23624 );
23625 }
23626}
23627
23628impl<'a> Vfmsub213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23629 fn vfmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23630 self.emit(
23631 VFMSUB213PH512RRR,
23632 op0.as_operand(),
23633 op1.as_operand(),
23634 op2.as_operand(),
23635 &NOREG,
23636 );
23637 }
23638}
23639
23640impl<'a> Vfmsub213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23641 fn vfmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23642 self.emit(
23643 VFMSUB213PH512RRM,
23644 op0.as_operand(),
23645 op1.as_operand(),
23646 op2.as_operand(),
23647 &NOREG,
23648 );
23649 }
23650}
23651
23652pub trait Vfmsub213phErEmitter<A, B, C> {
23664 fn vfmsub213ph_er(&mut self, op0: A, op1: B, op2: C);
23665}
23666
23667impl<'a> Vfmsub213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23668 fn vfmsub213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23669 self.emit(
23670 VFMSUB213PH512RRR_ER,
23671 op0.as_operand(),
23672 op1.as_operand(),
23673 op2.as_operand(),
23674 &NOREG,
23675 );
23676 }
23677}
23678
23679pub trait Vfmsub213phMaskEmitter<A, B, C> {
23696 fn vfmsub213ph_mask(&mut self, op0: A, op1: B, op2: C);
23697}
23698
23699impl<'a> Vfmsub213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23700 fn vfmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23701 self.emit(
23702 VFMSUB213PH128RRR_MASK,
23703 op0.as_operand(),
23704 op1.as_operand(),
23705 op2.as_operand(),
23706 &NOREG,
23707 );
23708 }
23709}
23710
23711impl<'a> Vfmsub213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23712 fn vfmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23713 self.emit(
23714 VFMSUB213PH128RRM_MASK,
23715 op0.as_operand(),
23716 op1.as_operand(),
23717 op2.as_operand(),
23718 &NOREG,
23719 );
23720 }
23721}
23722
23723impl<'a> Vfmsub213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23724 fn vfmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23725 self.emit(
23726 VFMSUB213PH256RRR_MASK,
23727 op0.as_operand(),
23728 op1.as_operand(),
23729 op2.as_operand(),
23730 &NOREG,
23731 );
23732 }
23733}
23734
23735impl<'a> Vfmsub213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23736 fn vfmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23737 self.emit(
23738 VFMSUB213PH256RRM_MASK,
23739 op0.as_operand(),
23740 op1.as_operand(),
23741 op2.as_operand(),
23742 &NOREG,
23743 );
23744 }
23745}
23746
23747impl<'a> Vfmsub213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23748 fn vfmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23749 self.emit(
23750 VFMSUB213PH512RRR_MASK,
23751 op0.as_operand(),
23752 op1.as_operand(),
23753 op2.as_operand(),
23754 &NOREG,
23755 );
23756 }
23757}
23758
23759impl<'a> Vfmsub213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23760 fn vfmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23761 self.emit(
23762 VFMSUB213PH512RRM_MASK,
23763 op0.as_operand(),
23764 op1.as_operand(),
23765 op2.as_operand(),
23766 &NOREG,
23767 );
23768 }
23769}
23770
23771pub trait Vfmsub213phMaskErEmitter<A, B, C> {
23783 fn vfmsub213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
23784}
23785
23786impl<'a> Vfmsub213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23787 fn vfmsub213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23788 self.emit(
23789 VFMSUB213PH512RRR_MASK_ER,
23790 op0.as_operand(),
23791 op1.as_operand(),
23792 op2.as_operand(),
23793 &NOREG,
23794 );
23795 }
23796}
23797
23798pub trait Vfmsub213phMaskzEmitter<A, B, C> {
23815 fn vfmsub213ph_maskz(&mut self, op0: A, op1: B, op2: C);
23816}
23817
23818impl<'a> Vfmsub213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23819 fn vfmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23820 self.emit(
23821 VFMSUB213PH128RRR_MASKZ,
23822 op0.as_operand(),
23823 op1.as_operand(),
23824 op2.as_operand(),
23825 &NOREG,
23826 );
23827 }
23828}
23829
23830impl<'a> Vfmsub213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23831 fn vfmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23832 self.emit(
23833 VFMSUB213PH128RRM_MASKZ,
23834 op0.as_operand(),
23835 op1.as_operand(),
23836 op2.as_operand(),
23837 &NOREG,
23838 );
23839 }
23840}
23841
23842impl<'a> Vfmsub213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23843 fn vfmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23844 self.emit(
23845 VFMSUB213PH256RRR_MASKZ,
23846 op0.as_operand(),
23847 op1.as_operand(),
23848 op2.as_operand(),
23849 &NOREG,
23850 );
23851 }
23852}
23853
23854impl<'a> Vfmsub213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23855 fn vfmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23856 self.emit(
23857 VFMSUB213PH256RRM_MASKZ,
23858 op0.as_operand(),
23859 op1.as_operand(),
23860 op2.as_operand(),
23861 &NOREG,
23862 );
23863 }
23864}
23865
23866impl<'a> Vfmsub213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23867 fn vfmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23868 self.emit(
23869 VFMSUB213PH512RRR_MASKZ,
23870 op0.as_operand(),
23871 op1.as_operand(),
23872 op2.as_operand(),
23873 &NOREG,
23874 );
23875 }
23876}
23877
23878impl<'a> Vfmsub213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23879 fn vfmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23880 self.emit(
23881 VFMSUB213PH512RRM_MASKZ,
23882 op0.as_operand(),
23883 op1.as_operand(),
23884 op2.as_operand(),
23885 &NOREG,
23886 );
23887 }
23888}
23889
23890pub trait Vfmsub213phMaskzErEmitter<A, B, C> {
23902 fn vfmsub213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
23903}
23904
23905impl<'a> Vfmsub213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23906 fn vfmsub213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23907 self.emit(
23908 VFMSUB213PH512RRR_MASKZ_ER,
23909 op0.as_operand(),
23910 op1.as_operand(),
23911 op2.as_operand(),
23912 &NOREG,
23913 );
23914 }
23915}
23916
23917pub trait Vfmsub213shEmitter<A, B, C> {
23930 fn vfmsub213sh(&mut self, op0: A, op1: B, op2: C);
23931}
23932
23933impl<'a> Vfmsub213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23934 fn vfmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23935 self.emit(
23936 VFMSUB213SHRRR,
23937 op0.as_operand(),
23938 op1.as_operand(),
23939 op2.as_operand(),
23940 &NOREG,
23941 );
23942 }
23943}
23944
23945impl<'a> Vfmsub213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23946 fn vfmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23947 self.emit(
23948 VFMSUB213SHRRM,
23949 op0.as_operand(),
23950 op1.as_operand(),
23951 op2.as_operand(),
23952 &NOREG,
23953 );
23954 }
23955}
23956
23957pub trait Vfmsub213shErEmitter<A, B, C> {
23969 fn vfmsub213sh_er(&mut self, op0: A, op1: B, op2: C);
23970}
23971
23972impl<'a> Vfmsub213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23973 fn vfmsub213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23974 self.emit(
23975 VFMSUB213SHRRR_ER,
23976 op0.as_operand(),
23977 op1.as_operand(),
23978 op2.as_operand(),
23979 &NOREG,
23980 );
23981 }
23982}
23983
23984pub trait Vfmsub213shMaskEmitter<A, B, C> {
23997 fn vfmsub213sh_mask(&mut self, op0: A, op1: B, op2: C);
23998}
23999
24000impl<'a> Vfmsub213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24001 fn vfmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24002 self.emit(
24003 VFMSUB213SHRRR_MASK,
24004 op0.as_operand(),
24005 op1.as_operand(),
24006 op2.as_operand(),
24007 &NOREG,
24008 );
24009 }
24010}
24011
24012impl<'a> Vfmsub213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24013 fn vfmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24014 self.emit(
24015 VFMSUB213SHRRM_MASK,
24016 op0.as_operand(),
24017 op1.as_operand(),
24018 op2.as_operand(),
24019 &NOREG,
24020 );
24021 }
24022}
24023
24024pub trait Vfmsub213shMaskErEmitter<A, B, C> {
24036 fn vfmsub213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
24037}
24038
24039impl<'a> Vfmsub213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24040 fn vfmsub213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24041 self.emit(
24042 VFMSUB213SHRRR_MASK_ER,
24043 op0.as_operand(),
24044 op1.as_operand(),
24045 op2.as_operand(),
24046 &NOREG,
24047 );
24048 }
24049}
24050
24051pub trait Vfmsub213shMaskzEmitter<A, B, C> {
24064 fn vfmsub213sh_maskz(&mut self, op0: A, op1: B, op2: C);
24065}
24066
24067impl<'a> Vfmsub213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24068 fn vfmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24069 self.emit(
24070 VFMSUB213SHRRR_MASKZ,
24071 op0.as_operand(),
24072 op1.as_operand(),
24073 op2.as_operand(),
24074 &NOREG,
24075 );
24076 }
24077}
24078
24079impl<'a> Vfmsub213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24080 fn vfmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24081 self.emit(
24082 VFMSUB213SHRRM_MASKZ,
24083 op0.as_operand(),
24084 op1.as_operand(),
24085 op2.as_operand(),
24086 &NOREG,
24087 );
24088 }
24089}
24090
24091pub trait Vfmsub213shMaskzErEmitter<A, B, C> {
24103 fn vfmsub213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
24104}
24105
24106impl<'a> Vfmsub213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24107 fn vfmsub213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24108 self.emit(
24109 VFMSUB213SHRRR_MASKZ_ER,
24110 op0.as_operand(),
24111 op1.as_operand(),
24112 op2.as_operand(),
24113 &NOREG,
24114 );
24115 }
24116}
24117
24118pub trait Vfmsub231phEmitter<A, B, C> {
24135 fn vfmsub231ph(&mut self, op0: A, op1: B, op2: C);
24136}
24137
24138impl<'a> Vfmsub231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24139 fn vfmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24140 self.emit(
24141 VFMSUB231PH128RRR,
24142 op0.as_operand(),
24143 op1.as_operand(),
24144 op2.as_operand(),
24145 &NOREG,
24146 );
24147 }
24148}
24149
24150impl<'a> Vfmsub231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24151 fn vfmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24152 self.emit(
24153 VFMSUB231PH128RRM,
24154 op0.as_operand(),
24155 op1.as_operand(),
24156 op2.as_operand(),
24157 &NOREG,
24158 );
24159 }
24160}
24161
24162impl<'a> Vfmsub231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24163 fn vfmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24164 self.emit(
24165 VFMSUB231PH256RRR,
24166 op0.as_operand(),
24167 op1.as_operand(),
24168 op2.as_operand(),
24169 &NOREG,
24170 );
24171 }
24172}
24173
24174impl<'a> Vfmsub231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24175 fn vfmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24176 self.emit(
24177 VFMSUB231PH256RRM,
24178 op0.as_operand(),
24179 op1.as_operand(),
24180 op2.as_operand(),
24181 &NOREG,
24182 );
24183 }
24184}
24185
24186impl<'a> Vfmsub231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24187 fn vfmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24188 self.emit(
24189 VFMSUB231PH512RRR,
24190 op0.as_operand(),
24191 op1.as_operand(),
24192 op2.as_operand(),
24193 &NOREG,
24194 );
24195 }
24196}
24197
24198impl<'a> Vfmsub231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24199 fn vfmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24200 self.emit(
24201 VFMSUB231PH512RRM,
24202 op0.as_operand(),
24203 op1.as_operand(),
24204 op2.as_operand(),
24205 &NOREG,
24206 );
24207 }
24208}
24209
24210pub trait Vfmsub231phErEmitter<A, B, C> {
24222 fn vfmsub231ph_er(&mut self, op0: A, op1: B, op2: C);
24223}
24224
24225impl<'a> Vfmsub231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24226 fn vfmsub231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24227 self.emit(
24228 VFMSUB231PH512RRR_ER,
24229 op0.as_operand(),
24230 op1.as_operand(),
24231 op2.as_operand(),
24232 &NOREG,
24233 );
24234 }
24235}
24236
24237pub trait Vfmsub231phMaskEmitter<A, B, C> {
24254 fn vfmsub231ph_mask(&mut self, op0: A, op1: B, op2: C);
24255}
24256
24257impl<'a> Vfmsub231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24258 fn vfmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24259 self.emit(
24260 VFMSUB231PH128RRR_MASK,
24261 op0.as_operand(),
24262 op1.as_operand(),
24263 op2.as_operand(),
24264 &NOREG,
24265 );
24266 }
24267}
24268
24269impl<'a> Vfmsub231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24270 fn vfmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24271 self.emit(
24272 VFMSUB231PH128RRM_MASK,
24273 op0.as_operand(),
24274 op1.as_operand(),
24275 op2.as_operand(),
24276 &NOREG,
24277 );
24278 }
24279}
24280
24281impl<'a> Vfmsub231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24282 fn vfmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24283 self.emit(
24284 VFMSUB231PH256RRR_MASK,
24285 op0.as_operand(),
24286 op1.as_operand(),
24287 op2.as_operand(),
24288 &NOREG,
24289 );
24290 }
24291}
24292
24293impl<'a> Vfmsub231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24294 fn vfmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24295 self.emit(
24296 VFMSUB231PH256RRM_MASK,
24297 op0.as_operand(),
24298 op1.as_operand(),
24299 op2.as_operand(),
24300 &NOREG,
24301 );
24302 }
24303}
24304
24305impl<'a> Vfmsub231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24306 fn vfmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24307 self.emit(
24308 VFMSUB231PH512RRR_MASK,
24309 op0.as_operand(),
24310 op1.as_operand(),
24311 op2.as_operand(),
24312 &NOREG,
24313 );
24314 }
24315}
24316
24317impl<'a> Vfmsub231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24318 fn vfmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24319 self.emit(
24320 VFMSUB231PH512RRM_MASK,
24321 op0.as_operand(),
24322 op1.as_operand(),
24323 op2.as_operand(),
24324 &NOREG,
24325 );
24326 }
24327}
24328
24329pub trait Vfmsub231phMaskErEmitter<A, B, C> {
24341 fn vfmsub231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
24342}
24343
24344impl<'a> Vfmsub231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24345 fn vfmsub231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24346 self.emit(
24347 VFMSUB231PH512RRR_MASK_ER,
24348 op0.as_operand(),
24349 op1.as_operand(),
24350 op2.as_operand(),
24351 &NOREG,
24352 );
24353 }
24354}
24355
24356pub trait Vfmsub231phMaskzEmitter<A, B, C> {
24373 fn vfmsub231ph_maskz(&mut self, op0: A, op1: B, op2: C);
24374}
24375
24376impl<'a> Vfmsub231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24377 fn vfmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24378 self.emit(
24379 VFMSUB231PH128RRR_MASKZ,
24380 op0.as_operand(),
24381 op1.as_operand(),
24382 op2.as_operand(),
24383 &NOREG,
24384 );
24385 }
24386}
24387
24388impl<'a> Vfmsub231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24389 fn vfmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24390 self.emit(
24391 VFMSUB231PH128RRM_MASKZ,
24392 op0.as_operand(),
24393 op1.as_operand(),
24394 op2.as_operand(),
24395 &NOREG,
24396 );
24397 }
24398}
24399
24400impl<'a> Vfmsub231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24401 fn vfmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24402 self.emit(
24403 VFMSUB231PH256RRR_MASKZ,
24404 op0.as_operand(),
24405 op1.as_operand(),
24406 op2.as_operand(),
24407 &NOREG,
24408 );
24409 }
24410}
24411
24412impl<'a> Vfmsub231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24413 fn vfmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24414 self.emit(
24415 VFMSUB231PH256RRM_MASKZ,
24416 op0.as_operand(),
24417 op1.as_operand(),
24418 op2.as_operand(),
24419 &NOREG,
24420 );
24421 }
24422}
24423
24424impl<'a> Vfmsub231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24425 fn vfmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24426 self.emit(
24427 VFMSUB231PH512RRR_MASKZ,
24428 op0.as_operand(),
24429 op1.as_operand(),
24430 op2.as_operand(),
24431 &NOREG,
24432 );
24433 }
24434}
24435
24436impl<'a> Vfmsub231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24437 fn vfmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24438 self.emit(
24439 VFMSUB231PH512RRM_MASKZ,
24440 op0.as_operand(),
24441 op1.as_operand(),
24442 op2.as_operand(),
24443 &NOREG,
24444 );
24445 }
24446}
24447
24448pub trait Vfmsub231phMaskzErEmitter<A, B, C> {
24460 fn vfmsub231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
24461}
24462
24463impl<'a> Vfmsub231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24464 fn vfmsub231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24465 self.emit(
24466 VFMSUB231PH512RRR_MASKZ_ER,
24467 op0.as_operand(),
24468 op1.as_operand(),
24469 op2.as_operand(),
24470 &NOREG,
24471 );
24472 }
24473}
24474
24475pub trait Vfmsub231shEmitter<A, B, C> {
24488 fn vfmsub231sh(&mut self, op0: A, op1: B, op2: C);
24489}
24490
24491impl<'a> Vfmsub231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24492 fn vfmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24493 self.emit(
24494 VFMSUB231SHRRR,
24495 op0.as_operand(),
24496 op1.as_operand(),
24497 op2.as_operand(),
24498 &NOREG,
24499 );
24500 }
24501}
24502
24503impl<'a> Vfmsub231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24504 fn vfmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24505 self.emit(
24506 VFMSUB231SHRRM,
24507 op0.as_operand(),
24508 op1.as_operand(),
24509 op2.as_operand(),
24510 &NOREG,
24511 );
24512 }
24513}
24514
24515pub trait Vfmsub231shErEmitter<A, B, C> {
24527 fn vfmsub231sh_er(&mut self, op0: A, op1: B, op2: C);
24528}
24529
24530impl<'a> Vfmsub231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24531 fn vfmsub231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24532 self.emit(
24533 VFMSUB231SHRRR_ER,
24534 op0.as_operand(),
24535 op1.as_operand(),
24536 op2.as_operand(),
24537 &NOREG,
24538 );
24539 }
24540}
24541
24542pub trait Vfmsub231shMaskEmitter<A, B, C> {
24555 fn vfmsub231sh_mask(&mut self, op0: A, op1: B, op2: C);
24556}
24557
24558impl<'a> Vfmsub231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24559 fn vfmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24560 self.emit(
24561 VFMSUB231SHRRR_MASK,
24562 op0.as_operand(),
24563 op1.as_operand(),
24564 op2.as_operand(),
24565 &NOREG,
24566 );
24567 }
24568}
24569
24570impl<'a> Vfmsub231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24571 fn vfmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24572 self.emit(
24573 VFMSUB231SHRRM_MASK,
24574 op0.as_operand(),
24575 op1.as_operand(),
24576 op2.as_operand(),
24577 &NOREG,
24578 );
24579 }
24580}
24581
24582pub trait Vfmsub231shMaskErEmitter<A, B, C> {
24594 fn vfmsub231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
24595}
24596
24597impl<'a> Vfmsub231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24598 fn vfmsub231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24599 self.emit(
24600 VFMSUB231SHRRR_MASK_ER,
24601 op0.as_operand(),
24602 op1.as_operand(),
24603 op2.as_operand(),
24604 &NOREG,
24605 );
24606 }
24607}
24608
24609pub trait Vfmsub231shMaskzEmitter<A, B, C> {
24622 fn vfmsub231sh_maskz(&mut self, op0: A, op1: B, op2: C);
24623}
24624
24625impl<'a> Vfmsub231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24626 fn vfmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24627 self.emit(
24628 VFMSUB231SHRRR_MASKZ,
24629 op0.as_operand(),
24630 op1.as_operand(),
24631 op2.as_operand(),
24632 &NOREG,
24633 );
24634 }
24635}
24636
24637impl<'a> Vfmsub231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24638 fn vfmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24639 self.emit(
24640 VFMSUB231SHRRM_MASKZ,
24641 op0.as_operand(),
24642 op1.as_operand(),
24643 op2.as_operand(),
24644 &NOREG,
24645 );
24646 }
24647}
24648
24649pub trait Vfmsub231shMaskzErEmitter<A, B, C> {
24661 fn vfmsub231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
24662}
24663
24664impl<'a> Vfmsub231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24665 fn vfmsub231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24666 self.emit(
24667 VFMSUB231SHRRR_MASKZ_ER,
24668 op0.as_operand(),
24669 op1.as_operand(),
24670 op2.as_operand(),
24671 &NOREG,
24672 );
24673 }
24674}
24675
24676pub trait Vfmsubadd132phEmitter<A, B, C> {
24693 fn vfmsubadd132ph(&mut self, op0: A, op1: B, op2: C);
24694}
24695
24696impl<'a> Vfmsubadd132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24697 fn vfmsubadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24698 self.emit(
24699 VFMSUBADD132PH128RRR,
24700 op0.as_operand(),
24701 op1.as_operand(),
24702 op2.as_operand(),
24703 &NOREG,
24704 );
24705 }
24706}
24707
24708impl<'a> Vfmsubadd132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24709 fn vfmsubadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24710 self.emit(
24711 VFMSUBADD132PH128RRM,
24712 op0.as_operand(),
24713 op1.as_operand(),
24714 op2.as_operand(),
24715 &NOREG,
24716 );
24717 }
24718}
24719
24720impl<'a> Vfmsubadd132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24721 fn vfmsubadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24722 self.emit(
24723 VFMSUBADD132PH256RRR,
24724 op0.as_operand(),
24725 op1.as_operand(),
24726 op2.as_operand(),
24727 &NOREG,
24728 );
24729 }
24730}
24731
24732impl<'a> Vfmsubadd132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24733 fn vfmsubadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24734 self.emit(
24735 VFMSUBADD132PH256RRM,
24736 op0.as_operand(),
24737 op1.as_operand(),
24738 op2.as_operand(),
24739 &NOREG,
24740 );
24741 }
24742}
24743
24744impl<'a> Vfmsubadd132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24745 fn vfmsubadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24746 self.emit(
24747 VFMSUBADD132PH512RRR,
24748 op0.as_operand(),
24749 op1.as_operand(),
24750 op2.as_operand(),
24751 &NOREG,
24752 );
24753 }
24754}
24755
24756impl<'a> Vfmsubadd132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24757 fn vfmsubadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24758 self.emit(
24759 VFMSUBADD132PH512RRM,
24760 op0.as_operand(),
24761 op1.as_operand(),
24762 op2.as_operand(),
24763 &NOREG,
24764 );
24765 }
24766}
24767
24768pub trait Vfmsubadd132phErEmitter<A, B, C> {
24780 fn vfmsubadd132ph_er(&mut self, op0: A, op1: B, op2: C);
24781}
24782
24783impl<'a> Vfmsubadd132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24784 fn vfmsubadd132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24785 self.emit(
24786 VFMSUBADD132PH512RRR_ER,
24787 op0.as_operand(),
24788 op1.as_operand(),
24789 op2.as_operand(),
24790 &NOREG,
24791 );
24792 }
24793}
24794
24795pub trait Vfmsubadd132phMaskEmitter<A, B, C> {
24812 fn vfmsubadd132ph_mask(&mut self, op0: A, op1: B, op2: C);
24813}
24814
24815impl<'a> Vfmsubadd132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24816 fn vfmsubadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24817 self.emit(
24818 VFMSUBADD132PH128RRR_MASK,
24819 op0.as_operand(),
24820 op1.as_operand(),
24821 op2.as_operand(),
24822 &NOREG,
24823 );
24824 }
24825}
24826
24827impl<'a> Vfmsubadd132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24828 fn vfmsubadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24829 self.emit(
24830 VFMSUBADD132PH128RRM_MASK,
24831 op0.as_operand(),
24832 op1.as_operand(),
24833 op2.as_operand(),
24834 &NOREG,
24835 );
24836 }
24837}
24838
24839impl<'a> Vfmsubadd132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24840 fn vfmsubadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24841 self.emit(
24842 VFMSUBADD132PH256RRR_MASK,
24843 op0.as_operand(),
24844 op1.as_operand(),
24845 op2.as_operand(),
24846 &NOREG,
24847 );
24848 }
24849}
24850
24851impl<'a> Vfmsubadd132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24852 fn vfmsubadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24853 self.emit(
24854 VFMSUBADD132PH256RRM_MASK,
24855 op0.as_operand(),
24856 op1.as_operand(),
24857 op2.as_operand(),
24858 &NOREG,
24859 );
24860 }
24861}
24862
24863impl<'a> Vfmsubadd132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24864 fn vfmsubadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24865 self.emit(
24866 VFMSUBADD132PH512RRR_MASK,
24867 op0.as_operand(),
24868 op1.as_operand(),
24869 op2.as_operand(),
24870 &NOREG,
24871 );
24872 }
24873}
24874
24875impl<'a> Vfmsubadd132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24876 fn vfmsubadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24877 self.emit(
24878 VFMSUBADD132PH512RRM_MASK,
24879 op0.as_operand(),
24880 op1.as_operand(),
24881 op2.as_operand(),
24882 &NOREG,
24883 );
24884 }
24885}
24886
24887pub trait Vfmsubadd132phMaskErEmitter<A, B, C> {
24899 fn vfmsubadd132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
24900}
24901
24902impl<'a> Vfmsubadd132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24903 fn vfmsubadd132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24904 self.emit(
24905 VFMSUBADD132PH512RRR_MASK_ER,
24906 op0.as_operand(),
24907 op1.as_operand(),
24908 op2.as_operand(),
24909 &NOREG,
24910 );
24911 }
24912}
24913
24914pub trait Vfmsubadd132phMaskzEmitter<A, B, C> {
24931 fn vfmsubadd132ph_maskz(&mut self, op0: A, op1: B, op2: C);
24932}
24933
24934impl<'a> Vfmsubadd132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24935 fn vfmsubadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24936 self.emit(
24937 VFMSUBADD132PH128RRR_MASKZ,
24938 op0.as_operand(),
24939 op1.as_operand(),
24940 op2.as_operand(),
24941 &NOREG,
24942 );
24943 }
24944}
24945
24946impl<'a> Vfmsubadd132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24947 fn vfmsubadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24948 self.emit(
24949 VFMSUBADD132PH128RRM_MASKZ,
24950 op0.as_operand(),
24951 op1.as_operand(),
24952 op2.as_operand(),
24953 &NOREG,
24954 );
24955 }
24956}
24957
24958impl<'a> Vfmsubadd132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24959 fn vfmsubadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24960 self.emit(
24961 VFMSUBADD132PH256RRR_MASKZ,
24962 op0.as_operand(),
24963 op1.as_operand(),
24964 op2.as_operand(),
24965 &NOREG,
24966 );
24967 }
24968}
24969
24970impl<'a> Vfmsubadd132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24971 fn vfmsubadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24972 self.emit(
24973 VFMSUBADD132PH256RRM_MASKZ,
24974 op0.as_operand(),
24975 op1.as_operand(),
24976 op2.as_operand(),
24977 &NOREG,
24978 );
24979 }
24980}
24981
24982impl<'a> Vfmsubadd132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24983 fn vfmsubadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24984 self.emit(
24985 VFMSUBADD132PH512RRR_MASKZ,
24986 op0.as_operand(),
24987 op1.as_operand(),
24988 op2.as_operand(),
24989 &NOREG,
24990 );
24991 }
24992}
24993
24994impl<'a> Vfmsubadd132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24995 fn vfmsubadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24996 self.emit(
24997 VFMSUBADD132PH512RRM_MASKZ,
24998 op0.as_operand(),
24999 op1.as_operand(),
25000 op2.as_operand(),
25001 &NOREG,
25002 );
25003 }
25004}
25005
25006pub trait Vfmsubadd132phMaskzErEmitter<A, B, C> {
25018 fn vfmsubadd132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
25019}
25020
25021impl<'a> Vfmsubadd132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25022 fn vfmsubadd132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25023 self.emit(
25024 VFMSUBADD132PH512RRR_MASKZ_ER,
25025 op0.as_operand(),
25026 op1.as_operand(),
25027 op2.as_operand(),
25028 &NOREG,
25029 );
25030 }
25031}
25032
25033pub trait Vfmsubadd213phEmitter<A, B, C> {
25050 fn vfmsubadd213ph(&mut self, op0: A, op1: B, op2: C);
25051}
25052
25053impl<'a> Vfmsubadd213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25054 fn vfmsubadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25055 self.emit(
25056 VFMSUBADD213PH128RRR,
25057 op0.as_operand(),
25058 op1.as_operand(),
25059 op2.as_operand(),
25060 &NOREG,
25061 );
25062 }
25063}
25064
25065impl<'a> Vfmsubadd213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25066 fn vfmsubadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25067 self.emit(
25068 VFMSUBADD213PH128RRM,
25069 op0.as_operand(),
25070 op1.as_operand(),
25071 op2.as_operand(),
25072 &NOREG,
25073 );
25074 }
25075}
25076
25077impl<'a> Vfmsubadd213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25078 fn vfmsubadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25079 self.emit(
25080 VFMSUBADD213PH256RRR,
25081 op0.as_operand(),
25082 op1.as_operand(),
25083 op2.as_operand(),
25084 &NOREG,
25085 );
25086 }
25087}
25088
25089impl<'a> Vfmsubadd213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25090 fn vfmsubadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25091 self.emit(
25092 VFMSUBADD213PH256RRM,
25093 op0.as_operand(),
25094 op1.as_operand(),
25095 op2.as_operand(),
25096 &NOREG,
25097 );
25098 }
25099}
25100
25101impl<'a> Vfmsubadd213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25102 fn vfmsubadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25103 self.emit(
25104 VFMSUBADD213PH512RRR,
25105 op0.as_operand(),
25106 op1.as_operand(),
25107 op2.as_operand(),
25108 &NOREG,
25109 );
25110 }
25111}
25112
25113impl<'a> Vfmsubadd213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25114 fn vfmsubadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25115 self.emit(
25116 VFMSUBADD213PH512RRM,
25117 op0.as_operand(),
25118 op1.as_operand(),
25119 op2.as_operand(),
25120 &NOREG,
25121 );
25122 }
25123}
25124
25125pub trait Vfmsubadd213phErEmitter<A, B, C> {
25137 fn vfmsubadd213ph_er(&mut self, op0: A, op1: B, op2: C);
25138}
25139
25140impl<'a> Vfmsubadd213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25141 fn vfmsubadd213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25142 self.emit(
25143 VFMSUBADD213PH512RRR_ER,
25144 op0.as_operand(),
25145 op1.as_operand(),
25146 op2.as_operand(),
25147 &NOREG,
25148 );
25149 }
25150}
25151
25152pub trait Vfmsubadd213phMaskEmitter<A, B, C> {
25169 fn vfmsubadd213ph_mask(&mut self, op0: A, op1: B, op2: C);
25170}
25171
25172impl<'a> Vfmsubadd213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25173 fn vfmsubadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25174 self.emit(
25175 VFMSUBADD213PH128RRR_MASK,
25176 op0.as_operand(),
25177 op1.as_operand(),
25178 op2.as_operand(),
25179 &NOREG,
25180 );
25181 }
25182}
25183
25184impl<'a> Vfmsubadd213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25185 fn vfmsubadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25186 self.emit(
25187 VFMSUBADD213PH128RRM_MASK,
25188 op0.as_operand(),
25189 op1.as_operand(),
25190 op2.as_operand(),
25191 &NOREG,
25192 );
25193 }
25194}
25195
25196impl<'a> Vfmsubadd213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25197 fn vfmsubadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25198 self.emit(
25199 VFMSUBADD213PH256RRR_MASK,
25200 op0.as_operand(),
25201 op1.as_operand(),
25202 op2.as_operand(),
25203 &NOREG,
25204 );
25205 }
25206}
25207
25208impl<'a> Vfmsubadd213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25209 fn vfmsubadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25210 self.emit(
25211 VFMSUBADD213PH256RRM_MASK,
25212 op0.as_operand(),
25213 op1.as_operand(),
25214 op2.as_operand(),
25215 &NOREG,
25216 );
25217 }
25218}
25219
25220impl<'a> Vfmsubadd213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25221 fn vfmsubadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25222 self.emit(
25223 VFMSUBADD213PH512RRR_MASK,
25224 op0.as_operand(),
25225 op1.as_operand(),
25226 op2.as_operand(),
25227 &NOREG,
25228 );
25229 }
25230}
25231
25232impl<'a> Vfmsubadd213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25233 fn vfmsubadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25234 self.emit(
25235 VFMSUBADD213PH512RRM_MASK,
25236 op0.as_operand(),
25237 op1.as_operand(),
25238 op2.as_operand(),
25239 &NOREG,
25240 );
25241 }
25242}
25243
25244pub trait Vfmsubadd213phMaskErEmitter<A, B, C> {
25256 fn vfmsubadd213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
25257}
25258
25259impl<'a> Vfmsubadd213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25260 fn vfmsubadd213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25261 self.emit(
25262 VFMSUBADD213PH512RRR_MASK_ER,
25263 op0.as_operand(),
25264 op1.as_operand(),
25265 op2.as_operand(),
25266 &NOREG,
25267 );
25268 }
25269}
25270
25271pub trait Vfmsubadd213phMaskzEmitter<A, B, C> {
25288 fn vfmsubadd213ph_maskz(&mut self, op0: A, op1: B, op2: C);
25289}
25290
25291impl<'a> Vfmsubadd213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25292 fn vfmsubadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25293 self.emit(
25294 VFMSUBADD213PH128RRR_MASKZ,
25295 op0.as_operand(),
25296 op1.as_operand(),
25297 op2.as_operand(),
25298 &NOREG,
25299 );
25300 }
25301}
25302
25303impl<'a> Vfmsubadd213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25304 fn vfmsubadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25305 self.emit(
25306 VFMSUBADD213PH128RRM_MASKZ,
25307 op0.as_operand(),
25308 op1.as_operand(),
25309 op2.as_operand(),
25310 &NOREG,
25311 );
25312 }
25313}
25314
25315impl<'a> Vfmsubadd213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25316 fn vfmsubadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25317 self.emit(
25318 VFMSUBADD213PH256RRR_MASKZ,
25319 op0.as_operand(),
25320 op1.as_operand(),
25321 op2.as_operand(),
25322 &NOREG,
25323 );
25324 }
25325}
25326
25327impl<'a> Vfmsubadd213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25328 fn vfmsubadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25329 self.emit(
25330 VFMSUBADD213PH256RRM_MASKZ,
25331 op0.as_operand(),
25332 op1.as_operand(),
25333 op2.as_operand(),
25334 &NOREG,
25335 );
25336 }
25337}
25338
25339impl<'a> Vfmsubadd213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25340 fn vfmsubadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25341 self.emit(
25342 VFMSUBADD213PH512RRR_MASKZ,
25343 op0.as_operand(),
25344 op1.as_operand(),
25345 op2.as_operand(),
25346 &NOREG,
25347 );
25348 }
25349}
25350
25351impl<'a> Vfmsubadd213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25352 fn vfmsubadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25353 self.emit(
25354 VFMSUBADD213PH512RRM_MASKZ,
25355 op0.as_operand(),
25356 op1.as_operand(),
25357 op2.as_operand(),
25358 &NOREG,
25359 );
25360 }
25361}
25362
25363pub trait Vfmsubadd213phMaskzErEmitter<A, B, C> {
25375 fn vfmsubadd213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
25376}
25377
25378impl<'a> Vfmsubadd213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25379 fn vfmsubadd213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25380 self.emit(
25381 VFMSUBADD213PH512RRR_MASKZ_ER,
25382 op0.as_operand(),
25383 op1.as_operand(),
25384 op2.as_operand(),
25385 &NOREG,
25386 );
25387 }
25388}
25389
25390pub trait Vfmsubadd231phEmitter<A, B, C> {
25407 fn vfmsubadd231ph(&mut self, op0: A, op1: B, op2: C);
25408}
25409
25410impl<'a> Vfmsubadd231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25411 fn vfmsubadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25412 self.emit(
25413 VFMSUBADD231PH128RRR,
25414 op0.as_operand(),
25415 op1.as_operand(),
25416 op2.as_operand(),
25417 &NOREG,
25418 );
25419 }
25420}
25421
25422impl<'a> Vfmsubadd231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25423 fn vfmsubadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25424 self.emit(
25425 VFMSUBADD231PH128RRM,
25426 op0.as_operand(),
25427 op1.as_operand(),
25428 op2.as_operand(),
25429 &NOREG,
25430 );
25431 }
25432}
25433
25434impl<'a> Vfmsubadd231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25435 fn vfmsubadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25436 self.emit(
25437 VFMSUBADD231PH256RRR,
25438 op0.as_operand(),
25439 op1.as_operand(),
25440 op2.as_operand(),
25441 &NOREG,
25442 );
25443 }
25444}
25445
25446impl<'a> Vfmsubadd231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25447 fn vfmsubadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25448 self.emit(
25449 VFMSUBADD231PH256RRM,
25450 op0.as_operand(),
25451 op1.as_operand(),
25452 op2.as_operand(),
25453 &NOREG,
25454 );
25455 }
25456}
25457
25458impl<'a> Vfmsubadd231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25459 fn vfmsubadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25460 self.emit(
25461 VFMSUBADD231PH512RRR,
25462 op0.as_operand(),
25463 op1.as_operand(),
25464 op2.as_operand(),
25465 &NOREG,
25466 );
25467 }
25468}
25469
25470impl<'a> Vfmsubadd231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25471 fn vfmsubadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25472 self.emit(
25473 VFMSUBADD231PH512RRM,
25474 op0.as_operand(),
25475 op1.as_operand(),
25476 op2.as_operand(),
25477 &NOREG,
25478 );
25479 }
25480}
25481
25482pub trait Vfmsubadd231phErEmitter<A, B, C> {
25494 fn vfmsubadd231ph_er(&mut self, op0: A, op1: B, op2: C);
25495}
25496
25497impl<'a> Vfmsubadd231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25498 fn vfmsubadd231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25499 self.emit(
25500 VFMSUBADD231PH512RRR_ER,
25501 op0.as_operand(),
25502 op1.as_operand(),
25503 op2.as_operand(),
25504 &NOREG,
25505 );
25506 }
25507}
25508
25509pub trait Vfmsubadd231phMaskEmitter<A, B, C> {
25526 fn vfmsubadd231ph_mask(&mut self, op0: A, op1: B, op2: C);
25527}
25528
25529impl<'a> Vfmsubadd231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25530 fn vfmsubadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25531 self.emit(
25532 VFMSUBADD231PH128RRR_MASK,
25533 op0.as_operand(),
25534 op1.as_operand(),
25535 op2.as_operand(),
25536 &NOREG,
25537 );
25538 }
25539}
25540
25541impl<'a> Vfmsubadd231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25542 fn vfmsubadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25543 self.emit(
25544 VFMSUBADD231PH128RRM_MASK,
25545 op0.as_operand(),
25546 op1.as_operand(),
25547 op2.as_operand(),
25548 &NOREG,
25549 );
25550 }
25551}
25552
25553impl<'a> Vfmsubadd231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25554 fn vfmsubadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25555 self.emit(
25556 VFMSUBADD231PH256RRR_MASK,
25557 op0.as_operand(),
25558 op1.as_operand(),
25559 op2.as_operand(),
25560 &NOREG,
25561 );
25562 }
25563}
25564
25565impl<'a> Vfmsubadd231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25566 fn vfmsubadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25567 self.emit(
25568 VFMSUBADD231PH256RRM_MASK,
25569 op0.as_operand(),
25570 op1.as_operand(),
25571 op2.as_operand(),
25572 &NOREG,
25573 );
25574 }
25575}
25576
25577impl<'a> Vfmsubadd231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25578 fn vfmsubadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25579 self.emit(
25580 VFMSUBADD231PH512RRR_MASK,
25581 op0.as_operand(),
25582 op1.as_operand(),
25583 op2.as_operand(),
25584 &NOREG,
25585 );
25586 }
25587}
25588
25589impl<'a> Vfmsubadd231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25590 fn vfmsubadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25591 self.emit(
25592 VFMSUBADD231PH512RRM_MASK,
25593 op0.as_operand(),
25594 op1.as_operand(),
25595 op2.as_operand(),
25596 &NOREG,
25597 );
25598 }
25599}
25600
25601pub trait Vfmsubadd231phMaskErEmitter<A, B, C> {
25613 fn vfmsubadd231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
25614}
25615
25616impl<'a> Vfmsubadd231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25617 fn vfmsubadd231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25618 self.emit(
25619 VFMSUBADD231PH512RRR_MASK_ER,
25620 op0.as_operand(),
25621 op1.as_operand(),
25622 op2.as_operand(),
25623 &NOREG,
25624 );
25625 }
25626}
25627
25628pub trait Vfmsubadd231phMaskzEmitter<A, B, C> {
25645 fn vfmsubadd231ph_maskz(&mut self, op0: A, op1: B, op2: C);
25646}
25647
25648impl<'a> Vfmsubadd231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25649 fn vfmsubadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25650 self.emit(
25651 VFMSUBADD231PH128RRR_MASKZ,
25652 op0.as_operand(),
25653 op1.as_operand(),
25654 op2.as_operand(),
25655 &NOREG,
25656 );
25657 }
25658}
25659
25660impl<'a> Vfmsubadd231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25661 fn vfmsubadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25662 self.emit(
25663 VFMSUBADD231PH128RRM_MASKZ,
25664 op0.as_operand(),
25665 op1.as_operand(),
25666 op2.as_operand(),
25667 &NOREG,
25668 );
25669 }
25670}
25671
25672impl<'a> Vfmsubadd231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25673 fn vfmsubadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25674 self.emit(
25675 VFMSUBADD231PH256RRR_MASKZ,
25676 op0.as_operand(),
25677 op1.as_operand(),
25678 op2.as_operand(),
25679 &NOREG,
25680 );
25681 }
25682}
25683
25684impl<'a> Vfmsubadd231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25685 fn vfmsubadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25686 self.emit(
25687 VFMSUBADD231PH256RRM_MASKZ,
25688 op0.as_operand(),
25689 op1.as_operand(),
25690 op2.as_operand(),
25691 &NOREG,
25692 );
25693 }
25694}
25695
25696impl<'a> Vfmsubadd231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25697 fn vfmsubadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25698 self.emit(
25699 VFMSUBADD231PH512RRR_MASKZ,
25700 op0.as_operand(),
25701 op1.as_operand(),
25702 op2.as_operand(),
25703 &NOREG,
25704 );
25705 }
25706}
25707
25708impl<'a> Vfmsubadd231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25709 fn vfmsubadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25710 self.emit(
25711 VFMSUBADD231PH512RRM_MASKZ,
25712 op0.as_operand(),
25713 op1.as_operand(),
25714 op2.as_operand(),
25715 &NOREG,
25716 );
25717 }
25718}
25719
25720pub trait Vfmsubadd231phMaskzErEmitter<A, B, C> {
25732 fn vfmsubadd231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
25733}
25734
25735impl<'a> Vfmsubadd231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25736 fn vfmsubadd231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25737 self.emit(
25738 VFMSUBADD231PH512RRR_MASKZ_ER,
25739 op0.as_operand(),
25740 op1.as_operand(),
25741 op2.as_operand(),
25742 &NOREG,
25743 );
25744 }
25745}
25746
25747pub trait VfmulcphEmitter<A, B, C> {
25764 fn vfmulcph(&mut self, op0: A, op1: B, op2: C);
25765}
25766
25767impl<'a> VfmulcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25768 fn vfmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25769 self.emit(
25770 VFMULCPH128RRR,
25771 op0.as_operand(),
25772 op1.as_operand(),
25773 op2.as_operand(),
25774 &NOREG,
25775 );
25776 }
25777}
25778
25779impl<'a> VfmulcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25780 fn vfmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25781 self.emit(
25782 VFMULCPH128RRM,
25783 op0.as_operand(),
25784 op1.as_operand(),
25785 op2.as_operand(),
25786 &NOREG,
25787 );
25788 }
25789}
25790
25791impl<'a> VfmulcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25792 fn vfmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25793 self.emit(
25794 VFMULCPH256RRR,
25795 op0.as_operand(),
25796 op1.as_operand(),
25797 op2.as_operand(),
25798 &NOREG,
25799 );
25800 }
25801}
25802
25803impl<'a> VfmulcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25804 fn vfmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25805 self.emit(
25806 VFMULCPH256RRM,
25807 op0.as_operand(),
25808 op1.as_operand(),
25809 op2.as_operand(),
25810 &NOREG,
25811 );
25812 }
25813}
25814
25815impl<'a> VfmulcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25816 fn vfmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25817 self.emit(
25818 VFMULCPH512RRR,
25819 op0.as_operand(),
25820 op1.as_operand(),
25821 op2.as_operand(),
25822 &NOREG,
25823 );
25824 }
25825}
25826
25827impl<'a> VfmulcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25828 fn vfmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25829 self.emit(
25830 VFMULCPH512RRM,
25831 op0.as_operand(),
25832 op1.as_operand(),
25833 op2.as_operand(),
25834 &NOREG,
25835 );
25836 }
25837}
25838
25839pub trait VfmulcphErEmitter<A, B, C> {
25851 fn vfmulcph_er(&mut self, op0: A, op1: B, op2: C);
25852}
25853
25854impl<'a> VfmulcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25855 fn vfmulcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25856 self.emit(
25857 VFMULCPH512RRR_ER,
25858 op0.as_operand(),
25859 op1.as_operand(),
25860 op2.as_operand(),
25861 &NOREG,
25862 );
25863 }
25864}
25865
25866pub trait VfmulcphMaskEmitter<A, B, C> {
25883 fn vfmulcph_mask(&mut self, op0: A, op1: B, op2: C);
25884}
25885
25886impl<'a> VfmulcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25887 fn vfmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25888 self.emit(
25889 VFMULCPH128RRR_MASK,
25890 op0.as_operand(),
25891 op1.as_operand(),
25892 op2.as_operand(),
25893 &NOREG,
25894 );
25895 }
25896}
25897
25898impl<'a> VfmulcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25899 fn vfmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25900 self.emit(
25901 VFMULCPH128RRM_MASK,
25902 op0.as_operand(),
25903 op1.as_operand(),
25904 op2.as_operand(),
25905 &NOREG,
25906 );
25907 }
25908}
25909
25910impl<'a> VfmulcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25911 fn vfmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25912 self.emit(
25913 VFMULCPH256RRR_MASK,
25914 op0.as_operand(),
25915 op1.as_operand(),
25916 op2.as_operand(),
25917 &NOREG,
25918 );
25919 }
25920}
25921
25922impl<'a> VfmulcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25923 fn vfmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25924 self.emit(
25925 VFMULCPH256RRM_MASK,
25926 op0.as_operand(),
25927 op1.as_operand(),
25928 op2.as_operand(),
25929 &NOREG,
25930 );
25931 }
25932}
25933
25934impl<'a> VfmulcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25935 fn vfmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25936 self.emit(
25937 VFMULCPH512RRR_MASK,
25938 op0.as_operand(),
25939 op1.as_operand(),
25940 op2.as_operand(),
25941 &NOREG,
25942 );
25943 }
25944}
25945
25946impl<'a> VfmulcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25947 fn vfmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25948 self.emit(
25949 VFMULCPH512RRM_MASK,
25950 op0.as_operand(),
25951 op1.as_operand(),
25952 op2.as_operand(),
25953 &NOREG,
25954 );
25955 }
25956}
25957
25958pub trait VfmulcphMaskErEmitter<A, B, C> {
25970 fn vfmulcph_mask_er(&mut self, op0: A, op1: B, op2: C);
25971}
25972
25973impl<'a> VfmulcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25974 fn vfmulcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25975 self.emit(
25976 VFMULCPH512RRR_MASK_ER,
25977 op0.as_operand(),
25978 op1.as_operand(),
25979 op2.as_operand(),
25980 &NOREG,
25981 );
25982 }
25983}
25984
25985pub trait VfmulcphMaskzEmitter<A, B, C> {
26002 fn vfmulcph_maskz(&mut self, op0: A, op1: B, op2: C);
26003}
26004
26005impl<'a> VfmulcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26006 fn vfmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26007 self.emit(
26008 VFMULCPH128RRR_MASKZ,
26009 op0.as_operand(),
26010 op1.as_operand(),
26011 op2.as_operand(),
26012 &NOREG,
26013 );
26014 }
26015}
26016
26017impl<'a> VfmulcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26018 fn vfmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26019 self.emit(
26020 VFMULCPH128RRM_MASKZ,
26021 op0.as_operand(),
26022 op1.as_operand(),
26023 op2.as_operand(),
26024 &NOREG,
26025 );
26026 }
26027}
26028
26029impl<'a> VfmulcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26030 fn vfmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26031 self.emit(
26032 VFMULCPH256RRR_MASKZ,
26033 op0.as_operand(),
26034 op1.as_operand(),
26035 op2.as_operand(),
26036 &NOREG,
26037 );
26038 }
26039}
26040
26041impl<'a> VfmulcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26042 fn vfmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26043 self.emit(
26044 VFMULCPH256RRM_MASKZ,
26045 op0.as_operand(),
26046 op1.as_operand(),
26047 op2.as_operand(),
26048 &NOREG,
26049 );
26050 }
26051}
26052
26053impl<'a> VfmulcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26054 fn vfmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26055 self.emit(
26056 VFMULCPH512RRR_MASKZ,
26057 op0.as_operand(),
26058 op1.as_operand(),
26059 op2.as_operand(),
26060 &NOREG,
26061 );
26062 }
26063}
26064
26065impl<'a> VfmulcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26066 fn vfmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26067 self.emit(
26068 VFMULCPH512RRM_MASKZ,
26069 op0.as_operand(),
26070 op1.as_operand(),
26071 op2.as_operand(),
26072 &NOREG,
26073 );
26074 }
26075}
26076
26077pub trait VfmulcphMaskzErEmitter<A, B, C> {
26089 fn vfmulcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
26090}
26091
26092impl<'a> VfmulcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26093 fn vfmulcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26094 self.emit(
26095 VFMULCPH512RRR_MASKZ_ER,
26096 op0.as_operand(),
26097 op1.as_operand(),
26098 op2.as_operand(),
26099 &NOREG,
26100 );
26101 }
26102}
26103
26104pub trait VfmulcshEmitter<A, B, C> {
26117 fn vfmulcsh(&mut self, op0: A, op1: B, op2: C);
26118}
26119
26120impl<'a> VfmulcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26121 fn vfmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26122 self.emit(
26123 VFMULCSHRRR,
26124 op0.as_operand(),
26125 op1.as_operand(),
26126 op2.as_operand(),
26127 &NOREG,
26128 );
26129 }
26130}
26131
26132impl<'a> VfmulcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26133 fn vfmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26134 self.emit(
26135 VFMULCSHRRM,
26136 op0.as_operand(),
26137 op1.as_operand(),
26138 op2.as_operand(),
26139 &NOREG,
26140 );
26141 }
26142}
26143
26144pub trait VfmulcshErEmitter<A, B, C> {
26156 fn vfmulcsh_er(&mut self, op0: A, op1: B, op2: C);
26157}
26158
26159impl<'a> VfmulcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26160 fn vfmulcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26161 self.emit(
26162 VFMULCSHRRR_ER,
26163 op0.as_operand(),
26164 op1.as_operand(),
26165 op2.as_operand(),
26166 &NOREG,
26167 );
26168 }
26169}
26170
26171pub trait VfmulcshMaskEmitter<A, B, C> {
26184 fn vfmulcsh_mask(&mut self, op0: A, op1: B, op2: C);
26185}
26186
26187impl<'a> VfmulcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26188 fn vfmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26189 self.emit(
26190 VFMULCSHRRR_MASK,
26191 op0.as_operand(),
26192 op1.as_operand(),
26193 op2.as_operand(),
26194 &NOREG,
26195 );
26196 }
26197}
26198
26199impl<'a> VfmulcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26200 fn vfmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26201 self.emit(
26202 VFMULCSHRRM_MASK,
26203 op0.as_operand(),
26204 op1.as_operand(),
26205 op2.as_operand(),
26206 &NOREG,
26207 );
26208 }
26209}
26210
26211pub trait VfmulcshMaskErEmitter<A, B, C> {
26223 fn vfmulcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
26224}
26225
26226impl<'a> VfmulcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26227 fn vfmulcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26228 self.emit(
26229 VFMULCSHRRR_MASK_ER,
26230 op0.as_operand(),
26231 op1.as_operand(),
26232 op2.as_operand(),
26233 &NOREG,
26234 );
26235 }
26236}
26237
26238pub trait VfmulcshMaskzEmitter<A, B, C> {
26251 fn vfmulcsh_maskz(&mut self, op0: A, op1: B, op2: C);
26252}
26253
26254impl<'a> VfmulcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26255 fn vfmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26256 self.emit(
26257 VFMULCSHRRR_MASKZ,
26258 op0.as_operand(),
26259 op1.as_operand(),
26260 op2.as_operand(),
26261 &NOREG,
26262 );
26263 }
26264}
26265
26266impl<'a> VfmulcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26267 fn vfmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26268 self.emit(
26269 VFMULCSHRRM_MASKZ,
26270 op0.as_operand(),
26271 op1.as_operand(),
26272 op2.as_operand(),
26273 &NOREG,
26274 );
26275 }
26276}
26277
26278pub trait VfmulcshMaskzErEmitter<A, B, C> {
26290 fn vfmulcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
26291}
26292
26293impl<'a> VfmulcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26294 fn vfmulcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26295 self.emit(
26296 VFMULCSHRRR_MASKZ_ER,
26297 op0.as_operand(),
26298 op1.as_operand(),
26299 op2.as_operand(),
26300 &NOREG,
26301 );
26302 }
26303}
26304
26305pub trait Vfnmadd132phEmitter<A, B, C> {
26322 fn vfnmadd132ph(&mut self, op0: A, op1: B, op2: C);
26323}
26324
26325impl<'a> Vfnmadd132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26326 fn vfnmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26327 self.emit(
26328 VFNMADD132PH128RRR,
26329 op0.as_operand(),
26330 op1.as_operand(),
26331 op2.as_operand(),
26332 &NOREG,
26333 );
26334 }
26335}
26336
26337impl<'a> Vfnmadd132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26338 fn vfnmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26339 self.emit(
26340 VFNMADD132PH128RRM,
26341 op0.as_operand(),
26342 op1.as_operand(),
26343 op2.as_operand(),
26344 &NOREG,
26345 );
26346 }
26347}
26348
26349impl<'a> Vfnmadd132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26350 fn vfnmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26351 self.emit(
26352 VFNMADD132PH256RRR,
26353 op0.as_operand(),
26354 op1.as_operand(),
26355 op2.as_operand(),
26356 &NOREG,
26357 );
26358 }
26359}
26360
26361impl<'a> Vfnmadd132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26362 fn vfnmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26363 self.emit(
26364 VFNMADD132PH256RRM,
26365 op0.as_operand(),
26366 op1.as_operand(),
26367 op2.as_operand(),
26368 &NOREG,
26369 );
26370 }
26371}
26372
26373impl<'a> Vfnmadd132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26374 fn vfnmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26375 self.emit(
26376 VFNMADD132PH512RRR,
26377 op0.as_operand(),
26378 op1.as_operand(),
26379 op2.as_operand(),
26380 &NOREG,
26381 );
26382 }
26383}
26384
26385impl<'a> Vfnmadd132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26386 fn vfnmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26387 self.emit(
26388 VFNMADD132PH512RRM,
26389 op0.as_operand(),
26390 op1.as_operand(),
26391 op2.as_operand(),
26392 &NOREG,
26393 );
26394 }
26395}
26396
26397pub trait Vfnmadd132phErEmitter<A, B, C> {
26409 fn vfnmadd132ph_er(&mut self, op0: A, op1: B, op2: C);
26410}
26411
26412impl<'a> Vfnmadd132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26413 fn vfnmadd132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26414 self.emit(
26415 VFNMADD132PH512RRR_ER,
26416 op0.as_operand(),
26417 op1.as_operand(),
26418 op2.as_operand(),
26419 &NOREG,
26420 );
26421 }
26422}
26423
26424pub trait Vfnmadd132phMaskEmitter<A, B, C> {
26441 fn vfnmadd132ph_mask(&mut self, op0: A, op1: B, op2: C);
26442}
26443
26444impl<'a> Vfnmadd132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26445 fn vfnmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26446 self.emit(
26447 VFNMADD132PH128RRR_MASK,
26448 op0.as_operand(),
26449 op1.as_operand(),
26450 op2.as_operand(),
26451 &NOREG,
26452 );
26453 }
26454}
26455
26456impl<'a> Vfnmadd132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26457 fn vfnmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26458 self.emit(
26459 VFNMADD132PH128RRM_MASK,
26460 op0.as_operand(),
26461 op1.as_operand(),
26462 op2.as_operand(),
26463 &NOREG,
26464 );
26465 }
26466}
26467
26468impl<'a> Vfnmadd132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26469 fn vfnmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26470 self.emit(
26471 VFNMADD132PH256RRR_MASK,
26472 op0.as_operand(),
26473 op1.as_operand(),
26474 op2.as_operand(),
26475 &NOREG,
26476 );
26477 }
26478}
26479
26480impl<'a> Vfnmadd132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26481 fn vfnmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26482 self.emit(
26483 VFNMADD132PH256RRM_MASK,
26484 op0.as_operand(),
26485 op1.as_operand(),
26486 op2.as_operand(),
26487 &NOREG,
26488 );
26489 }
26490}
26491
26492impl<'a> Vfnmadd132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26493 fn vfnmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26494 self.emit(
26495 VFNMADD132PH512RRR_MASK,
26496 op0.as_operand(),
26497 op1.as_operand(),
26498 op2.as_operand(),
26499 &NOREG,
26500 );
26501 }
26502}
26503
26504impl<'a> Vfnmadd132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26505 fn vfnmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26506 self.emit(
26507 VFNMADD132PH512RRM_MASK,
26508 op0.as_operand(),
26509 op1.as_operand(),
26510 op2.as_operand(),
26511 &NOREG,
26512 );
26513 }
26514}
26515
26516pub trait Vfnmadd132phMaskErEmitter<A, B, C> {
26528 fn vfnmadd132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
26529}
26530
26531impl<'a> Vfnmadd132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26532 fn vfnmadd132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26533 self.emit(
26534 VFNMADD132PH512RRR_MASK_ER,
26535 op0.as_operand(),
26536 op1.as_operand(),
26537 op2.as_operand(),
26538 &NOREG,
26539 );
26540 }
26541}
26542
26543pub trait Vfnmadd132phMaskzEmitter<A, B, C> {
26560 fn vfnmadd132ph_maskz(&mut self, op0: A, op1: B, op2: C);
26561}
26562
26563impl<'a> Vfnmadd132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26564 fn vfnmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26565 self.emit(
26566 VFNMADD132PH128RRR_MASKZ,
26567 op0.as_operand(),
26568 op1.as_operand(),
26569 op2.as_operand(),
26570 &NOREG,
26571 );
26572 }
26573}
26574
26575impl<'a> Vfnmadd132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26576 fn vfnmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26577 self.emit(
26578 VFNMADD132PH128RRM_MASKZ,
26579 op0.as_operand(),
26580 op1.as_operand(),
26581 op2.as_operand(),
26582 &NOREG,
26583 );
26584 }
26585}
26586
26587impl<'a> Vfnmadd132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26588 fn vfnmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26589 self.emit(
26590 VFNMADD132PH256RRR_MASKZ,
26591 op0.as_operand(),
26592 op1.as_operand(),
26593 op2.as_operand(),
26594 &NOREG,
26595 );
26596 }
26597}
26598
26599impl<'a> Vfnmadd132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26600 fn vfnmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26601 self.emit(
26602 VFNMADD132PH256RRM_MASKZ,
26603 op0.as_operand(),
26604 op1.as_operand(),
26605 op2.as_operand(),
26606 &NOREG,
26607 );
26608 }
26609}
26610
26611impl<'a> Vfnmadd132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26612 fn vfnmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26613 self.emit(
26614 VFNMADD132PH512RRR_MASKZ,
26615 op0.as_operand(),
26616 op1.as_operand(),
26617 op2.as_operand(),
26618 &NOREG,
26619 );
26620 }
26621}
26622
26623impl<'a> Vfnmadd132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26624 fn vfnmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26625 self.emit(
26626 VFNMADD132PH512RRM_MASKZ,
26627 op0.as_operand(),
26628 op1.as_operand(),
26629 op2.as_operand(),
26630 &NOREG,
26631 );
26632 }
26633}
26634
26635pub trait Vfnmadd132phMaskzErEmitter<A, B, C> {
26647 fn vfnmadd132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
26648}
26649
26650impl<'a> Vfnmadd132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26651 fn vfnmadd132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26652 self.emit(
26653 VFNMADD132PH512RRR_MASKZ_ER,
26654 op0.as_operand(),
26655 op1.as_operand(),
26656 op2.as_operand(),
26657 &NOREG,
26658 );
26659 }
26660}
26661
26662pub trait Vfnmadd132shEmitter<A, B, C> {
26675 fn vfnmadd132sh(&mut self, op0: A, op1: B, op2: C);
26676}
26677
26678impl<'a> Vfnmadd132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26679 fn vfnmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26680 self.emit(
26681 VFNMADD132SHRRR,
26682 op0.as_operand(),
26683 op1.as_operand(),
26684 op2.as_operand(),
26685 &NOREG,
26686 );
26687 }
26688}
26689
26690impl<'a> Vfnmadd132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26691 fn vfnmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26692 self.emit(
26693 VFNMADD132SHRRM,
26694 op0.as_operand(),
26695 op1.as_operand(),
26696 op2.as_operand(),
26697 &NOREG,
26698 );
26699 }
26700}
26701
26702pub trait Vfnmadd132shErEmitter<A, B, C> {
26714 fn vfnmadd132sh_er(&mut self, op0: A, op1: B, op2: C);
26715}
26716
26717impl<'a> Vfnmadd132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26718 fn vfnmadd132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26719 self.emit(
26720 VFNMADD132SHRRR_ER,
26721 op0.as_operand(),
26722 op1.as_operand(),
26723 op2.as_operand(),
26724 &NOREG,
26725 );
26726 }
26727}
26728
26729pub trait Vfnmadd132shMaskEmitter<A, B, C> {
26742 fn vfnmadd132sh_mask(&mut self, op0: A, op1: B, op2: C);
26743}
26744
26745impl<'a> Vfnmadd132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26746 fn vfnmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26747 self.emit(
26748 VFNMADD132SHRRR_MASK,
26749 op0.as_operand(),
26750 op1.as_operand(),
26751 op2.as_operand(),
26752 &NOREG,
26753 );
26754 }
26755}
26756
26757impl<'a> Vfnmadd132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26758 fn vfnmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26759 self.emit(
26760 VFNMADD132SHRRM_MASK,
26761 op0.as_operand(),
26762 op1.as_operand(),
26763 op2.as_operand(),
26764 &NOREG,
26765 );
26766 }
26767}
26768
26769pub trait Vfnmadd132shMaskErEmitter<A, B, C> {
26781 fn vfnmadd132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
26782}
26783
26784impl<'a> Vfnmadd132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26785 fn vfnmadd132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26786 self.emit(
26787 VFNMADD132SHRRR_MASK_ER,
26788 op0.as_operand(),
26789 op1.as_operand(),
26790 op2.as_operand(),
26791 &NOREG,
26792 );
26793 }
26794}
26795
26796pub trait Vfnmadd132shMaskzEmitter<A, B, C> {
26809 fn vfnmadd132sh_maskz(&mut self, op0: A, op1: B, op2: C);
26810}
26811
26812impl<'a> Vfnmadd132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26813 fn vfnmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26814 self.emit(
26815 VFNMADD132SHRRR_MASKZ,
26816 op0.as_operand(),
26817 op1.as_operand(),
26818 op2.as_operand(),
26819 &NOREG,
26820 );
26821 }
26822}
26823
26824impl<'a> Vfnmadd132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26825 fn vfnmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26826 self.emit(
26827 VFNMADD132SHRRM_MASKZ,
26828 op0.as_operand(),
26829 op1.as_operand(),
26830 op2.as_operand(),
26831 &NOREG,
26832 );
26833 }
26834}
26835
26836pub trait Vfnmadd132shMaskzErEmitter<A, B, C> {
26848 fn vfnmadd132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
26849}
26850
26851impl<'a> Vfnmadd132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26852 fn vfnmadd132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26853 self.emit(
26854 VFNMADD132SHRRR_MASKZ_ER,
26855 op0.as_operand(),
26856 op1.as_operand(),
26857 op2.as_operand(),
26858 &NOREG,
26859 );
26860 }
26861}
26862
26863pub trait Vfnmadd213phEmitter<A, B, C> {
26880 fn vfnmadd213ph(&mut self, op0: A, op1: B, op2: C);
26881}
26882
26883impl<'a> Vfnmadd213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26884 fn vfnmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26885 self.emit(
26886 VFNMADD213PH128RRR,
26887 op0.as_operand(),
26888 op1.as_operand(),
26889 op2.as_operand(),
26890 &NOREG,
26891 );
26892 }
26893}
26894
26895impl<'a> Vfnmadd213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26896 fn vfnmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26897 self.emit(
26898 VFNMADD213PH128RRM,
26899 op0.as_operand(),
26900 op1.as_operand(),
26901 op2.as_operand(),
26902 &NOREG,
26903 );
26904 }
26905}
26906
26907impl<'a> Vfnmadd213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26908 fn vfnmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26909 self.emit(
26910 VFNMADD213PH256RRR,
26911 op0.as_operand(),
26912 op1.as_operand(),
26913 op2.as_operand(),
26914 &NOREG,
26915 );
26916 }
26917}
26918
26919impl<'a> Vfnmadd213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26920 fn vfnmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26921 self.emit(
26922 VFNMADD213PH256RRM,
26923 op0.as_operand(),
26924 op1.as_operand(),
26925 op2.as_operand(),
26926 &NOREG,
26927 );
26928 }
26929}
26930
26931impl<'a> Vfnmadd213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26932 fn vfnmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26933 self.emit(
26934 VFNMADD213PH512RRR,
26935 op0.as_operand(),
26936 op1.as_operand(),
26937 op2.as_operand(),
26938 &NOREG,
26939 );
26940 }
26941}
26942
26943impl<'a> Vfnmadd213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26944 fn vfnmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26945 self.emit(
26946 VFNMADD213PH512RRM,
26947 op0.as_operand(),
26948 op1.as_operand(),
26949 op2.as_operand(),
26950 &NOREG,
26951 );
26952 }
26953}
26954
26955pub trait Vfnmadd213phErEmitter<A, B, C> {
26967 fn vfnmadd213ph_er(&mut self, op0: A, op1: B, op2: C);
26968}
26969
26970impl<'a> Vfnmadd213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26971 fn vfnmadd213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26972 self.emit(
26973 VFNMADD213PH512RRR_ER,
26974 op0.as_operand(),
26975 op1.as_operand(),
26976 op2.as_operand(),
26977 &NOREG,
26978 );
26979 }
26980}
26981
26982pub trait Vfnmadd213phMaskEmitter<A, B, C> {
26999 fn vfnmadd213ph_mask(&mut self, op0: A, op1: B, op2: C);
27000}
27001
27002impl<'a> Vfnmadd213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27003 fn vfnmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27004 self.emit(
27005 VFNMADD213PH128RRR_MASK,
27006 op0.as_operand(),
27007 op1.as_operand(),
27008 op2.as_operand(),
27009 &NOREG,
27010 );
27011 }
27012}
27013
27014impl<'a> Vfnmadd213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27015 fn vfnmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27016 self.emit(
27017 VFNMADD213PH128RRM_MASK,
27018 op0.as_operand(),
27019 op1.as_operand(),
27020 op2.as_operand(),
27021 &NOREG,
27022 );
27023 }
27024}
27025
27026impl<'a> Vfnmadd213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27027 fn vfnmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27028 self.emit(
27029 VFNMADD213PH256RRR_MASK,
27030 op0.as_operand(),
27031 op1.as_operand(),
27032 op2.as_operand(),
27033 &NOREG,
27034 );
27035 }
27036}
27037
27038impl<'a> Vfnmadd213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27039 fn vfnmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27040 self.emit(
27041 VFNMADD213PH256RRM_MASK,
27042 op0.as_operand(),
27043 op1.as_operand(),
27044 op2.as_operand(),
27045 &NOREG,
27046 );
27047 }
27048}
27049
27050impl<'a> Vfnmadd213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27051 fn vfnmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27052 self.emit(
27053 VFNMADD213PH512RRR_MASK,
27054 op0.as_operand(),
27055 op1.as_operand(),
27056 op2.as_operand(),
27057 &NOREG,
27058 );
27059 }
27060}
27061
27062impl<'a> Vfnmadd213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27063 fn vfnmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27064 self.emit(
27065 VFNMADD213PH512RRM_MASK,
27066 op0.as_operand(),
27067 op1.as_operand(),
27068 op2.as_operand(),
27069 &NOREG,
27070 );
27071 }
27072}
27073
27074pub trait Vfnmadd213phMaskErEmitter<A, B, C> {
27086 fn vfnmadd213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
27087}
27088
27089impl<'a> Vfnmadd213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27090 fn vfnmadd213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27091 self.emit(
27092 VFNMADD213PH512RRR_MASK_ER,
27093 op0.as_operand(),
27094 op1.as_operand(),
27095 op2.as_operand(),
27096 &NOREG,
27097 );
27098 }
27099}
27100
27101pub trait Vfnmadd213phMaskzEmitter<A, B, C> {
27118 fn vfnmadd213ph_maskz(&mut self, op0: A, op1: B, op2: C);
27119}
27120
27121impl<'a> Vfnmadd213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27122 fn vfnmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27123 self.emit(
27124 VFNMADD213PH128RRR_MASKZ,
27125 op0.as_operand(),
27126 op1.as_operand(),
27127 op2.as_operand(),
27128 &NOREG,
27129 );
27130 }
27131}
27132
27133impl<'a> Vfnmadd213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27134 fn vfnmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27135 self.emit(
27136 VFNMADD213PH128RRM_MASKZ,
27137 op0.as_operand(),
27138 op1.as_operand(),
27139 op2.as_operand(),
27140 &NOREG,
27141 );
27142 }
27143}
27144
27145impl<'a> Vfnmadd213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27146 fn vfnmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27147 self.emit(
27148 VFNMADD213PH256RRR_MASKZ,
27149 op0.as_operand(),
27150 op1.as_operand(),
27151 op2.as_operand(),
27152 &NOREG,
27153 );
27154 }
27155}
27156
27157impl<'a> Vfnmadd213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27158 fn vfnmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27159 self.emit(
27160 VFNMADD213PH256RRM_MASKZ,
27161 op0.as_operand(),
27162 op1.as_operand(),
27163 op2.as_operand(),
27164 &NOREG,
27165 );
27166 }
27167}
27168
27169impl<'a> Vfnmadd213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27170 fn vfnmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27171 self.emit(
27172 VFNMADD213PH512RRR_MASKZ,
27173 op0.as_operand(),
27174 op1.as_operand(),
27175 op2.as_operand(),
27176 &NOREG,
27177 );
27178 }
27179}
27180
27181impl<'a> Vfnmadd213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27182 fn vfnmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27183 self.emit(
27184 VFNMADD213PH512RRM_MASKZ,
27185 op0.as_operand(),
27186 op1.as_operand(),
27187 op2.as_operand(),
27188 &NOREG,
27189 );
27190 }
27191}
27192
27193pub trait Vfnmadd213phMaskzErEmitter<A, B, C> {
27205 fn vfnmadd213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
27206}
27207
27208impl<'a> Vfnmadd213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27209 fn vfnmadd213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27210 self.emit(
27211 VFNMADD213PH512RRR_MASKZ_ER,
27212 op0.as_operand(),
27213 op1.as_operand(),
27214 op2.as_operand(),
27215 &NOREG,
27216 );
27217 }
27218}
27219
27220pub trait Vfnmadd213shEmitter<A, B, C> {
27233 fn vfnmadd213sh(&mut self, op0: A, op1: B, op2: C);
27234}
27235
27236impl<'a> Vfnmadd213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27237 fn vfnmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27238 self.emit(
27239 VFNMADD213SHRRR,
27240 op0.as_operand(),
27241 op1.as_operand(),
27242 op2.as_operand(),
27243 &NOREG,
27244 );
27245 }
27246}
27247
27248impl<'a> Vfnmadd213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27249 fn vfnmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27250 self.emit(
27251 VFNMADD213SHRRM,
27252 op0.as_operand(),
27253 op1.as_operand(),
27254 op2.as_operand(),
27255 &NOREG,
27256 );
27257 }
27258}
27259
27260pub trait Vfnmadd213shErEmitter<A, B, C> {
27272 fn vfnmadd213sh_er(&mut self, op0: A, op1: B, op2: C);
27273}
27274
27275impl<'a> Vfnmadd213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27276 fn vfnmadd213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27277 self.emit(
27278 VFNMADD213SHRRR_ER,
27279 op0.as_operand(),
27280 op1.as_operand(),
27281 op2.as_operand(),
27282 &NOREG,
27283 );
27284 }
27285}
27286
27287pub trait Vfnmadd213shMaskEmitter<A, B, C> {
27300 fn vfnmadd213sh_mask(&mut self, op0: A, op1: B, op2: C);
27301}
27302
27303impl<'a> Vfnmadd213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27304 fn vfnmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27305 self.emit(
27306 VFNMADD213SHRRR_MASK,
27307 op0.as_operand(),
27308 op1.as_operand(),
27309 op2.as_operand(),
27310 &NOREG,
27311 );
27312 }
27313}
27314
27315impl<'a> Vfnmadd213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27316 fn vfnmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27317 self.emit(
27318 VFNMADD213SHRRM_MASK,
27319 op0.as_operand(),
27320 op1.as_operand(),
27321 op2.as_operand(),
27322 &NOREG,
27323 );
27324 }
27325}
27326
27327pub trait Vfnmadd213shMaskErEmitter<A, B, C> {
27339 fn vfnmadd213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
27340}
27341
27342impl<'a> Vfnmadd213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27343 fn vfnmadd213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27344 self.emit(
27345 VFNMADD213SHRRR_MASK_ER,
27346 op0.as_operand(),
27347 op1.as_operand(),
27348 op2.as_operand(),
27349 &NOREG,
27350 );
27351 }
27352}
27353
27354pub trait Vfnmadd213shMaskzEmitter<A, B, C> {
27367 fn vfnmadd213sh_maskz(&mut self, op0: A, op1: B, op2: C);
27368}
27369
27370impl<'a> Vfnmadd213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27371 fn vfnmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27372 self.emit(
27373 VFNMADD213SHRRR_MASKZ,
27374 op0.as_operand(),
27375 op1.as_operand(),
27376 op2.as_operand(),
27377 &NOREG,
27378 );
27379 }
27380}
27381
27382impl<'a> Vfnmadd213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27383 fn vfnmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27384 self.emit(
27385 VFNMADD213SHRRM_MASKZ,
27386 op0.as_operand(),
27387 op1.as_operand(),
27388 op2.as_operand(),
27389 &NOREG,
27390 );
27391 }
27392}
27393
27394pub trait Vfnmadd213shMaskzErEmitter<A, B, C> {
27406 fn vfnmadd213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
27407}
27408
27409impl<'a> Vfnmadd213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27410 fn vfnmadd213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27411 self.emit(
27412 VFNMADD213SHRRR_MASKZ_ER,
27413 op0.as_operand(),
27414 op1.as_operand(),
27415 op2.as_operand(),
27416 &NOREG,
27417 );
27418 }
27419}
27420
27421pub trait Vfnmadd231phEmitter<A, B, C> {
27438 fn vfnmadd231ph(&mut self, op0: A, op1: B, op2: C);
27439}
27440
27441impl<'a> Vfnmadd231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27442 fn vfnmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27443 self.emit(
27444 VFNMADD231PH128RRR,
27445 op0.as_operand(),
27446 op1.as_operand(),
27447 op2.as_operand(),
27448 &NOREG,
27449 );
27450 }
27451}
27452
27453impl<'a> Vfnmadd231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27454 fn vfnmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27455 self.emit(
27456 VFNMADD231PH128RRM,
27457 op0.as_operand(),
27458 op1.as_operand(),
27459 op2.as_operand(),
27460 &NOREG,
27461 );
27462 }
27463}
27464
27465impl<'a> Vfnmadd231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27466 fn vfnmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27467 self.emit(
27468 VFNMADD231PH256RRR,
27469 op0.as_operand(),
27470 op1.as_operand(),
27471 op2.as_operand(),
27472 &NOREG,
27473 );
27474 }
27475}
27476
27477impl<'a> Vfnmadd231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27478 fn vfnmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27479 self.emit(
27480 VFNMADD231PH256RRM,
27481 op0.as_operand(),
27482 op1.as_operand(),
27483 op2.as_operand(),
27484 &NOREG,
27485 );
27486 }
27487}
27488
27489impl<'a> Vfnmadd231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27490 fn vfnmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27491 self.emit(
27492 VFNMADD231PH512RRR,
27493 op0.as_operand(),
27494 op1.as_operand(),
27495 op2.as_operand(),
27496 &NOREG,
27497 );
27498 }
27499}
27500
27501impl<'a> Vfnmadd231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27502 fn vfnmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27503 self.emit(
27504 VFNMADD231PH512RRM,
27505 op0.as_operand(),
27506 op1.as_operand(),
27507 op2.as_operand(),
27508 &NOREG,
27509 );
27510 }
27511}
27512
27513pub trait Vfnmadd231phErEmitter<A, B, C> {
27525 fn vfnmadd231ph_er(&mut self, op0: A, op1: B, op2: C);
27526}
27527
27528impl<'a> Vfnmadd231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27529 fn vfnmadd231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27530 self.emit(
27531 VFNMADD231PH512RRR_ER,
27532 op0.as_operand(),
27533 op1.as_operand(),
27534 op2.as_operand(),
27535 &NOREG,
27536 );
27537 }
27538}
27539
27540pub trait Vfnmadd231phMaskEmitter<A, B, C> {
27557 fn vfnmadd231ph_mask(&mut self, op0: A, op1: B, op2: C);
27558}
27559
27560impl<'a> Vfnmadd231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27561 fn vfnmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27562 self.emit(
27563 VFNMADD231PH128RRR_MASK,
27564 op0.as_operand(),
27565 op1.as_operand(),
27566 op2.as_operand(),
27567 &NOREG,
27568 );
27569 }
27570}
27571
27572impl<'a> Vfnmadd231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27573 fn vfnmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27574 self.emit(
27575 VFNMADD231PH128RRM_MASK,
27576 op0.as_operand(),
27577 op1.as_operand(),
27578 op2.as_operand(),
27579 &NOREG,
27580 );
27581 }
27582}
27583
27584impl<'a> Vfnmadd231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27585 fn vfnmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27586 self.emit(
27587 VFNMADD231PH256RRR_MASK,
27588 op0.as_operand(),
27589 op1.as_operand(),
27590 op2.as_operand(),
27591 &NOREG,
27592 );
27593 }
27594}
27595
27596impl<'a> Vfnmadd231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27597 fn vfnmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27598 self.emit(
27599 VFNMADD231PH256RRM_MASK,
27600 op0.as_operand(),
27601 op1.as_operand(),
27602 op2.as_operand(),
27603 &NOREG,
27604 );
27605 }
27606}
27607
27608impl<'a> Vfnmadd231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27609 fn vfnmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27610 self.emit(
27611 VFNMADD231PH512RRR_MASK,
27612 op0.as_operand(),
27613 op1.as_operand(),
27614 op2.as_operand(),
27615 &NOREG,
27616 );
27617 }
27618}
27619
27620impl<'a> Vfnmadd231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27621 fn vfnmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27622 self.emit(
27623 VFNMADD231PH512RRM_MASK,
27624 op0.as_operand(),
27625 op1.as_operand(),
27626 op2.as_operand(),
27627 &NOREG,
27628 );
27629 }
27630}
27631
27632pub trait Vfnmadd231phMaskErEmitter<A, B, C> {
27644 fn vfnmadd231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
27645}
27646
27647impl<'a> Vfnmadd231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27648 fn vfnmadd231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27649 self.emit(
27650 VFNMADD231PH512RRR_MASK_ER,
27651 op0.as_operand(),
27652 op1.as_operand(),
27653 op2.as_operand(),
27654 &NOREG,
27655 );
27656 }
27657}
27658
27659pub trait Vfnmadd231phMaskzEmitter<A, B, C> {
27676 fn vfnmadd231ph_maskz(&mut self, op0: A, op1: B, op2: C);
27677}
27678
27679impl<'a> Vfnmadd231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27680 fn vfnmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27681 self.emit(
27682 VFNMADD231PH128RRR_MASKZ,
27683 op0.as_operand(),
27684 op1.as_operand(),
27685 op2.as_operand(),
27686 &NOREG,
27687 );
27688 }
27689}
27690
27691impl<'a> Vfnmadd231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27692 fn vfnmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27693 self.emit(
27694 VFNMADD231PH128RRM_MASKZ,
27695 op0.as_operand(),
27696 op1.as_operand(),
27697 op2.as_operand(),
27698 &NOREG,
27699 );
27700 }
27701}
27702
27703impl<'a> Vfnmadd231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27704 fn vfnmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27705 self.emit(
27706 VFNMADD231PH256RRR_MASKZ,
27707 op0.as_operand(),
27708 op1.as_operand(),
27709 op2.as_operand(),
27710 &NOREG,
27711 );
27712 }
27713}
27714
27715impl<'a> Vfnmadd231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27716 fn vfnmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27717 self.emit(
27718 VFNMADD231PH256RRM_MASKZ,
27719 op0.as_operand(),
27720 op1.as_operand(),
27721 op2.as_operand(),
27722 &NOREG,
27723 );
27724 }
27725}
27726
27727impl<'a> Vfnmadd231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27728 fn vfnmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27729 self.emit(
27730 VFNMADD231PH512RRR_MASKZ,
27731 op0.as_operand(),
27732 op1.as_operand(),
27733 op2.as_operand(),
27734 &NOREG,
27735 );
27736 }
27737}
27738
27739impl<'a> Vfnmadd231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27740 fn vfnmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27741 self.emit(
27742 VFNMADD231PH512RRM_MASKZ,
27743 op0.as_operand(),
27744 op1.as_operand(),
27745 op2.as_operand(),
27746 &NOREG,
27747 );
27748 }
27749}
27750
27751pub trait Vfnmadd231phMaskzErEmitter<A, B, C> {
27763 fn vfnmadd231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
27764}
27765
27766impl<'a> Vfnmadd231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27767 fn vfnmadd231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27768 self.emit(
27769 VFNMADD231PH512RRR_MASKZ_ER,
27770 op0.as_operand(),
27771 op1.as_operand(),
27772 op2.as_operand(),
27773 &NOREG,
27774 );
27775 }
27776}
27777
27778pub trait Vfnmadd231shEmitter<A, B, C> {
27791 fn vfnmadd231sh(&mut self, op0: A, op1: B, op2: C);
27792}
27793
27794impl<'a> Vfnmadd231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27795 fn vfnmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27796 self.emit(
27797 VFNMADD231SHRRR,
27798 op0.as_operand(),
27799 op1.as_operand(),
27800 op2.as_operand(),
27801 &NOREG,
27802 );
27803 }
27804}
27805
27806impl<'a> Vfnmadd231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27807 fn vfnmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27808 self.emit(
27809 VFNMADD231SHRRM,
27810 op0.as_operand(),
27811 op1.as_operand(),
27812 op2.as_operand(),
27813 &NOREG,
27814 );
27815 }
27816}
27817
27818pub trait Vfnmadd231shErEmitter<A, B, C> {
27830 fn vfnmadd231sh_er(&mut self, op0: A, op1: B, op2: C);
27831}
27832
27833impl<'a> Vfnmadd231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27834 fn vfnmadd231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27835 self.emit(
27836 VFNMADD231SHRRR_ER,
27837 op0.as_operand(),
27838 op1.as_operand(),
27839 op2.as_operand(),
27840 &NOREG,
27841 );
27842 }
27843}
27844
27845pub trait Vfnmadd231shMaskEmitter<A, B, C> {
27858 fn vfnmadd231sh_mask(&mut self, op0: A, op1: B, op2: C);
27859}
27860
27861impl<'a> Vfnmadd231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27862 fn vfnmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27863 self.emit(
27864 VFNMADD231SHRRR_MASK,
27865 op0.as_operand(),
27866 op1.as_operand(),
27867 op2.as_operand(),
27868 &NOREG,
27869 );
27870 }
27871}
27872
27873impl<'a> Vfnmadd231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27874 fn vfnmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27875 self.emit(
27876 VFNMADD231SHRRM_MASK,
27877 op0.as_operand(),
27878 op1.as_operand(),
27879 op2.as_operand(),
27880 &NOREG,
27881 );
27882 }
27883}
27884
27885pub trait Vfnmadd231shMaskErEmitter<A, B, C> {
27897 fn vfnmadd231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
27898}
27899
27900impl<'a> Vfnmadd231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27901 fn vfnmadd231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27902 self.emit(
27903 VFNMADD231SHRRR_MASK_ER,
27904 op0.as_operand(),
27905 op1.as_operand(),
27906 op2.as_operand(),
27907 &NOREG,
27908 );
27909 }
27910}
27911
27912pub trait Vfnmadd231shMaskzEmitter<A, B, C> {
27925 fn vfnmadd231sh_maskz(&mut self, op0: A, op1: B, op2: C);
27926}
27927
27928impl<'a> Vfnmadd231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27929 fn vfnmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27930 self.emit(
27931 VFNMADD231SHRRR_MASKZ,
27932 op0.as_operand(),
27933 op1.as_operand(),
27934 op2.as_operand(),
27935 &NOREG,
27936 );
27937 }
27938}
27939
27940impl<'a> Vfnmadd231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27941 fn vfnmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27942 self.emit(
27943 VFNMADD231SHRRM_MASKZ,
27944 op0.as_operand(),
27945 op1.as_operand(),
27946 op2.as_operand(),
27947 &NOREG,
27948 );
27949 }
27950}
27951
27952pub trait Vfnmadd231shMaskzErEmitter<A, B, C> {
27964 fn vfnmadd231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
27965}
27966
27967impl<'a> Vfnmadd231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27968 fn vfnmadd231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27969 self.emit(
27970 VFNMADD231SHRRR_MASKZ_ER,
27971 op0.as_operand(),
27972 op1.as_operand(),
27973 op2.as_operand(),
27974 &NOREG,
27975 );
27976 }
27977}
27978
27979pub trait Vfnmsub132phEmitter<A, B, C> {
27996 fn vfnmsub132ph(&mut self, op0: A, op1: B, op2: C);
27997}
27998
27999impl<'a> Vfnmsub132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28000 fn vfnmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28001 self.emit(
28002 VFNMSUB132PH128RRR,
28003 op0.as_operand(),
28004 op1.as_operand(),
28005 op2.as_operand(),
28006 &NOREG,
28007 );
28008 }
28009}
28010
28011impl<'a> Vfnmsub132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28012 fn vfnmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28013 self.emit(
28014 VFNMSUB132PH128RRM,
28015 op0.as_operand(),
28016 op1.as_operand(),
28017 op2.as_operand(),
28018 &NOREG,
28019 );
28020 }
28021}
28022
28023impl<'a> Vfnmsub132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
28024 fn vfnmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
28025 self.emit(
28026 VFNMSUB132PH256RRR,
28027 op0.as_operand(),
28028 op1.as_operand(),
28029 op2.as_operand(),
28030 &NOREG,
28031 );
28032 }
28033}
28034
28035impl<'a> Vfnmsub132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
28036 fn vfnmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
28037 self.emit(
28038 VFNMSUB132PH256RRM,
28039 op0.as_operand(),
28040 op1.as_operand(),
28041 op2.as_operand(),
28042 &NOREG,
28043 );
28044 }
28045}
28046
28047impl<'a> Vfnmsub132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28048 fn vfnmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28049 self.emit(
28050 VFNMSUB132PH512RRR,
28051 op0.as_operand(),
28052 op1.as_operand(),
28053 op2.as_operand(),
28054 &NOREG,
28055 );
28056 }
28057}
28058
28059impl<'a> Vfnmsub132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
28060 fn vfnmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
28061 self.emit(
28062 VFNMSUB132PH512RRM,
28063 op0.as_operand(),
28064 op1.as_operand(),
28065 op2.as_operand(),
28066 &NOREG,
28067 );
28068 }
28069}
28070
28071pub trait Vfnmsub132phErEmitter<A, B, C> {
28083 fn vfnmsub132ph_er(&mut self, op0: A, op1: B, op2: C);
28084}
28085
28086impl<'a> Vfnmsub132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28087 fn vfnmsub132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28088 self.emit(
28089 VFNMSUB132PH512RRR_ER,
28090 op0.as_operand(),
28091 op1.as_operand(),
28092 op2.as_operand(),
28093 &NOREG,
28094 );
28095 }
28096}
28097
28098pub trait Vfnmsub132phMaskEmitter<A, B, C> {
28115 fn vfnmsub132ph_mask(&mut self, op0: A, op1: B, op2: C);
28116}
28117
28118impl<'a> Vfnmsub132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28119 fn vfnmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28120 self.emit(
28121 VFNMSUB132PH128RRR_MASK,
28122 op0.as_operand(),
28123 op1.as_operand(),
28124 op2.as_operand(),
28125 &NOREG,
28126 );
28127 }
28128}
28129
28130impl<'a> Vfnmsub132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28131 fn vfnmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28132 self.emit(
28133 VFNMSUB132PH128RRM_MASK,
28134 op0.as_operand(),
28135 op1.as_operand(),
28136 op2.as_operand(),
28137 &NOREG,
28138 );
28139 }
28140}
28141
28142impl<'a> Vfnmsub132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
28143 fn vfnmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
28144 self.emit(
28145 VFNMSUB132PH256RRR_MASK,
28146 op0.as_operand(),
28147 op1.as_operand(),
28148 op2.as_operand(),
28149 &NOREG,
28150 );
28151 }
28152}
28153
28154impl<'a> Vfnmsub132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
28155 fn vfnmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
28156 self.emit(
28157 VFNMSUB132PH256RRM_MASK,
28158 op0.as_operand(),
28159 op1.as_operand(),
28160 op2.as_operand(),
28161 &NOREG,
28162 );
28163 }
28164}
28165
28166impl<'a> Vfnmsub132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28167 fn vfnmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28168 self.emit(
28169 VFNMSUB132PH512RRR_MASK,
28170 op0.as_operand(),
28171 op1.as_operand(),
28172 op2.as_operand(),
28173 &NOREG,
28174 );
28175 }
28176}
28177
28178impl<'a> Vfnmsub132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
28179 fn vfnmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
28180 self.emit(
28181 VFNMSUB132PH512RRM_MASK,
28182 op0.as_operand(),
28183 op1.as_operand(),
28184 op2.as_operand(),
28185 &NOREG,
28186 );
28187 }
28188}
28189
28190pub trait Vfnmsub132phMaskErEmitter<A, B, C> {
28202 fn vfnmsub132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
28203}
28204
28205impl<'a> Vfnmsub132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28206 fn vfnmsub132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28207 self.emit(
28208 VFNMSUB132PH512RRR_MASK_ER,
28209 op0.as_operand(),
28210 op1.as_operand(),
28211 op2.as_operand(),
28212 &NOREG,
28213 );
28214 }
28215}
28216
28217pub trait Vfnmsub132phMaskzEmitter<A, B, C> {
28234 fn vfnmsub132ph_maskz(&mut self, op0: A, op1: B, op2: C);
28235}
28236
28237impl<'a> Vfnmsub132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28238 fn vfnmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28239 self.emit(
28240 VFNMSUB132PH128RRR_MASKZ,
28241 op0.as_operand(),
28242 op1.as_operand(),
28243 op2.as_operand(),
28244 &NOREG,
28245 );
28246 }
28247}
28248
28249impl<'a> Vfnmsub132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28250 fn vfnmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28251 self.emit(
28252 VFNMSUB132PH128RRM_MASKZ,
28253 op0.as_operand(),
28254 op1.as_operand(),
28255 op2.as_operand(),
28256 &NOREG,
28257 );
28258 }
28259}
28260
28261impl<'a> Vfnmsub132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
28262 fn vfnmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
28263 self.emit(
28264 VFNMSUB132PH256RRR_MASKZ,
28265 op0.as_operand(),
28266 op1.as_operand(),
28267 op2.as_operand(),
28268 &NOREG,
28269 );
28270 }
28271}
28272
28273impl<'a> Vfnmsub132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
28274 fn vfnmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
28275 self.emit(
28276 VFNMSUB132PH256RRM_MASKZ,
28277 op0.as_operand(),
28278 op1.as_operand(),
28279 op2.as_operand(),
28280 &NOREG,
28281 );
28282 }
28283}
28284
28285impl<'a> Vfnmsub132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28286 fn vfnmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28287 self.emit(
28288 VFNMSUB132PH512RRR_MASKZ,
28289 op0.as_operand(),
28290 op1.as_operand(),
28291 op2.as_operand(),
28292 &NOREG,
28293 );
28294 }
28295}
28296
28297impl<'a> Vfnmsub132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
28298 fn vfnmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
28299 self.emit(
28300 VFNMSUB132PH512RRM_MASKZ,
28301 op0.as_operand(),
28302 op1.as_operand(),
28303 op2.as_operand(),
28304 &NOREG,
28305 );
28306 }
28307}
28308
28309pub trait Vfnmsub132phMaskzErEmitter<A, B, C> {
28321 fn vfnmsub132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
28322}
28323
28324impl<'a> Vfnmsub132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28325 fn vfnmsub132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28326 self.emit(
28327 VFNMSUB132PH512RRR_MASKZ_ER,
28328 op0.as_operand(),
28329 op1.as_operand(),
28330 op2.as_operand(),
28331 &NOREG,
28332 );
28333 }
28334}
28335
28336pub trait Vfnmsub132shEmitter<A, B, C> {
28349 fn vfnmsub132sh(&mut self, op0: A, op1: B, op2: C);
28350}
28351
28352impl<'a> Vfnmsub132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28353 fn vfnmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28354 self.emit(
28355 VFNMSUB132SHRRR,
28356 op0.as_operand(),
28357 op1.as_operand(),
28358 op2.as_operand(),
28359 &NOREG,
28360 );
28361 }
28362}
28363
28364impl<'a> Vfnmsub132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28365 fn vfnmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28366 self.emit(
28367 VFNMSUB132SHRRM,
28368 op0.as_operand(),
28369 op1.as_operand(),
28370 op2.as_operand(),
28371 &NOREG,
28372 );
28373 }
28374}
28375
28376pub trait Vfnmsub132shErEmitter<A, B, C> {
28388 fn vfnmsub132sh_er(&mut self, op0: A, op1: B, op2: C);
28389}
28390
28391impl<'a> Vfnmsub132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28392 fn vfnmsub132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28393 self.emit(
28394 VFNMSUB132SHRRR_ER,
28395 op0.as_operand(),
28396 op1.as_operand(),
28397 op2.as_operand(),
28398 &NOREG,
28399 );
28400 }
28401}
28402
28403pub trait Vfnmsub132shMaskEmitter<A, B, C> {
28416 fn vfnmsub132sh_mask(&mut self, op0: A, op1: B, op2: C);
28417}
28418
28419impl<'a> Vfnmsub132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28420 fn vfnmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28421 self.emit(
28422 VFNMSUB132SHRRR_MASK,
28423 op0.as_operand(),
28424 op1.as_operand(),
28425 op2.as_operand(),
28426 &NOREG,
28427 );
28428 }
28429}
28430
28431impl<'a> Vfnmsub132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28432 fn vfnmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28433 self.emit(
28434 VFNMSUB132SHRRM_MASK,
28435 op0.as_operand(),
28436 op1.as_operand(),
28437 op2.as_operand(),
28438 &NOREG,
28439 );
28440 }
28441}
28442
28443pub trait Vfnmsub132shMaskErEmitter<A, B, C> {
28455 fn vfnmsub132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
28456}
28457
28458impl<'a> Vfnmsub132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28459 fn vfnmsub132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28460 self.emit(
28461 VFNMSUB132SHRRR_MASK_ER,
28462 op0.as_operand(),
28463 op1.as_operand(),
28464 op2.as_operand(),
28465 &NOREG,
28466 );
28467 }
28468}
28469
28470pub trait Vfnmsub132shMaskzEmitter<A, B, C> {
28483 fn vfnmsub132sh_maskz(&mut self, op0: A, op1: B, op2: C);
28484}
28485
28486impl<'a> Vfnmsub132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28487 fn vfnmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28488 self.emit(
28489 VFNMSUB132SHRRR_MASKZ,
28490 op0.as_operand(),
28491 op1.as_operand(),
28492 op2.as_operand(),
28493 &NOREG,
28494 );
28495 }
28496}
28497
28498impl<'a> Vfnmsub132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28499 fn vfnmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28500 self.emit(
28501 VFNMSUB132SHRRM_MASKZ,
28502 op0.as_operand(),
28503 op1.as_operand(),
28504 op2.as_operand(),
28505 &NOREG,
28506 );
28507 }
28508}
28509
28510pub trait Vfnmsub132shMaskzErEmitter<A, B, C> {
28522 fn vfnmsub132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
28523}
28524
28525impl<'a> Vfnmsub132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28526 fn vfnmsub132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28527 self.emit(
28528 VFNMSUB132SHRRR_MASKZ_ER,
28529 op0.as_operand(),
28530 op1.as_operand(),
28531 op2.as_operand(),
28532 &NOREG,
28533 );
28534 }
28535}
28536
28537pub trait Vfnmsub213phEmitter<A, B, C> {
28554 fn vfnmsub213ph(&mut self, op0: A, op1: B, op2: C);
28555}
28556
28557impl<'a> Vfnmsub213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28558 fn vfnmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28559 self.emit(
28560 VFNMSUB213PH128RRR,
28561 op0.as_operand(),
28562 op1.as_operand(),
28563 op2.as_operand(),
28564 &NOREG,
28565 );
28566 }
28567}
28568
28569impl<'a> Vfnmsub213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28570 fn vfnmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28571 self.emit(
28572 VFNMSUB213PH128RRM,
28573 op0.as_operand(),
28574 op1.as_operand(),
28575 op2.as_operand(),
28576 &NOREG,
28577 );
28578 }
28579}
28580
28581impl<'a> Vfnmsub213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
28582 fn vfnmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
28583 self.emit(
28584 VFNMSUB213PH256RRR,
28585 op0.as_operand(),
28586 op1.as_operand(),
28587 op2.as_operand(),
28588 &NOREG,
28589 );
28590 }
28591}
28592
28593impl<'a> Vfnmsub213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
28594 fn vfnmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
28595 self.emit(
28596 VFNMSUB213PH256RRM,
28597 op0.as_operand(),
28598 op1.as_operand(),
28599 op2.as_operand(),
28600 &NOREG,
28601 );
28602 }
28603}
28604
28605impl<'a> Vfnmsub213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28606 fn vfnmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28607 self.emit(
28608 VFNMSUB213PH512RRR,
28609 op0.as_operand(),
28610 op1.as_operand(),
28611 op2.as_operand(),
28612 &NOREG,
28613 );
28614 }
28615}
28616
28617impl<'a> Vfnmsub213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
28618 fn vfnmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
28619 self.emit(
28620 VFNMSUB213PH512RRM,
28621 op0.as_operand(),
28622 op1.as_operand(),
28623 op2.as_operand(),
28624 &NOREG,
28625 );
28626 }
28627}
28628
28629pub trait Vfnmsub213phErEmitter<A, B, C> {
28641 fn vfnmsub213ph_er(&mut self, op0: A, op1: B, op2: C);
28642}
28643
28644impl<'a> Vfnmsub213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28645 fn vfnmsub213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28646 self.emit(
28647 VFNMSUB213PH512RRR_ER,
28648 op0.as_operand(),
28649 op1.as_operand(),
28650 op2.as_operand(),
28651 &NOREG,
28652 );
28653 }
28654}
28655
28656pub trait Vfnmsub213phMaskEmitter<A, B, C> {
28673 fn vfnmsub213ph_mask(&mut self, op0: A, op1: B, op2: C);
28674}
28675
28676impl<'a> Vfnmsub213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28677 fn vfnmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28678 self.emit(
28679 VFNMSUB213PH128RRR_MASK,
28680 op0.as_operand(),
28681 op1.as_operand(),
28682 op2.as_operand(),
28683 &NOREG,
28684 );
28685 }
28686}
28687
28688impl<'a> Vfnmsub213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28689 fn vfnmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28690 self.emit(
28691 VFNMSUB213PH128RRM_MASK,
28692 op0.as_operand(),
28693 op1.as_operand(),
28694 op2.as_operand(),
28695 &NOREG,
28696 );
28697 }
28698}
28699
28700impl<'a> Vfnmsub213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
28701 fn vfnmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
28702 self.emit(
28703 VFNMSUB213PH256RRR_MASK,
28704 op0.as_operand(),
28705 op1.as_operand(),
28706 op2.as_operand(),
28707 &NOREG,
28708 );
28709 }
28710}
28711
28712impl<'a> Vfnmsub213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
28713 fn vfnmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
28714 self.emit(
28715 VFNMSUB213PH256RRM_MASK,
28716 op0.as_operand(),
28717 op1.as_operand(),
28718 op2.as_operand(),
28719 &NOREG,
28720 );
28721 }
28722}
28723
28724impl<'a> Vfnmsub213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28725 fn vfnmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28726 self.emit(
28727 VFNMSUB213PH512RRR_MASK,
28728 op0.as_operand(),
28729 op1.as_operand(),
28730 op2.as_operand(),
28731 &NOREG,
28732 );
28733 }
28734}
28735
28736impl<'a> Vfnmsub213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
28737 fn vfnmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
28738 self.emit(
28739 VFNMSUB213PH512RRM_MASK,
28740 op0.as_operand(),
28741 op1.as_operand(),
28742 op2.as_operand(),
28743 &NOREG,
28744 );
28745 }
28746}
28747
28748pub trait Vfnmsub213phMaskErEmitter<A, B, C> {
28760 fn vfnmsub213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
28761}
28762
28763impl<'a> Vfnmsub213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28764 fn vfnmsub213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28765 self.emit(
28766 VFNMSUB213PH512RRR_MASK_ER,
28767 op0.as_operand(),
28768 op1.as_operand(),
28769 op2.as_operand(),
28770 &NOREG,
28771 );
28772 }
28773}
28774
28775pub trait Vfnmsub213phMaskzEmitter<A, B, C> {
28792 fn vfnmsub213ph_maskz(&mut self, op0: A, op1: B, op2: C);
28793}
28794
28795impl<'a> Vfnmsub213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28796 fn vfnmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28797 self.emit(
28798 VFNMSUB213PH128RRR_MASKZ,
28799 op0.as_operand(),
28800 op1.as_operand(),
28801 op2.as_operand(),
28802 &NOREG,
28803 );
28804 }
28805}
28806
28807impl<'a> Vfnmsub213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28808 fn vfnmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28809 self.emit(
28810 VFNMSUB213PH128RRM_MASKZ,
28811 op0.as_operand(),
28812 op1.as_operand(),
28813 op2.as_operand(),
28814 &NOREG,
28815 );
28816 }
28817}
28818
28819impl<'a> Vfnmsub213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
28820 fn vfnmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
28821 self.emit(
28822 VFNMSUB213PH256RRR_MASKZ,
28823 op0.as_operand(),
28824 op1.as_operand(),
28825 op2.as_operand(),
28826 &NOREG,
28827 );
28828 }
28829}
28830
28831impl<'a> Vfnmsub213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
28832 fn vfnmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
28833 self.emit(
28834 VFNMSUB213PH256RRM_MASKZ,
28835 op0.as_operand(),
28836 op1.as_operand(),
28837 op2.as_operand(),
28838 &NOREG,
28839 );
28840 }
28841}
28842
28843impl<'a> Vfnmsub213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28844 fn vfnmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28845 self.emit(
28846 VFNMSUB213PH512RRR_MASKZ,
28847 op0.as_operand(),
28848 op1.as_operand(),
28849 op2.as_operand(),
28850 &NOREG,
28851 );
28852 }
28853}
28854
28855impl<'a> Vfnmsub213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
28856 fn vfnmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
28857 self.emit(
28858 VFNMSUB213PH512RRM_MASKZ,
28859 op0.as_operand(),
28860 op1.as_operand(),
28861 op2.as_operand(),
28862 &NOREG,
28863 );
28864 }
28865}
28866
28867pub trait Vfnmsub213phMaskzErEmitter<A, B, C> {
28879 fn vfnmsub213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
28880}
28881
28882impl<'a> Vfnmsub213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
28883 fn vfnmsub213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
28884 self.emit(
28885 VFNMSUB213PH512RRR_MASKZ_ER,
28886 op0.as_operand(),
28887 op1.as_operand(),
28888 op2.as_operand(),
28889 &NOREG,
28890 );
28891 }
28892}
28893
28894pub trait Vfnmsub213shEmitter<A, B, C> {
28907 fn vfnmsub213sh(&mut self, op0: A, op1: B, op2: C);
28908}
28909
28910impl<'a> Vfnmsub213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28911 fn vfnmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28912 self.emit(
28913 VFNMSUB213SHRRR,
28914 op0.as_operand(),
28915 op1.as_operand(),
28916 op2.as_operand(),
28917 &NOREG,
28918 );
28919 }
28920}
28921
28922impl<'a> Vfnmsub213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28923 fn vfnmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28924 self.emit(
28925 VFNMSUB213SHRRM,
28926 op0.as_operand(),
28927 op1.as_operand(),
28928 op2.as_operand(),
28929 &NOREG,
28930 );
28931 }
28932}
28933
28934pub trait Vfnmsub213shErEmitter<A, B, C> {
28946 fn vfnmsub213sh_er(&mut self, op0: A, op1: B, op2: C);
28947}
28948
28949impl<'a> Vfnmsub213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28950 fn vfnmsub213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28951 self.emit(
28952 VFNMSUB213SHRRR_ER,
28953 op0.as_operand(),
28954 op1.as_operand(),
28955 op2.as_operand(),
28956 &NOREG,
28957 );
28958 }
28959}
28960
28961pub trait Vfnmsub213shMaskEmitter<A, B, C> {
28974 fn vfnmsub213sh_mask(&mut self, op0: A, op1: B, op2: C);
28975}
28976
28977impl<'a> Vfnmsub213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28978 fn vfnmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28979 self.emit(
28980 VFNMSUB213SHRRR_MASK,
28981 op0.as_operand(),
28982 op1.as_operand(),
28983 op2.as_operand(),
28984 &NOREG,
28985 );
28986 }
28987}
28988
28989impl<'a> Vfnmsub213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28990 fn vfnmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28991 self.emit(
28992 VFNMSUB213SHRRM_MASK,
28993 op0.as_operand(),
28994 op1.as_operand(),
28995 op2.as_operand(),
28996 &NOREG,
28997 );
28998 }
28999}
29000
29001pub trait Vfnmsub213shMaskErEmitter<A, B, C> {
29013 fn vfnmsub213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
29014}
29015
29016impl<'a> Vfnmsub213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29017 fn vfnmsub213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29018 self.emit(
29019 VFNMSUB213SHRRR_MASK_ER,
29020 op0.as_operand(),
29021 op1.as_operand(),
29022 op2.as_operand(),
29023 &NOREG,
29024 );
29025 }
29026}
29027
29028pub trait Vfnmsub213shMaskzEmitter<A, B, C> {
29041 fn vfnmsub213sh_maskz(&mut self, op0: A, op1: B, op2: C);
29042}
29043
29044impl<'a> Vfnmsub213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29045 fn vfnmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29046 self.emit(
29047 VFNMSUB213SHRRR_MASKZ,
29048 op0.as_operand(),
29049 op1.as_operand(),
29050 op2.as_operand(),
29051 &NOREG,
29052 );
29053 }
29054}
29055
29056impl<'a> Vfnmsub213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29057 fn vfnmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29058 self.emit(
29059 VFNMSUB213SHRRM_MASKZ,
29060 op0.as_operand(),
29061 op1.as_operand(),
29062 op2.as_operand(),
29063 &NOREG,
29064 );
29065 }
29066}
29067
29068pub trait Vfnmsub213shMaskzErEmitter<A, B, C> {
29080 fn vfnmsub213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
29081}
29082
29083impl<'a> Vfnmsub213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29084 fn vfnmsub213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29085 self.emit(
29086 VFNMSUB213SHRRR_MASKZ_ER,
29087 op0.as_operand(),
29088 op1.as_operand(),
29089 op2.as_operand(),
29090 &NOREG,
29091 );
29092 }
29093}
29094
29095pub trait Vfnmsub231phEmitter<A, B, C> {
29112 fn vfnmsub231ph(&mut self, op0: A, op1: B, op2: C);
29113}
29114
29115impl<'a> Vfnmsub231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29116 fn vfnmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29117 self.emit(
29118 VFNMSUB231PH128RRR,
29119 op0.as_operand(),
29120 op1.as_operand(),
29121 op2.as_operand(),
29122 &NOREG,
29123 );
29124 }
29125}
29126
29127impl<'a> Vfnmsub231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29128 fn vfnmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29129 self.emit(
29130 VFNMSUB231PH128RRM,
29131 op0.as_operand(),
29132 op1.as_operand(),
29133 op2.as_operand(),
29134 &NOREG,
29135 );
29136 }
29137}
29138
29139impl<'a> Vfnmsub231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
29140 fn vfnmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
29141 self.emit(
29142 VFNMSUB231PH256RRR,
29143 op0.as_operand(),
29144 op1.as_operand(),
29145 op2.as_operand(),
29146 &NOREG,
29147 );
29148 }
29149}
29150
29151impl<'a> Vfnmsub231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
29152 fn vfnmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
29153 self.emit(
29154 VFNMSUB231PH256RRM,
29155 op0.as_operand(),
29156 op1.as_operand(),
29157 op2.as_operand(),
29158 &NOREG,
29159 );
29160 }
29161}
29162
29163impl<'a> Vfnmsub231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
29164 fn vfnmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
29165 self.emit(
29166 VFNMSUB231PH512RRR,
29167 op0.as_operand(),
29168 op1.as_operand(),
29169 op2.as_operand(),
29170 &NOREG,
29171 );
29172 }
29173}
29174
29175impl<'a> Vfnmsub231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
29176 fn vfnmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
29177 self.emit(
29178 VFNMSUB231PH512RRM,
29179 op0.as_operand(),
29180 op1.as_operand(),
29181 op2.as_operand(),
29182 &NOREG,
29183 );
29184 }
29185}
29186
29187pub trait Vfnmsub231phErEmitter<A, B, C> {
29199 fn vfnmsub231ph_er(&mut self, op0: A, op1: B, op2: C);
29200}
29201
29202impl<'a> Vfnmsub231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
29203 fn vfnmsub231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
29204 self.emit(
29205 VFNMSUB231PH512RRR_ER,
29206 op0.as_operand(),
29207 op1.as_operand(),
29208 op2.as_operand(),
29209 &NOREG,
29210 );
29211 }
29212}
29213
29214pub trait Vfnmsub231phMaskEmitter<A, B, C> {
29231 fn vfnmsub231ph_mask(&mut self, op0: A, op1: B, op2: C);
29232}
29233
29234impl<'a> Vfnmsub231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29235 fn vfnmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29236 self.emit(
29237 VFNMSUB231PH128RRR_MASK,
29238 op0.as_operand(),
29239 op1.as_operand(),
29240 op2.as_operand(),
29241 &NOREG,
29242 );
29243 }
29244}
29245
29246impl<'a> Vfnmsub231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29247 fn vfnmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29248 self.emit(
29249 VFNMSUB231PH128RRM_MASK,
29250 op0.as_operand(),
29251 op1.as_operand(),
29252 op2.as_operand(),
29253 &NOREG,
29254 );
29255 }
29256}
29257
29258impl<'a> Vfnmsub231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
29259 fn vfnmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
29260 self.emit(
29261 VFNMSUB231PH256RRR_MASK,
29262 op0.as_operand(),
29263 op1.as_operand(),
29264 op2.as_operand(),
29265 &NOREG,
29266 );
29267 }
29268}
29269
29270impl<'a> Vfnmsub231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
29271 fn vfnmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
29272 self.emit(
29273 VFNMSUB231PH256RRM_MASK,
29274 op0.as_operand(),
29275 op1.as_operand(),
29276 op2.as_operand(),
29277 &NOREG,
29278 );
29279 }
29280}
29281
29282impl<'a> Vfnmsub231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
29283 fn vfnmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
29284 self.emit(
29285 VFNMSUB231PH512RRR_MASK,
29286 op0.as_operand(),
29287 op1.as_operand(),
29288 op2.as_operand(),
29289 &NOREG,
29290 );
29291 }
29292}
29293
29294impl<'a> Vfnmsub231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
29295 fn vfnmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
29296 self.emit(
29297 VFNMSUB231PH512RRM_MASK,
29298 op0.as_operand(),
29299 op1.as_operand(),
29300 op2.as_operand(),
29301 &NOREG,
29302 );
29303 }
29304}
29305
29306pub trait Vfnmsub231phMaskErEmitter<A, B, C> {
29318 fn vfnmsub231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
29319}
29320
29321impl<'a> Vfnmsub231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
29322 fn vfnmsub231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
29323 self.emit(
29324 VFNMSUB231PH512RRR_MASK_ER,
29325 op0.as_operand(),
29326 op1.as_operand(),
29327 op2.as_operand(),
29328 &NOREG,
29329 );
29330 }
29331}
29332
29333pub trait Vfnmsub231phMaskzEmitter<A, B, C> {
29350 fn vfnmsub231ph_maskz(&mut self, op0: A, op1: B, op2: C);
29351}
29352
29353impl<'a> Vfnmsub231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29354 fn vfnmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29355 self.emit(
29356 VFNMSUB231PH128RRR_MASKZ,
29357 op0.as_operand(),
29358 op1.as_operand(),
29359 op2.as_operand(),
29360 &NOREG,
29361 );
29362 }
29363}
29364
29365impl<'a> Vfnmsub231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29366 fn vfnmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29367 self.emit(
29368 VFNMSUB231PH128RRM_MASKZ,
29369 op0.as_operand(),
29370 op1.as_operand(),
29371 op2.as_operand(),
29372 &NOREG,
29373 );
29374 }
29375}
29376
29377impl<'a> Vfnmsub231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
29378 fn vfnmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
29379 self.emit(
29380 VFNMSUB231PH256RRR_MASKZ,
29381 op0.as_operand(),
29382 op1.as_operand(),
29383 op2.as_operand(),
29384 &NOREG,
29385 );
29386 }
29387}
29388
29389impl<'a> Vfnmsub231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
29390 fn vfnmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
29391 self.emit(
29392 VFNMSUB231PH256RRM_MASKZ,
29393 op0.as_operand(),
29394 op1.as_operand(),
29395 op2.as_operand(),
29396 &NOREG,
29397 );
29398 }
29399}
29400
29401impl<'a> Vfnmsub231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
29402 fn vfnmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
29403 self.emit(
29404 VFNMSUB231PH512RRR_MASKZ,
29405 op0.as_operand(),
29406 op1.as_operand(),
29407 op2.as_operand(),
29408 &NOREG,
29409 );
29410 }
29411}
29412
29413impl<'a> Vfnmsub231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
29414 fn vfnmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
29415 self.emit(
29416 VFNMSUB231PH512RRM_MASKZ,
29417 op0.as_operand(),
29418 op1.as_operand(),
29419 op2.as_operand(),
29420 &NOREG,
29421 );
29422 }
29423}
29424
29425pub trait Vfnmsub231phMaskzErEmitter<A, B, C> {
29437 fn vfnmsub231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
29438}
29439
29440impl<'a> Vfnmsub231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
29441 fn vfnmsub231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
29442 self.emit(
29443 VFNMSUB231PH512RRR_MASKZ_ER,
29444 op0.as_operand(),
29445 op1.as_operand(),
29446 op2.as_operand(),
29447 &NOREG,
29448 );
29449 }
29450}
29451
29452pub trait Vfnmsub231shEmitter<A, B, C> {
29465 fn vfnmsub231sh(&mut self, op0: A, op1: B, op2: C);
29466}
29467
29468impl<'a> Vfnmsub231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29469 fn vfnmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29470 self.emit(
29471 VFNMSUB231SHRRR,
29472 op0.as_operand(),
29473 op1.as_operand(),
29474 op2.as_operand(),
29475 &NOREG,
29476 );
29477 }
29478}
29479
29480impl<'a> Vfnmsub231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29481 fn vfnmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29482 self.emit(
29483 VFNMSUB231SHRRM,
29484 op0.as_operand(),
29485 op1.as_operand(),
29486 op2.as_operand(),
29487 &NOREG,
29488 );
29489 }
29490}
29491
29492pub trait Vfnmsub231shErEmitter<A, B, C> {
29504 fn vfnmsub231sh_er(&mut self, op0: A, op1: B, op2: C);
29505}
29506
29507impl<'a> Vfnmsub231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29508 fn vfnmsub231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29509 self.emit(
29510 VFNMSUB231SHRRR_ER,
29511 op0.as_operand(),
29512 op1.as_operand(),
29513 op2.as_operand(),
29514 &NOREG,
29515 );
29516 }
29517}
29518
29519pub trait Vfnmsub231shMaskEmitter<A, B, C> {
29532 fn vfnmsub231sh_mask(&mut self, op0: A, op1: B, op2: C);
29533}
29534
29535impl<'a> Vfnmsub231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29536 fn vfnmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29537 self.emit(
29538 VFNMSUB231SHRRR_MASK,
29539 op0.as_operand(),
29540 op1.as_operand(),
29541 op2.as_operand(),
29542 &NOREG,
29543 );
29544 }
29545}
29546
29547impl<'a> Vfnmsub231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29548 fn vfnmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29549 self.emit(
29550 VFNMSUB231SHRRM_MASK,
29551 op0.as_operand(),
29552 op1.as_operand(),
29553 op2.as_operand(),
29554 &NOREG,
29555 );
29556 }
29557}
29558
29559pub trait Vfnmsub231shMaskErEmitter<A, B, C> {
29571 fn vfnmsub231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
29572}
29573
29574impl<'a> Vfnmsub231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29575 fn vfnmsub231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29576 self.emit(
29577 VFNMSUB231SHRRR_MASK_ER,
29578 op0.as_operand(),
29579 op1.as_operand(),
29580 op2.as_operand(),
29581 &NOREG,
29582 );
29583 }
29584}
29585
29586pub trait Vfnmsub231shMaskzEmitter<A, B, C> {
29599 fn vfnmsub231sh_maskz(&mut self, op0: A, op1: B, op2: C);
29600}
29601
29602impl<'a> Vfnmsub231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29603 fn vfnmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29604 self.emit(
29605 VFNMSUB231SHRRR_MASKZ,
29606 op0.as_operand(),
29607 op1.as_operand(),
29608 op2.as_operand(),
29609 &NOREG,
29610 );
29611 }
29612}
29613
29614impl<'a> Vfnmsub231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
29615 fn vfnmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
29616 self.emit(
29617 VFNMSUB231SHRRM_MASKZ,
29618 op0.as_operand(),
29619 op1.as_operand(),
29620 op2.as_operand(),
29621 &NOREG,
29622 );
29623 }
29624}
29625
29626pub trait Vfnmsub231shMaskzErEmitter<A, B, C> {
29638 fn vfnmsub231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
29639}
29640
29641impl<'a> Vfnmsub231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
29642 fn vfnmsub231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
29643 self.emit(
29644 VFNMSUB231SHRRR_MASKZ_ER,
29645 op0.as_operand(),
29646 op1.as_operand(),
29647 op2.as_operand(),
29648 &NOREG,
29649 );
29650 }
29651}
29652
29653pub trait VfpclassphEmitter<A, B, C> {
29668 fn vfpclassph(&mut self, op0: A, op1: B, op2: C);
29669}
29670
29671impl<'a> VfpclassphEmitter<KReg, Xmm, Imm> for Assembler<'a> {
29672 fn vfpclassph(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
29673 self.emit(
29674 VFPCLASSPH128KRI,
29675 op0.as_operand(),
29676 op1.as_operand(),
29677 op2.as_operand(),
29678 &NOREG,
29679 );
29680 }
29681}
29682
29683impl<'a> VfpclassphEmitter<KReg, Mem, Imm> for Assembler<'a> {
29684 fn vfpclassph(&mut self, op0: KReg, op1: Mem, op2: Imm) {
29685 self.emit(
29686 VFPCLASSPH128KMI,
29687 op0.as_operand(),
29688 op1.as_operand(),
29689 op2.as_operand(),
29690 &NOREG,
29691 );
29692 }
29693}
29694
29695impl<'a> VfpclassphEmitter<KReg, Ymm, Imm> for Assembler<'a> {
29696 fn vfpclassph(&mut self, op0: KReg, op1: Ymm, op2: Imm) {
29697 self.emit(
29698 VFPCLASSPH256KRI,
29699 op0.as_operand(),
29700 op1.as_operand(),
29701 op2.as_operand(),
29702 &NOREG,
29703 );
29704 }
29705}
29706
29707impl<'a> VfpclassphEmitter<KReg, Zmm, Imm> for Assembler<'a> {
29708 fn vfpclassph(&mut self, op0: KReg, op1: Zmm, op2: Imm) {
29709 self.emit(
29710 VFPCLASSPH512KRI,
29711 op0.as_operand(),
29712 op1.as_operand(),
29713 op2.as_operand(),
29714 &NOREG,
29715 );
29716 }
29717}
29718
29719pub trait VfpclassphMaskEmitter<A, B, C> {
29734 fn vfpclassph_mask(&mut self, op0: A, op1: B, op2: C);
29735}
29736
29737impl<'a> VfpclassphMaskEmitter<KReg, Xmm, Imm> for Assembler<'a> {
29738 fn vfpclassph_mask(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
29739 self.emit(
29740 VFPCLASSPH128KRI_MASK,
29741 op0.as_operand(),
29742 op1.as_operand(),
29743 op2.as_operand(),
29744 &NOREG,
29745 );
29746 }
29747}
29748
29749impl<'a> VfpclassphMaskEmitter<KReg, Mem, Imm> for Assembler<'a> {
29750 fn vfpclassph_mask(&mut self, op0: KReg, op1: Mem, op2: Imm) {
29751 self.emit(
29752 VFPCLASSPH128KMI_MASK,
29753 op0.as_operand(),
29754 op1.as_operand(),
29755 op2.as_operand(),
29756 &NOREG,
29757 );
29758 }
29759}
29760
29761impl<'a> VfpclassphMaskEmitter<KReg, Ymm, Imm> for Assembler<'a> {
29762 fn vfpclassph_mask(&mut self, op0: KReg, op1: Ymm, op2: Imm) {
29763 self.emit(
29764 VFPCLASSPH256KRI_MASK,
29765 op0.as_operand(),
29766 op1.as_operand(),
29767 op2.as_operand(),
29768 &NOREG,
29769 );
29770 }
29771}
29772
29773impl<'a> VfpclassphMaskEmitter<KReg, Zmm, Imm> for Assembler<'a> {
29774 fn vfpclassph_mask(&mut self, op0: KReg, op1: Zmm, op2: Imm) {
29775 self.emit(
29776 VFPCLASSPH512KRI_MASK,
29777 op0.as_operand(),
29778 op1.as_operand(),
29779 op2.as_operand(),
29780 &NOREG,
29781 );
29782 }
29783}
29784
29785pub trait VfpclassshEmitter<A, B, C> {
29798 fn vfpclasssh(&mut self, op0: A, op1: B, op2: C);
29799}
29800
29801impl<'a> VfpclassshEmitter<KReg, Xmm, Imm> for Assembler<'a> {
29802 fn vfpclasssh(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
29803 self.emit(
29804 VFPCLASSSHKRI,
29805 op0.as_operand(),
29806 op1.as_operand(),
29807 op2.as_operand(),
29808 &NOREG,
29809 );
29810 }
29811}
29812
29813impl<'a> VfpclassshEmitter<KReg, Mem, Imm> for Assembler<'a> {
29814 fn vfpclasssh(&mut self, op0: KReg, op1: Mem, op2: Imm) {
29815 self.emit(
29816 VFPCLASSSHKMI,
29817 op0.as_operand(),
29818 op1.as_operand(),
29819 op2.as_operand(),
29820 &NOREG,
29821 );
29822 }
29823}
29824
29825pub trait VfpclassshMaskEmitter<A, B, C> {
29838 fn vfpclasssh_mask(&mut self, op0: A, op1: B, op2: C);
29839}
29840
29841impl<'a> VfpclassshMaskEmitter<KReg, Xmm, Imm> for Assembler<'a> {
29842 fn vfpclasssh_mask(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
29843 self.emit(
29844 VFPCLASSSHKRI_MASK,
29845 op0.as_operand(),
29846 op1.as_operand(),
29847 op2.as_operand(),
29848 &NOREG,
29849 );
29850 }
29851}
29852
29853impl<'a> VfpclassshMaskEmitter<KReg, Mem, Imm> for Assembler<'a> {
29854 fn vfpclasssh_mask(&mut self, op0: KReg, op1: Mem, op2: Imm) {
29855 self.emit(
29856 VFPCLASSSHKMI_MASK,
29857 op0.as_operand(),
29858 op1.as_operand(),
29859 op2.as_operand(),
29860 &NOREG,
29861 );
29862 }
29863}
29864
29865pub trait VgetexpphEmitter<A, B> {
29882 fn vgetexpph(&mut self, op0: A, op1: B);
29883}
29884
29885impl<'a> VgetexpphEmitter<Xmm, Xmm> for Assembler<'a> {
29886 fn vgetexpph(&mut self, op0: Xmm, op1: Xmm) {
29887 self.emit(
29888 VGETEXPPH128RR,
29889 op0.as_operand(),
29890 op1.as_operand(),
29891 &NOREG,
29892 &NOREG,
29893 );
29894 }
29895}
29896
29897impl<'a> VgetexpphEmitter<Xmm, Mem> for Assembler<'a> {
29898 fn vgetexpph(&mut self, op0: Xmm, op1: Mem) {
29899 self.emit(
29900 VGETEXPPH128RM,
29901 op0.as_operand(),
29902 op1.as_operand(),
29903 &NOREG,
29904 &NOREG,
29905 );
29906 }
29907}
29908
29909impl<'a> VgetexpphEmitter<Ymm, Ymm> for Assembler<'a> {
29910 fn vgetexpph(&mut self, op0: Ymm, op1: Ymm) {
29911 self.emit(
29912 VGETEXPPH256RR,
29913 op0.as_operand(),
29914 op1.as_operand(),
29915 &NOREG,
29916 &NOREG,
29917 );
29918 }
29919}
29920
29921impl<'a> VgetexpphEmitter<Ymm, Mem> for Assembler<'a> {
29922 fn vgetexpph(&mut self, op0: Ymm, op1: Mem) {
29923 self.emit(
29924 VGETEXPPH256RM,
29925 op0.as_operand(),
29926 op1.as_operand(),
29927 &NOREG,
29928 &NOREG,
29929 );
29930 }
29931}
29932
29933impl<'a> VgetexpphEmitter<Zmm, Zmm> for Assembler<'a> {
29934 fn vgetexpph(&mut self, op0: Zmm, op1: Zmm) {
29935 self.emit(
29936 VGETEXPPH512RR,
29937 op0.as_operand(),
29938 op1.as_operand(),
29939 &NOREG,
29940 &NOREG,
29941 );
29942 }
29943}
29944
29945impl<'a> VgetexpphEmitter<Zmm, Mem> for Assembler<'a> {
29946 fn vgetexpph(&mut self, op0: Zmm, op1: Mem) {
29947 self.emit(
29948 VGETEXPPH512RM,
29949 op0.as_operand(),
29950 op1.as_operand(),
29951 &NOREG,
29952 &NOREG,
29953 );
29954 }
29955}
29956
29957pub trait VgetexpphMaskEmitter<A, B> {
29974 fn vgetexpph_mask(&mut self, op0: A, op1: B);
29975}
29976
29977impl<'a> VgetexpphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
29978 fn vgetexpph_mask(&mut self, op0: Xmm, op1: Xmm) {
29979 self.emit(
29980 VGETEXPPH128RR_MASK,
29981 op0.as_operand(),
29982 op1.as_operand(),
29983 &NOREG,
29984 &NOREG,
29985 );
29986 }
29987}
29988
29989impl<'a> VgetexpphMaskEmitter<Xmm, Mem> for Assembler<'a> {
29990 fn vgetexpph_mask(&mut self, op0: Xmm, op1: Mem) {
29991 self.emit(
29992 VGETEXPPH128RM_MASK,
29993 op0.as_operand(),
29994 op1.as_operand(),
29995 &NOREG,
29996 &NOREG,
29997 );
29998 }
29999}
30000
30001impl<'a> VgetexpphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
30002 fn vgetexpph_mask(&mut self, op0: Ymm, op1: Ymm) {
30003 self.emit(
30004 VGETEXPPH256RR_MASK,
30005 op0.as_operand(),
30006 op1.as_operand(),
30007 &NOREG,
30008 &NOREG,
30009 );
30010 }
30011}
30012
30013impl<'a> VgetexpphMaskEmitter<Ymm, Mem> for Assembler<'a> {
30014 fn vgetexpph_mask(&mut self, op0: Ymm, op1: Mem) {
30015 self.emit(
30016 VGETEXPPH256RM_MASK,
30017 op0.as_operand(),
30018 op1.as_operand(),
30019 &NOREG,
30020 &NOREG,
30021 );
30022 }
30023}
30024
30025impl<'a> VgetexpphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
30026 fn vgetexpph_mask(&mut self, op0: Zmm, op1: Zmm) {
30027 self.emit(
30028 VGETEXPPH512RR_MASK,
30029 op0.as_operand(),
30030 op1.as_operand(),
30031 &NOREG,
30032 &NOREG,
30033 );
30034 }
30035}
30036
30037impl<'a> VgetexpphMaskEmitter<Zmm, Mem> for Assembler<'a> {
30038 fn vgetexpph_mask(&mut self, op0: Zmm, op1: Mem) {
30039 self.emit(
30040 VGETEXPPH512RM_MASK,
30041 op0.as_operand(),
30042 op1.as_operand(),
30043 &NOREG,
30044 &NOREG,
30045 );
30046 }
30047}
30048
30049pub trait VgetexpphMaskSaeEmitter<A, B> {
30061 fn vgetexpph_mask_sae(&mut self, op0: A, op1: B);
30062}
30063
30064impl<'a> VgetexpphMaskSaeEmitter<Zmm, Zmm> for Assembler<'a> {
30065 fn vgetexpph_mask_sae(&mut self, op0: Zmm, op1: Zmm) {
30066 self.emit(
30067 VGETEXPPH512RR_MASK_SAE,
30068 op0.as_operand(),
30069 op1.as_operand(),
30070 &NOREG,
30071 &NOREG,
30072 );
30073 }
30074}
30075
30076pub trait VgetexpphMaskzEmitter<A, B> {
30093 fn vgetexpph_maskz(&mut self, op0: A, op1: B);
30094}
30095
30096impl<'a> VgetexpphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
30097 fn vgetexpph_maskz(&mut self, op0: Xmm, op1: Xmm) {
30098 self.emit(
30099 VGETEXPPH128RR_MASKZ,
30100 op0.as_operand(),
30101 op1.as_operand(),
30102 &NOREG,
30103 &NOREG,
30104 );
30105 }
30106}
30107
30108impl<'a> VgetexpphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
30109 fn vgetexpph_maskz(&mut self, op0: Xmm, op1: Mem) {
30110 self.emit(
30111 VGETEXPPH128RM_MASKZ,
30112 op0.as_operand(),
30113 op1.as_operand(),
30114 &NOREG,
30115 &NOREG,
30116 );
30117 }
30118}
30119
30120impl<'a> VgetexpphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
30121 fn vgetexpph_maskz(&mut self, op0: Ymm, op1: Ymm) {
30122 self.emit(
30123 VGETEXPPH256RR_MASKZ,
30124 op0.as_operand(),
30125 op1.as_operand(),
30126 &NOREG,
30127 &NOREG,
30128 );
30129 }
30130}
30131
30132impl<'a> VgetexpphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
30133 fn vgetexpph_maskz(&mut self, op0: Ymm, op1: Mem) {
30134 self.emit(
30135 VGETEXPPH256RM_MASKZ,
30136 op0.as_operand(),
30137 op1.as_operand(),
30138 &NOREG,
30139 &NOREG,
30140 );
30141 }
30142}
30143
30144impl<'a> VgetexpphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
30145 fn vgetexpph_maskz(&mut self, op0: Zmm, op1: Zmm) {
30146 self.emit(
30147 VGETEXPPH512RR_MASKZ,
30148 op0.as_operand(),
30149 op1.as_operand(),
30150 &NOREG,
30151 &NOREG,
30152 );
30153 }
30154}
30155
30156impl<'a> VgetexpphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
30157 fn vgetexpph_maskz(&mut self, op0: Zmm, op1: Mem) {
30158 self.emit(
30159 VGETEXPPH512RM_MASKZ,
30160 op0.as_operand(),
30161 op1.as_operand(),
30162 &NOREG,
30163 &NOREG,
30164 );
30165 }
30166}
30167
30168pub trait VgetexpphMaskzSaeEmitter<A, B> {
30180 fn vgetexpph_maskz_sae(&mut self, op0: A, op1: B);
30181}
30182
30183impl<'a> VgetexpphMaskzSaeEmitter<Zmm, Zmm> for Assembler<'a> {
30184 fn vgetexpph_maskz_sae(&mut self, op0: Zmm, op1: Zmm) {
30185 self.emit(
30186 VGETEXPPH512RR_MASKZ_SAE,
30187 op0.as_operand(),
30188 op1.as_operand(),
30189 &NOREG,
30190 &NOREG,
30191 );
30192 }
30193}
30194
30195pub trait VgetexpphSaeEmitter<A, B> {
30207 fn vgetexpph_sae(&mut self, op0: A, op1: B);
30208}
30209
30210impl<'a> VgetexpphSaeEmitter<Zmm, Zmm> for Assembler<'a> {
30211 fn vgetexpph_sae(&mut self, op0: Zmm, op1: Zmm) {
30212 self.emit(
30213 VGETEXPPH512RR_SAE,
30214 op0.as_operand(),
30215 op1.as_operand(),
30216 &NOREG,
30217 &NOREG,
30218 );
30219 }
30220}
30221
30222pub trait VgetexpshEmitter<A, B, C> {
30235 fn vgetexpsh(&mut self, op0: A, op1: B, op2: C);
30236}
30237
30238impl<'a> VgetexpshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
30239 fn vgetexpsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
30240 self.emit(
30241 VGETEXPSHRRR,
30242 op0.as_operand(),
30243 op1.as_operand(),
30244 op2.as_operand(),
30245 &NOREG,
30246 );
30247 }
30248}
30249
30250impl<'a> VgetexpshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
30251 fn vgetexpsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
30252 self.emit(
30253 VGETEXPSHRRM,
30254 op0.as_operand(),
30255 op1.as_operand(),
30256 op2.as_operand(),
30257 &NOREG,
30258 );
30259 }
30260}
30261
30262pub trait VgetexpshMaskEmitter<A, B, C> {
30275 fn vgetexpsh_mask(&mut self, op0: A, op1: B, op2: C);
30276}
30277
30278impl<'a> VgetexpshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
30279 fn vgetexpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
30280 self.emit(
30281 VGETEXPSHRRR_MASK,
30282 op0.as_operand(),
30283 op1.as_operand(),
30284 op2.as_operand(),
30285 &NOREG,
30286 );
30287 }
30288}
30289
30290impl<'a> VgetexpshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
30291 fn vgetexpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
30292 self.emit(
30293 VGETEXPSHRRM_MASK,
30294 op0.as_operand(),
30295 op1.as_operand(),
30296 op2.as_operand(),
30297 &NOREG,
30298 );
30299 }
30300}
30301
30302pub trait VgetexpshMaskSaeEmitter<A, B, C> {
30314 fn vgetexpsh_mask_sae(&mut self, op0: A, op1: B, op2: C);
30315}
30316
30317impl<'a> VgetexpshMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
30318 fn vgetexpsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
30319 self.emit(
30320 VGETEXPSHRRR_MASK_SAE,
30321 op0.as_operand(),
30322 op1.as_operand(),
30323 op2.as_operand(),
30324 &NOREG,
30325 );
30326 }
30327}
30328
30329pub trait VgetexpshMaskzEmitter<A, B, C> {
30342 fn vgetexpsh_maskz(&mut self, op0: A, op1: B, op2: C);
30343}
30344
30345impl<'a> VgetexpshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
30346 fn vgetexpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
30347 self.emit(
30348 VGETEXPSHRRR_MASKZ,
30349 op0.as_operand(),
30350 op1.as_operand(),
30351 op2.as_operand(),
30352 &NOREG,
30353 );
30354 }
30355}
30356
30357impl<'a> VgetexpshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
30358 fn vgetexpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
30359 self.emit(
30360 VGETEXPSHRRM_MASKZ,
30361 op0.as_operand(),
30362 op1.as_operand(),
30363 op2.as_operand(),
30364 &NOREG,
30365 );
30366 }
30367}
30368
30369pub trait VgetexpshMaskzSaeEmitter<A, B, C> {
30381 fn vgetexpsh_maskz_sae(&mut self, op0: A, op1: B, op2: C);
30382}
30383
30384impl<'a> VgetexpshMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
30385 fn vgetexpsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
30386 self.emit(
30387 VGETEXPSHRRR_MASKZ_SAE,
30388 op0.as_operand(),
30389 op1.as_operand(),
30390 op2.as_operand(),
30391 &NOREG,
30392 );
30393 }
30394}
30395
30396pub trait VgetexpshSaeEmitter<A, B, C> {
30408 fn vgetexpsh_sae(&mut self, op0: A, op1: B, op2: C);
30409}
30410
30411impl<'a> VgetexpshSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
30412 fn vgetexpsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
30413 self.emit(
30414 VGETEXPSHRRR_SAE,
30415 op0.as_operand(),
30416 op1.as_operand(),
30417 op2.as_operand(),
30418 &NOREG,
30419 );
30420 }
30421}
30422
30423pub trait VgetmantphEmitter<A, B, C> {
30440 fn vgetmantph(&mut self, op0: A, op1: B, op2: C);
30441}
30442
30443impl<'a> VgetmantphEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
30444 fn vgetmantph(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
30445 self.emit(
30446 VGETMANTPH128RRI,
30447 op0.as_operand(),
30448 op1.as_operand(),
30449 op2.as_operand(),
30450 &NOREG,
30451 );
30452 }
30453}
30454
30455impl<'a> VgetmantphEmitter<Xmm, Mem, Imm> for Assembler<'a> {
30456 fn vgetmantph(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
30457 self.emit(
30458 VGETMANTPH128RMI,
30459 op0.as_operand(),
30460 op1.as_operand(),
30461 op2.as_operand(),
30462 &NOREG,
30463 );
30464 }
30465}
30466
30467impl<'a> VgetmantphEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
30468 fn vgetmantph(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
30469 self.emit(
30470 VGETMANTPH256RRI,
30471 op0.as_operand(),
30472 op1.as_operand(),
30473 op2.as_operand(),
30474 &NOREG,
30475 );
30476 }
30477}
30478
30479impl<'a> VgetmantphEmitter<Ymm, Mem, Imm> for Assembler<'a> {
30480 fn vgetmantph(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
30481 self.emit(
30482 VGETMANTPH256RMI,
30483 op0.as_operand(),
30484 op1.as_operand(),
30485 op2.as_operand(),
30486 &NOREG,
30487 );
30488 }
30489}
30490
30491impl<'a> VgetmantphEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
30492 fn vgetmantph(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
30493 self.emit(
30494 VGETMANTPH512RRI,
30495 op0.as_operand(),
30496 op1.as_operand(),
30497 op2.as_operand(),
30498 &NOREG,
30499 );
30500 }
30501}
30502
30503impl<'a> VgetmantphEmitter<Zmm, Mem, Imm> for Assembler<'a> {
30504 fn vgetmantph(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
30505 self.emit(
30506 VGETMANTPH512RMI,
30507 op0.as_operand(),
30508 op1.as_operand(),
30509 op2.as_operand(),
30510 &NOREG,
30511 );
30512 }
30513}
30514
30515pub trait VgetmantphMaskEmitter<A, B, C> {
30532 fn vgetmantph_mask(&mut self, op0: A, op1: B, op2: C);
30533}
30534
30535impl<'a> VgetmantphMaskEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
30536 fn vgetmantph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
30537 self.emit(
30538 VGETMANTPH128RRI_MASK,
30539 op0.as_operand(),
30540 op1.as_operand(),
30541 op2.as_operand(),
30542 &NOREG,
30543 );
30544 }
30545}
30546
30547impl<'a> VgetmantphMaskEmitter<Xmm, Mem, Imm> for Assembler<'a> {
30548 fn vgetmantph_mask(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
30549 self.emit(
30550 VGETMANTPH128RMI_MASK,
30551 op0.as_operand(),
30552 op1.as_operand(),
30553 op2.as_operand(),
30554 &NOREG,
30555 );
30556 }
30557}
30558
30559impl<'a> VgetmantphMaskEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
30560 fn vgetmantph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
30561 self.emit(
30562 VGETMANTPH256RRI_MASK,
30563 op0.as_operand(),
30564 op1.as_operand(),
30565 op2.as_operand(),
30566 &NOREG,
30567 );
30568 }
30569}
30570
30571impl<'a> VgetmantphMaskEmitter<Ymm, Mem, Imm> for Assembler<'a> {
30572 fn vgetmantph_mask(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
30573 self.emit(
30574 VGETMANTPH256RMI_MASK,
30575 op0.as_operand(),
30576 op1.as_operand(),
30577 op2.as_operand(),
30578 &NOREG,
30579 );
30580 }
30581}
30582
30583impl<'a> VgetmantphMaskEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
30584 fn vgetmantph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
30585 self.emit(
30586 VGETMANTPH512RRI_MASK,
30587 op0.as_operand(),
30588 op1.as_operand(),
30589 op2.as_operand(),
30590 &NOREG,
30591 );
30592 }
30593}
30594
30595impl<'a> VgetmantphMaskEmitter<Zmm, Mem, Imm> for Assembler<'a> {
30596 fn vgetmantph_mask(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
30597 self.emit(
30598 VGETMANTPH512RMI_MASK,
30599 op0.as_operand(),
30600 op1.as_operand(),
30601 op2.as_operand(),
30602 &NOREG,
30603 );
30604 }
30605}
30606
30607pub trait VgetmantphMaskSaeEmitter<A, B, C> {
30619 fn vgetmantph_mask_sae(&mut self, op0: A, op1: B, op2: C);
30620}
30621
30622impl<'a> VgetmantphMaskSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
30623 fn vgetmantph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
30624 self.emit(
30625 VGETMANTPH512RRI_MASK_SAE,
30626 op0.as_operand(),
30627 op1.as_operand(),
30628 op2.as_operand(),
30629 &NOREG,
30630 );
30631 }
30632}
30633
30634pub trait VgetmantphMaskzEmitter<A, B, C> {
30651 fn vgetmantph_maskz(&mut self, op0: A, op1: B, op2: C);
30652}
30653
30654impl<'a> VgetmantphMaskzEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
30655 fn vgetmantph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
30656 self.emit(
30657 VGETMANTPH128RRI_MASKZ,
30658 op0.as_operand(),
30659 op1.as_operand(),
30660 op2.as_operand(),
30661 &NOREG,
30662 );
30663 }
30664}
30665
30666impl<'a> VgetmantphMaskzEmitter<Xmm, Mem, Imm> for Assembler<'a> {
30667 fn vgetmantph_maskz(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
30668 self.emit(
30669 VGETMANTPH128RMI_MASKZ,
30670 op0.as_operand(),
30671 op1.as_operand(),
30672 op2.as_operand(),
30673 &NOREG,
30674 );
30675 }
30676}
30677
30678impl<'a> VgetmantphMaskzEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
30679 fn vgetmantph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
30680 self.emit(
30681 VGETMANTPH256RRI_MASKZ,
30682 op0.as_operand(),
30683 op1.as_operand(),
30684 op2.as_operand(),
30685 &NOREG,
30686 );
30687 }
30688}
30689
30690impl<'a> VgetmantphMaskzEmitter<Ymm, Mem, Imm> for Assembler<'a> {
30691 fn vgetmantph_maskz(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
30692 self.emit(
30693 VGETMANTPH256RMI_MASKZ,
30694 op0.as_operand(),
30695 op1.as_operand(),
30696 op2.as_operand(),
30697 &NOREG,
30698 );
30699 }
30700}
30701
30702impl<'a> VgetmantphMaskzEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
30703 fn vgetmantph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
30704 self.emit(
30705 VGETMANTPH512RRI_MASKZ,
30706 op0.as_operand(),
30707 op1.as_operand(),
30708 op2.as_operand(),
30709 &NOREG,
30710 );
30711 }
30712}
30713
30714impl<'a> VgetmantphMaskzEmitter<Zmm, Mem, Imm> for Assembler<'a> {
30715 fn vgetmantph_maskz(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
30716 self.emit(
30717 VGETMANTPH512RMI_MASKZ,
30718 op0.as_operand(),
30719 op1.as_operand(),
30720 op2.as_operand(),
30721 &NOREG,
30722 );
30723 }
30724}
30725
30726pub trait VgetmantphMaskzSaeEmitter<A, B, C> {
30738 fn vgetmantph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
30739}
30740
30741impl<'a> VgetmantphMaskzSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
30742 fn vgetmantph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
30743 self.emit(
30744 VGETMANTPH512RRI_MASKZ_SAE,
30745 op0.as_operand(),
30746 op1.as_operand(),
30747 op2.as_operand(),
30748 &NOREG,
30749 );
30750 }
30751}
30752
30753pub trait VgetmantphSaeEmitter<A, B, C> {
30765 fn vgetmantph_sae(&mut self, op0: A, op1: B, op2: C);
30766}
30767
30768impl<'a> VgetmantphSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
30769 fn vgetmantph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
30770 self.emit(
30771 VGETMANTPH512RRI_SAE,
30772 op0.as_operand(),
30773 op1.as_operand(),
30774 op2.as_operand(),
30775 &NOREG,
30776 );
30777 }
30778}
30779
30780pub trait VgetmantshEmitter<A, B, C, D> {
30793 fn vgetmantsh(&mut self, op0: A, op1: B, op2: C, op3: D);
30794}
30795
30796impl<'a> VgetmantshEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
30797 fn vgetmantsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
30798 self.emit(
30799 VGETMANTSHRRRI,
30800 op0.as_operand(),
30801 op1.as_operand(),
30802 op2.as_operand(),
30803 op3.as_operand(),
30804 );
30805 }
30806}
30807
30808impl<'a> VgetmantshEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
30809 fn vgetmantsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
30810 self.emit(
30811 VGETMANTSHRRMI,
30812 op0.as_operand(),
30813 op1.as_operand(),
30814 op2.as_operand(),
30815 op3.as_operand(),
30816 );
30817 }
30818}
30819
30820pub trait VgetmantshMaskEmitter<A, B, C, D> {
30833 fn vgetmantsh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
30834}
30835
30836impl<'a> VgetmantshMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
30837 fn vgetmantsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
30838 self.emit(
30839 VGETMANTSHRRRI_MASK,
30840 op0.as_operand(),
30841 op1.as_operand(),
30842 op2.as_operand(),
30843 op3.as_operand(),
30844 );
30845 }
30846}
30847
30848impl<'a> VgetmantshMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
30849 fn vgetmantsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
30850 self.emit(
30851 VGETMANTSHRRMI_MASK,
30852 op0.as_operand(),
30853 op1.as_operand(),
30854 op2.as_operand(),
30855 op3.as_operand(),
30856 );
30857 }
30858}
30859
30860pub trait VgetmantshMaskSaeEmitter<A, B, C, D> {
30872 fn vgetmantsh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
30873}
30874
30875impl<'a> VgetmantshMaskSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
30876 fn vgetmantsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
30877 self.emit(
30878 VGETMANTSHRRRI_MASK_SAE,
30879 op0.as_operand(),
30880 op1.as_operand(),
30881 op2.as_operand(),
30882 op3.as_operand(),
30883 );
30884 }
30885}
30886
30887pub trait VgetmantshMaskzEmitter<A, B, C, D> {
30900 fn vgetmantsh_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
30901}
30902
30903impl<'a> VgetmantshMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
30904 fn vgetmantsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
30905 self.emit(
30906 VGETMANTSHRRRI_MASKZ,
30907 op0.as_operand(),
30908 op1.as_operand(),
30909 op2.as_operand(),
30910 op3.as_operand(),
30911 );
30912 }
30913}
30914
30915impl<'a> VgetmantshMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
30916 fn vgetmantsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
30917 self.emit(
30918 VGETMANTSHRRMI_MASKZ,
30919 op0.as_operand(),
30920 op1.as_operand(),
30921 op2.as_operand(),
30922 op3.as_operand(),
30923 );
30924 }
30925}
30926
30927pub trait VgetmantshMaskzSaeEmitter<A, B, C, D> {
30939 fn vgetmantsh_maskz_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
30940}
30941
30942impl<'a> VgetmantshMaskzSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
30943 fn vgetmantsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
30944 self.emit(
30945 VGETMANTSHRRRI_MASKZ_SAE,
30946 op0.as_operand(),
30947 op1.as_operand(),
30948 op2.as_operand(),
30949 op3.as_operand(),
30950 );
30951 }
30952}
30953
30954pub trait VgetmantshSaeEmitter<A, B, C, D> {
30966 fn vgetmantsh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
30967}
30968
30969impl<'a> VgetmantshSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
30970 fn vgetmantsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
30971 self.emit(
30972 VGETMANTSHRRRI_SAE,
30973 op0.as_operand(),
30974 op1.as_operand(),
30975 op2.as_operand(),
30976 op3.as_operand(),
30977 );
30978 }
30979}
30980
30981pub trait Vgf2p8affineinvqbEmitter<A, B, C, D> {
30998 fn vgf2p8affineinvqb(&mut self, op0: A, op1: B, op2: C, op3: D);
30999}
31000
31001impl<'a> Vgf2p8affineinvqbEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
31002 fn vgf2p8affineinvqb(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
31003 self.emit(
31004 VGF2P8AFFINEINVQB128RRRI,
31005 op0.as_operand(),
31006 op1.as_operand(),
31007 op2.as_operand(),
31008 op3.as_operand(),
31009 );
31010 }
31011}
31012
31013impl<'a> Vgf2p8affineinvqbEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
31014 fn vgf2p8affineinvqb(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
31015 self.emit(
31016 VGF2P8AFFINEINVQB128RRMI,
31017 op0.as_operand(),
31018 op1.as_operand(),
31019 op2.as_operand(),
31020 op3.as_operand(),
31021 );
31022 }
31023}
31024
31025impl<'a> Vgf2p8affineinvqbEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
31026 fn vgf2p8affineinvqb(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
31027 self.emit(
31028 VGF2P8AFFINEINVQB256RRRI,
31029 op0.as_operand(),
31030 op1.as_operand(),
31031 op2.as_operand(),
31032 op3.as_operand(),
31033 );
31034 }
31035}
31036
31037impl<'a> Vgf2p8affineinvqbEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
31038 fn vgf2p8affineinvqb(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
31039 self.emit(
31040 VGF2P8AFFINEINVQB256RRMI,
31041 op0.as_operand(),
31042 op1.as_operand(),
31043 op2.as_operand(),
31044 op3.as_operand(),
31045 );
31046 }
31047}
31048
31049impl<'a> Vgf2p8affineinvqbEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
31050 fn vgf2p8affineinvqb(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
31051 self.emit(
31052 VGF2P8AFFINEINVQB512RRRI,
31053 op0.as_operand(),
31054 op1.as_operand(),
31055 op2.as_operand(),
31056 op3.as_operand(),
31057 );
31058 }
31059}
31060
31061impl<'a> Vgf2p8affineinvqbEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
31062 fn vgf2p8affineinvqb(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
31063 self.emit(
31064 VGF2P8AFFINEINVQB512RRMI,
31065 op0.as_operand(),
31066 op1.as_operand(),
31067 op2.as_operand(),
31068 op3.as_operand(),
31069 );
31070 }
31071}
31072
31073pub trait Vgf2p8affineinvqbMaskEmitter<A, B, C, D> {
31090 fn vgf2p8affineinvqb_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
31091}
31092
31093impl<'a> Vgf2p8affineinvqbMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
31094 fn vgf2p8affineinvqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
31095 self.emit(
31096 VGF2P8AFFINEINVQB128RRRI_MASK,
31097 op0.as_operand(),
31098 op1.as_operand(),
31099 op2.as_operand(),
31100 op3.as_operand(),
31101 );
31102 }
31103}
31104
31105impl<'a> Vgf2p8affineinvqbMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
31106 fn vgf2p8affineinvqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
31107 self.emit(
31108 VGF2P8AFFINEINVQB128RRMI_MASK,
31109 op0.as_operand(),
31110 op1.as_operand(),
31111 op2.as_operand(),
31112 op3.as_operand(),
31113 );
31114 }
31115}
31116
31117impl<'a> Vgf2p8affineinvqbMaskEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
31118 fn vgf2p8affineinvqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
31119 self.emit(
31120 VGF2P8AFFINEINVQB256RRRI_MASK,
31121 op0.as_operand(),
31122 op1.as_operand(),
31123 op2.as_operand(),
31124 op3.as_operand(),
31125 );
31126 }
31127}
31128
31129impl<'a> Vgf2p8affineinvqbMaskEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
31130 fn vgf2p8affineinvqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
31131 self.emit(
31132 VGF2P8AFFINEINVQB256RRMI_MASK,
31133 op0.as_operand(),
31134 op1.as_operand(),
31135 op2.as_operand(),
31136 op3.as_operand(),
31137 );
31138 }
31139}
31140
31141impl<'a> Vgf2p8affineinvqbMaskEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
31142 fn vgf2p8affineinvqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
31143 self.emit(
31144 VGF2P8AFFINEINVQB512RRRI_MASK,
31145 op0.as_operand(),
31146 op1.as_operand(),
31147 op2.as_operand(),
31148 op3.as_operand(),
31149 );
31150 }
31151}
31152
31153impl<'a> Vgf2p8affineinvqbMaskEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
31154 fn vgf2p8affineinvqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
31155 self.emit(
31156 VGF2P8AFFINEINVQB512RRMI_MASK,
31157 op0.as_operand(),
31158 op1.as_operand(),
31159 op2.as_operand(),
31160 op3.as_operand(),
31161 );
31162 }
31163}
31164
31165pub trait Vgf2p8affineinvqbMaskzEmitter<A, B, C, D> {
31182 fn vgf2p8affineinvqb_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
31183}
31184
31185impl<'a> Vgf2p8affineinvqbMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
31186 fn vgf2p8affineinvqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
31187 self.emit(
31188 VGF2P8AFFINEINVQB128RRRI_MASKZ,
31189 op0.as_operand(),
31190 op1.as_operand(),
31191 op2.as_operand(),
31192 op3.as_operand(),
31193 );
31194 }
31195}
31196
31197impl<'a> Vgf2p8affineinvqbMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
31198 fn vgf2p8affineinvqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
31199 self.emit(
31200 VGF2P8AFFINEINVQB128RRMI_MASKZ,
31201 op0.as_operand(),
31202 op1.as_operand(),
31203 op2.as_operand(),
31204 op3.as_operand(),
31205 );
31206 }
31207}
31208
31209impl<'a> Vgf2p8affineinvqbMaskzEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
31210 fn vgf2p8affineinvqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
31211 self.emit(
31212 VGF2P8AFFINEINVQB256RRRI_MASKZ,
31213 op0.as_operand(),
31214 op1.as_operand(),
31215 op2.as_operand(),
31216 op3.as_operand(),
31217 );
31218 }
31219}
31220
31221impl<'a> Vgf2p8affineinvqbMaskzEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
31222 fn vgf2p8affineinvqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
31223 self.emit(
31224 VGF2P8AFFINEINVQB256RRMI_MASKZ,
31225 op0.as_operand(),
31226 op1.as_operand(),
31227 op2.as_operand(),
31228 op3.as_operand(),
31229 );
31230 }
31231}
31232
31233impl<'a> Vgf2p8affineinvqbMaskzEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
31234 fn vgf2p8affineinvqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
31235 self.emit(
31236 VGF2P8AFFINEINVQB512RRRI_MASKZ,
31237 op0.as_operand(),
31238 op1.as_operand(),
31239 op2.as_operand(),
31240 op3.as_operand(),
31241 );
31242 }
31243}
31244
31245impl<'a> Vgf2p8affineinvqbMaskzEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
31246 fn vgf2p8affineinvqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
31247 self.emit(
31248 VGF2P8AFFINEINVQB512RRMI_MASKZ,
31249 op0.as_operand(),
31250 op1.as_operand(),
31251 op2.as_operand(),
31252 op3.as_operand(),
31253 );
31254 }
31255}
31256
31257pub trait Vgf2p8affineqbEmitter<A, B, C, D> {
31274 fn vgf2p8affineqb(&mut self, op0: A, op1: B, op2: C, op3: D);
31275}
31276
31277impl<'a> Vgf2p8affineqbEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
31278 fn vgf2p8affineqb(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
31279 self.emit(
31280 VGF2P8AFFINEQB128RRRI,
31281 op0.as_operand(),
31282 op1.as_operand(),
31283 op2.as_operand(),
31284 op3.as_operand(),
31285 );
31286 }
31287}
31288
31289impl<'a> Vgf2p8affineqbEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
31290 fn vgf2p8affineqb(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
31291 self.emit(
31292 VGF2P8AFFINEQB128RRMI,
31293 op0.as_operand(),
31294 op1.as_operand(),
31295 op2.as_operand(),
31296 op3.as_operand(),
31297 );
31298 }
31299}
31300
31301impl<'a> Vgf2p8affineqbEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
31302 fn vgf2p8affineqb(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
31303 self.emit(
31304 VGF2P8AFFINEQB256RRRI,
31305 op0.as_operand(),
31306 op1.as_operand(),
31307 op2.as_operand(),
31308 op3.as_operand(),
31309 );
31310 }
31311}
31312
31313impl<'a> Vgf2p8affineqbEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
31314 fn vgf2p8affineqb(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
31315 self.emit(
31316 VGF2P8AFFINEQB256RRMI,
31317 op0.as_operand(),
31318 op1.as_operand(),
31319 op2.as_operand(),
31320 op3.as_operand(),
31321 );
31322 }
31323}
31324
31325impl<'a> Vgf2p8affineqbEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
31326 fn vgf2p8affineqb(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
31327 self.emit(
31328 VGF2P8AFFINEQB512RRRI,
31329 op0.as_operand(),
31330 op1.as_operand(),
31331 op2.as_operand(),
31332 op3.as_operand(),
31333 );
31334 }
31335}
31336
31337impl<'a> Vgf2p8affineqbEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
31338 fn vgf2p8affineqb(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
31339 self.emit(
31340 VGF2P8AFFINEQB512RRMI,
31341 op0.as_operand(),
31342 op1.as_operand(),
31343 op2.as_operand(),
31344 op3.as_operand(),
31345 );
31346 }
31347}
31348
31349pub trait Vgf2p8affineqbMaskEmitter<A, B, C, D> {
31366 fn vgf2p8affineqb_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
31367}
31368
31369impl<'a> Vgf2p8affineqbMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
31370 fn vgf2p8affineqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
31371 self.emit(
31372 VGF2P8AFFINEQB128RRRI_MASK,
31373 op0.as_operand(),
31374 op1.as_operand(),
31375 op2.as_operand(),
31376 op3.as_operand(),
31377 );
31378 }
31379}
31380
31381impl<'a> Vgf2p8affineqbMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
31382 fn vgf2p8affineqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
31383 self.emit(
31384 VGF2P8AFFINEQB128RRMI_MASK,
31385 op0.as_operand(),
31386 op1.as_operand(),
31387 op2.as_operand(),
31388 op3.as_operand(),
31389 );
31390 }
31391}
31392
31393impl<'a> Vgf2p8affineqbMaskEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
31394 fn vgf2p8affineqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
31395 self.emit(
31396 VGF2P8AFFINEQB256RRRI_MASK,
31397 op0.as_operand(),
31398 op1.as_operand(),
31399 op2.as_operand(),
31400 op3.as_operand(),
31401 );
31402 }
31403}
31404
31405impl<'a> Vgf2p8affineqbMaskEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
31406 fn vgf2p8affineqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
31407 self.emit(
31408 VGF2P8AFFINEQB256RRMI_MASK,
31409 op0.as_operand(),
31410 op1.as_operand(),
31411 op2.as_operand(),
31412 op3.as_operand(),
31413 );
31414 }
31415}
31416
31417impl<'a> Vgf2p8affineqbMaskEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
31418 fn vgf2p8affineqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
31419 self.emit(
31420 VGF2P8AFFINEQB512RRRI_MASK,
31421 op0.as_operand(),
31422 op1.as_operand(),
31423 op2.as_operand(),
31424 op3.as_operand(),
31425 );
31426 }
31427}
31428
31429impl<'a> Vgf2p8affineqbMaskEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
31430 fn vgf2p8affineqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
31431 self.emit(
31432 VGF2P8AFFINEQB512RRMI_MASK,
31433 op0.as_operand(),
31434 op1.as_operand(),
31435 op2.as_operand(),
31436 op3.as_operand(),
31437 );
31438 }
31439}
31440
31441pub trait Vgf2p8affineqbMaskzEmitter<A, B, C, D> {
31458 fn vgf2p8affineqb_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
31459}
31460
31461impl<'a> Vgf2p8affineqbMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
31462 fn vgf2p8affineqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
31463 self.emit(
31464 VGF2P8AFFINEQB128RRRI_MASKZ,
31465 op0.as_operand(),
31466 op1.as_operand(),
31467 op2.as_operand(),
31468 op3.as_operand(),
31469 );
31470 }
31471}
31472
31473impl<'a> Vgf2p8affineqbMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
31474 fn vgf2p8affineqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
31475 self.emit(
31476 VGF2P8AFFINEQB128RRMI_MASKZ,
31477 op0.as_operand(),
31478 op1.as_operand(),
31479 op2.as_operand(),
31480 op3.as_operand(),
31481 );
31482 }
31483}
31484
31485impl<'a> Vgf2p8affineqbMaskzEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
31486 fn vgf2p8affineqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
31487 self.emit(
31488 VGF2P8AFFINEQB256RRRI_MASKZ,
31489 op0.as_operand(),
31490 op1.as_operand(),
31491 op2.as_operand(),
31492 op3.as_operand(),
31493 );
31494 }
31495}
31496
31497impl<'a> Vgf2p8affineqbMaskzEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
31498 fn vgf2p8affineqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
31499 self.emit(
31500 VGF2P8AFFINEQB256RRMI_MASKZ,
31501 op0.as_operand(),
31502 op1.as_operand(),
31503 op2.as_operand(),
31504 op3.as_operand(),
31505 );
31506 }
31507}
31508
31509impl<'a> Vgf2p8affineqbMaskzEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
31510 fn vgf2p8affineqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
31511 self.emit(
31512 VGF2P8AFFINEQB512RRRI_MASKZ,
31513 op0.as_operand(),
31514 op1.as_operand(),
31515 op2.as_operand(),
31516 op3.as_operand(),
31517 );
31518 }
31519}
31520
31521impl<'a> Vgf2p8affineqbMaskzEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
31522 fn vgf2p8affineqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
31523 self.emit(
31524 VGF2P8AFFINEQB512RRMI_MASKZ,
31525 op0.as_operand(),
31526 op1.as_operand(),
31527 op2.as_operand(),
31528 op3.as_operand(),
31529 );
31530 }
31531}
31532
31533pub trait Vgf2p8mulbEmitter<A, B, C> {
31550 fn vgf2p8mulb(&mut self, op0: A, op1: B, op2: C);
31551}
31552
31553impl<'a> Vgf2p8mulbEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
31554 fn vgf2p8mulb(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
31555 self.emit(
31556 VGF2P8MULB128RRR,
31557 op0.as_operand(),
31558 op1.as_operand(),
31559 op2.as_operand(),
31560 &NOREG,
31561 );
31562 }
31563}
31564
31565impl<'a> Vgf2p8mulbEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
31566 fn vgf2p8mulb(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
31567 self.emit(
31568 VGF2P8MULB128RRM,
31569 op0.as_operand(),
31570 op1.as_operand(),
31571 op2.as_operand(),
31572 &NOREG,
31573 );
31574 }
31575}
31576
31577impl<'a> Vgf2p8mulbEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
31578 fn vgf2p8mulb(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
31579 self.emit(
31580 VGF2P8MULB256RRR,
31581 op0.as_operand(),
31582 op1.as_operand(),
31583 op2.as_operand(),
31584 &NOREG,
31585 );
31586 }
31587}
31588
31589impl<'a> Vgf2p8mulbEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
31590 fn vgf2p8mulb(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
31591 self.emit(
31592 VGF2P8MULB256RRM,
31593 op0.as_operand(),
31594 op1.as_operand(),
31595 op2.as_operand(),
31596 &NOREG,
31597 );
31598 }
31599}
31600
31601impl<'a> Vgf2p8mulbEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
31602 fn vgf2p8mulb(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
31603 self.emit(
31604 VGF2P8MULB512RRR,
31605 op0.as_operand(),
31606 op1.as_operand(),
31607 op2.as_operand(),
31608 &NOREG,
31609 );
31610 }
31611}
31612
31613impl<'a> Vgf2p8mulbEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
31614 fn vgf2p8mulb(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
31615 self.emit(
31616 VGF2P8MULB512RRM,
31617 op0.as_operand(),
31618 op1.as_operand(),
31619 op2.as_operand(),
31620 &NOREG,
31621 );
31622 }
31623}
31624
31625pub trait Vgf2p8mulbMaskEmitter<A, B, C> {
31642 fn vgf2p8mulb_mask(&mut self, op0: A, op1: B, op2: C);
31643}
31644
31645impl<'a> Vgf2p8mulbMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
31646 fn vgf2p8mulb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
31647 self.emit(
31648 VGF2P8MULB128RRR_MASK,
31649 op0.as_operand(),
31650 op1.as_operand(),
31651 op2.as_operand(),
31652 &NOREG,
31653 );
31654 }
31655}
31656
31657impl<'a> Vgf2p8mulbMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
31658 fn vgf2p8mulb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
31659 self.emit(
31660 VGF2P8MULB128RRM_MASK,
31661 op0.as_operand(),
31662 op1.as_operand(),
31663 op2.as_operand(),
31664 &NOREG,
31665 );
31666 }
31667}
31668
31669impl<'a> Vgf2p8mulbMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
31670 fn vgf2p8mulb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
31671 self.emit(
31672 VGF2P8MULB256RRR_MASK,
31673 op0.as_operand(),
31674 op1.as_operand(),
31675 op2.as_operand(),
31676 &NOREG,
31677 );
31678 }
31679}
31680
31681impl<'a> Vgf2p8mulbMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
31682 fn vgf2p8mulb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
31683 self.emit(
31684 VGF2P8MULB256RRM_MASK,
31685 op0.as_operand(),
31686 op1.as_operand(),
31687 op2.as_operand(),
31688 &NOREG,
31689 );
31690 }
31691}
31692
31693impl<'a> Vgf2p8mulbMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
31694 fn vgf2p8mulb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
31695 self.emit(
31696 VGF2P8MULB512RRR_MASK,
31697 op0.as_operand(),
31698 op1.as_operand(),
31699 op2.as_operand(),
31700 &NOREG,
31701 );
31702 }
31703}
31704
31705impl<'a> Vgf2p8mulbMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
31706 fn vgf2p8mulb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
31707 self.emit(
31708 VGF2P8MULB512RRM_MASK,
31709 op0.as_operand(),
31710 op1.as_operand(),
31711 op2.as_operand(),
31712 &NOREG,
31713 );
31714 }
31715}
31716
31717pub trait Vgf2p8mulbMaskzEmitter<A, B, C> {
31734 fn vgf2p8mulb_maskz(&mut self, op0: A, op1: B, op2: C);
31735}
31736
31737impl<'a> Vgf2p8mulbMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
31738 fn vgf2p8mulb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
31739 self.emit(
31740 VGF2P8MULB128RRR_MASKZ,
31741 op0.as_operand(),
31742 op1.as_operand(),
31743 op2.as_operand(),
31744 &NOREG,
31745 );
31746 }
31747}
31748
31749impl<'a> Vgf2p8mulbMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
31750 fn vgf2p8mulb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
31751 self.emit(
31752 VGF2P8MULB128RRM_MASKZ,
31753 op0.as_operand(),
31754 op1.as_operand(),
31755 op2.as_operand(),
31756 &NOREG,
31757 );
31758 }
31759}
31760
31761impl<'a> Vgf2p8mulbMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
31762 fn vgf2p8mulb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
31763 self.emit(
31764 VGF2P8MULB256RRR_MASKZ,
31765 op0.as_operand(),
31766 op1.as_operand(),
31767 op2.as_operand(),
31768 &NOREG,
31769 );
31770 }
31771}
31772
31773impl<'a> Vgf2p8mulbMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
31774 fn vgf2p8mulb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
31775 self.emit(
31776 VGF2P8MULB256RRM_MASKZ,
31777 op0.as_operand(),
31778 op1.as_operand(),
31779 op2.as_operand(),
31780 &NOREG,
31781 );
31782 }
31783}
31784
31785impl<'a> Vgf2p8mulbMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
31786 fn vgf2p8mulb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
31787 self.emit(
31788 VGF2P8MULB512RRR_MASKZ,
31789 op0.as_operand(),
31790 op1.as_operand(),
31791 op2.as_operand(),
31792 &NOREG,
31793 );
31794 }
31795}
31796
31797impl<'a> Vgf2p8mulbMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
31798 fn vgf2p8mulb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
31799 self.emit(
31800 VGF2P8MULB512RRM_MASKZ,
31801 op0.as_operand(),
31802 op1.as_operand(),
31803 op2.as_operand(),
31804 &NOREG,
31805 );
31806 }
31807}
31808
31809pub trait VmaxphEmitter<A, B, C> {
31826 fn vmaxph(&mut self, op0: A, op1: B, op2: C);
31827}
31828
31829impl<'a> VmaxphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
31830 fn vmaxph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
31831 self.emit(
31832 VMAXPH128RRR,
31833 op0.as_operand(),
31834 op1.as_operand(),
31835 op2.as_operand(),
31836 &NOREG,
31837 );
31838 }
31839}
31840
31841impl<'a> VmaxphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
31842 fn vmaxph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
31843 self.emit(
31844 VMAXPH128RRM,
31845 op0.as_operand(),
31846 op1.as_operand(),
31847 op2.as_operand(),
31848 &NOREG,
31849 );
31850 }
31851}
31852
31853impl<'a> VmaxphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
31854 fn vmaxph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
31855 self.emit(
31856 VMAXPH256RRR,
31857 op0.as_operand(),
31858 op1.as_operand(),
31859 op2.as_operand(),
31860 &NOREG,
31861 );
31862 }
31863}
31864
31865impl<'a> VmaxphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
31866 fn vmaxph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
31867 self.emit(
31868 VMAXPH256RRM,
31869 op0.as_operand(),
31870 op1.as_operand(),
31871 op2.as_operand(),
31872 &NOREG,
31873 );
31874 }
31875}
31876
31877impl<'a> VmaxphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
31878 fn vmaxph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
31879 self.emit(
31880 VMAXPH512RRR,
31881 op0.as_operand(),
31882 op1.as_operand(),
31883 op2.as_operand(),
31884 &NOREG,
31885 );
31886 }
31887}
31888
31889impl<'a> VmaxphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
31890 fn vmaxph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
31891 self.emit(
31892 VMAXPH512RRM,
31893 op0.as_operand(),
31894 op1.as_operand(),
31895 op2.as_operand(),
31896 &NOREG,
31897 );
31898 }
31899}
31900
31901pub trait VmaxphMaskEmitter<A, B, C> {
31918 fn vmaxph_mask(&mut self, op0: A, op1: B, op2: C);
31919}
31920
31921impl<'a> VmaxphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
31922 fn vmaxph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
31923 self.emit(
31924 VMAXPH128RRR_MASK,
31925 op0.as_operand(),
31926 op1.as_operand(),
31927 op2.as_operand(),
31928 &NOREG,
31929 );
31930 }
31931}
31932
31933impl<'a> VmaxphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
31934 fn vmaxph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
31935 self.emit(
31936 VMAXPH128RRM_MASK,
31937 op0.as_operand(),
31938 op1.as_operand(),
31939 op2.as_operand(),
31940 &NOREG,
31941 );
31942 }
31943}
31944
31945impl<'a> VmaxphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
31946 fn vmaxph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
31947 self.emit(
31948 VMAXPH256RRR_MASK,
31949 op0.as_operand(),
31950 op1.as_operand(),
31951 op2.as_operand(),
31952 &NOREG,
31953 );
31954 }
31955}
31956
31957impl<'a> VmaxphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
31958 fn vmaxph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
31959 self.emit(
31960 VMAXPH256RRM_MASK,
31961 op0.as_operand(),
31962 op1.as_operand(),
31963 op2.as_operand(),
31964 &NOREG,
31965 );
31966 }
31967}
31968
31969impl<'a> VmaxphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
31970 fn vmaxph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
31971 self.emit(
31972 VMAXPH512RRR_MASK,
31973 op0.as_operand(),
31974 op1.as_operand(),
31975 op2.as_operand(),
31976 &NOREG,
31977 );
31978 }
31979}
31980
31981impl<'a> VmaxphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
31982 fn vmaxph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
31983 self.emit(
31984 VMAXPH512RRM_MASK,
31985 op0.as_operand(),
31986 op1.as_operand(),
31987 op2.as_operand(),
31988 &NOREG,
31989 );
31990 }
31991}
31992
31993pub trait VmaxphMaskSaeEmitter<A, B, C> {
32005 fn vmaxph_mask_sae(&mut self, op0: A, op1: B, op2: C);
32006}
32007
32008impl<'a> VmaxphMaskSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32009 fn vmaxph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32010 self.emit(
32011 VMAXPH512RRR_MASK_SAE,
32012 op0.as_operand(),
32013 op1.as_operand(),
32014 op2.as_operand(),
32015 &NOREG,
32016 );
32017 }
32018}
32019
32020pub trait VmaxphMaskzEmitter<A, B, C> {
32037 fn vmaxph_maskz(&mut self, op0: A, op1: B, op2: C);
32038}
32039
32040impl<'a> VmaxphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32041 fn vmaxph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32042 self.emit(
32043 VMAXPH128RRR_MASKZ,
32044 op0.as_operand(),
32045 op1.as_operand(),
32046 op2.as_operand(),
32047 &NOREG,
32048 );
32049 }
32050}
32051
32052impl<'a> VmaxphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32053 fn vmaxph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32054 self.emit(
32055 VMAXPH128RRM_MASKZ,
32056 op0.as_operand(),
32057 op1.as_operand(),
32058 op2.as_operand(),
32059 &NOREG,
32060 );
32061 }
32062}
32063
32064impl<'a> VmaxphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
32065 fn vmaxph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
32066 self.emit(
32067 VMAXPH256RRR_MASKZ,
32068 op0.as_operand(),
32069 op1.as_operand(),
32070 op2.as_operand(),
32071 &NOREG,
32072 );
32073 }
32074}
32075
32076impl<'a> VmaxphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
32077 fn vmaxph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
32078 self.emit(
32079 VMAXPH256RRM_MASKZ,
32080 op0.as_operand(),
32081 op1.as_operand(),
32082 op2.as_operand(),
32083 &NOREG,
32084 );
32085 }
32086}
32087
32088impl<'a> VmaxphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32089 fn vmaxph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32090 self.emit(
32091 VMAXPH512RRR_MASKZ,
32092 op0.as_operand(),
32093 op1.as_operand(),
32094 op2.as_operand(),
32095 &NOREG,
32096 );
32097 }
32098}
32099
32100impl<'a> VmaxphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
32101 fn vmaxph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
32102 self.emit(
32103 VMAXPH512RRM_MASKZ,
32104 op0.as_operand(),
32105 op1.as_operand(),
32106 op2.as_operand(),
32107 &NOREG,
32108 );
32109 }
32110}
32111
32112pub trait VmaxphMaskzSaeEmitter<A, B, C> {
32124 fn vmaxph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
32125}
32126
32127impl<'a> VmaxphMaskzSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32128 fn vmaxph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32129 self.emit(
32130 VMAXPH512RRR_MASKZ_SAE,
32131 op0.as_operand(),
32132 op1.as_operand(),
32133 op2.as_operand(),
32134 &NOREG,
32135 );
32136 }
32137}
32138
32139pub trait VmaxphSaeEmitter<A, B, C> {
32151 fn vmaxph_sae(&mut self, op0: A, op1: B, op2: C);
32152}
32153
32154impl<'a> VmaxphSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32155 fn vmaxph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32156 self.emit(
32157 VMAXPH512RRR_SAE,
32158 op0.as_operand(),
32159 op1.as_operand(),
32160 op2.as_operand(),
32161 &NOREG,
32162 );
32163 }
32164}
32165
32166pub trait VmaxshEmitter<A, B, C> {
32179 fn vmaxsh(&mut self, op0: A, op1: B, op2: C);
32180}
32181
32182impl<'a> VmaxshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32183 fn vmaxsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32184 self.emit(
32185 VMAXSHRRR,
32186 op0.as_operand(),
32187 op1.as_operand(),
32188 op2.as_operand(),
32189 &NOREG,
32190 );
32191 }
32192}
32193
32194impl<'a> VmaxshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32195 fn vmaxsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32196 self.emit(
32197 VMAXSHRRM,
32198 op0.as_operand(),
32199 op1.as_operand(),
32200 op2.as_operand(),
32201 &NOREG,
32202 );
32203 }
32204}
32205
32206pub trait VmaxshMaskEmitter<A, B, C> {
32219 fn vmaxsh_mask(&mut self, op0: A, op1: B, op2: C);
32220}
32221
32222impl<'a> VmaxshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32223 fn vmaxsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32224 self.emit(
32225 VMAXSHRRR_MASK,
32226 op0.as_operand(),
32227 op1.as_operand(),
32228 op2.as_operand(),
32229 &NOREG,
32230 );
32231 }
32232}
32233
32234impl<'a> VmaxshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32235 fn vmaxsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32236 self.emit(
32237 VMAXSHRRM_MASK,
32238 op0.as_operand(),
32239 op1.as_operand(),
32240 op2.as_operand(),
32241 &NOREG,
32242 );
32243 }
32244}
32245
32246pub trait VmaxshMaskSaeEmitter<A, B, C> {
32258 fn vmaxsh_mask_sae(&mut self, op0: A, op1: B, op2: C);
32259}
32260
32261impl<'a> VmaxshMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32262 fn vmaxsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32263 self.emit(
32264 VMAXSHRRR_MASK_SAE,
32265 op0.as_operand(),
32266 op1.as_operand(),
32267 op2.as_operand(),
32268 &NOREG,
32269 );
32270 }
32271}
32272
32273pub trait VmaxshMaskzEmitter<A, B, C> {
32286 fn vmaxsh_maskz(&mut self, op0: A, op1: B, op2: C);
32287}
32288
32289impl<'a> VmaxshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32290 fn vmaxsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32291 self.emit(
32292 VMAXSHRRR_MASKZ,
32293 op0.as_operand(),
32294 op1.as_operand(),
32295 op2.as_operand(),
32296 &NOREG,
32297 );
32298 }
32299}
32300
32301impl<'a> VmaxshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32302 fn vmaxsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32303 self.emit(
32304 VMAXSHRRM_MASKZ,
32305 op0.as_operand(),
32306 op1.as_operand(),
32307 op2.as_operand(),
32308 &NOREG,
32309 );
32310 }
32311}
32312
32313pub trait VmaxshMaskzSaeEmitter<A, B, C> {
32325 fn vmaxsh_maskz_sae(&mut self, op0: A, op1: B, op2: C);
32326}
32327
32328impl<'a> VmaxshMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32329 fn vmaxsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32330 self.emit(
32331 VMAXSHRRR_MASKZ_SAE,
32332 op0.as_operand(),
32333 op1.as_operand(),
32334 op2.as_operand(),
32335 &NOREG,
32336 );
32337 }
32338}
32339
32340pub trait VmaxshSaeEmitter<A, B, C> {
32352 fn vmaxsh_sae(&mut self, op0: A, op1: B, op2: C);
32353}
32354
32355impl<'a> VmaxshSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32356 fn vmaxsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32357 self.emit(
32358 VMAXSHRRR_SAE,
32359 op0.as_operand(),
32360 op1.as_operand(),
32361 op2.as_operand(),
32362 &NOREG,
32363 );
32364 }
32365}
32366
32367pub trait VminphEmitter<A, B, C> {
32384 fn vminph(&mut self, op0: A, op1: B, op2: C);
32385}
32386
32387impl<'a> VminphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32388 fn vminph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32389 self.emit(
32390 VMINPH128RRR,
32391 op0.as_operand(),
32392 op1.as_operand(),
32393 op2.as_operand(),
32394 &NOREG,
32395 );
32396 }
32397}
32398
32399impl<'a> VminphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32400 fn vminph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32401 self.emit(
32402 VMINPH128RRM,
32403 op0.as_operand(),
32404 op1.as_operand(),
32405 op2.as_operand(),
32406 &NOREG,
32407 );
32408 }
32409}
32410
32411impl<'a> VminphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
32412 fn vminph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
32413 self.emit(
32414 VMINPH256RRR,
32415 op0.as_operand(),
32416 op1.as_operand(),
32417 op2.as_operand(),
32418 &NOREG,
32419 );
32420 }
32421}
32422
32423impl<'a> VminphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
32424 fn vminph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
32425 self.emit(
32426 VMINPH256RRM,
32427 op0.as_operand(),
32428 op1.as_operand(),
32429 op2.as_operand(),
32430 &NOREG,
32431 );
32432 }
32433}
32434
32435impl<'a> VminphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32436 fn vminph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32437 self.emit(
32438 VMINPH512RRR,
32439 op0.as_operand(),
32440 op1.as_operand(),
32441 op2.as_operand(),
32442 &NOREG,
32443 );
32444 }
32445}
32446
32447impl<'a> VminphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
32448 fn vminph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
32449 self.emit(
32450 VMINPH512RRM,
32451 op0.as_operand(),
32452 op1.as_operand(),
32453 op2.as_operand(),
32454 &NOREG,
32455 );
32456 }
32457}
32458
32459pub trait VminphMaskEmitter<A, B, C> {
32476 fn vminph_mask(&mut self, op0: A, op1: B, op2: C);
32477}
32478
32479impl<'a> VminphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32480 fn vminph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32481 self.emit(
32482 VMINPH128RRR_MASK,
32483 op0.as_operand(),
32484 op1.as_operand(),
32485 op2.as_operand(),
32486 &NOREG,
32487 );
32488 }
32489}
32490
32491impl<'a> VminphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32492 fn vminph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32493 self.emit(
32494 VMINPH128RRM_MASK,
32495 op0.as_operand(),
32496 op1.as_operand(),
32497 op2.as_operand(),
32498 &NOREG,
32499 );
32500 }
32501}
32502
32503impl<'a> VminphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
32504 fn vminph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
32505 self.emit(
32506 VMINPH256RRR_MASK,
32507 op0.as_operand(),
32508 op1.as_operand(),
32509 op2.as_operand(),
32510 &NOREG,
32511 );
32512 }
32513}
32514
32515impl<'a> VminphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
32516 fn vminph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
32517 self.emit(
32518 VMINPH256RRM_MASK,
32519 op0.as_operand(),
32520 op1.as_operand(),
32521 op2.as_operand(),
32522 &NOREG,
32523 );
32524 }
32525}
32526
32527impl<'a> VminphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32528 fn vminph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32529 self.emit(
32530 VMINPH512RRR_MASK,
32531 op0.as_operand(),
32532 op1.as_operand(),
32533 op2.as_operand(),
32534 &NOREG,
32535 );
32536 }
32537}
32538
32539impl<'a> VminphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
32540 fn vminph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
32541 self.emit(
32542 VMINPH512RRM_MASK,
32543 op0.as_operand(),
32544 op1.as_operand(),
32545 op2.as_operand(),
32546 &NOREG,
32547 );
32548 }
32549}
32550
32551pub trait VminphMaskSaeEmitter<A, B, C> {
32563 fn vminph_mask_sae(&mut self, op0: A, op1: B, op2: C);
32564}
32565
32566impl<'a> VminphMaskSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32567 fn vminph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32568 self.emit(
32569 VMINPH512RRR_MASK_SAE,
32570 op0.as_operand(),
32571 op1.as_operand(),
32572 op2.as_operand(),
32573 &NOREG,
32574 );
32575 }
32576}
32577
32578pub trait VminphMaskzEmitter<A, B, C> {
32595 fn vminph_maskz(&mut self, op0: A, op1: B, op2: C);
32596}
32597
32598impl<'a> VminphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32599 fn vminph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32600 self.emit(
32601 VMINPH128RRR_MASKZ,
32602 op0.as_operand(),
32603 op1.as_operand(),
32604 op2.as_operand(),
32605 &NOREG,
32606 );
32607 }
32608}
32609
32610impl<'a> VminphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32611 fn vminph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32612 self.emit(
32613 VMINPH128RRM_MASKZ,
32614 op0.as_operand(),
32615 op1.as_operand(),
32616 op2.as_operand(),
32617 &NOREG,
32618 );
32619 }
32620}
32621
32622impl<'a> VminphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
32623 fn vminph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
32624 self.emit(
32625 VMINPH256RRR_MASKZ,
32626 op0.as_operand(),
32627 op1.as_operand(),
32628 op2.as_operand(),
32629 &NOREG,
32630 );
32631 }
32632}
32633
32634impl<'a> VminphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
32635 fn vminph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
32636 self.emit(
32637 VMINPH256RRM_MASKZ,
32638 op0.as_operand(),
32639 op1.as_operand(),
32640 op2.as_operand(),
32641 &NOREG,
32642 );
32643 }
32644}
32645
32646impl<'a> VminphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32647 fn vminph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32648 self.emit(
32649 VMINPH512RRR_MASKZ,
32650 op0.as_operand(),
32651 op1.as_operand(),
32652 op2.as_operand(),
32653 &NOREG,
32654 );
32655 }
32656}
32657
32658impl<'a> VminphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
32659 fn vminph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
32660 self.emit(
32661 VMINPH512RRM_MASKZ,
32662 op0.as_operand(),
32663 op1.as_operand(),
32664 op2.as_operand(),
32665 &NOREG,
32666 );
32667 }
32668}
32669
32670pub trait VminphMaskzSaeEmitter<A, B, C> {
32682 fn vminph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
32683}
32684
32685impl<'a> VminphMaskzSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32686 fn vminph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32687 self.emit(
32688 VMINPH512RRR_MASKZ_SAE,
32689 op0.as_operand(),
32690 op1.as_operand(),
32691 op2.as_operand(),
32692 &NOREG,
32693 );
32694 }
32695}
32696
32697pub trait VminphSaeEmitter<A, B, C> {
32709 fn vminph_sae(&mut self, op0: A, op1: B, op2: C);
32710}
32711
32712impl<'a> VminphSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
32713 fn vminph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
32714 self.emit(
32715 VMINPH512RRR_SAE,
32716 op0.as_operand(),
32717 op1.as_operand(),
32718 op2.as_operand(),
32719 &NOREG,
32720 );
32721 }
32722}
32723
32724pub trait VminshEmitter<A, B, C> {
32737 fn vminsh(&mut self, op0: A, op1: B, op2: C);
32738}
32739
32740impl<'a> VminshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32741 fn vminsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32742 self.emit(
32743 VMINSHRRR,
32744 op0.as_operand(),
32745 op1.as_operand(),
32746 op2.as_operand(),
32747 &NOREG,
32748 );
32749 }
32750}
32751
32752impl<'a> VminshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32753 fn vminsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32754 self.emit(
32755 VMINSHRRM,
32756 op0.as_operand(),
32757 op1.as_operand(),
32758 op2.as_operand(),
32759 &NOREG,
32760 );
32761 }
32762}
32763
32764pub trait VminshMaskEmitter<A, B, C> {
32777 fn vminsh_mask(&mut self, op0: A, op1: B, op2: C);
32778}
32779
32780impl<'a> VminshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32781 fn vminsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32782 self.emit(
32783 VMINSHRRR_MASK,
32784 op0.as_operand(),
32785 op1.as_operand(),
32786 op2.as_operand(),
32787 &NOREG,
32788 );
32789 }
32790}
32791
32792impl<'a> VminshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32793 fn vminsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32794 self.emit(
32795 VMINSHRRM_MASK,
32796 op0.as_operand(),
32797 op1.as_operand(),
32798 op2.as_operand(),
32799 &NOREG,
32800 );
32801 }
32802}
32803
32804pub trait VminshMaskSaeEmitter<A, B, C> {
32816 fn vminsh_mask_sae(&mut self, op0: A, op1: B, op2: C);
32817}
32818
32819impl<'a> VminshMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32820 fn vminsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32821 self.emit(
32822 VMINSHRRR_MASK_SAE,
32823 op0.as_operand(),
32824 op1.as_operand(),
32825 op2.as_operand(),
32826 &NOREG,
32827 );
32828 }
32829}
32830
32831pub trait VminshMaskzEmitter<A, B, C> {
32844 fn vminsh_maskz(&mut self, op0: A, op1: B, op2: C);
32845}
32846
32847impl<'a> VminshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32848 fn vminsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32849 self.emit(
32850 VMINSHRRR_MASKZ,
32851 op0.as_operand(),
32852 op1.as_operand(),
32853 op2.as_operand(),
32854 &NOREG,
32855 );
32856 }
32857}
32858
32859impl<'a> VminshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
32860 fn vminsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
32861 self.emit(
32862 VMINSHRRM_MASKZ,
32863 op0.as_operand(),
32864 op1.as_operand(),
32865 op2.as_operand(),
32866 &NOREG,
32867 );
32868 }
32869}
32870
32871pub trait VminshMaskzSaeEmitter<A, B, C> {
32883 fn vminsh_maskz_sae(&mut self, op0: A, op1: B, op2: C);
32884}
32885
32886impl<'a> VminshMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32887 fn vminsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32888 self.emit(
32889 VMINSHRRR_MASKZ_SAE,
32890 op0.as_operand(),
32891 op1.as_operand(),
32892 op2.as_operand(),
32893 &NOREG,
32894 );
32895 }
32896}
32897
32898pub trait VminshSaeEmitter<A, B, C> {
32910 fn vminsh_sae(&mut self, op0: A, op1: B, op2: C);
32911}
32912
32913impl<'a> VminshSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
32914 fn vminsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32915 self.emit(
32916 VMINSHRRR_SAE,
32917 op0.as_operand(),
32918 op1.as_operand(),
32919 op2.as_operand(),
32920 &NOREG,
32921 );
32922 }
32923}
32924
32925pub trait VmovshEmitter_2<A, B> {
32938 fn vmovsh_2(&mut self, op0: A, op1: B);
32939}
32940
32941impl<'a> VmovshEmitter_2<Xmm, Mem> for Assembler<'a> {
32942 fn vmovsh_2(&mut self, op0: Xmm, op1: Mem) {
32943 self.emit(VMOVSHRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
32944 }
32945}
32946
32947impl<'a> VmovshEmitter_2<Mem, Xmm> for Assembler<'a> {
32948 fn vmovsh_2(&mut self, op0: Mem, op1: Xmm) {
32949 self.emit(VMOVSHMR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
32950 }
32951}
32952
32953pub trait VmovshEmitter_3<A, B, C> {
32965 fn vmovsh_3(&mut self, op0: A, op1: B, op2: C);
32966}
32967
32968impl<'a> VmovshEmitter_3<Xmm, Xmm, Xmm> for Assembler<'a> {
32969 fn vmovsh_3(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
32970 self.emit(
32971 VMOVSHRRR,
32972 op0.as_operand(),
32973 op1.as_operand(),
32974 op2.as_operand(),
32975 &NOREG,
32976 );
32977 }
32978}
32979
32980pub trait VmovshMaskEmitter_2<A, B> {
32993 fn vmovsh_mask_2(&mut self, op0: A, op1: B);
32994}
32995
32996impl<'a> VmovshMaskEmitter_2<Xmm, Mem> for Assembler<'a> {
32997 fn vmovsh_mask_2(&mut self, op0: Xmm, op1: Mem) {
32998 self.emit(
32999 VMOVSHRM_MASK,
33000 op0.as_operand(),
33001 op1.as_operand(),
33002 &NOREG,
33003 &NOREG,
33004 );
33005 }
33006}
33007
33008impl<'a> VmovshMaskEmitter_2<Mem, Xmm> for Assembler<'a> {
33009 fn vmovsh_mask_2(&mut self, op0: Mem, op1: Xmm) {
33010 self.emit(
33011 VMOVSHMR_MASK,
33012 op0.as_operand(),
33013 op1.as_operand(),
33014 &NOREG,
33015 &NOREG,
33016 );
33017 }
33018}
33019
33020pub trait VmovshMaskEmitter_3<A, B, C> {
33032 fn vmovsh_mask_3(&mut self, op0: A, op1: B, op2: C);
33033}
33034
33035impl<'a> VmovshMaskEmitter_3<Xmm, Xmm, Xmm> for Assembler<'a> {
33036 fn vmovsh_mask_3(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33037 self.emit(
33038 VMOVSHRRR_MASK,
33039 op0.as_operand(),
33040 op1.as_operand(),
33041 op2.as_operand(),
33042 &NOREG,
33043 );
33044 }
33045}
33046
33047pub trait VmovshMaskzEmitter_2<A, B> {
33059 fn vmovsh_maskz_2(&mut self, op0: A, op1: B);
33060}
33061
33062impl<'a> VmovshMaskzEmitter_2<Xmm, Mem> for Assembler<'a> {
33063 fn vmovsh_maskz_2(&mut self, op0: Xmm, op1: Mem) {
33064 self.emit(
33065 VMOVSHRM_MASKZ,
33066 op0.as_operand(),
33067 op1.as_operand(),
33068 &NOREG,
33069 &NOREG,
33070 );
33071 }
33072}
33073
33074pub trait VmovshMaskzEmitter_3<A, B, C> {
33086 fn vmovsh_maskz_3(&mut self, op0: A, op1: B, op2: C);
33087}
33088
33089impl<'a> VmovshMaskzEmitter_3<Xmm, Xmm, Xmm> for Assembler<'a> {
33090 fn vmovsh_maskz_3(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33091 self.emit(
33092 VMOVSHRRR_MASKZ,
33093 op0.as_operand(),
33094 op1.as_operand(),
33095 op2.as_operand(),
33096 &NOREG,
33097 );
33098 }
33099}
33100
33101pub trait VmovwG2xEmitter<A, B> {
33114 fn vmovw_g2x(&mut self, op0: A, op1: B);
33115}
33116
33117impl<'a> VmovwG2xEmitter<Xmm, Gpd> for Assembler<'a> {
33118 fn vmovw_g2x(&mut self, op0: Xmm, op1: Gpd) {
33119 self.emit(
33120 VMOVW_G2XRR,
33121 op0.as_operand(),
33122 op1.as_operand(),
33123 &NOREG,
33124 &NOREG,
33125 );
33126 }
33127}
33128
33129impl<'a> VmovwG2xEmitter<Xmm, Mem> for Assembler<'a> {
33130 fn vmovw_g2x(&mut self, op0: Xmm, op1: Mem) {
33131 self.emit(
33132 VMOVW_G2XRM,
33133 op0.as_operand(),
33134 op1.as_operand(),
33135 &NOREG,
33136 &NOREG,
33137 );
33138 }
33139}
33140
33141pub trait VmovwX2gEmitter<A, B> {
33154 fn vmovw_x2g(&mut self, op0: A, op1: B);
33155}
33156
33157impl<'a> VmovwX2gEmitter<Gpd, Xmm> for Assembler<'a> {
33158 fn vmovw_x2g(&mut self, op0: Gpd, op1: Xmm) {
33159 self.emit(
33160 VMOVW_X2GRR,
33161 op0.as_operand(),
33162 op1.as_operand(),
33163 &NOREG,
33164 &NOREG,
33165 );
33166 }
33167}
33168
33169impl<'a> VmovwX2gEmitter<Mem, Xmm> for Assembler<'a> {
33170 fn vmovw_x2g(&mut self, op0: Mem, op1: Xmm) {
33171 self.emit(
33172 VMOVW_X2GMR,
33173 op0.as_operand(),
33174 op1.as_operand(),
33175 &NOREG,
33176 &NOREG,
33177 );
33178 }
33179}
33180
33181pub trait VmulphEmitter<A, B, C> {
33198 fn vmulph(&mut self, op0: A, op1: B, op2: C);
33199}
33200
33201impl<'a> VmulphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33202 fn vmulph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33203 self.emit(
33204 VMULPH128RRR,
33205 op0.as_operand(),
33206 op1.as_operand(),
33207 op2.as_operand(),
33208 &NOREG,
33209 );
33210 }
33211}
33212
33213impl<'a> VmulphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33214 fn vmulph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33215 self.emit(
33216 VMULPH128RRM,
33217 op0.as_operand(),
33218 op1.as_operand(),
33219 op2.as_operand(),
33220 &NOREG,
33221 );
33222 }
33223}
33224
33225impl<'a> VmulphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
33226 fn vmulph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
33227 self.emit(
33228 VMULPH256RRR,
33229 op0.as_operand(),
33230 op1.as_operand(),
33231 op2.as_operand(),
33232 &NOREG,
33233 );
33234 }
33235}
33236
33237impl<'a> VmulphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
33238 fn vmulph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
33239 self.emit(
33240 VMULPH256RRM,
33241 op0.as_operand(),
33242 op1.as_operand(),
33243 op2.as_operand(),
33244 &NOREG,
33245 );
33246 }
33247}
33248
33249impl<'a> VmulphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
33250 fn vmulph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
33251 self.emit(
33252 VMULPH512RRR,
33253 op0.as_operand(),
33254 op1.as_operand(),
33255 op2.as_operand(),
33256 &NOREG,
33257 );
33258 }
33259}
33260
33261impl<'a> VmulphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
33262 fn vmulph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
33263 self.emit(
33264 VMULPH512RRM,
33265 op0.as_operand(),
33266 op1.as_operand(),
33267 op2.as_operand(),
33268 &NOREG,
33269 );
33270 }
33271}
33272
33273pub trait VmulphErEmitter<A, B, C> {
33285 fn vmulph_er(&mut self, op0: A, op1: B, op2: C);
33286}
33287
33288impl<'a> VmulphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
33289 fn vmulph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
33290 self.emit(
33291 VMULPH512RRR_ER,
33292 op0.as_operand(),
33293 op1.as_operand(),
33294 op2.as_operand(),
33295 &NOREG,
33296 );
33297 }
33298}
33299
33300pub trait VmulphMaskEmitter<A, B, C> {
33317 fn vmulph_mask(&mut self, op0: A, op1: B, op2: C);
33318}
33319
33320impl<'a> VmulphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33321 fn vmulph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33322 self.emit(
33323 VMULPH128RRR_MASK,
33324 op0.as_operand(),
33325 op1.as_operand(),
33326 op2.as_operand(),
33327 &NOREG,
33328 );
33329 }
33330}
33331
33332impl<'a> VmulphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33333 fn vmulph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33334 self.emit(
33335 VMULPH128RRM_MASK,
33336 op0.as_operand(),
33337 op1.as_operand(),
33338 op2.as_operand(),
33339 &NOREG,
33340 );
33341 }
33342}
33343
33344impl<'a> VmulphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
33345 fn vmulph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
33346 self.emit(
33347 VMULPH256RRR_MASK,
33348 op0.as_operand(),
33349 op1.as_operand(),
33350 op2.as_operand(),
33351 &NOREG,
33352 );
33353 }
33354}
33355
33356impl<'a> VmulphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
33357 fn vmulph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
33358 self.emit(
33359 VMULPH256RRM_MASK,
33360 op0.as_operand(),
33361 op1.as_operand(),
33362 op2.as_operand(),
33363 &NOREG,
33364 );
33365 }
33366}
33367
33368impl<'a> VmulphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
33369 fn vmulph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
33370 self.emit(
33371 VMULPH512RRR_MASK,
33372 op0.as_operand(),
33373 op1.as_operand(),
33374 op2.as_operand(),
33375 &NOREG,
33376 );
33377 }
33378}
33379
33380impl<'a> VmulphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
33381 fn vmulph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
33382 self.emit(
33383 VMULPH512RRM_MASK,
33384 op0.as_operand(),
33385 op1.as_operand(),
33386 op2.as_operand(),
33387 &NOREG,
33388 );
33389 }
33390}
33391
33392pub trait VmulphMaskErEmitter<A, B, C> {
33404 fn vmulph_mask_er(&mut self, op0: A, op1: B, op2: C);
33405}
33406
33407impl<'a> VmulphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
33408 fn vmulph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
33409 self.emit(
33410 VMULPH512RRR_MASK_ER,
33411 op0.as_operand(),
33412 op1.as_operand(),
33413 op2.as_operand(),
33414 &NOREG,
33415 );
33416 }
33417}
33418
33419pub trait VmulphMaskzEmitter<A, B, C> {
33436 fn vmulph_maskz(&mut self, op0: A, op1: B, op2: C);
33437}
33438
33439impl<'a> VmulphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33440 fn vmulph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33441 self.emit(
33442 VMULPH128RRR_MASKZ,
33443 op0.as_operand(),
33444 op1.as_operand(),
33445 op2.as_operand(),
33446 &NOREG,
33447 );
33448 }
33449}
33450
33451impl<'a> VmulphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33452 fn vmulph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33453 self.emit(
33454 VMULPH128RRM_MASKZ,
33455 op0.as_operand(),
33456 op1.as_operand(),
33457 op2.as_operand(),
33458 &NOREG,
33459 );
33460 }
33461}
33462
33463impl<'a> VmulphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
33464 fn vmulph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
33465 self.emit(
33466 VMULPH256RRR_MASKZ,
33467 op0.as_operand(),
33468 op1.as_operand(),
33469 op2.as_operand(),
33470 &NOREG,
33471 );
33472 }
33473}
33474
33475impl<'a> VmulphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
33476 fn vmulph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
33477 self.emit(
33478 VMULPH256RRM_MASKZ,
33479 op0.as_operand(),
33480 op1.as_operand(),
33481 op2.as_operand(),
33482 &NOREG,
33483 );
33484 }
33485}
33486
33487impl<'a> VmulphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
33488 fn vmulph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
33489 self.emit(
33490 VMULPH512RRR_MASKZ,
33491 op0.as_operand(),
33492 op1.as_operand(),
33493 op2.as_operand(),
33494 &NOREG,
33495 );
33496 }
33497}
33498
33499impl<'a> VmulphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
33500 fn vmulph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
33501 self.emit(
33502 VMULPH512RRM_MASKZ,
33503 op0.as_operand(),
33504 op1.as_operand(),
33505 op2.as_operand(),
33506 &NOREG,
33507 );
33508 }
33509}
33510
33511pub trait VmulphMaskzErEmitter<A, B, C> {
33523 fn vmulph_maskz_er(&mut self, op0: A, op1: B, op2: C);
33524}
33525
33526impl<'a> VmulphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
33527 fn vmulph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
33528 self.emit(
33529 VMULPH512RRR_MASKZ_ER,
33530 op0.as_operand(),
33531 op1.as_operand(),
33532 op2.as_operand(),
33533 &NOREG,
33534 );
33535 }
33536}
33537
33538pub trait VmulshEmitter<A, B, C> {
33551 fn vmulsh(&mut self, op0: A, op1: B, op2: C);
33552}
33553
33554impl<'a> VmulshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33555 fn vmulsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33556 self.emit(
33557 VMULSHRRR,
33558 op0.as_operand(),
33559 op1.as_operand(),
33560 op2.as_operand(),
33561 &NOREG,
33562 );
33563 }
33564}
33565
33566impl<'a> VmulshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33567 fn vmulsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33568 self.emit(
33569 VMULSHRRM,
33570 op0.as_operand(),
33571 op1.as_operand(),
33572 op2.as_operand(),
33573 &NOREG,
33574 );
33575 }
33576}
33577
33578pub trait VmulshErEmitter<A, B, C> {
33590 fn vmulsh_er(&mut self, op0: A, op1: B, op2: C);
33591}
33592
33593impl<'a> VmulshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33594 fn vmulsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33595 self.emit(
33596 VMULSHRRR_ER,
33597 op0.as_operand(),
33598 op1.as_operand(),
33599 op2.as_operand(),
33600 &NOREG,
33601 );
33602 }
33603}
33604
33605pub trait VmulshMaskEmitter<A, B, C> {
33618 fn vmulsh_mask(&mut self, op0: A, op1: B, op2: C);
33619}
33620
33621impl<'a> VmulshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33622 fn vmulsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33623 self.emit(
33624 VMULSHRRR_MASK,
33625 op0.as_operand(),
33626 op1.as_operand(),
33627 op2.as_operand(),
33628 &NOREG,
33629 );
33630 }
33631}
33632
33633impl<'a> VmulshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33634 fn vmulsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33635 self.emit(
33636 VMULSHRRM_MASK,
33637 op0.as_operand(),
33638 op1.as_operand(),
33639 op2.as_operand(),
33640 &NOREG,
33641 );
33642 }
33643}
33644
33645pub trait VmulshMaskErEmitter<A, B, C> {
33657 fn vmulsh_mask_er(&mut self, op0: A, op1: B, op2: C);
33658}
33659
33660impl<'a> VmulshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33661 fn vmulsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33662 self.emit(
33663 VMULSHRRR_MASK_ER,
33664 op0.as_operand(),
33665 op1.as_operand(),
33666 op2.as_operand(),
33667 &NOREG,
33668 );
33669 }
33670}
33671
33672pub trait VmulshMaskzEmitter<A, B, C> {
33685 fn vmulsh_maskz(&mut self, op0: A, op1: B, op2: C);
33686}
33687
33688impl<'a> VmulshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33689 fn vmulsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33690 self.emit(
33691 VMULSHRRR_MASKZ,
33692 op0.as_operand(),
33693 op1.as_operand(),
33694 op2.as_operand(),
33695 &NOREG,
33696 );
33697 }
33698}
33699
33700impl<'a> VmulshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33701 fn vmulsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33702 self.emit(
33703 VMULSHRRM_MASKZ,
33704 op0.as_operand(),
33705 op1.as_operand(),
33706 op2.as_operand(),
33707 &NOREG,
33708 );
33709 }
33710}
33711
33712pub trait VmulshMaskzErEmitter<A, B, C> {
33724 fn vmulsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
33725}
33726
33727impl<'a> VmulshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33728 fn vmulsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33729 self.emit(
33730 VMULSHRRR_MASKZ_ER,
33731 op0.as_operand(),
33732 op1.as_operand(),
33733 op2.as_operand(),
33734 &NOREG,
33735 );
33736 }
33737}
33738
33739pub trait VpclmulqdqEmitter<A, B, C, D> {
33756 fn vpclmulqdq(&mut self, op0: A, op1: B, op2: C, op3: D);
33757}
33758
33759impl<'a> VpclmulqdqEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
33760 fn vpclmulqdq(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
33761 self.emit(
33762 VPCLMULQDQ128RRRI,
33763 op0.as_operand(),
33764 op1.as_operand(),
33765 op2.as_operand(),
33766 op3.as_operand(),
33767 );
33768 }
33769}
33770
33771impl<'a> VpclmulqdqEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
33772 fn vpclmulqdq(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
33773 self.emit(
33774 VPCLMULQDQ128RRMI,
33775 op0.as_operand(),
33776 op1.as_operand(),
33777 op2.as_operand(),
33778 op3.as_operand(),
33779 );
33780 }
33781}
33782
33783impl<'a> VpclmulqdqEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
33784 fn vpclmulqdq(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
33785 self.emit(
33786 VPCLMULQDQ256RRRI,
33787 op0.as_operand(),
33788 op1.as_operand(),
33789 op2.as_operand(),
33790 op3.as_operand(),
33791 );
33792 }
33793}
33794
33795impl<'a> VpclmulqdqEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
33796 fn vpclmulqdq(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
33797 self.emit(
33798 VPCLMULQDQ256RRMI,
33799 op0.as_operand(),
33800 op1.as_operand(),
33801 op2.as_operand(),
33802 op3.as_operand(),
33803 );
33804 }
33805}
33806
33807impl<'a> VpclmulqdqEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
33808 fn vpclmulqdq(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
33809 self.emit(
33810 VPCLMULQDQ512RRRI,
33811 op0.as_operand(),
33812 op1.as_operand(),
33813 op2.as_operand(),
33814 op3.as_operand(),
33815 );
33816 }
33817}
33818
33819impl<'a> VpclmulqdqEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
33820 fn vpclmulqdq(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
33821 self.emit(
33822 VPCLMULQDQ512RRMI,
33823 op0.as_operand(),
33824 op1.as_operand(),
33825 op2.as_operand(),
33826 op3.as_operand(),
33827 );
33828 }
33829}
33830
33831pub trait VpdpbssdEmitter<A, B, C> {
33846 fn vpdpbssd(&mut self, op0: A, op1: B, op2: C);
33847}
33848
33849impl<'a> VpdpbssdEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33850 fn vpdpbssd(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33851 self.emit(
33852 VPDPBSSD128RRR,
33853 op0.as_operand(),
33854 op1.as_operand(),
33855 op2.as_operand(),
33856 &NOREG,
33857 );
33858 }
33859}
33860
33861impl<'a> VpdpbssdEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33862 fn vpdpbssd(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33863 self.emit(
33864 VPDPBSSD128RRM,
33865 op0.as_operand(),
33866 op1.as_operand(),
33867 op2.as_operand(),
33868 &NOREG,
33869 );
33870 }
33871}
33872
33873impl<'a> VpdpbssdEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
33874 fn vpdpbssd(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
33875 self.emit(
33876 VPDPBSSD256RRR,
33877 op0.as_operand(),
33878 op1.as_operand(),
33879 op2.as_operand(),
33880 &NOREG,
33881 );
33882 }
33883}
33884
33885impl<'a> VpdpbssdEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
33886 fn vpdpbssd(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
33887 self.emit(
33888 VPDPBSSD256RRM,
33889 op0.as_operand(),
33890 op1.as_operand(),
33891 op2.as_operand(),
33892 &NOREG,
33893 );
33894 }
33895}
33896
33897pub trait VpdpbssdsEmitter<A, B, C> {
33912 fn vpdpbssds(&mut self, op0: A, op1: B, op2: C);
33913}
33914
33915impl<'a> VpdpbssdsEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33916 fn vpdpbssds(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33917 self.emit(
33918 VPDPBSSDS128RRR,
33919 op0.as_operand(),
33920 op1.as_operand(),
33921 op2.as_operand(),
33922 &NOREG,
33923 );
33924 }
33925}
33926
33927impl<'a> VpdpbssdsEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33928 fn vpdpbssds(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33929 self.emit(
33930 VPDPBSSDS128RRM,
33931 op0.as_operand(),
33932 op1.as_operand(),
33933 op2.as_operand(),
33934 &NOREG,
33935 );
33936 }
33937}
33938
33939impl<'a> VpdpbssdsEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
33940 fn vpdpbssds(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
33941 self.emit(
33942 VPDPBSSDS256RRR,
33943 op0.as_operand(),
33944 op1.as_operand(),
33945 op2.as_operand(),
33946 &NOREG,
33947 );
33948 }
33949}
33950
33951impl<'a> VpdpbssdsEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
33952 fn vpdpbssds(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
33953 self.emit(
33954 VPDPBSSDS256RRM,
33955 op0.as_operand(),
33956 op1.as_operand(),
33957 op2.as_operand(),
33958 &NOREG,
33959 );
33960 }
33961}
33962
33963pub trait VpdpbsudEmitter<A, B, C> {
33978 fn vpdpbsud(&mut self, op0: A, op1: B, op2: C);
33979}
33980
33981impl<'a> VpdpbsudEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
33982 fn vpdpbsud(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
33983 self.emit(
33984 VPDPBSUD128RRR,
33985 op0.as_operand(),
33986 op1.as_operand(),
33987 op2.as_operand(),
33988 &NOREG,
33989 );
33990 }
33991}
33992
33993impl<'a> VpdpbsudEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
33994 fn vpdpbsud(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
33995 self.emit(
33996 VPDPBSUD128RRM,
33997 op0.as_operand(),
33998 op1.as_operand(),
33999 op2.as_operand(),
34000 &NOREG,
34001 );
34002 }
34003}
34004
34005impl<'a> VpdpbsudEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
34006 fn vpdpbsud(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
34007 self.emit(
34008 VPDPBSUD256RRR,
34009 op0.as_operand(),
34010 op1.as_operand(),
34011 op2.as_operand(),
34012 &NOREG,
34013 );
34014 }
34015}
34016
34017impl<'a> VpdpbsudEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
34018 fn vpdpbsud(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
34019 self.emit(
34020 VPDPBSUD256RRM,
34021 op0.as_operand(),
34022 op1.as_operand(),
34023 op2.as_operand(),
34024 &NOREG,
34025 );
34026 }
34027}
34028
34029pub trait VpdpbsudsEmitter<A, B, C> {
34044 fn vpdpbsuds(&mut self, op0: A, op1: B, op2: C);
34045}
34046
34047impl<'a> VpdpbsudsEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
34048 fn vpdpbsuds(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
34049 self.emit(
34050 VPDPBSUDS128RRR,
34051 op0.as_operand(),
34052 op1.as_operand(),
34053 op2.as_operand(),
34054 &NOREG,
34055 );
34056 }
34057}
34058
34059impl<'a> VpdpbsudsEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
34060 fn vpdpbsuds(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
34061 self.emit(
34062 VPDPBSUDS128RRM,
34063 op0.as_operand(),
34064 op1.as_operand(),
34065 op2.as_operand(),
34066 &NOREG,
34067 );
34068 }
34069}
34070
34071impl<'a> VpdpbsudsEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
34072 fn vpdpbsuds(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
34073 self.emit(
34074 VPDPBSUDS256RRR,
34075 op0.as_operand(),
34076 op1.as_operand(),
34077 op2.as_operand(),
34078 &NOREG,
34079 );
34080 }
34081}
34082
34083impl<'a> VpdpbsudsEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
34084 fn vpdpbsuds(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
34085 self.emit(
34086 VPDPBSUDS256RRM,
34087 op0.as_operand(),
34088 op1.as_operand(),
34089 op2.as_operand(),
34090 &NOREG,
34091 );
34092 }
34093}
34094
34095pub trait VpdpbuudEmitter<A, B, C> {
34110 fn vpdpbuud(&mut self, op0: A, op1: B, op2: C);
34111}
34112
34113impl<'a> VpdpbuudEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
34114 fn vpdpbuud(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
34115 self.emit(
34116 VPDPBUUD128RRR,
34117 op0.as_operand(),
34118 op1.as_operand(),
34119 op2.as_operand(),
34120 &NOREG,
34121 );
34122 }
34123}
34124
34125impl<'a> VpdpbuudEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
34126 fn vpdpbuud(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
34127 self.emit(
34128 VPDPBUUD128RRM,
34129 op0.as_operand(),
34130 op1.as_operand(),
34131 op2.as_operand(),
34132 &NOREG,
34133 );
34134 }
34135}
34136
34137impl<'a> VpdpbuudEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
34138 fn vpdpbuud(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
34139 self.emit(
34140 VPDPBUUD256RRR,
34141 op0.as_operand(),
34142 op1.as_operand(),
34143 op2.as_operand(),
34144 &NOREG,
34145 );
34146 }
34147}
34148
34149impl<'a> VpdpbuudEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
34150 fn vpdpbuud(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
34151 self.emit(
34152 VPDPBUUD256RRM,
34153 op0.as_operand(),
34154 op1.as_operand(),
34155 op2.as_operand(),
34156 &NOREG,
34157 );
34158 }
34159}
34160
34161pub trait VpdpbuudsEmitter<A, B, C> {
34176 fn vpdpbuuds(&mut self, op0: A, op1: B, op2: C);
34177}
34178
34179impl<'a> VpdpbuudsEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
34180 fn vpdpbuuds(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
34181 self.emit(
34182 VPDPBUUDS128RRR,
34183 op0.as_operand(),
34184 op1.as_operand(),
34185 op2.as_operand(),
34186 &NOREG,
34187 );
34188 }
34189}
34190
34191impl<'a> VpdpbuudsEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
34192 fn vpdpbuuds(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
34193 self.emit(
34194 VPDPBUUDS128RRM,
34195 op0.as_operand(),
34196 op1.as_operand(),
34197 op2.as_operand(),
34198 &NOREG,
34199 );
34200 }
34201}
34202
34203impl<'a> VpdpbuudsEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
34204 fn vpdpbuuds(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
34205 self.emit(
34206 VPDPBUUDS256RRR,
34207 op0.as_operand(),
34208 op1.as_operand(),
34209 op2.as_operand(),
34210 &NOREG,
34211 );
34212 }
34213}
34214
34215impl<'a> VpdpbuudsEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
34216 fn vpdpbuuds(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
34217 self.emit(
34218 VPDPBUUDS256RRM,
34219 op0.as_operand(),
34220 op1.as_operand(),
34221 op2.as_operand(),
34222 &NOREG,
34223 );
34224 }
34225}
34226
34227pub trait VrcpphEmitter<A, B> {
34244 fn vrcpph(&mut self, op0: A, op1: B);
34245}
34246
34247impl<'a> VrcpphEmitter<Xmm, Xmm> for Assembler<'a> {
34248 fn vrcpph(&mut self, op0: Xmm, op1: Xmm) {
34249 self.emit(
34250 VRCPPH128RR,
34251 op0.as_operand(),
34252 op1.as_operand(),
34253 &NOREG,
34254 &NOREG,
34255 );
34256 }
34257}
34258
34259impl<'a> VrcpphEmitter<Xmm, Mem> for Assembler<'a> {
34260 fn vrcpph(&mut self, op0: Xmm, op1: Mem) {
34261 self.emit(
34262 VRCPPH128RM,
34263 op0.as_operand(),
34264 op1.as_operand(),
34265 &NOREG,
34266 &NOREG,
34267 );
34268 }
34269}
34270
34271impl<'a> VrcpphEmitter<Ymm, Ymm> for Assembler<'a> {
34272 fn vrcpph(&mut self, op0: Ymm, op1: Ymm) {
34273 self.emit(
34274 VRCPPH256RR,
34275 op0.as_operand(),
34276 op1.as_operand(),
34277 &NOREG,
34278 &NOREG,
34279 );
34280 }
34281}
34282
34283impl<'a> VrcpphEmitter<Ymm, Mem> for Assembler<'a> {
34284 fn vrcpph(&mut self, op0: Ymm, op1: Mem) {
34285 self.emit(
34286 VRCPPH256RM,
34287 op0.as_operand(),
34288 op1.as_operand(),
34289 &NOREG,
34290 &NOREG,
34291 );
34292 }
34293}
34294
34295impl<'a> VrcpphEmitter<Zmm, Zmm> for Assembler<'a> {
34296 fn vrcpph(&mut self, op0: Zmm, op1: Zmm) {
34297 self.emit(
34298 VRCPPH512RR,
34299 op0.as_operand(),
34300 op1.as_operand(),
34301 &NOREG,
34302 &NOREG,
34303 );
34304 }
34305}
34306
34307impl<'a> VrcpphEmitter<Zmm, Mem> for Assembler<'a> {
34308 fn vrcpph(&mut self, op0: Zmm, op1: Mem) {
34309 self.emit(
34310 VRCPPH512RM,
34311 op0.as_operand(),
34312 op1.as_operand(),
34313 &NOREG,
34314 &NOREG,
34315 );
34316 }
34317}
34318
34319pub trait VrcpphMaskEmitter<A, B> {
34336 fn vrcpph_mask(&mut self, op0: A, op1: B);
34337}
34338
34339impl<'a> VrcpphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
34340 fn vrcpph_mask(&mut self, op0: Xmm, op1: Xmm) {
34341 self.emit(
34342 VRCPPH128RR_MASK,
34343 op0.as_operand(),
34344 op1.as_operand(),
34345 &NOREG,
34346 &NOREG,
34347 );
34348 }
34349}
34350
34351impl<'a> VrcpphMaskEmitter<Xmm, Mem> for Assembler<'a> {
34352 fn vrcpph_mask(&mut self, op0: Xmm, op1: Mem) {
34353 self.emit(
34354 VRCPPH128RM_MASK,
34355 op0.as_operand(),
34356 op1.as_operand(),
34357 &NOREG,
34358 &NOREG,
34359 );
34360 }
34361}
34362
34363impl<'a> VrcpphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
34364 fn vrcpph_mask(&mut self, op0: Ymm, op1: Ymm) {
34365 self.emit(
34366 VRCPPH256RR_MASK,
34367 op0.as_operand(),
34368 op1.as_operand(),
34369 &NOREG,
34370 &NOREG,
34371 );
34372 }
34373}
34374
34375impl<'a> VrcpphMaskEmitter<Ymm, Mem> for Assembler<'a> {
34376 fn vrcpph_mask(&mut self, op0: Ymm, op1: Mem) {
34377 self.emit(
34378 VRCPPH256RM_MASK,
34379 op0.as_operand(),
34380 op1.as_operand(),
34381 &NOREG,
34382 &NOREG,
34383 );
34384 }
34385}
34386
34387impl<'a> VrcpphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
34388 fn vrcpph_mask(&mut self, op0: Zmm, op1: Zmm) {
34389 self.emit(
34390 VRCPPH512RR_MASK,
34391 op0.as_operand(),
34392 op1.as_operand(),
34393 &NOREG,
34394 &NOREG,
34395 );
34396 }
34397}
34398
34399impl<'a> VrcpphMaskEmitter<Zmm, Mem> for Assembler<'a> {
34400 fn vrcpph_mask(&mut self, op0: Zmm, op1: Mem) {
34401 self.emit(
34402 VRCPPH512RM_MASK,
34403 op0.as_operand(),
34404 op1.as_operand(),
34405 &NOREG,
34406 &NOREG,
34407 );
34408 }
34409}
34410
34411pub trait VrcpphMaskzEmitter<A, B> {
34428 fn vrcpph_maskz(&mut self, op0: A, op1: B);
34429}
34430
34431impl<'a> VrcpphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
34432 fn vrcpph_maskz(&mut self, op0: Xmm, op1: Xmm) {
34433 self.emit(
34434 VRCPPH128RR_MASKZ,
34435 op0.as_operand(),
34436 op1.as_operand(),
34437 &NOREG,
34438 &NOREG,
34439 );
34440 }
34441}
34442
34443impl<'a> VrcpphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
34444 fn vrcpph_maskz(&mut self, op0: Xmm, op1: Mem) {
34445 self.emit(
34446 VRCPPH128RM_MASKZ,
34447 op0.as_operand(),
34448 op1.as_operand(),
34449 &NOREG,
34450 &NOREG,
34451 );
34452 }
34453}
34454
34455impl<'a> VrcpphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
34456 fn vrcpph_maskz(&mut self, op0: Ymm, op1: Ymm) {
34457 self.emit(
34458 VRCPPH256RR_MASKZ,
34459 op0.as_operand(),
34460 op1.as_operand(),
34461 &NOREG,
34462 &NOREG,
34463 );
34464 }
34465}
34466
34467impl<'a> VrcpphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
34468 fn vrcpph_maskz(&mut self, op0: Ymm, op1: Mem) {
34469 self.emit(
34470 VRCPPH256RM_MASKZ,
34471 op0.as_operand(),
34472 op1.as_operand(),
34473 &NOREG,
34474 &NOREG,
34475 );
34476 }
34477}
34478
34479impl<'a> VrcpphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
34480 fn vrcpph_maskz(&mut self, op0: Zmm, op1: Zmm) {
34481 self.emit(
34482 VRCPPH512RR_MASKZ,
34483 op0.as_operand(),
34484 op1.as_operand(),
34485 &NOREG,
34486 &NOREG,
34487 );
34488 }
34489}
34490
34491impl<'a> VrcpphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
34492 fn vrcpph_maskz(&mut self, op0: Zmm, op1: Mem) {
34493 self.emit(
34494 VRCPPH512RM_MASKZ,
34495 op0.as_operand(),
34496 op1.as_operand(),
34497 &NOREG,
34498 &NOREG,
34499 );
34500 }
34501}
34502
34503pub trait VrcpshEmitter<A, B, C> {
34516 fn vrcpsh(&mut self, op0: A, op1: B, op2: C);
34517}
34518
34519impl<'a> VrcpshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
34520 fn vrcpsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
34521 self.emit(
34522 VRCPSHRRR,
34523 op0.as_operand(),
34524 op1.as_operand(),
34525 op2.as_operand(),
34526 &NOREG,
34527 );
34528 }
34529}
34530
34531impl<'a> VrcpshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
34532 fn vrcpsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
34533 self.emit(
34534 VRCPSHRRM,
34535 op0.as_operand(),
34536 op1.as_operand(),
34537 op2.as_operand(),
34538 &NOREG,
34539 );
34540 }
34541}
34542
34543pub trait VrcpshMaskEmitter<A, B, C> {
34556 fn vrcpsh_mask(&mut self, op0: A, op1: B, op2: C);
34557}
34558
34559impl<'a> VrcpshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
34560 fn vrcpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
34561 self.emit(
34562 VRCPSHRRR_MASK,
34563 op0.as_operand(),
34564 op1.as_operand(),
34565 op2.as_operand(),
34566 &NOREG,
34567 );
34568 }
34569}
34570
34571impl<'a> VrcpshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
34572 fn vrcpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
34573 self.emit(
34574 VRCPSHRRM_MASK,
34575 op0.as_operand(),
34576 op1.as_operand(),
34577 op2.as_operand(),
34578 &NOREG,
34579 );
34580 }
34581}
34582
34583pub trait VrcpshMaskzEmitter<A, B, C> {
34596 fn vrcpsh_maskz(&mut self, op0: A, op1: B, op2: C);
34597}
34598
34599impl<'a> VrcpshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
34600 fn vrcpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
34601 self.emit(
34602 VRCPSHRRR_MASKZ,
34603 op0.as_operand(),
34604 op1.as_operand(),
34605 op2.as_operand(),
34606 &NOREG,
34607 );
34608 }
34609}
34610
34611impl<'a> VrcpshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
34612 fn vrcpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
34613 self.emit(
34614 VRCPSHRRM_MASKZ,
34615 op0.as_operand(),
34616 op1.as_operand(),
34617 op2.as_operand(),
34618 &NOREG,
34619 );
34620 }
34621}
34622
34623pub trait VreducephEmitter<A, B, C> {
34640 fn vreduceph(&mut self, op0: A, op1: B, op2: C);
34641}
34642
34643impl<'a> VreducephEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
34644 fn vreduceph(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
34645 self.emit(
34646 VREDUCEPH128RRI,
34647 op0.as_operand(),
34648 op1.as_operand(),
34649 op2.as_operand(),
34650 &NOREG,
34651 );
34652 }
34653}
34654
34655impl<'a> VreducephEmitter<Xmm, Mem, Imm> for Assembler<'a> {
34656 fn vreduceph(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
34657 self.emit(
34658 VREDUCEPH128RMI,
34659 op0.as_operand(),
34660 op1.as_operand(),
34661 op2.as_operand(),
34662 &NOREG,
34663 );
34664 }
34665}
34666
34667impl<'a> VreducephEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
34668 fn vreduceph(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
34669 self.emit(
34670 VREDUCEPH256RRI,
34671 op0.as_operand(),
34672 op1.as_operand(),
34673 op2.as_operand(),
34674 &NOREG,
34675 );
34676 }
34677}
34678
34679impl<'a> VreducephEmitter<Ymm, Mem, Imm> for Assembler<'a> {
34680 fn vreduceph(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
34681 self.emit(
34682 VREDUCEPH256RMI,
34683 op0.as_operand(),
34684 op1.as_operand(),
34685 op2.as_operand(),
34686 &NOREG,
34687 );
34688 }
34689}
34690
34691impl<'a> VreducephEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
34692 fn vreduceph(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
34693 self.emit(
34694 VREDUCEPH512RRI,
34695 op0.as_operand(),
34696 op1.as_operand(),
34697 op2.as_operand(),
34698 &NOREG,
34699 );
34700 }
34701}
34702
34703impl<'a> VreducephEmitter<Zmm, Mem, Imm> for Assembler<'a> {
34704 fn vreduceph(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
34705 self.emit(
34706 VREDUCEPH512RMI,
34707 op0.as_operand(),
34708 op1.as_operand(),
34709 op2.as_operand(),
34710 &NOREG,
34711 );
34712 }
34713}
34714
34715pub trait VreducephMaskEmitter<A, B, C> {
34732 fn vreduceph_mask(&mut self, op0: A, op1: B, op2: C);
34733}
34734
34735impl<'a> VreducephMaskEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
34736 fn vreduceph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
34737 self.emit(
34738 VREDUCEPH128RRI_MASK,
34739 op0.as_operand(),
34740 op1.as_operand(),
34741 op2.as_operand(),
34742 &NOREG,
34743 );
34744 }
34745}
34746
34747impl<'a> VreducephMaskEmitter<Xmm, Mem, Imm> for Assembler<'a> {
34748 fn vreduceph_mask(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
34749 self.emit(
34750 VREDUCEPH128RMI_MASK,
34751 op0.as_operand(),
34752 op1.as_operand(),
34753 op2.as_operand(),
34754 &NOREG,
34755 );
34756 }
34757}
34758
34759impl<'a> VreducephMaskEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
34760 fn vreduceph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
34761 self.emit(
34762 VREDUCEPH256RRI_MASK,
34763 op0.as_operand(),
34764 op1.as_operand(),
34765 op2.as_operand(),
34766 &NOREG,
34767 );
34768 }
34769}
34770
34771impl<'a> VreducephMaskEmitter<Ymm, Mem, Imm> for Assembler<'a> {
34772 fn vreduceph_mask(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
34773 self.emit(
34774 VREDUCEPH256RMI_MASK,
34775 op0.as_operand(),
34776 op1.as_operand(),
34777 op2.as_operand(),
34778 &NOREG,
34779 );
34780 }
34781}
34782
34783impl<'a> VreducephMaskEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
34784 fn vreduceph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
34785 self.emit(
34786 VREDUCEPH512RRI_MASK,
34787 op0.as_operand(),
34788 op1.as_operand(),
34789 op2.as_operand(),
34790 &NOREG,
34791 );
34792 }
34793}
34794
34795impl<'a> VreducephMaskEmitter<Zmm, Mem, Imm> for Assembler<'a> {
34796 fn vreduceph_mask(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
34797 self.emit(
34798 VREDUCEPH512RMI_MASK,
34799 op0.as_operand(),
34800 op1.as_operand(),
34801 op2.as_operand(),
34802 &NOREG,
34803 );
34804 }
34805}
34806
34807pub trait VreducephMaskSaeEmitter<A, B, C> {
34819 fn vreduceph_mask_sae(&mut self, op0: A, op1: B, op2: C);
34820}
34821
34822impl<'a> VreducephMaskSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
34823 fn vreduceph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
34824 self.emit(
34825 VREDUCEPH512RRI_MASK_SAE,
34826 op0.as_operand(),
34827 op1.as_operand(),
34828 op2.as_operand(),
34829 &NOREG,
34830 );
34831 }
34832}
34833
34834pub trait VreducephMaskzEmitter<A, B, C> {
34851 fn vreduceph_maskz(&mut self, op0: A, op1: B, op2: C);
34852}
34853
34854impl<'a> VreducephMaskzEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
34855 fn vreduceph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
34856 self.emit(
34857 VREDUCEPH128RRI_MASKZ,
34858 op0.as_operand(),
34859 op1.as_operand(),
34860 op2.as_operand(),
34861 &NOREG,
34862 );
34863 }
34864}
34865
34866impl<'a> VreducephMaskzEmitter<Xmm, Mem, Imm> for Assembler<'a> {
34867 fn vreduceph_maskz(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
34868 self.emit(
34869 VREDUCEPH128RMI_MASKZ,
34870 op0.as_operand(),
34871 op1.as_operand(),
34872 op2.as_operand(),
34873 &NOREG,
34874 );
34875 }
34876}
34877
34878impl<'a> VreducephMaskzEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
34879 fn vreduceph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
34880 self.emit(
34881 VREDUCEPH256RRI_MASKZ,
34882 op0.as_operand(),
34883 op1.as_operand(),
34884 op2.as_operand(),
34885 &NOREG,
34886 );
34887 }
34888}
34889
34890impl<'a> VreducephMaskzEmitter<Ymm, Mem, Imm> for Assembler<'a> {
34891 fn vreduceph_maskz(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
34892 self.emit(
34893 VREDUCEPH256RMI_MASKZ,
34894 op0.as_operand(),
34895 op1.as_operand(),
34896 op2.as_operand(),
34897 &NOREG,
34898 );
34899 }
34900}
34901
34902impl<'a> VreducephMaskzEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
34903 fn vreduceph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
34904 self.emit(
34905 VREDUCEPH512RRI_MASKZ,
34906 op0.as_operand(),
34907 op1.as_operand(),
34908 op2.as_operand(),
34909 &NOREG,
34910 );
34911 }
34912}
34913
34914impl<'a> VreducephMaskzEmitter<Zmm, Mem, Imm> for Assembler<'a> {
34915 fn vreduceph_maskz(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
34916 self.emit(
34917 VREDUCEPH512RMI_MASKZ,
34918 op0.as_operand(),
34919 op1.as_operand(),
34920 op2.as_operand(),
34921 &NOREG,
34922 );
34923 }
34924}
34925
34926pub trait VreducephMaskzSaeEmitter<A, B, C> {
34938 fn vreduceph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
34939}
34940
34941impl<'a> VreducephMaskzSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
34942 fn vreduceph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
34943 self.emit(
34944 VREDUCEPH512RRI_MASKZ_SAE,
34945 op0.as_operand(),
34946 op1.as_operand(),
34947 op2.as_operand(),
34948 &NOREG,
34949 );
34950 }
34951}
34952
34953pub trait VreducephSaeEmitter<A, B, C> {
34965 fn vreduceph_sae(&mut self, op0: A, op1: B, op2: C);
34966}
34967
34968impl<'a> VreducephSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
34969 fn vreduceph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
34970 self.emit(
34971 VREDUCEPH512RRI_SAE,
34972 op0.as_operand(),
34973 op1.as_operand(),
34974 op2.as_operand(),
34975 &NOREG,
34976 );
34977 }
34978}
34979
34980pub trait VreduceshEmitter<A, B, C, D> {
34993 fn vreducesh(&mut self, op0: A, op1: B, op2: C, op3: D);
34994}
34995
34996impl<'a> VreduceshEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
34997 fn vreducesh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
34998 self.emit(
34999 VREDUCESHRRRI,
35000 op0.as_operand(),
35001 op1.as_operand(),
35002 op2.as_operand(),
35003 op3.as_operand(),
35004 );
35005 }
35006}
35007
35008impl<'a> VreduceshEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
35009 fn vreducesh(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
35010 self.emit(
35011 VREDUCESHRRMI,
35012 op0.as_operand(),
35013 op1.as_operand(),
35014 op2.as_operand(),
35015 op3.as_operand(),
35016 );
35017 }
35018}
35019
35020pub trait VreduceshMaskEmitter<A, B, C, D> {
35033 fn vreducesh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
35034}
35035
35036impl<'a> VreduceshMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35037 fn vreducesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35038 self.emit(
35039 VREDUCESHRRRI_MASK,
35040 op0.as_operand(),
35041 op1.as_operand(),
35042 op2.as_operand(),
35043 op3.as_operand(),
35044 );
35045 }
35046}
35047
35048impl<'a> VreduceshMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
35049 fn vreducesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
35050 self.emit(
35051 VREDUCESHRRMI_MASK,
35052 op0.as_operand(),
35053 op1.as_operand(),
35054 op2.as_operand(),
35055 op3.as_operand(),
35056 );
35057 }
35058}
35059
35060pub trait VreduceshMaskSaeEmitter<A, B, C, D> {
35072 fn vreducesh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
35073}
35074
35075impl<'a> VreduceshMaskSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35076 fn vreducesh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35077 self.emit(
35078 VREDUCESHRRRI_MASK_SAE,
35079 op0.as_operand(),
35080 op1.as_operand(),
35081 op2.as_operand(),
35082 op3.as_operand(),
35083 );
35084 }
35085}
35086
35087pub trait VreduceshMaskzEmitter<A, B, C, D> {
35100 fn vreducesh_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
35101}
35102
35103impl<'a> VreduceshMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35104 fn vreducesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35105 self.emit(
35106 VREDUCESHRRRI_MASKZ,
35107 op0.as_operand(),
35108 op1.as_operand(),
35109 op2.as_operand(),
35110 op3.as_operand(),
35111 );
35112 }
35113}
35114
35115impl<'a> VreduceshMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
35116 fn vreducesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
35117 self.emit(
35118 VREDUCESHRRMI_MASKZ,
35119 op0.as_operand(),
35120 op1.as_operand(),
35121 op2.as_operand(),
35122 op3.as_operand(),
35123 );
35124 }
35125}
35126
35127pub trait VreduceshMaskzSaeEmitter<A, B, C, D> {
35139 fn vreducesh_maskz_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
35140}
35141
35142impl<'a> VreduceshMaskzSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35143 fn vreducesh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35144 self.emit(
35145 VREDUCESHRRRI_MASKZ_SAE,
35146 op0.as_operand(),
35147 op1.as_operand(),
35148 op2.as_operand(),
35149 op3.as_operand(),
35150 );
35151 }
35152}
35153
35154pub trait VreduceshSaeEmitter<A, B, C, D> {
35166 fn vreducesh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
35167}
35168
35169impl<'a> VreduceshSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35170 fn vreducesh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35171 self.emit(
35172 VREDUCESHRRRI_SAE,
35173 op0.as_operand(),
35174 op1.as_operand(),
35175 op2.as_operand(),
35176 op3.as_operand(),
35177 );
35178 }
35179}
35180
35181pub trait VrndscalephEmitter<A, B, C> {
35198 fn vrndscaleph(&mut self, op0: A, op1: B, op2: C);
35199}
35200
35201impl<'a> VrndscalephEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
35202 fn vrndscaleph(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
35203 self.emit(
35204 VRNDSCALEPH128RRI,
35205 op0.as_operand(),
35206 op1.as_operand(),
35207 op2.as_operand(),
35208 &NOREG,
35209 );
35210 }
35211}
35212
35213impl<'a> VrndscalephEmitter<Xmm, Mem, Imm> for Assembler<'a> {
35214 fn vrndscaleph(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
35215 self.emit(
35216 VRNDSCALEPH128RMI,
35217 op0.as_operand(),
35218 op1.as_operand(),
35219 op2.as_operand(),
35220 &NOREG,
35221 );
35222 }
35223}
35224
35225impl<'a> VrndscalephEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
35226 fn vrndscaleph(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
35227 self.emit(
35228 VRNDSCALEPH256RRI,
35229 op0.as_operand(),
35230 op1.as_operand(),
35231 op2.as_operand(),
35232 &NOREG,
35233 );
35234 }
35235}
35236
35237impl<'a> VrndscalephEmitter<Ymm, Mem, Imm> for Assembler<'a> {
35238 fn vrndscaleph(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
35239 self.emit(
35240 VRNDSCALEPH256RMI,
35241 op0.as_operand(),
35242 op1.as_operand(),
35243 op2.as_operand(),
35244 &NOREG,
35245 );
35246 }
35247}
35248
35249impl<'a> VrndscalephEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
35250 fn vrndscaleph(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
35251 self.emit(
35252 VRNDSCALEPH512RRI,
35253 op0.as_operand(),
35254 op1.as_operand(),
35255 op2.as_operand(),
35256 &NOREG,
35257 );
35258 }
35259}
35260
35261impl<'a> VrndscalephEmitter<Zmm, Mem, Imm> for Assembler<'a> {
35262 fn vrndscaleph(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
35263 self.emit(
35264 VRNDSCALEPH512RMI,
35265 op0.as_operand(),
35266 op1.as_operand(),
35267 op2.as_operand(),
35268 &NOREG,
35269 );
35270 }
35271}
35272
35273pub trait VrndscalephMaskEmitter<A, B, C> {
35290 fn vrndscaleph_mask(&mut self, op0: A, op1: B, op2: C);
35291}
35292
35293impl<'a> VrndscalephMaskEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
35294 fn vrndscaleph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
35295 self.emit(
35296 VRNDSCALEPH128RRI_MASK,
35297 op0.as_operand(),
35298 op1.as_operand(),
35299 op2.as_operand(),
35300 &NOREG,
35301 );
35302 }
35303}
35304
35305impl<'a> VrndscalephMaskEmitter<Xmm, Mem, Imm> for Assembler<'a> {
35306 fn vrndscaleph_mask(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
35307 self.emit(
35308 VRNDSCALEPH128RMI_MASK,
35309 op0.as_operand(),
35310 op1.as_operand(),
35311 op2.as_operand(),
35312 &NOREG,
35313 );
35314 }
35315}
35316
35317impl<'a> VrndscalephMaskEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
35318 fn vrndscaleph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
35319 self.emit(
35320 VRNDSCALEPH256RRI_MASK,
35321 op0.as_operand(),
35322 op1.as_operand(),
35323 op2.as_operand(),
35324 &NOREG,
35325 );
35326 }
35327}
35328
35329impl<'a> VrndscalephMaskEmitter<Ymm, Mem, Imm> for Assembler<'a> {
35330 fn vrndscaleph_mask(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
35331 self.emit(
35332 VRNDSCALEPH256RMI_MASK,
35333 op0.as_operand(),
35334 op1.as_operand(),
35335 op2.as_operand(),
35336 &NOREG,
35337 );
35338 }
35339}
35340
35341impl<'a> VrndscalephMaskEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
35342 fn vrndscaleph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
35343 self.emit(
35344 VRNDSCALEPH512RRI_MASK,
35345 op0.as_operand(),
35346 op1.as_operand(),
35347 op2.as_operand(),
35348 &NOREG,
35349 );
35350 }
35351}
35352
35353impl<'a> VrndscalephMaskEmitter<Zmm, Mem, Imm> for Assembler<'a> {
35354 fn vrndscaleph_mask(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
35355 self.emit(
35356 VRNDSCALEPH512RMI_MASK,
35357 op0.as_operand(),
35358 op1.as_operand(),
35359 op2.as_operand(),
35360 &NOREG,
35361 );
35362 }
35363}
35364
35365pub trait VrndscalephMaskSaeEmitter<A, B, C> {
35377 fn vrndscaleph_mask_sae(&mut self, op0: A, op1: B, op2: C);
35378}
35379
35380impl<'a> VrndscalephMaskSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
35381 fn vrndscaleph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
35382 self.emit(
35383 VRNDSCALEPH512RRI_MASK_SAE,
35384 op0.as_operand(),
35385 op1.as_operand(),
35386 op2.as_operand(),
35387 &NOREG,
35388 );
35389 }
35390}
35391
35392pub trait VrndscalephMaskzEmitter<A, B, C> {
35409 fn vrndscaleph_maskz(&mut self, op0: A, op1: B, op2: C);
35410}
35411
35412impl<'a> VrndscalephMaskzEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
35413 fn vrndscaleph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
35414 self.emit(
35415 VRNDSCALEPH128RRI_MASKZ,
35416 op0.as_operand(),
35417 op1.as_operand(),
35418 op2.as_operand(),
35419 &NOREG,
35420 );
35421 }
35422}
35423
35424impl<'a> VrndscalephMaskzEmitter<Xmm, Mem, Imm> for Assembler<'a> {
35425 fn vrndscaleph_maskz(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
35426 self.emit(
35427 VRNDSCALEPH128RMI_MASKZ,
35428 op0.as_operand(),
35429 op1.as_operand(),
35430 op2.as_operand(),
35431 &NOREG,
35432 );
35433 }
35434}
35435
35436impl<'a> VrndscalephMaskzEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
35437 fn vrndscaleph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
35438 self.emit(
35439 VRNDSCALEPH256RRI_MASKZ,
35440 op0.as_operand(),
35441 op1.as_operand(),
35442 op2.as_operand(),
35443 &NOREG,
35444 );
35445 }
35446}
35447
35448impl<'a> VrndscalephMaskzEmitter<Ymm, Mem, Imm> for Assembler<'a> {
35449 fn vrndscaleph_maskz(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
35450 self.emit(
35451 VRNDSCALEPH256RMI_MASKZ,
35452 op0.as_operand(),
35453 op1.as_operand(),
35454 op2.as_operand(),
35455 &NOREG,
35456 );
35457 }
35458}
35459
35460impl<'a> VrndscalephMaskzEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
35461 fn vrndscaleph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
35462 self.emit(
35463 VRNDSCALEPH512RRI_MASKZ,
35464 op0.as_operand(),
35465 op1.as_operand(),
35466 op2.as_operand(),
35467 &NOREG,
35468 );
35469 }
35470}
35471
35472impl<'a> VrndscalephMaskzEmitter<Zmm, Mem, Imm> for Assembler<'a> {
35473 fn vrndscaleph_maskz(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
35474 self.emit(
35475 VRNDSCALEPH512RMI_MASKZ,
35476 op0.as_operand(),
35477 op1.as_operand(),
35478 op2.as_operand(),
35479 &NOREG,
35480 );
35481 }
35482}
35483
35484pub trait VrndscalephMaskzSaeEmitter<A, B, C> {
35496 fn vrndscaleph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
35497}
35498
35499impl<'a> VrndscalephMaskzSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
35500 fn vrndscaleph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
35501 self.emit(
35502 VRNDSCALEPH512RRI_MASKZ_SAE,
35503 op0.as_operand(),
35504 op1.as_operand(),
35505 op2.as_operand(),
35506 &NOREG,
35507 );
35508 }
35509}
35510
35511pub trait VrndscalephSaeEmitter<A, B, C> {
35523 fn vrndscaleph_sae(&mut self, op0: A, op1: B, op2: C);
35524}
35525
35526impl<'a> VrndscalephSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
35527 fn vrndscaleph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
35528 self.emit(
35529 VRNDSCALEPH512RRI_SAE,
35530 op0.as_operand(),
35531 op1.as_operand(),
35532 op2.as_operand(),
35533 &NOREG,
35534 );
35535 }
35536}
35537
35538pub trait VrndscaleshEmitter<A, B, C, D> {
35551 fn vrndscalesh(&mut self, op0: A, op1: B, op2: C, op3: D);
35552}
35553
35554impl<'a> VrndscaleshEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35555 fn vrndscalesh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35556 self.emit(
35557 VRNDSCALESHRRRI,
35558 op0.as_operand(),
35559 op1.as_operand(),
35560 op2.as_operand(),
35561 op3.as_operand(),
35562 );
35563 }
35564}
35565
35566impl<'a> VrndscaleshEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
35567 fn vrndscalesh(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
35568 self.emit(
35569 VRNDSCALESHRRMI,
35570 op0.as_operand(),
35571 op1.as_operand(),
35572 op2.as_operand(),
35573 op3.as_operand(),
35574 );
35575 }
35576}
35577
35578pub trait VrndscaleshMaskEmitter<A, B, C, D> {
35591 fn vrndscalesh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
35592}
35593
35594impl<'a> VrndscaleshMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35595 fn vrndscalesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35596 self.emit(
35597 VRNDSCALESHRRRI_MASK,
35598 op0.as_operand(),
35599 op1.as_operand(),
35600 op2.as_operand(),
35601 op3.as_operand(),
35602 );
35603 }
35604}
35605
35606impl<'a> VrndscaleshMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
35607 fn vrndscalesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
35608 self.emit(
35609 VRNDSCALESHRRMI_MASK,
35610 op0.as_operand(),
35611 op1.as_operand(),
35612 op2.as_operand(),
35613 op3.as_operand(),
35614 );
35615 }
35616}
35617
35618pub trait VrndscaleshMaskSaeEmitter<A, B, C, D> {
35630 fn vrndscalesh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
35631}
35632
35633impl<'a> VrndscaleshMaskSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35634 fn vrndscalesh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35635 self.emit(
35636 VRNDSCALESHRRRI_MASK_SAE,
35637 op0.as_operand(),
35638 op1.as_operand(),
35639 op2.as_operand(),
35640 op3.as_operand(),
35641 );
35642 }
35643}
35644
35645pub trait VrndscaleshMaskzEmitter<A, B, C, D> {
35658 fn vrndscalesh_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
35659}
35660
35661impl<'a> VrndscaleshMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35662 fn vrndscalesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35663 self.emit(
35664 VRNDSCALESHRRRI_MASKZ,
35665 op0.as_operand(),
35666 op1.as_operand(),
35667 op2.as_operand(),
35668 op3.as_operand(),
35669 );
35670 }
35671}
35672
35673impl<'a> VrndscaleshMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
35674 fn vrndscalesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
35675 self.emit(
35676 VRNDSCALESHRRMI_MASKZ,
35677 op0.as_operand(),
35678 op1.as_operand(),
35679 op2.as_operand(),
35680 op3.as_operand(),
35681 );
35682 }
35683}
35684
35685pub trait VrndscaleshMaskzSaeEmitter<A, B, C, D> {
35697 fn vrndscalesh_maskz_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
35698}
35699
35700impl<'a> VrndscaleshMaskzSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35701 fn vrndscalesh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35702 self.emit(
35703 VRNDSCALESHRRRI_MASKZ_SAE,
35704 op0.as_operand(),
35705 op1.as_operand(),
35706 op2.as_operand(),
35707 op3.as_operand(),
35708 );
35709 }
35710}
35711
35712pub trait VrndscaleshSaeEmitter<A, B, C, D> {
35724 fn vrndscalesh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
35725}
35726
35727impl<'a> VrndscaleshSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
35728 fn vrndscalesh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
35729 self.emit(
35730 VRNDSCALESHRRRI_SAE,
35731 op0.as_operand(),
35732 op1.as_operand(),
35733 op2.as_operand(),
35734 op3.as_operand(),
35735 );
35736 }
35737}
35738
35739pub trait VrsqrtphEmitter<A, B> {
35756 fn vrsqrtph(&mut self, op0: A, op1: B);
35757}
35758
35759impl<'a> VrsqrtphEmitter<Xmm, Xmm> for Assembler<'a> {
35760 fn vrsqrtph(&mut self, op0: Xmm, op1: Xmm) {
35761 self.emit(
35762 VRSQRTPH128RR,
35763 op0.as_operand(),
35764 op1.as_operand(),
35765 &NOREG,
35766 &NOREG,
35767 );
35768 }
35769}
35770
35771impl<'a> VrsqrtphEmitter<Xmm, Mem> for Assembler<'a> {
35772 fn vrsqrtph(&mut self, op0: Xmm, op1: Mem) {
35773 self.emit(
35774 VRSQRTPH128RM,
35775 op0.as_operand(),
35776 op1.as_operand(),
35777 &NOREG,
35778 &NOREG,
35779 );
35780 }
35781}
35782
35783impl<'a> VrsqrtphEmitter<Ymm, Ymm> for Assembler<'a> {
35784 fn vrsqrtph(&mut self, op0: Ymm, op1: Ymm) {
35785 self.emit(
35786 VRSQRTPH256RR,
35787 op0.as_operand(),
35788 op1.as_operand(),
35789 &NOREG,
35790 &NOREG,
35791 );
35792 }
35793}
35794
35795impl<'a> VrsqrtphEmitter<Ymm, Mem> for Assembler<'a> {
35796 fn vrsqrtph(&mut self, op0: Ymm, op1: Mem) {
35797 self.emit(
35798 VRSQRTPH256RM,
35799 op0.as_operand(),
35800 op1.as_operand(),
35801 &NOREG,
35802 &NOREG,
35803 );
35804 }
35805}
35806
35807impl<'a> VrsqrtphEmitter<Zmm, Zmm> for Assembler<'a> {
35808 fn vrsqrtph(&mut self, op0: Zmm, op1: Zmm) {
35809 self.emit(
35810 VRSQRTPH512RR,
35811 op0.as_operand(),
35812 op1.as_operand(),
35813 &NOREG,
35814 &NOREG,
35815 );
35816 }
35817}
35818
35819impl<'a> VrsqrtphEmitter<Zmm, Mem> for Assembler<'a> {
35820 fn vrsqrtph(&mut self, op0: Zmm, op1: Mem) {
35821 self.emit(
35822 VRSQRTPH512RM,
35823 op0.as_operand(),
35824 op1.as_operand(),
35825 &NOREG,
35826 &NOREG,
35827 );
35828 }
35829}
35830
35831pub trait VrsqrtphMaskEmitter<A, B> {
35848 fn vrsqrtph_mask(&mut self, op0: A, op1: B);
35849}
35850
35851impl<'a> VrsqrtphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
35852 fn vrsqrtph_mask(&mut self, op0: Xmm, op1: Xmm) {
35853 self.emit(
35854 VRSQRTPH128RR_MASK,
35855 op0.as_operand(),
35856 op1.as_operand(),
35857 &NOREG,
35858 &NOREG,
35859 );
35860 }
35861}
35862
35863impl<'a> VrsqrtphMaskEmitter<Xmm, Mem> for Assembler<'a> {
35864 fn vrsqrtph_mask(&mut self, op0: Xmm, op1: Mem) {
35865 self.emit(
35866 VRSQRTPH128RM_MASK,
35867 op0.as_operand(),
35868 op1.as_operand(),
35869 &NOREG,
35870 &NOREG,
35871 );
35872 }
35873}
35874
35875impl<'a> VrsqrtphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
35876 fn vrsqrtph_mask(&mut self, op0: Ymm, op1: Ymm) {
35877 self.emit(
35878 VRSQRTPH256RR_MASK,
35879 op0.as_operand(),
35880 op1.as_operand(),
35881 &NOREG,
35882 &NOREG,
35883 );
35884 }
35885}
35886
35887impl<'a> VrsqrtphMaskEmitter<Ymm, Mem> for Assembler<'a> {
35888 fn vrsqrtph_mask(&mut self, op0: Ymm, op1: Mem) {
35889 self.emit(
35890 VRSQRTPH256RM_MASK,
35891 op0.as_operand(),
35892 op1.as_operand(),
35893 &NOREG,
35894 &NOREG,
35895 );
35896 }
35897}
35898
35899impl<'a> VrsqrtphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
35900 fn vrsqrtph_mask(&mut self, op0: Zmm, op1: Zmm) {
35901 self.emit(
35902 VRSQRTPH512RR_MASK,
35903 op0.as_operand(),
35904 op1.as_operand(),
35905 &NOREG,
35906 &NOREG,
35907 );
35908 }
35909}
35910
35911impl<'a> VrsqrtphMaskEmitter<Zmm, Mem> for Assembler<'a> {
35912 fn vrsqrtph_mask(&mut self, op0: Zmm, op1: Mem) {
35913 self.emit(
35914 VRSQRTPH512RM_MASK,
35915 op0.as_operand(),
35916 op1.as_operand(),
35917 &NOREG,
35918 &NOREG,
35919 );
35920 }
35921}
35922
35923pub trait VrsqrtphMaskzEmitter<A, B> {
35940 fn vrsqrtph_maskz(&mut self, op0: A, op1: B);
35941}
35942
35943impl<'a> VrsqrtphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
35944 fn vrsqrtph_maskz(&mut self, op0: Xmm, op1: Xmm) {
35945 self.emit(
35946 VRSQRTPH128RR_MASKZ,
35947 op0.as_operand(),
35948 op1.as_operand(),
35949 &NOREG,
35950 &NOREG,
35951 );
35952 }
35953}
35954
35955impl<'a> VrsqrtphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
35956 fn vrsqrtph_maskz(&mut self, op0: Xmm, op1: Mem) {
35957 self.emit(
35958 VRSQRTPH128RM_MASKZ,
35959 op0.as_operand(),
35960 op1.as_operand(),
35961 &NOREG,
35962 &NOREG,
35963 );
35964 }
35965}
35966
35967impl<'a> VrsqrtphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
35968 fn vrsqrtph_maskz(&mut self, op0: Ymm, op1: Ymm) {
35969 self.emit(
35970 VRSQRTPH256RR_MASKZ,
35971 op0.as_operand(),
35972 op1.as_operand(),
35973 &NOREG,
35974 &NOREG,
35975 );
35976 }
35977}
35978
35979impl<'a> VrsqrtphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
35980 fn vrsqrtph_maskz(&mut self, op0: Ymm, op1: Mem) {
35981 self.emit(
35982 VRSQRTPH256RM_MASKZ,
35983 op0.as_operand(),
35984 op1.as_operand(),
35985 &NOREG,
35986 &NOREG,
35987 );
35988 }
35989}
35990
35991impl<'a> VrsqrtphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
35992 fn vrsqrtph_maskz(&mut self, op0: Zmm, op1: Zmm) {
35993 self.emit(
35994 VRSQRTPH512RR_MASKZ,
35995 op0.as_operand(),
35996 op1.as_operand(),
35997 &NOREG,
35998 &NOREG,
35999 );
36000 }
36001}
36002
36003impl<'a> VrsqrtphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
36004 fn vrsqrtph_maskz(&mut self, op0: Zmm, op1: Mem) {
36005 self.emit(
36006 VRSQRTPH512RM_MASKZ,
36007 op0.as_operand(),
36008 op1.as_operand(),
36009 &NOREG,
36010 &NOREG,
36011 );
36012 }
36013}
36014
36015pub trait VrsqrtshEmitter<A, B, C> {
36028 fn vrsqrtsh(&mut self, op0: A, op1: B, op2: C);
36029}
36030
36031impl<'a> VrsqrtshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36032 fn vrsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36033 self.emit(
36034 VRSQRTSHRRR,
36035 op0.as_operand(),
36036 op1.as_operand(),
36037 op2.as_operand(),
36038 &NOREG,
36039 );
36040 }
36041}
36042
36043impl<'a> VrsqrtshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36044 fn vrsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36045 self.emit(
36046 VRSQRTSHRRM,
36047 op0.as_operand(),
36048 op1.as_operand(),
36049 op2.as_operand(),
36050 &NOREG,
36051 );
36052 }
36053}
36054
36055pub trait VrsqrtshMaskEmitter<A, B, C> {
36068 fn vrsqrtsh_mask(&mut self, op0: A, op1: B, op2: C);
36069}
36070
36071impl<'a> VrsqrtshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36072 fn vrsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36073 self.emit(
36074 VRSQRTSHRRR_MASK,
36075 op0.as_operand(),
36076 op1.as_operand(),
36077 op2.as_operand(),
36078 &NOREG,
36079 );
36080 }
36081}
36082
36083impl<'a> VrsqrtshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36084 fn vrsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36085 self.emit(
36086 VRSQRTSHRRM_MASK,
36087 op0.as_operand(),
36088 op1.as_operand(),
36089 op2.as_operand(),
36090 &NOREG,
36091 );
36092 }
36093}
36094
36095pub trait VrsqrtshMaskzEmitter<A, B, C> {
36108 fn vrsqrtsh_maskz(&mut self, op0: A, op1: B, op2: C);
36109}
36110
36111impl<'a> VrsqrtshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36112 fn vrsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36113 self.emit(
36114 VRSQRTSHRRR_MASKZ,
36115 op0.as_operand(),
36116 op1.as_operand(),
36117 op2.as_operand(),
36118 &NOREG,
36119 );
36120 }
36121}
36122
36123impl<'a> VrsqrtshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36124 fn vrsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36125 self.emit(
36126 VRSQRTSHRRM_MASKZ,
36127 op0.as_operand(),
36128 op1.as_operand(),
36129 op2.as_operand(),
36130 &NOREG,
36131 );
36132 }
36133}
36134
36135pub trait VscalefphEmitter<A, B, C> {
36152 fn vscalefph(&mut self, op0: A, op1: B, op2: C);
36153}
36154
36155impl<'a> VscalefphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36156 fn vscalefph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36157 self.emit(
36158 VSCALEFPH128RRR,
36159 op0.as_operand(),
36160 op1.as_operand(),
36161 op2.as_operand(),
36162 &NOREG,
36163 );
36164 }
36165}
36166
36167impl<'a> VscalefphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36168 fn vscalefph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36169 self.emit(
36170 VSCALEFPH128RRM,
36171 op0.as_operand(),
36172 op1.as_operand(),
36173 op2.as_operand(),
36174 &NOREG,
36175 );
36176 }
36177}
36178
36179impl<'a> VscalefphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
36180 fn vscalefph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
36181 self.emit(
36182 VSCALEFPH256RRR,
36183 op0.as_operand(),
36184 op1.as_operand(),
36185 op2.as_operand(),
36186 &NOREG,
36187 );
36188 }
36189}
36190
36191impl<'a> VscalefphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
36192 fn vscalefph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
36193 self.emit(
36194 VSCALEFPH256RRM,
36195 op0.as_operand(),
36196 op1.as_operand(),
36197 op2.as_operand(),
36198 &NOREG,
36199 );
36200 }
36201}
36202
36203impl<'a> VscalefphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36204 fn vscalefph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36205 self.emit(
36206 VSCALEFPH512RRR,
36207 op0.as_operand(),
36208 op1.as_operand(),
36209 op2.as_operand(),
36210 &NOREG,
36211 );
36212 }
36213}
36214
36215impl<'a> VscalefphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
36216 fn vscalefph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
36217 self.emit(
36218 VSCALEFPH512RRM,
36219 op0.as_operand(),
36220 op1.as_operand(),
36221 op2.as_operand(),
36222 &NOREG,
36223 );
36224 }
36225}
36226
36227pub trait VscalefphErEmitter<A, B, C> {
36239 fn vscalefph_er(&mut self, op0: A, op1: B, op2: C);
36240}
36241
36242impl<'a> VscalefphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36243 fn vscalefph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36244 self.emit(
36245 VSCALEFPH512RRR_ER,
36246 op0.as_operand(),
36247 op1.as_operand(),
36248 op2.as_operand(),
36249 &NOREG,
36250 );
36251 }
36252}
36253
36254pub trait VscalefphMaskEmitter<A, B, C> {
36271 fn vscalefph_mask(&mut self, op0: A, op1: B, op2: C);
36272}
36273
36274impl<'a> VscalefphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36275 fn vscalefph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36276 self.emit(
36277 VSCALEFPH128RRR_MASK,
36278 op0.as_operand(),
36279 op1.as_operand(),
36280 op2.as_operand(),
36281 &NOREG,
36282 );
36283 }
36284}
36285
36286impl<'a> VscalefphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36287 fn vscalefph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36288 self.emit(
36289 VSCALEFPH128RRM_MASK,
36290 op0.as_operand(),
36291 op1.as_operand(),
36292 op2.as_operand(),
36293 &NOREG,
36294 );
36295 }
36296}
36297
36298impl<'a> VscalefphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
36299 fn vscalefph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
36300 self.emit(
36301 VSCALEFPH256RRR_MASK,
36302 op0.as_operand(),
36303 op1.as_operand(),
36304 op2.as_operand(),
36305 &NOREG,
36306 );
36307 }
36308}
36309
36310impl<'a> VscalefphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
36311 fn vscalefph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
36312 self.emit(
36313 VSCALEFPH256RRM_MASK,
36314 op0.as_operand(),
36315 op1.as_operand(),
36316 op2.as_operand(),
36317 &NOREG,
36318 );
36319 }
36320}
36321
36322impl<'a> VscalefphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36323 fn vscalefph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36324 self.emit(
36325 VSCALEFPH512RRR_MASK,
36326 op0.as_operand(),
36327 op1.as_operand(),
36328 op2.as_operand(),
36329 &NOREG,
36330 );
36331 }
36332}
36333
36334impl<'a> VscalefphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
36335 fn vscalefph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
36336 self.emit(
36337 VSCALEFPH512RRM_MASK,
36338 op0.as_operand(),
36339 op1.as_operand(),
36340 op2.as_operand(),
36341 &NOREG,
36342 );
36343 }
36344}
36345
36346pub trait VscalefphMaskErEmitter<A, B, C> {
36358 fn vscalefph_mask_er(&mut self, op0: A, op1: B, op2: C);
36359}
36360
36361impl<'a> VscalefphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36362 fn vscalefph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36363 self.emit(
36364 VSCALEFPH512RRR_MASK_ER,
36365 op0.as_operand(),
36366 op1.as_operand(),
36367 op2.as_operand(),
36368 &NOREG,
36369 );
36370 }
36371}
36372
36373pub trait VscalefphMaskzEmitter<A, B, C> {
36390 fn vscalefph_maskz(&mut self, op0: A, op1: B, op2: C);
36391}
36392
36393impl<'a> VscalefphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36394 fn vscalefph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36395 self.emit(
36396 VSCALEFPH128RRR_MASKZ,
36397 op0.as_operand(),
36398 op1.as_operand(),
36399 op2.as_operand(),
36400 &NOREG,
36401 );
36402 }
36403}
36404
36405impl<'a> VscalefphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36406 fn vscalefph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36407 self.emit(
36408 VSCALEFPH128RRM_MASKZ,
36409 op0.as_operand(),
36410 op1.as_operand(),
36411 op2.as_operand(),
36412 &NOREG,
36413 );
36414 }
36415}
36416
36417impl<'a> VscalefphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
36418 fn vscalefph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
36419 self.emit(
36420 VSCALEFPH256RRR_MASKZ,
36421 op0.as_operand(),
36422 op1.as_operand(),
36423 op2.as_operand(),
36424 &NOREG,
36425 );
36426 }
36427}
36428
36429impl<'a> VscalefphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
36430 fn vscalefph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
36431 self.emit(
36432 VSCALEFPH256RRM_MASKZ,
36433 op0.as_operand(),
36434 op1.as_operand(),
36435 op2.as_operand(),
36436 &NOREG,
36437 );
36438 }
36439}
36440
36441impl<'a> VscalefphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36442 fn vscalefph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36443 self.emit(
36444 VSCALEFPH512RRR_MASKZ,
36445 op0.as_operand(),
36446 op1.as_operand(),
36447 op2.as_operand(),
36448 &NOREG,
36449 );
36450 }
36451}
36452
36453impl<'a> VscalefphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
36454 fn vscalefph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
36455 self.emit(
36456 VSCALEFPH512RRM_MASKZ,
36457 op0.as_operand(),
36458 op1.as_operand(),
36459 op2.as_operand(),
36460 &NOREG,
36461 );
36462 }
36463}
36464
36465pub trait VscalefphMaskzErEmitter<A, B, C> {
36477 fn vscalefph_maskz_er(&mut self, op0: A, op1: B, op2: C);
36478}
36479
36480impl<'a> VscalefphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36481 fn vscalefph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36482 self.emit(
36483 VSCALEFPH512RRR_MASKZ_ER,
36484 op0.as_operand(),
36485 op1.as_operand(),
36486 op2.as_operand(),
36487 &NOREG,
36488 );
36489 }
36490}
36491
36492pub trait VscalefshEmitter<A, B, C> {
36505 fn vscalefsh(&mut self, op0: A, op1: B, op2: C);
36506}
36507
36508impl<'a> VscalefshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36509 fn vscalefsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36510 self.emit(
36511 VSCALEFSHRRR,
36512 op0.as_operand(),
36513 op1.as_operand(),
36514 op2.as_operand(),
36515 &NOREG,
36516 );
36517 }
36518}
36519
36520impl<'a> VscalefshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36521 fn vscalefsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36522 self.emit(
36523 VSCALEFSHRRM,
36524 op0.as_operand(),
36525 op1.as_operand(),
36526 op2.as_operand(),
36527 &NOREG,
36528 );
36529 }
36530}
36531
36532pub trait VscalefshErEmitter<A, B, C> {
36544 fn vscalefsh_er(&mut self, op0: A, op1: B, op2: C);
36545}
36546
36547impl<'a> VscalefshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36548 fn vscalefsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36549 self.emit(
36550 VSCALEFSHRRR_ER,
36551 op0.as_operand(),
36552 op1.as_operand(),
36553 op2.as_operand(),
36554 &NOREG,
36555 );
36556 }
36557}
36558
36559pub trait VscalefshMaskEmitter<A, B, C> {
36572 fn vscalefsh_mask(&mut self, op0: A, op1: B, op2: C);
36573}
36574
36575impl<'a> VscalefshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36576 fn vscalefsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36577 self.emit(
36578 VSCALEFSHRRR_MASK,
36579 op0.as_operand(),
36580 op1.as_operand(),
36581 op2.as_operand(),
36582 &NOREG,
36583 );
36584 }
36585}
36586
36587impl<'a> VscalefshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36588 fn vscalefsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36589 self.emit(
36590 VSCALEFSHRRM_MASK,
36591 op0.as_operand(),
36592 op1.as_operand(),
36593 op2.as_operand(),
36594 &NOREG,
36595 );
36596 }
36597}
36598
36599pub trait VscalefshMaskErEmitter<A, B, C> {
36611 fn vscalefsh_mask_er(&mut self, op0: A, op1: B, op2: C);
36612}
36613
36614impl<'a> VscalefshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36615 fn vscalefsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36616 self.emit(
36617 VSCALEFSHRRR_MASK_ER,
36618 op0.as_operand(),
36619 op1.as_operand(),
36620 op2.as_operand(),
36621 &NOREG,
36622 );
36623 }
36624}
36625
36626pub trait VscalefshMaskzEmitter<A, B, C> {
36639 fn vscalefsh_maskz(&mut self, op0: A, op1: B, op2: C);
36640}
36641
36642impl<'a> VscalefshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36643 fn vscalefsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36644 self.emit(
36645 VSCALEFSHRRR_MASKZ,
36646 op0.as_operand(),
36647 op1.as_operand(),
36648 op2.as_operand(),
36649 &NOREG,
36650 );
36651 }
36652}
36653
36654impl<'a> VscalefshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
36655 fn vscalefsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36656 self.emit(
36657 VSCALEFSHRRM_MASKZ,
36658 op0.as_operand(),
36659 op1.as_operand(),
36660 op2.as_operand(),
36661 &NOREG,
36662 );
36663 }
36664}
36665
36666pub trait VscalefshMaskzErEmitter<A, B, C> {
36678 fn vscalefsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
36679}
36680
36681impl<'a> VscalefshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36682 fn vscalefsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36683 self.emit(
36684 VSCALEFSHRRR_MASKZ_ER,
36685 op0.as_operand(),
36686 op1.as_operand(),
36687 op2.as_operand(),
36688 &NOREG,
36689 );
36690 }
36691}
36692
36693pub trait Vsm4key4Emitter<A, B, C> {
36710 fn vsm4key4(&mut self, op0: A, op1: B, op2: C);
36711}
36712
36713impl<'a> Vsm4key4Emitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36714 fn vsm4key4(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36715 self.emit(
36716 VSM4KEY4_128RRR,
36717 op0.as_operand(),
36718 op1.as_operand(),
36719 op2.as_operand(),
36720 &NOREG,
36721 );
36722 }
36723}
36724
36725impl<'a> Vsm4key4Emitter<Xmm, Xmm, Mem> for Assembler<'a> {
36726 fn vsm4key4(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36727 self.emit(
36728 VSM4KEY4_128RRM,
36729 op0.as_operand(),
36730 op1.as_operand(),
36731 op2.as_operand(),
36732 &NOREG,
36733 );
36734 }
36735}
36736
36737impl<'a> Vsm4key4Emitter<Ymm, Ymm, Ymm> for Assembler<'a> {
36738 fn vsm4key4(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
36739 self.emit(
36740 VSM4KEY4_256RRR,
36741 op0.as_operand(),
36742 op1.as_operand(),
36743 op2.as_operand(),
36744 &NOREG,
36745 );
36746 }
36747}
36748
36749impl<'a> Vsm4key4Emitter<Ymm, Ymm, Mem> for Assembler<'a> {
36750 fn vsm4key4(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
36751 self.emit(
36752 VSM4KEY4_256RRM,
36753 op0.as_operand(),
36754 op1.as_operand(),
36755 op2.as_operand(),
36756 &NOREG,
36757 );
36758 }
36759}
36760
36761impl<'a> Vsm4key4Emitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36762 fn vsm4key4(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36763 self.emit(
36764 VSM4KEY4_512RRR,
36765 op0.as_operand(),
36766 op1.as_operand(),
36767 op2.as_operand(),
36768 &NOREG,
36769 );
36770 }
36771}
36772
36773impl<'a> Vsm4key4Emitter<Zmm, Zmm, Mem> for Assembler<'a> {
36774 fn vsm4key4(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
36775 self.emit(
36776 VSM4KEY4_512RRM,
36777 op0.as_operand(),
36778 op1.as_operand(),
36779 op2.as_operand(),
36780 &NOREG,
36781 );
36782 }
36783}
36784
36785pub trait Vsm4rnds4Emitter<A, B, C> {
36802 fn vsm4rnds4(&mut self, op0: A, op1: B, op2: C);
36803}
36804
36805impl<'a> Vsm4rnds4Emitter<Xmm, Xmm, Xmm> for Assembler<'a> {
36806 fn vsm4rnds4(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
36807 self.emit(
36808 VSM4RNDS4_128RRR,
36809 op0.as_operand(),
36810 op1.as_operand(),
36811 op2.as_operand(),
36812 &NOREG,
36813 );
36814 }
36815}
36816
36817impl<'a> Vsm4rnds4Emitter<Xmm, Xmm, Mem> for Assembler<'a> {
36818 fn vsm4rnds4(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
36819 self.emit(
36820 VSM4RNDS4_128RRM,
36821 op0.as_operand(),
36822 op1.as_operand(),
36823 op2.as_operand(),
36824 &NOREG,
36825 );
36826 }
36827}
36828
36829impl<'a> Vsm4rnds4Emitter<Ymm, Ymm, Ymm> for Assembler<'a> {
36830 fn vsm4rnds4(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
36831 self.emit(
36832 VSM4RNDS4_256RRR,
36833 op0.as_operand(),
36834 op1.as_operand(),
36835 op2.as_operand(),
36836 &NOREG,
36837 );
36838 }
36839}
36840
36841impl<'a> Vsm4rnds4Emitter<Ymm, Ymm, Mem> for Assembler<'a> {
36842 fn vsm4rnds4(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
36843 self.emit(
36844 VSM4RNDS4_256RRM,
36845 op0.as_operand(),
36846 op1.as_operand(),
36847 op2.as_operand(),
36848 &NOREG,
36849 );
36850 }
36851}
36852
36853impl<'a> Vsm4rnds4Emitter<Zmm, Zmm, Zmm> for Assembler<'a> {
36854 fn vsm4rnds4(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
36855 self.emit(
36856 VSM4RNDS4_512RRR,
36857 op0.as_operand(),
36858 op1.as_operand(),
36859 op2.as_operand(),
36860 &NOREG,
36861 );
36862 }
36863}
36864
36865impl<'a> Vsm4rnds4Emitter<Zmm, Zmm, Mem> for Assembler<'a> {
36866 fn vsm4rnds4(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
36867 self.emit(
36868 VSM4RNDS4_512RRM,
36869 op0.as_operand(),
36870 op1.as_operand(),
36871 op2.as_operand(),
36872 &NOREG,
36873 );
36874 }
36875}
36876
36877pub trait VsqrtphEmitter<A, B> {
36894 fn vsqrtph(&mut self, op0: A, op1: B);
36895}
36896
36897impl<'a> VsqrtphEmitter<Xmm, Xmm> for Assembler<'a> {
36898 fn vsqrtph(&mut self, op0: Xmm, op1: Xmm) {
36899 self.emit(
36900 VSQRTPH128RR,
36901 op0.as_operand(),
36902 op1.as_operand(),
36903 &NOREG,
36904 &NOREG,
36905 );
36906 }
36907}
36908
36909impl<'a> VsqrtphEmitter<Xmm, Mem> for Assembler<'a> {
36910 fn vsqrtph(&mut self, op0: Xmm, op1: Mem) {
36911 self.emit(
36912 VSQRTPH128RM,
36913 op0.as_operand(),
36914 op1.as_operand(),
36915 &NOREG,
36916 &NOREG,
36917 );
36918 }
36919}
36920
36921impl<'a> VsqrtphEmitter<Ymm, Ymm> for Assembler<'a> {
36922 fn vsqrtph(&mut self, op0: Ymm, op1: Ymm) {
36923 self.emit(
36924 VSQRTPH256RR,
36925 op0.as_operand(),
36926 op1.as_operand(),
36927 &NOREG,
36928 &NOREG,
36929 );
36930 }
36931}
36932
36933impl<'a> VsqrtphEmitter<Ymm, Mem> for Assembler<'a> {
36934 fn vsqrtph(&mut self, op0: Ymm, op1: Mem) {
36935 self.emit(
36936 VSQRTPH256RM,
36937 op0.as_operand(),
36938 op1.as_operand(),
36939 &NOREG,
36940 &NOREG,
36941 );
36942 }
36943}
36944
36945impl<'a> VsqrtphEmitter<Zmm, Zmm> for Assembler<'a> {
36946 fn vsqrtph(&mut self, op0: Zmm, op1: Zmm) {
36947 self.emit(
36948 VSQRTPH512RR,
36949 op0.as_operand(),
36950 op1.as_operand(),
36951 &NOREG,
36952 &NOREG,
36953 );
36954 }
36955}
36956
36957impl<'a> VsqrtphEmitter<Zmm, Mem> for Assembler<'a> {
36958 fn vsqrtph(&mut self, op0: Zmm, op1: Mem) {
36959 self.emit(
36960 VSQRTPH512RM,
36961 op0.as_operand(),
36962 op1.as_operand(),
36963 &NOREG,
36964 &NOREG,
36965 );
36966 }
36967}
36968
36969pub trait VsqrtphErEmitter<A, B> {
36981 fn vsqrtph_er(&mut self, op0: A, op1: B);
36982}
36983
36984impl<'a> VsqrtphErEmitter<Zmm, Zmm> for Assembler<'a> {
36985 fn vsqrtph_er(&mut self, op0: Zmm, op1: Zmm) {
36986 self.emit(
36987 VSQRTPH512RR_ER,
36988 op0.as_operand(),
36989 op1.as_operand(),
36990 &NOREG,
36991 &NOREG,
36992 );
36993 }
36994}
36995
36996pub trait VsqrtphMaskEmitter<A, B> {
37013 fn vsqrtph_mask(&mut self, op0: A, op1: B);
37014}
37015
37016impl<'a> VsqrtphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
37017 fn vsqrtph_mask(&mut self, op0: Xmm, op1: Xmm) {
37018 self.emit(
37019 VSQRTPH128RR_MASK,
37020 op0.as_operand(),
37021 op1.as_operand(),
37022 &NOREG,
37023 &NOREG,
37024 );
37025 }
37026}
37027
37028impl<'a> VsqrtphMaskEmitter<Xmm, Mem> for Assembler<'a> {
37029 fn vsqrtph_mask(&mut self, op0: Xmm, op1: Mem) {
37030 self.emit(
37031 VSQRTPH128RM_MASK,
37032 op0.as_operand(),
37033 op1.as_operand(),
37034 &NOREG,
37035 &NOREG,
37036 );
37037 }
37038}
37039
37040impl<'a> VsqrtphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
37041 fn vsqrtph_mask(&mut self, op0: Ymm, op1: Ymm) {
37042 self.emit(
37043 VSQRTPH256RR_MASK,
37044 op0.as_operand(),
37045 op1.as_operand(),
37046 &NOREG,
37047 &NOREG,
37048 );
37049 }
37050}
37051
37052impl<'a> VsqrtphMaskEmitter<Ymm, Mem> for Assembler<'a> {
37053 fn vsqrtph_mask(&mut self, op0: Ymm, op1: Mem) {
37054 self.emit(
37055 VSQRTPH256RM_MASK,
37056 op0.as_operand(),
37057 op1.as_operand(),
37058 &NOREG,
37059 &NOREG,
37060 );
37061 }
37062}
37063
37064impl<'a> VsqrtphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
37065 fn vsqrtph_mask(&mut self, op0: Zmm, op1: Zmm) {
37066 self.emit(
37067 VSQRTPH512RR_MASK,
37068 op0.as_operand(),
37069 op1.as_operand(),
37070 &NOREG,
37071 &NOREG,
37072 );
37073 }
37074}
37075
37076impl<'a> VsqrtphMaskEmitter<Zmm, Mem> for Assembler<'a> {
37077 fn vsqrtph_mask(&mut self, op0: Zmm, op1: Mem) {
37078 self.emit(
37079 VSQRTPH512RM_MASK,
37080 op0.as_operand(),
37081 op1.as_operand(),
37082 &NOREG,
37083 &NOREG,
37084 );
37085 }
37086}
37087
37088pub trait VsqrtphMaskErEmitter<A, B> {
37100 fn vsqrtph_mask_er(&mut self, op0: A, op1: B);
37101}
37102
37103impl<'a> VsqrtphMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
37104 fn vsqrtph_mask_er(&mut self, op0: Zmm, op1: Zmm) {
37105 self.emit(
37106 VSQRTPH512RR_MASK_ER,
37107 op0.as_operand(),
37108 op1.as_operand(),
37109 &NOREG,
37110 &NOREG,
37111 );
37112 }
37113}
37114
37115pub trait VsqrtphMaskzEmitter<A, B> {
37132 fn vsqrtph_maskz(&mut self, op0: A, op1: B);
37133}
37134
37135impl<'a> VsqrtphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
37136 fn vsqrtph_maskz(&mut self, op0: Xmm, op1: Xmm) {
37137 self.emit(
37138 VSQRTPH128RR_MASKZ,
37139 op0.as_operand(),
37140 op1.as_operand(),
37141 &NOREG,
37142 &NOREG,
37143 );
37144 }
37145}
37146
37147impl<'a> VsqrtphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
37148 fn vsqrtph_maskz(&mut self, op0: Xmm, op1: Mem) {
37149 self.emit(
37150 VSQRTPH128RM_MASKZ,
37151 op0.as_operand(),
37152 op1.as_operand(),
37153 &NOREG,
37154 &NOREG,
37155 );
37156 }
37157}
37158
37159impl<'a> VsqrtphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
37160 fn vsqrtph_maskz(&mut self, op0: Ymm, op1: Ymm) {
37161 self.emit(
37162 VSQRTPH256RR_MASKZ,
37163 op0.as_operand(),
37164 op1.as_operand(),
37165 &NOREG,
37166 &NOREG,
37167 );
37168 }
37169}
37170
37171impl<'a> VsqrtphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
37172 fn vsqrtph_maskz(&mut self, op0: Ymm, op1: Mem) {
37173 self.emit(
37174 VSQRTPH256RM_MASKZ,
37175 op0.as_operand(),
37176 op1.as_operand(),
37177 &NOREG,
37178 &NOREG,
37179 );
37180 }
37181}
37182
37183impl<'a> VsqrtphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
37184 fn vsqrtph_maskz(&mut self, op0: Zmm, op1: Zmm) {
37185 self.emit(
37186 VSQRTPH512RR_MASKZ,
37187 op0.as_operand(),
37188 op1.as_operand(),
37189 &NOREG,
37190 &NOREG,
37191 );
37192 }
37193}
37194
37195impl<'a> VsqrtphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
37196 fn vsqrtph_maskz(&mut self, op0: Zmm, op1: Mem) {
37197 self.emit(
37198 VSQRTPH512RM_MASKZ,
37199 op0.as_operand(),
37200 op1.as_operand(),
37201 &NOREG,
37202 &NOREG,
37203 );
37204 }
37205}
37206
37207pub trait VsqrtphMaskzErEmitter<A, B> {
37219 fn vsqrtph_maskz_er(&mut self, op0: A, op1: B);
37220}
37221
37222impl<'a> VsqrtphMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
37223 fn vsqrtph_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
37224 self.emit(
37225 VSQRTPH512RR_MASKZ_ER,
37226 op0.as_operand(),
37227 op1.as_operand(),
37228 &NOREG,
37229 &NOREG,
37230 );
37231 }
37232}
37233
37234pub trait VsqrtshEmitter<A, B, C> {
37247 fn vsqrtsh(&mut self, op0: A, op1: B, op2: C);
37248}
37249
37250impl<'a> VsqrtshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37251 fn vsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37252 self.emit(
37253 VSQRTSHRRR,
37254 op0.as_operand(),
37255 op1.as_operand(),
37256 op2.as_operand(),
37257 &NOREG,
37258 );
37259 }
37260}
37261
37262impl<'a> VsqrtshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37263 fn vsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37264 self.emit(
37265 VSQRTSHRRM,
37266 op0.as_operand(),
37267 op1.as_operand(),
37268 op2.as_operand(),
37269 &NOREG,
37270 );
37271 }
37272}
37273
37274pub trait VsqrtshErEmitter<A, B, C> {
37286 fn vsqrtsh_er(&mut self, op0: A, op1: B, op2: C);
37287}
37288
37289impl<'a> VsqrtshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37290 fn vsqrtsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37291 self.emit(
37292 VSQRTSHRRR_ER,
37293 op0.as_operand(),
37294 op1.as_operand(),
37295 op2.as_operand(),
37296 &NOREG,
37297 );
37298 }
37299}
37300
37301pub trait VsqrtshMaskEmitter<A, B, C> {
37314 fn vsqrtsh_mask(&mut self, op0: A, op1: B, op2: C);
37315}
37316
37317impl<'a> VsqrtshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37318 fn vsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37319 self.emit(
37320 VSQRTSHRRR_MASK,
37321 op0.as_operand(),
37322 op1.as_operand(),
37323 op2.as_operand(),
37324 &NOREG,
37325 );
37326 }
37327}
37328
37329impl<'a> VsqrtshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37330 fn vsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37331 self.emit(
37332 VSQRTSHRRM_MASK,
37333 op0.as_operand(),
37334 op1.as_operand(),
37335 op2.as_operand(),
37336 &NOREG,
37337 );
37338 }
37339}
37340
37341pub trait VsqrtshMaskErEmitter<A, B, C> {
37353 fn vsqrtsh_mask_er(&mut self, op0: A, op1: B, op2: C);
37354}
37355
37356impl<'a> VsqrtshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37357 fn vsqrtsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37358 self.emit(
37359 VSQRTSHRRR_MASK_ER,
37360 op0.as_operand(),
37361 op1.as_operand(),
37362 op2.as_operand(),
37363 &NOREG,
37364 );
37365 }
37366}
37367
37368pub trait VsqrtshMaskzEmitter<A, B, C> {
37381 fn vsqrtsh_maskz(&mut self, op0: A, op1: B, op2: C);
37382}
37383
37384impl<'a> VsqrtshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37385 fn vsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37386 self.emit(
37387 VSQRTSHRRR_MASKZ,
37388 op0.as_operand(),
37389 op1.as_operand(),
37390 op2.as_operand(),
37391 &NOREG,
37392 );
37393 }
37394}
37395
37396impl<'a> VsqrtshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37397 fn vsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37398 self.emit(
37399 VSQRTSHRRM_MASKZ,
37400 op0.as_operand(),
37401 op1.as_operand(),
37402 op2.as_operand(),
37403 &NOREG,
37404 );
37405 }
37406}
37407
37408pub trait VsqrtshMaskzErEmitter<A, B, C> {
37420 fn vsqrtsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
37421}
37422
37423impl<'a> VsqrtshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37424 fn vsqrtsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37425 self.emit(
37426 VSQRTSHRRR_MASKZ_ER,
37427 op0.as_operand(),
37428 op1.as_operand(),
37429 op2.as_operand(),
37430 &NOREG,
37431 );
37432 }
37433}
37434
37435pub trait VsubphEmitter<A, B, C> {
37452 fn vsubph(&mut self, op0: A, op1: B, op2: C);
37453}
37454
37455impl<'a> VsubphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37456 fn vsubph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37457 self.emit(
37458 VSUBPH128RRR,
37459 op0.as_operand(),
37460 op1.as_operand(),
37461 op2.as_operand(),
37462 &NOREG,
37463 );
37464 }
37465}
37466
37467impl<'a> VsubphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37468 fn vsubph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37469 self.emit(
37470 VSUBPH128RRM,
37471 op0.as_operand(),
37472 op1.as_operand(),
37473 op2.as_operand(),
37474 &NOREG,
37475 );
37476 }
37477}
37478
37479impl<'a> VsubphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
37480 fn vsubph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
37481 self.emit(
37482 VSUBPH256RRR,
37483 op0.as_operand(),
37484 op1.as_operand(),
37485 op2.as_operand(),
37486 &NOREG,
37487 );
37488 }
37489}
37490
37491impl<'a> VsubphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
37492 fn vsubph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
37493 self.emit(
37494 VSUBPH256RRM,
37495 op0.as_operand(),
37496 op1.as_operand(),
37497 op2.as_operand(),
37498 &NOREG,
37499 );
37500 }
37501}
37502
37503impl<'a> VsubphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
37504 fn vsubph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
37505 self.emit(
37506 VSUBPH512RRR,
37507 op0.as_operand(),
37508 op1.as_operand(),
37509 op2.as_operand(),
37510 &NOREG,
37511 );
37512 }
37513}
37514
37515impl<'a> VsubphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
37516 fn vsubph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
37517 self.emit(
37518 VSUBPH512RRM,
37519 op0.as_operand(),
37520 op1.as_operand(),
37521 op2.as_operand(),
37522 &NOREG,
37523 );
37524 }
37525}
37526
37527pub trait VsubphErEmitter<A, B, C> {
37539 fn vsubph_er(&mut self, op0: A, op1: B, op2: C);
37540}
37541
37542impl<'a> VsubphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
37543 fn vsubph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
37544 self.emit(
37545 VSUBPH512RRR_ER,
37546 op0.as_operand(),
37547 op1.as_operand(),
37548 op2.as_operand(),
37549 &NOREG,
37550 );
37551 }
37552}
37553
37554pub trait VsubphMaskEmitter<A, B, C> {
37571 fn vsubph_mask(&mut self, op0: A, op1: B, op2: C);
37572}
37573
37574impl<'a> VsubphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37575 fn vsubph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37576 self.emit(
37577 VSUBPH128RRR_MASK,
37578 op0.as_operand(),
37579 op1.as_operand(),
37580 op2.as_operand(),
37581 &NOREG,
37582 );
37583 }
37584}
37585
37586impl<'a> VsubphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37587 fn vsubph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37588 self.emit(
37589 VSUBPH128RRM_MASK,
37590 op0.as_operand(),
37591 op1.as_operand(),
37592 op2.as_operand(),
37593 &NOREG,
37594 );
37595 }
37596}
37597
37598impl<'a> VsubphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
37599 fn vsubph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
37600 self.emit(
37601 VSUBPH256RRR_MASK,
37602 op0.as_operand(),
37603 op1.as_operand(),
37604 op2.as_operand(),
37605 &NOREG,
37606 );
37607 }
37608}
37609
37610impl<'a> VsubphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
37611 fn vsubph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
37612 self.emit(
37613 VSUBPH256RRM_MASK,
37614 op0.as_operand(),
37615 op1.as_operand(),
37616 op2.as_operand(),
37617 &NOREG,
37618 );
37619 }
37620}
37621
37622impl<'a> VsubphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
37623 fn vsubph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
37624 self.emit(
37625 VSUBPH512RRR_MASK,
37626 op0.as_operand(),
37627 op1.as_operand(),
37628 op2.as_operand(),
37629 &NOREG,
37630 );
37631 }
37632}
37633
37634impl<'a> VsubphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
37635 fn vsubph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
37636 self.emit(
37637 VSUBPH512RRM_MASK,
37638 op0.as_operand(),
37639 op1.as_operand(),
37640 op2.as_operand(),
37641 &NOREG,
37642 );
37643 }
37644}
37645
37646pub trait VsubphMaskErEmitter<A, B, C> {
37658 fn vsubph_mask_er(&mut self, op0: A, op1: B, op2: C);
37659}
37660
37661impl<'a> VsubphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
37662 fn vsubph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
37663 self.emit(
37664 VSUBPH512RRR_MASK_ER,
37665 op0.as_operand(),
37666 op1.as_operand(),
37667 op2.as_operand(),
37668 &NOREG,
37669 );
37670 }
37671}
37672
37673pub trait VsubphMaskzEmitter<A, B, C> {
37690 fn vsubph_maskz(&mut self, op0: A, op1: B, op2: C);
37691}
37692
37693impl<'a> VsubphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37694 fn vsubph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37695 self.emit(
37696 VSUBPH128RRR_MASKZ,
37697 op0.as_operand(),
37698 op1.as_operand(),
37699 op2.as_operand(),
37700 &NOREG,
37701 );
37702 }
37703}
37704
37705impl<'a> VsubphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37706 fn vsubph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37707 self.emit(
37708 VSUBPH128RRM_MASKZ,
37709 op0.as_operand(),
37710 op1.as_operand(),
37711 op2.as_operand(),
37712 &NOREG,
37713 );
37714 }
37715}
37716
37717impl<'a> VsubphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
37718 fn vsubph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
37719 self.emit(
37720 VSUBPH256RRR_MASKZ,
37721 op0.as_operand(),
37722 op1.as_operand(),
37723 op2.as_operand(),
37724 &NOREG,
37725 );
37726 }
37727}
37728
37729impl<'a> VsubphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
37730 fn vsubph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
37731 self.emit(
37732 VSUBPH256RRM_MASKZ,
37733 op0.as_operand(),
37734 op1.as_operand(),
37735 op2.as_operand(),
37736 &NOREG,
37737 );
37738 }
37739}
37740
37741impl<'a> VsubphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
37742 fn vsubph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
37743 self.emit(
37744 VSUBPH512RRR_MASKZ,
37745 op0.as_operand(),
37746 op1.as_operand(),
37747 op2.as_operand(),
37748 &NOREG,
37749 );
37750 }
37751}
37752
37753impl<'a> VsubphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
37754 fn vsubph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
37755 self.emit(
37756 VSUBPH512RRM_MASKZ,
37757 op0.as_operand(),
37758 op1.as_operand(),
37759 op2.as_operand(),
37760 &NOREG,
37761 );
37762 }
37763}
37764
37765pub trait VsubphMaskzErEmitter<A, B, C> {
37777 fn vsubph_maskz_er(&mut self, op0: A, op1: B, op2: C);
37778}
37779
37780impl<'a> VsubphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
37781 fn vsubph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
37782 self.emit(
37783 VSUBPH512RRR_MASKZ_ER,
37784 op0.as_operand(),
37785 op1.as_operand(),
37786 op2.as_operand(),
37787 &NOREG,
37788 );
37789 }
37790}
37791
37792pub trait VsubshEmitter<A, B, C> {
37805 fn vsubsh(&mut self, op0: A, op1: B, op2: C);
37806}
37807
37808impl<'a> VsubshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37809 fn vsubsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37810 self.emit(
37811 VSUBSHRRR,
37812 op0.as_operand(),
37813 op1.as_operand(),
37814 op2.as_operand(),
37815 &NOREG,
37816 );
37817 }
37818}
37819
37820impl<'a> VsubshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37821 fn vsubsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37822 self.emit(
37823 VSUBSHRRM,
37824 op0.as_operand(),
37825 op1.as_operand(),
37826 op2.as_operand(),
37827 &NOREG,
37828 );
37829 }
37830}
37831
37832pub trait VsubshErEmitter<A, B, C> {
37844 fn vsubsh_er(&mut self, op0: A, op1: B, op2: C);
37845}
37846
37847impl<'a> VsubshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37848 fn vsubsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37849 self.emit(
37850 VSUBSHRRR_ER,
37851 op0.as_operand(),
37852 op1.as_operand(),
37853 op2.as_operand(),
37854 &NOREG,
37855 );
37856 }
37857}
37858
37859pub trait VsubshMaskEmitter<A, B, C> {
37872 fn vsubsh_mask(&mut self, op0: A, op1: B, op2: C);
37873}
37874
37875impl<'a> VsubshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37876 fn vsubsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37877 self.emit(
37878 VSUBSHRRR_MASK,
37879 op0.as_operand(),
37880 op1.as_operand(),
37881 op2.as_operand(),
37882 &NOREG,
37883 );
37884 }
37885}
37886
37887impl<'a> VsubshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37888 fn vsubsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37889 self.emit(
37890 VSUBSHRRM_MASK,
37891 op0.as_operand(),
37892 op1.as_operand(),
37893 op2.as_operand(),
37894 &NOREG,
37895 );
37896 }
37897}
37898
37899pub trait VsubshMaskErEmitter<A, B, C> {
37911 fn vsubsh_mask_er(&mut self, op0: A, op1: B, op2: C);
37912}
37913
37914impl<'a> VsubshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37915 fn vsubsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37916 self.emit(
37917 VSUBSHRRR_MASK_ER,
37918 op0.as_operand(),
37919 op1.as_operand(),
37920 op2.as_operand(),
37921 &NOREG,
37922 );
37923 }
37924}
37925
37926pub trait VsubshMaskzEmitter<A, B, C> {
37939 fn vsubsh_maskz(&mut self, op0: A, op1: B, op2: C);
37940}
37941
37942impl<'a> VsubshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37943 fn vsubsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37944 self.emit(
37945 VSUBSHRRR_MASKZ,
37946 op0.as_operand(),
37947 op1.as_operand(),
37948 op2.as_operand(),
37949 &NOREG,
37950 );
37951 }
37952}
37953
37954impl<'a> VsubshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
37955 fn vsubsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
37956 self.emit(
37957 VSUBSHRRM_MASKZ,
37958 op0.as_operand(),
37959 op1.as_operand(),
37960 op2.as_operand(),
37961 &NOREG,
37962 );
37963 }
37964}
37965
37966pub trait VsubshMaskzErEmitter<A, B, C> {
37978 fn vsubsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
37979}
37980
37981impl<'a> VsubshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
37982 fn vsubsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
37983 self.emit(
37984 VSUBSHRRR_MASKZ_ER,
37985 op0.as_operand(),
37986 op1.as_operand(),
37987 op2.as_operand(),
37988 &NOREG,
37989 );
37990 }
37991}
37992
37993pub trait VucomishEmitter<A, B> {
38006 fn vucomish(&mut self, op0: A, op1: B);
38007}
38008
38009impl<'a> VucomishEmitter<Xmm, Xmm> for Assembler<'a> {
38010 fn vucomish(&mut self, op0: Xmm, op1: Xmm) {
38011 self.emit(
38012 VUCOMISHRR,
38013 op0.as_operand(),
38014 op1.as_operand(),
38015 &NOREG,
38016 &NOREG,
38017 );
38018 }
38019}
38020
38021impl<'a> VucomishEmitter<Xmm, Mem> for Assembler<'a> {
38022 fn vucomish(&mut self, op0: Xmm, op1: Mem) {
38023 self.emit(
38024 VUCOMISHRM,
38025 op0.as_operand(),
38026 op1.as_operand(),
38027 &NOREG,
38028 &NOREG,
38029 );
38030 }
38031}
38032
38033pub trait VucomishSaeEmitter<A, B> {
38045 fn vucomish_sae(&mut self, op0: A, op1: B);
38046}
38047
38048impl<'a> VucomishSaeEmitter<Xmm, Xmm> for Assembler<'a> {
38049 fn vucomish_sae(&mut self, op0: Xmm, op1: Xmm) {
38050 self.emit(
38051 VUCOMISHRR_SAE,
38052 op0.as_operand(),
38053 op1.as_operand(),
38054 &NOREG,
38055 &NOREG,
38056 );
38057 }
38058}
38059
38060pub trait XchgEmitter<A, B> {
38079 fn xchg(&mut self, op0: A, op1: B);
38080}
38081
38082impl<'a> XchgEmitter<GpbLo, GpbLo> for Assembler<'a> {
38083 fn xchg(&mut self, op0: GpbLo, op1: GpbLo) {
38084 self.emit(XCHG8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38085 }
38086}
38087
38088impl<'a> XchgEmitter<Mem, GpbLo> for Assembler<'a> {
38089 fn xchg(&mut self, op0: Mem, op1: GpbLo) {
38090 self.emit(XCHG8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38091 }
38092}
38093
38094impl<'a> XchgEmitter<Gpw, Gpw> for Assembler<'a> {
38095 fn xchg(&mut self, op0: Gpw, op1: Gpw) {
38096 self.emit(XCHG16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38097 }
38098}
38099
38100impl<'a> XchgEmitter<Mem, Gpw> for Assembler<'a> {
38101 fn xchg(&mut self, op0: Mem, op1: Gpw) {
38102 self.emit(XCHG16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38103 }
38104}
38105
38106impl<'a> XchgEmitter<Gpd, Gpd> for Assembler<'a> {
38107 fn xchg(&mut self, op0: Gpd, op1: Gpd) {
38108 self.emit(XCHG32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38109 }
38110}
38111
38112impl<'a> XchgEmitter<Mem, Gpd> for Assembler<'a> {
38113 fn xchg(&mut self, op0: Mem, op1: Gpd) {
38114 self.emit(XCHG32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38115 }
38116}
38117
38118impl<'a> XchgEmitter<Gpq, Gpq> for Assembler<'a> {
38119 fn xchg(&mut self, op0: Gpq, op1: Gpq) {
38120 self.emit(XCHG64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38121 }
38122}
38123
38124impl<'a> XchgEmitter<Mem, Gpq> for Assembler<'a> {
38125 fn xchg(&mut self, op0: Mem, op1: Gpq) {
38126 self.emit(XCHG64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38127 }
38128}
38129
38130pub trait XlatbEmitter {
38142 fn xlatb(&mut self);
38143}
38144
38145impl<'a> XlatbEmitter for Assembler<'a> {
38146 fn xlatb(&mut self) {
38147 self.emit(XLATB, &NOREG, &NOREG, &NOREG, &NOREG);
38148 }
38149}
38150
38151pub trait XorEmitter<A, B> {
38179 fn xor(&mut self, op0: A, op1: B);
38180}
38181
38182impl<'a> XorEmitter<GpbLo, GpbLo> for Assembler<'a> {
38183 fn xor(&mut self, op0: GpbLo, op1: GpbLo) {
38184 self.emit(XOR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38185 }
38186}
38187
38188impl<'a> XorEmitter<Mem, GpbLo> for Assembler<'a> {
38189 fn xor(&mut self, op0: Mem, op1: GpbLo) {
38190 self.emit(XOR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38191 }
38192}
38193
38194impl<'a> XorEmitter<Gpw, Gpw> for Assembler<'a> {
38195 fn xor(&mut self, op0: Gpw, op1: Gpw) {
38196 self.emit(XOR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38197 }
38198}
38199
38200impl<'a> XorEmitter<Mem, Gpw> for Assembler<'a> {
38201 fn xor(&mut self, op0: Mem, op1: Gpw) {
38202 self.emit(XOR16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38203 }
38204}
38205
38206impl<'a> XorEmitter<Gpd, Gpd> for Assembler<'a> {
38207 fn xor(&mut self, op0: Gpd, op1: Gpd) {
38208 self.emit(XOR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38209 }
38210}
38211
38212impl<'a> XorEmitter<Mem, Gpd> for Assembler<'a> {
38213 fn xor(&mut self, op0: Mem, op1: Gpd) {
38214 self.emit(XOR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38215 }
38216}
38217
38218impl<'a> XorEmitter<Gpq, Gpq> for Assembler<'a> {
38219 fn xor(&mut self, op0: Gpq, op1: Gpq) {
38220 self.emit(XOR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38221 }
38222}
38223
38224impl<'a> XorEmitter<Mem, Gpq> for Assembler<'a> {
38225 fn xor(&mut self, op0: Mem, op1: Gpq) {
38226 self.emit(XOR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38227 }
38228}
38229
38230impl<'a> XorEmitter<GpbLo, Mem> for Assembler<'a> {
38231 fn xor(&mut self, op0: GpbLo, op1: Mem) {
38232 self.emit(XOR8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38233 }
38234}
38235
38236impl<'a> XorEmitter<Gpw, Mem> for Assembler<'a> {
38237 fn xor(&mut self, op0: Gpw, op1: Mem) {
38238 self.emit(XOR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38239 }
38240}
38241
38242impl<'a> XorEmitter<Gpd, Mem> for Assembler<'a> {
38243 fn xor(&mut self, op0: Gpd, op1: Mem) {
38244 self.emit(XOR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38245 }
38246}
38247
38248impl<'a> XorEmitter<Gpq, Mem> for Assembler<'a> {
38249 fn xor(&mut self, op0: Gpq, op1: Mem) {
38250 self.emit(XOR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38251 }
38252}
38253
38254impl<'a> XorEmitter<GpbLo, Imm> for Assembler<'a> {
38255 fn xor(&mut self, op0: GpbLo, op1: Imm) {
38256 self.emit(XOR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38257 }
38258}
38259
38260impl<'a> XorEmitter<Gpw, Imm> for Assembler<'a> {
38261 fn xor(&mut self, op0: Gpw, op1: Imm) {
38262 self.emit(XOR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38263 }
38264}
38265
38266impl<'a> XorEmitter<Gpd, Imm> for Assembler<'a> {
38267 fn xor(&mut self, op0: Gpd, op1: Imm) {
38268 self.emit(XOR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38269 }
38270}
38271
38272impl<'a> XorEmitter<Gpq, Imm> for Assembler<'a> {
38273 fn xor(&mut self, op0: Gpq, op1: Imm) {
38274 self.emit(XOR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38275 }
38276}
38277
38278impl<'a> XorEmitter<Mem, Imm> for Assembler<'a> {
38279 fn xor(&mut self, op0: Mem, op1: Imm) {
38280 self.emit(XOR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
38281 }
38282}
38283
38284impl<'a> Assembler<'a> {
38285 #[inline]
38298 pub fn aadd<A, B>(&mut self, op0: A, op1: B)
38299 where
38300 Assembler<'a>: AaddEmitter<A, B>,
38301 {
38302 <Self as AaddEmitter<A, B>>::aadd(self, op0, op1);
38303 }
38304 #[inline]
38317 pub fn aand<A, B>(&mut self, op0: A, op1: B)
38318 where
38319 Assembler<'a>: AandEmitter<A, B>,
38320 {
38321 <Self as AandEmitter<A, B>>::aand(self, op0, op1);
38322 }
38323 #[inline]
38351 pub fn adc<A, B>(&mut self, op0: A, op1: B)
38352 where
38353 Assembler<'a>: AdcEmitter<A, B>,
38354 {
38355 <Self as AdcEmitter<A, B>>::adc(self, op0, op1);
38356 }
38357 #[inline]
38385 pub fn add<A, B>(&mut self, op0: A, op1: B)
38386 where
38387 Assembler<'a>: AddEmitter<A, B>,
38388 {
38389 <Self as AddEmitter<A, B>>::add(self, op0, op1);
38390 }
38391 #[inline]
38419 pub fn and<A, B>(&mut self, op0: A, op1: B)
38420 where
38421 Assembler<'a>: AndEmitter<A, B>,
38422 {
38423 <Self as AndEmitter<A, B>>::and(self, op0, op1);
38424 }
38425 #[inline]
38438 pub fn aor<A, B>(&mut self, op0: A, op1: B)
38439 where
38440 Assembler<'a>: AorEmitter<A, B>,
38441 {
38442 <Self as AorEmitter<A, B>>::aor(self, op0, op1);
38443 }
38444 #[inline]
38457 pub fn axor<A, B>(&mut self, op0: A, op1: B)
38458 where
38459 Assembler<'a>: AxorEmitter<A, B>,
38460 {
38461 <Self as AxorEmitter<A, B>>::axor(self, op0, op1);
38462 }
38463 #[inline]
38480 pub fn bsf<A, B>(&mut self, op0: A, op1: B)
38481 where
38482 Assembler<'a>: BsfEmitter<A, B>,
38483 {
38484 <Self as BsfEmitter<A, B>>::bsf(self, op0, op1);
38485 }
38486 #[inline]
38503 pub fn bsr<A, B>(&mut self, op0: A, op1: B)
38504 where
38505 Assembler<'a>: BsrEmitter<A, B>,
38506 {
38507 <Self as BsrEmitter<A, B>>::bsr(self, op0, op1);
38508 }
38509 #[inline]
38530 pub fn bt<A, B>(&mut self, op0: A, op1: B)
38531 where
38532 Assembler<'a>: BtEmitter<A, B>,
38533 {
38534 <Self as BtEmitter<A, B>>::bt(self, op0, op1);
38535 }
38536 #[inline]
38557 pub fn btc<A, B>(&mut self, op0: A, op1: B)
38558 where
38559 Assembler<'a>: BtcEmitter<A, B>,
38560 {
38561 <Self as BtcEmitter<A, B>>::btc(self, op0, op1);
38562 }
38563 #[inline]
38584 pub fn btr<A, B>(&mut self, op0: A, op1: B)
38585 where
38586 Assembler<'a>: BtrEmitter<A, B>,
38587 {
38588 <Self as BtrEmitter<A, B>>::btr(self, op0, op1);
38589 }
38590 #[inline]
38611 pub fn bts<A, B>(&mut self, op0: A, op1: B)
38612 where
38613 Assembler<'a>: BtsEmitter<A, B>,
38614 {
38615 <Self as BtsEmitter<A, B>>::bts(self, op0, op1);
38616 }
38617 #[inline]
38633 pub fn call<A>(&mut self, op0: A)
38634 where
38635 Assembler<'a>: CallEmitter<A>,
38636 {
38637 <Self as CallEmitter<A>>::call(self, op0);
38638 }
38639 #[inline]
38651 pub fn callf<A>(&mut self, op0: A)
38652 where
38653 Assembler<'a>: CallfEmitter<A>,
38654 {
38655 <Self as CallfEmitter<A>>::callf(self, op0);
38656 }
38657 #[inline]
38669 pub fn cbw(&mut self)
38670 where
38671 Assembler<'a>: CbwEmitter,
38672 {
38673 <Self as CbwEmitter>::cbw(self);
38674 }
38675 #[inline]
38687 pub fn cdq(&mut self)
38688 where
38689 Assembler<'a>: CdqEmitter,
38690 {
38691 <Self as CdqEmitter>::cdq(self);
38692 }
38693 #[inline]
38705 pub fn cdqe(&mut self)
38706 where
38707 Assembler<'a>: CdqeEmitter,
38708 {
38709 <Self as CdqeEmitter>::cdqe(self);
38710 }
38711 #[inline]
38723 pub fn clc(&mut self)
38724 where
38725 Assembler<'a>: ClcEmitter,
38726 {
38727 <Self as ClcEmitter>::clc(self);
38728 }
38729 #[inline]
38741 pub fn cld(&mut self)
38742 where
38743 Assembler<'a>: CldEmitter,
38744 {
38745 <Self as CldEmitter>::cld(self);
38746 }
38747 #[inline]
38759 pub fn clflush<A>(&mut self, op0: A)
38760 where
38761 Assembler<'a>: ClflushEmitter<A>,
38762 {
38763 <Self as ClflushEmitter<A>>::clflush(self, op0);
38764 }
38765 #[inline]
38777 pub fn cli(&mut self)
38778 where
38779 Assembler<'a>: CliEmitter,
38780 {
38781 <Self as CliEmitter>::cli(self);
38782 }
38783 #[inline]
38795 pub fn clts(&mut self)
38796 where
38797 Assembler<'a>: CltsEmitter,
38798 {
38799 <Self as CltsEmitter>::clts(self);
38800 }
38801 #[inline]
38813 pub fn cmc(&mut self)
38814 where
38815 Assembler<'a>: CmcEmitter,
38816 {
38817 <Self as CmcEmitter>::cmc(self);
38818 }
38819 #[inline]
38847 pub fn cmp<A, B>(&mut self, op0: A, op1: B)
38848 where
38849 Assembler<'a>: CmpEmitter<A, B>,
38850 {
38851 <Self as CmpEmitter<A, B>>::cmp(self, op0, op1);
38852 }
38853 #[inline]
38865 pub fn cmps(&mut self)
38866 where
38867 Assembler<'a>: CmpsEmitter,
38868 {
38869 <Self as CmpsEmitter>::cmps(self);
38870 }
38871 #[inline]
38883 pub fn cqo(&mut self)
38884 where
38885 Assembler<'a>: CqoEmitter,
38886 {
38887 <Self as CqoEmitter>::cqo(self);
38888 }
38889 #[inline]
38901 pub fn cwd(&mut self)
38902 where
38903 Assembler<'a>: CwdEmitter,
38904 {
38905 <Self as CwdEmitter>::cwd(self);
38906 }
38907 #[inline]
38919 pub fn cwde(&mut self)
38920 where
38921 Assembler<'a>: CwdeEmitter,
38922 {
38923 <Self as CwdeEmitter>::cwde(self);
38924 }
38925 #[inline]
38937 pub fn c_ex(&mut self)
38938 where
38939 Assembler<'a>: CExEmitter,
38940 {
38941 <Self as CExEmitter>::c_ex(self);
38942 }
38943 #[inline]
38955 pub fn c_sep(&mut self)
38956 where
38957 Assembler<'a>: CSepEmitter,
38958 {
38959 <Self as CSepEmitter>::c_sep(self);
38960 }
38961 #[inline]
38977 pub fn dec<A>(&mut self, op0: A)
38978 where
38979 Assembler<'a>: DecEmitter<A>,
38980 {
38981 <Self as DecEmitter<A>>::dec(self, op0);
38982 }
38983 #[inline]
38999 pub fn div<A>(&mut self, op0: A)
39000 where
39001 Assembler<'a>: DivEmitter<A>,
39002 {
39003 <Self as DivEmitter<A>>::div(self, op0);
39004 }
39005 #[inline]
39017 pub fn enter<A>(&mut self, op0: A)
39018 where
39019 Assembler<'a>: EnterEmitter<A>,
39020 {
39021 <Self as EnterEmitter<A>>::enter(self, op0);
39022 }
39023 #[inline]
39035 pub fn fwait(&mut self)
39036 where
39037 Assembler<'a>: FwaitEmitter,
39038 {
39039 <Self as FwaitEmitter>::fwait(self);
39040 }
39041 #[inline]
39053 pub fn hlt(&mut self)
39054 where
39055 Assembler<'a>: HltEmitter,
39056 {
39057 <Self as HltEmitter>::hlt(self);
39058 }
39059 #[inline]
39075 pub fn idiv<A>(&mut self, op0: A)
39076 where
39077 Assembler<'a>: IdivEmitter<A>,
39078 {
39079 <Self as IdivEmitter<A>>::idiv(self, op0);
39080 }
39081 #[inline]
39097 pub fn imul_1<A>(&mut self, op0: A)
39098 where
39099 Assembler<'a>: ImulEmitter_1<A>,
39100 {
39101 <Self as ImulEmitter_1<A>>::imul_1(self, op0);
39102 }
39103 #[inline]
39120 pub fn imul_2<A, B>(&mut self, op0: A, op1: B)
39121 where
39122 Assembler<'a>: ImulEmitter_2<A, B>,
39123 {
39124 <Self as ImulEmitter_2<A, B>>::imul_2(self, op0, op1);
39125 }
39126 #[inline]
39143 pub fn imul_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39144 where
39145 Assembler<'a>: ImulEmitter_3<A, B, C>,
39146 {
39147 <Self as ImulEmitter_3<A, B, C>>::imul_3(self, op0, op1, op2);
39148 }
39149 #[inline]
39161 pub fn r#in(&mut self)
39162 where
39163 Assembler<'a>: InEmitter,
39164 {
39165 <Self as InEmitter>::r#in(self);
39166 }
39167 #[inline]
39182 pub fn r#in_2<A, B>(&mut self, op0: A, op1: B)
39183 where
39184 Assembler<'a>: InEmitter_2<A, B>,
39185 {
39186 <Self as InEmitter_2<A, B>>::r#in_2(self, op0, op1);
39187 }
39188 #[inline]
39204 pub fn inc<A>(&mut self, op0: A)
39205 where
39206 Assembler<'a>: IncEmitter<A>,
39207 {
39208 <Self as IncEmitter<A>>::inc(self, op0);
39209 }
39210 #[inline]
39222 pub fn ins(&mut self)
39223 where
39224 Assembler<'a>: InsEmitter,
39225 {
39226 <Self as InsEmitter>::ins(self);
39227 }
39228 #[inline]
39240 pub fn int<A>(&mut self, op0: A)
39241 where
39242 Assembler<'a>: IntEmitter<A>,
39243 {
39244 <Self as IntEmitter<A>>::int(self, op0);
39245 }
39246 #[inline]
39258 pub fn int1(&mut self)
39259 where
39260 Assembler<'a>: Int1Emitter,
39261 {
39262 <Self as Int1Emitter>::int1(self);
39263 }
39264 #[inline]
39276 pub fn int3(&mut self)
39277 where
39278 Assembler<'a>: Int3Emitter,
39279 {
39280 <Self as Int3Emitter>::int3(self);
39281 }
39282 #[inline]
39294 pub fn iret(&mut self)
39295 where
39296 Assembler<'a>: IretEmitter,
39297 {
39298 <Self as IretEmitter>::iret(self);
39299 }
39300 #[inline]
39314 pub fn ja<A>(&mut self, op0: A)
39315 where
39316 Assembler<'a>: JaEmitter<A>,
39317 {
39318 <Self as JaEmitter<A>>::ja(self, op0);
39319 }
39320 #[inline]
39334 pub fn jbe<A>(&mut self, op0: A)
39335 where
39336 Assembler<'a>: JbeEmitter<A>,
39337 {
39338 <Self as JbeEmitter<A>>::jbe(self, op0);
39339 }
39340 #[inline]
39354 pub fn jc<A>(&mut self, op0: A)
39355 where
39356 Assembler<'a>: JcEmitter<A>,
39357 {
39358 <Self as JcEmitter<A>>::jc(self, op0);
39359 }
39360 #[inline]
39374 pub fn jcxz<A>(&mut self, op0: A)
39375 where
39376 Assembler<'a>: JcxzEmitter<A>,
39377 {
39378 <Self as JcxzEmitter<A>>::jcxz(self, op0);
39379 }
39380 #[inline]
39394 pub fn jg<A>(&mut self, op0: A)
39395 where
39396 Assembler<'a>: JgEmitter<A>,
39397 {
39398 <Self as JgEmitter<A>>::jg(self, op0);
39399 }
39400 #[inline]
39414 pub fn jge<A>(&mut self, op0: A)
39415 where
39416 Assembler<'a>: JgeEmitter<A>,
39417 {
39418 <Self as JgeEmitter<A>>::jge(self, op0);
39419 }
39420 #[inline]
39434 pub fn jl<A>(&mut self, op0: A)
39435 where
39436 Assembler<'a>: JlEmitter<A>,
39437 {
39438 <Self as JlEmitter<A>>::jl(self, op0);
39439 }
39440 #[inline]
39454 pub fn jle<A>(&mut self, op0: A)
39455 where
39456 Assembler<'a>: JleEmitter<A>,
39457 {
39458 <Self as JleEmitter<A>>::jle(self, op0);
39459 }
39460 #[inline]
39476 pub fn jmp<A>(&mut self, op0: A)
39477 where
39478 Assembler<'a>: JmpEmitter<A>,
39479 {
39480 <Self as JmpEmitter<A>>::jmp(self, op0);
39481 }
39482 #[inline]
39494 pub fn jmpf<A>(&mut self, op0: A)
39495 where
39496 Assembler<'a>: JmpfEmitter<A>,
39497 {
39498 <Self as JmpfEmitter<A>>::jmpf(self, op0);
39499 }
39500 #[inline]
39514 pub fn jnc<A>(&mut self, op0: A)
39515 where
39516 Assembler<'a>: JncEmitter<A>,
39517 {
39518 <Self as JncEmitter<A>>::jnc(self, op0);
39519 }
39520 #[inline]
39534 pub fn jno<A>(&mut self, op0: A)
39535 where
39536 Assembler<'a>: JnoEmitter<A>,
39537 {
39538 <Self as JnoEmitter<A>>::jno(self, op0);
39539 }
39540 #[inline]
39554 pub fn jnp<A>(&mut self, op0: A)
39555 where
39556 Assembler<'a>: JnpEmitter<A>,
39557 {
39558 <Self as JnpEmitter<A>>::jnp(self, op0);
39559 }
39560 #[inline]
39574 pub fn jns<A>(&mut self, op0: A)
39575 where
39576 Assembler<'a>: JnsEmitter<A>,
39577 {
39578 <Self as JnsEmitter<A>>::jns(self, op0);
39579 }
39580 #[inline]
39594 pub fn jnz<A>(&mut self, op0: A)
39595 where
39596 Assembler<'a>: JnzEmitter<A>,
39597 {
39598 <Self as JnzEmitter<A>>::jnz(self, op0);
39599 }
39600 #[inline]
39614 pub fn jo<A>(&mut self, op0: A)
39615 where
39616 Assembler<'a>: JoEmitter<A>,
39617 {
39618 <Self as JoEmitter<A>>::jo(self, op0);
39619 }
39620 #[inline]
39634 pub fn jp<A>(&mut self, op0: A)
39635 where
39636 Assembler<'a>: JpEmitter<A>,
39637 {
39638 <Self as JpEmitter<A>>::jp(self, op0);
39639 }
39640 #[inline]
39654 pub fn js<A>(&mut self, op0: A)
39655 where
39656 Assembler<'a>: JsEmitter<A>,
39657 {
39658 <Self as JsEmitter<A>>::js(self, op0);
39659 }
39660 #[inline]
39674 pub fn jz<A>(&mut self, op0: A)
39675 where
39676 Assembler<'a>: JzEmitter<A>,
39677 {
39678 <Self as JzEmitter<A>>::jz(self, op0);
39679 }
39680 #[inline]
39694 pub fn jcc<A>(&mut self, op0: A)
39695 where
39696 Assembler<'a>: JccEmitter<A>,
39697 {
39698 <Self as JccEmitter<A>>::jcc(self, op0);
39699 }
39700 #[inline]
39712 pub fn lahf(&mut self)
39713 where
39714 Assembler<'a>: LahfEmitter,
39715 {
39716 <Self as LahfEmitter>::lahf(self);
39717 }
39718 #[inline]
39735 pub fn lar<A, B>(&mut self, op0: A, op1: B)
39736 where
39737 Assembler<'a>: LarEmitter<A, B>,
39738 {
39739 <Self as LarEmitter<A, B>>::lar(self, op0, op1);
39740 }
39741 #[inline]
39753 pub fn ldtilecfg<A>(&mut self, op0: A)
39754 where
39755 Assembler<'a>: LdtilecfgEmitter<A>,
39756 {
39757 <Self as LdtilecfgEmitter<A>>::ldtilecfg(self, op0);
39758 }
39759 #[inline]
39773 pub fn lea<A, B>(&mut self, op0: A, op1: B)
39774 where
39775 Assembler<'a>: LeaEmitter<A, B>,
39776 {
39777 <Self as LeaEmitter<A, B>>::lea(self, op0, op1);
39778 }
39779 #[inline]
39791 pub fn leave(&mut self)
39792 where
39793 Assembler<'a>: LeaveEmitter,
39794 {
39795 <Self as LeaveEmitter>::leave(self);
39796 }
39797 #[inline]
39811 pub fn lfs<A, B>(&mut self, op0: A, op1: B)
39812 where
39813 Assembler<'a>: LfsEmitter<A, B>,
39814 {
39815 <Self as LfsEmitter<A, B>>::lfs(self, op0, op1);
39816 }
39817 #[inline]
39829 pub fn lgdt<A>(&mut self, op0: A)
39830 where
39831 Assembler<'a>: LgdtEmitter<A>,
39832 {
39833 <Self as LgdtEmitter<A>>::lgdt(self, op0);
39834 }
39835 #[inline]
39849 pub fn lgs<A, B>(&mut self, op0: A, op1: B)
39850 where
39851 Assembler<'a>: LgsEmitter<A, B>,
39852 {
39853 <Self as LgsEmitter<A, B>>::lgs(self, op0, op1);
39854 }
39855 #[inline]
39867 pub fn lidt<A>(&mut self, op0: A)
39868 where
39869 Assembler<'a>: LidtEmitter<A>,
39870 {
39871 <Self as LidtEmitter<A>>::lidt(self, op0);
39872 }
39873 #[inline]
39886 pub fn lldt<A>(&mut self, op0: A)
39887 where
39888 Assembler<'a>: LldtEmitter<A>,
39889 {
39890 <Self as LldtEmitter<A>>::lldt(self, op0);
39891 }
39892 #[inline]
39905 pub fn lmsw<A>(&mut self, op0: A)
39906 where
39907 Assembler<'a>: LmswEmitter<A>,
39908 {
39909 <Self as LmswEmitter<A>>::lmsw(self, op0);
39910 }
39911 #[inline]
39923 pub fn lods(&mut self)
39924 where
39925 Assembler<'a>: LodsEmitter,
39926 {
39927 <Self as LodsEmitter>::lods(self);
39928 }
39929 #[inline]
39943 pub fn r#loop<A>(&mut self, op0: A)
39944 where
39945 Assembler<'a>: LoopEmitter<A>,
39946 {
39947 <Self as LoopEmitter<A>>::r#loop(self, op0);
39948 }
39949 #[inline]
39963 pub fn loopnz<A>(&mut self, op0: A)
39964 where
39965 Assembler<'a>: LoopnzEmitter<A>,
39966 {
39967 <Self as LoopnzEmitter<A>>::loopnz(self, op0);
39968 }
39969 #[inline]
39983 pub fn loopz<A>(&mut self, op0: A)
39984 where
39985 Assembler<'a>: LoopzEmitter<A>,
39986 {
39987 <Self as LoopzEmitter<A>>::loopz(self, op0);
39988 }
39989 #[inline]
40006 pub fn lsl<A, B>(&mut self, op0: A, op1: B)
40007 where
40008 Assembler<'a>: LslEmitter<A, B>,
40009 {
40010 <Self as LslEmitter<A, B>>::lsl(self, op0, op1);
40011 }
40012 #[inline]
40026 pub fn lss<A, B>(&mut self, op0: A, op1: B)
40027 where
40028 Assembler<'a>: LssEmitter<A, B>,
40029 {
40030 <Self as LssEmitter<A, B>>::lss(self, op0, op1);
40031 }
40032 #[inline]
40045 pub fn ltr<A>(&mut self, op0: A)
40046 where
40047 Assembler<'a>: LtrEmitter<A>,
40048 {
40049 <Self as LtrEmitter<A>>::ltr(self, op0);
40050 }
40051 #[inline]
40087 pub fn mov<A, B>(&mut self, op0: A, op1: B)
40088 where
40089 Assembler<'a>: MovEmitter<A, B>,
40090 {
40091 <Self as MovEmitter<A, B>>::mov(self, op0, op1);
40092 }
40093 #[inline]
40105 pub fn movs(&mut self)
40106 where
40107 Assembler<'a>: MovsEmitter,
40108 {
40109 <Self as MovsEmitter>::movs(self);
40110 }
40111 #[inline]
40134 pub fn movsx<A, B>(&mut self, op0: A, op1: B)
40135 where
40136 Assembler<'a>: MovsxEmitter<A, B>,
40137 {
40138 <Self as MovsxEmitter<A, B>>::movsx(self, op0, op1);
40139 }
40140 #[inline]
40160 pub fn movzx<A, B>(&mut self, op0: A, op1: B)
40161 where
40162 Assembler<'a>: MovzxEmitter<A, B>,
40163 {
40164 <Self as MovzxEmitter<A, B>>::movzx(self, op0, op1);
40165 }
40166 #[inline]
40178 pub fn mov_cr2g<A, B>(&mut self, op0: A, op1: B)
40179 where
40180 Assembler<'a>: MovCr2gEmitter<A, B>,
40181 {
40182 <Self as MovCr2gEmitter<A, B>>::mov_cr2g(self, op0, op1);
40183 }
40184 #[inline]
40196 pub fn mov_dr2g<A, B>(&mut self, op0: A, op1: B)
40197 where
40198 Assembler<'a>: MovDr2gEmitter<A, B>,
40199 {
40200 <Self as MovDr2gEmitter<A, B>>::mov_dr2g(self, op0, op1);
40201 }
40202 #[inline]
40214 pub fn mov_g2cr<A, B>(&mut self, op0: A, op1: B)
40215 where
40216 Assembler<'a>: MovG2crEmitter<A, B>,
40217 {
40218 <Self as MovG2crEmitter<A, B>>::mov_g2cr(self, op0, op1);
40219 }
40220 #[inline]
40232 pub fn mov_g2dr<A, B>(&mut self, op0: A, op1: B)
40233 where
40234 Assembler<'a>: MovG2drEmitter<A, B>,
40235 {
40236 <Self as MovG2drEmitter<A, B>>::mov_g2dr(self, op0, op1);
40237 }
40238 #[inline]
40251 pub fn mov_g2s<A, B>(&mut self, op0: A, op1: B)
40252 where
40253 Assembler<'a>: MovG2sEmitter<A, B>,
40254 {
40255 <Self as MovG2sEmitter<A, B>>::mov_g2s(self, op0, op1);
40256 }
40257 #[inline]
40270 pub fn mov_s2g<A, B>(&mut self, op0: A, op1: B)
40271 where
40272 Assembler<'a>: MovS2gEmitter<A, B>,
40273 {
40274 <Self as MovS2gEmitter<A, B>>::mov_s2g(self, op0, op1);
40275 }
40276 #[inline]
40292 pub fn mul<A>(&mut self, op0: A)
40293 where
40294 Assembler<'a>: MulEmitter<A>,
40295 {
40296 <Self as MulEmitter<A>>::mul(self, op0);
40297 }
40298 #[inline]
40314 pub fn neg<A>(&mut self, op0: A)
40315 where
40316 Assembler<'a>: NegEmitter<A>,
40317 {
40318 <Self as NegEmitter<A>>::neg(self, op0);
40319 }
40320 #[inline]
40332 pub fn nop(&mut self)
40333 where
40334 Assembler<'a>: NopEmitter,
40335 {
40336 <Self as NopEmitter>::nop(self);
40337 }
40338 #[inline]
40353 pub fn nop_1<A>(&mut self, op0: A)
40354 where
40355 Assembler<'a>: NopEmitter_1<A>,
40356 {
40357 <Self as NopEmitter_1<A>>::nop_1(self, op0);
40358 }
40359 #[inline]
40375 pub fn not<A>(&mut self, op0: A)
40376 where
40377 Assembler<'a>: NotEmitter<A>,
40378 {
40379 <Self as NotEmitter<A>>::not(self, op0);
40380 }
40381 #[inline]
40409 pub fn or<A, B>(&mut self, op0: A, op1: B)
40410 where
40411 Assembler<'a>: OrEmitter<A, B>,
40412 {
40413 <Self as OrEmitter<A, B>>::or(self, op0, op1);
40414 }
40415 #[inline]
40427 pub fn r#out(&mut self)
40428 where
40429 Assembler<'a>: OutEmitter,
40430 {
40431 <Self as OutEmitter>::r#out(self);
40432 }
40433 #[inline]
40448 pub fn r#out_2<A, B>(&mut self, op0: A, op1: B)
40449 where
40450 Assembler<'a>: OutEmitter_2<A, B>,
40451 {
40452 <Self as OutEmitter_2<A, B>>::r#out_2(self, op0, op1);
40453 }
40454 #[inline]
40466 pub fn outs(&mut self)
40467 where
40468 Assembler<'a>: OutsEmitter,
40469 {
40470 <Self as OutsEmitter>::outs(self);
40471 }
40472 #[inline]
40484 pub fn pause(&mut self)
40485 where
40486 Assembler<'a>: PauseEmitter,
40487 {
40488 <Self as PauseEmitter>::pause(self);
40489 }
40490 #[inline]
40504 pub fn pop<A>(&mut self, op0: A)
40505 where
40506 Assembler<'a>: PopEmitter<A>,
40507 {
40508 <Self as PopEmitter<A>>::pop(self, op0);
40509 }
40510 #[inline]
40522 pub fn popf(&mut self)
40523 where
40524 Assembler<'a>: PopfEmitter,
40525 {
40526 <Self as PopfEmitter>::popf(self);
40527 }
40528 #[inline]
40540 pub fn pop_seg<A>(&mut self, op0: A)
40541 where
40542 Assembler<'a>: PopSegEmitter<A>,
40543 {
40544 <Self as PopSegEmitter<A>>::pop_seg(self, op0);
40545 }
40546 #[inline]
40561 pub fn push<A>(&mut self, op0: A)
40562 where
40563 Assembler<'a>: PushEmitter<A>,
40564 {
40565 <Self as PushEmitter<A>>::push(self, op0);
40566 }
40567 #[inline]
40579 pub fn pushf(&mut self)
40580 where
40581 Assembler<'a>: PushfEmitter,
40582 {
40583 <Self as PushfEmitter>::pushf(self);
40584 }
40585 #[inline]
40597 pub fn push_seg<A>(&mut self, op0: A)
40598 where
40599 Assembler<'a>: PushSegEmitter<A>,
40600 {
40601 <Self as PushSegEmitter<A>>::push_seg(self, op0);
40602 }
40603 #[inline]
40624 pub fn rcl<A, B>(&mut self, op0: A, op1: B)
40625 where
40626 Assembler<'a>: RclEmitter<A, B>,
40627 {
40628 <Self as RclEmitter<A, B>>::rcl(self, op0, op1);
40629 }
40630 #[inline]
40651 pub fn rcr<A, B>(&mut self, op0: A, op1: B)
40652 where
40653 Assembler<'a>: RcrEmitter<A, B>,
40654 {
40655 <Self as RcrEmitter<A, B>>::rcr(self, op0, op1);
40656 }
40657 #[inline]
40669 pub fn ret(&mut self)
40670 where
40671 Assembler<'a>: RetEmitter,
40672 {
40673 <Self as RetEmitter>::ret(self);
40674 }
40675 #[inline]
40687 pub fn ret_1<A>(&mut self, op0: A)
40688 where
40689 Assembler<'a>: RetEmitter_1<A>,
40690 {
40691 <Self as RetEmitter_1<A>>::ret_1(self, op0);
40692 }
40693 #[inline]
40705 pub fn retf(&mut self)
40706 where
40707 Assembler<'a>: RetfEmitter,
40708 {
40709 <Self as RetfEmitter>::retf(self);
40710 }
40711 #[inline]
40723 pub fn retf_1<A>(&mut self, op0: A)
40724 where
40725 Assembler<'a>: RetfEmitter_1<A>,
40726 {
40727 <Self as RetfEmitter_1<A>>::retf_1(self, op0);
40728 }
40729 #[inline]
40750 pub fn rol<A, B>(&mut self, op0: A, op1: B)
40751 where
40752 Assembler<'a>: RolEmitter<A, B>,
40753 {
40754 <Self as RolEmitter<A, B>>::rol(self, op0, op1);
40755 }
40756 #[inline]
40777 pub fn ror<A, B>(&mut self, op0: A, op1: B)
40778 where
40779 Assembler<'a>: RorEmitter<A, B>,
40780 {
40781 <Self as RorEmitter<A, B>>::ror(self, op0, op1);
40782 }
40783 #[inline]
40795 pub fn sahf(&mut self)
40796 where
40797 Assembler<'a>: SahfEmitter,
40798 {
40799 <Self as SahfEmitter>::sahf(self);
40800 }
40801 #[inline]
40822 pub fn sar<A, B>(&mut self, op0: A, op1: B)
40823 where
40824 Assembler<'a>: SarEmitter<A, B>,
40825 {
40826 <Self as SarEmitter<A, B>>::sar(self, op0, op1);
40827 }
40828 #[inline]
40856 pub fn sbb<A, B>(&mut self, op0: A, op1: B)
40857 where
40858 Assembler<'a>: SbbEmitter<A, B>,
40859 {
40860 <Self as SbbEmitter<A, B>>::sbb(self, op0, op1);
40861 }
40862 #[inline]
40874 pub fn scas(&mut self)
40875 where
40876 Assembler<'a>: ScasEmitter,
40877 {
40878 <Self as ScasEmitter>::scas(self);
40879 }
40880 #[inline]
40893 pub fn seta<A>(&mut self, op0: A)
40894 where
40895 Assembler<'a>: SetaEmitter<A>,
40896 {
40897 <Self as SetaEmitter<A>>::seta(self, op0);
40898 }
40899 #[inline]
40912 pub fn setbe<A>(&mut self, op0: A)
40913 where
40914 Assembler<'a>: SetbeEmitter<A>,
40915 {
40916 <Self as SetbeEmitter<A>>::setbe(self, op0);
40917 }
40918 #[inline]
40931 pub fn setc<A>(&mut self, op0: A)
40932 where
40933 Assembler<'a>: SetcEmitter<A>,
40934 {
40935 <Self as SetcEmitter<A>>::setc(self, op0);
40936 }
40937 #[inline]
40950 pub fn setg<A>(&mut self, op0: A)
40951 where
40952 Assembler<'a>: SetgEmitter<A>,
40953 {
40954 <Self as SetgEmitter<A>>::setg(self, op0);
40955 }
40956 #[inline]
40969 pub fn setge<A>(&mut self, op0: A)
40970 where
40971 Assembler<'a>: SetgeEmitter<A>,
40972 {
40973 <Self as SetgeEmitter<A>>::setge(self, op0);
40974 }
40975 #[inline]
40988 pub fn setl<A>(&mut self, op0: A)
40989 where
40990 Assembler<'a>: SetlEmitter<A>,
40991 {
40992 <Self as SetlEmitter<A>>::setl(self, op0);
40993 }
40994 #[inline]
41007 pub fn setle<A>(&mut self, op0: A)
41008 where
41009 Assembler<'a>: SetleEmitter<A>,
41010 {
41011 <Self as SetleEmitter<A>>::setle(self, op0);
41012 }
41013 #[inline]
41026 pub fn setnc<A>(&mut self, op0: A)
41027 where
41028 Assembler<'a>: SetncEmitter<A>,
41029 {
41030 <Self as SetncEmitter<A>>::setnc(self, op0);
41031 }
41032 #[inline]
41045 pub fn setno<A>(&mut self, op0: A)
41046 where
41047 Assembler<'a>: SetnoEmitter<A>,
41048 {
41049 <Self as SetnoEmitter<A>>::setno(self, op0);
41050 }
41051 #[inline]
41064 pub fn setnp<A>(&mut self, op0: A)
41065 where
41066 Assembler<'a>: SetnpEmitter<A>,
41067 {
41068 <Self as SetnpEmitter<A>>::setnp(self, op0);
41069 }
41070 #[inline]
41083 pub fn setns<A>(&mut self, op0: A)
41084 where
41085 Assembler<'a>: SetnsEmitter<A>,
41086 {
41087 <Self as SetnsEmitter<A>>::setns(self, op0);
41088 }
41089 #[inline]
41102 pub fn setnz<A>(&mut self, op0: A)
41103 where
41104 Assembler<'a>: SetnzEmitter<A>,
41105 {
41106 <Self as SetnzEmitter<A>>::setnz(self, op0);
41107 }
41108 #[inline]
41121 pub fn seto<A>(&mut self, op0: A)
41122 where
41123 Assembler<'a>: SetoEmitter<A>,
41124 {
41125 <Self as SetoEmitter<A>>::seto(self, op0);
41126 }
41127 #[inline]
41140 pub fn setp<A>(&mut self, op0: A)
41141 where
41142 Assembler<'a>: SetpEmitter<A>,
41143 {
41144 <Self as SetpEmitter<A>>::setp(self, op0);
41145 }
41146 #[inline]
41159 pub fn sets<A>(&mut self, op0: A)
41160 where
41161 Assembler<'a>: SetsEmitter<A>,
41162 {
41163 <Self as SetsEmitter<A>>::sets(self, op0);
41164 }
41165 #[inline]
41178 pub fn setz<A>(&mut self, op0: A)
41179 where
41180 Assembler<'a>: SetzEmitter<A>,
41181 {
41182 <Self as SetzEmitter<A>>::setz(self, op0);
41183 }
41184 #[inline]
41197 pub fn setcc<A>(&mut self, op0: A)
41198 where
41199 Assembler<'a>: SetccEmitter<A>,
41200 {
41201 <Self as SetccEmitter<A>>::setcc(self, op0);
41202 }
41203 #[inline]
41215 pub fn sgdt<A>(&mut self, op0: A)
41216 where
41217 Assembler<'a>: SgdtEmitter<A>,
41218 {
41219 <Self as SgdtEmitter<A>>::sgdt(self, op0);
41220 }
41221 #[inline]
41242 pub fn shl<A, B>(&mut self, op0: A, op1: B)
41243 where
41244 Assembler<'a>: ShlEmitter<A, B>,
41245 {
41246 <Self as ShlEmitter<A, B>>::shl(self, op0, op1);
41247 }
41248 #[inline]
41271 pub fn shld<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41272 where
41273 Assembler<'a>: ShldEmitter<A, B, C>,
41274 {
41275 <Self as ShldEmitter<A, B, C>>::shld(self, op0, op1, op2);
41276 }
41277 #[inline]
41298 pub fn shr<A, B>(&mut self, op0: A, op1: B)
41299 where
41300 Assembler<'a>: ShrEmitter<A, B>,
41301 {
41302 <Self as ShrEmitter<A, B>>::shr(self, op0, op1);
41303 }
41304 #[inline]
41327 pub fn shrd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41328 where
41329 Assembler<'a>: ShrdEmitter<A, B, C>,
41330 {
41331 <Self as ShrdEmitter<A, B, C>>::shrd(self, op0, op1, op2);
41332 }
41333 #[inline]
41345 pub fn sidt<A>(&mut self, op0: A)
41346 where
41347 Assembler<'a>: SidtEmitter<A>,
41348 {
41349 <Self as SidtEmitter<A>>::sidt(self, op0);
41350 }
41351 #[inline]
41364 pub fn sldt<A>(&mut self, op0: A)
41365 where
41366 Assembler<'a>: SldtEmitter<A>,
41367 {
41368 <Self as SldtEmitter<A>>::sldt(self, op0);
41369 }
41370 #[inline]
41385 pub fn smsw<A>(&mut self, op0: A)
41386 where
41387 Assembler<'a>: SmswEmitter<A>,
41388 {
41389 <Self as SmswEmitter<A>>::smsw(self, op0);
41390 }
41391 #[inline]
41403 pub fn stc(&mut self)
41404 where
41405 Assembler<'a>: StcEmitter,
41406 {
41407 <Self as StcEmitter>::stc(self);
41408 }
41409 #[inline]
41421 pub fn std(&mut self)
41422 where
41423 Assembler<'a>: StdEmitter,
41424 {
41425 <Self as StdEmitter>::std(self);
41426 }
41427 #[inline]
41439 pub fn sti(&mut self)
41440 where
41441 Assembler<'a>: StiEmitter,
41442 {
41443 <Self as StiEmitter>::sti(self);
41444 }
41445 #[inline]
41457 pub fn stos(&mut self)
41458 where
41459 Assembler<'a>: StosEmitter,
41460 {
41461 <Self as StosEmitter>::stos(self);
41462 }
41463 #[inline]
41476 pub fn str<A>(&mut self, op0: A)
41477 where
41478 Assembler<'a>: StrEmitter<A>,
41479 {
41480 <Self as StrEmitter<A>>::str(self, op0);
41481 }
41482 #[inline]
41494 pub fn sttilecfg<A>(&mut self, op0: A)
41495 where
41496 Assembler<'a>: SttilecfgEmitter<A>,
41497 {
41498 <Self as SttilecfgEmitter<A>>::sttilecfg(self, op0);
41499 }
41500 #[inline]
41528 pub fn sub<A, B>(&mut self, op0: A, op1: B)
41529 where
41530 Assembler<'a>: SubEmitter<A, B>,
41531 {
41532 <Self as SubEmitter<A, B>>::sub(self, op0, op1);
41533 }
41534 #[inline]
41546 pub fn swapgs(&mut self)
41547 where
41548 Assembler<'a>: SwapgsEmitter,
41549 {
41550 <Self as SwapgsEmitter>::swapgs(self);
41551 }
41552 #[inline]
41564 pub fn syscall(&mut self)
41565 where
41566 Assembler<'a>: SyscallEmitter,
41567 {
41568 <Self as SyscallEmitter>::syscall(self);
41569 }
41570 #[inline]
41582 pub fn sysret(&mut self)
41583 where
41584 Assembler<'a>: SysretEmitter,
41585 {
41586 <Self as SysretEmitter>::sysret(self);
41587 }
41588 #[inline]
41600 pub fn tcmmimfp16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41601 where
41602 Assembler<'a>: Tcmmimfp16psEmitter<A, B, C>,
41603 {
41604 <Self as Tcmmimfp16psEmitter<A, B, C>>::tcmmimfp16ps(self, op0, op1, op2);
41605 }
41606 #[inline]
41618 pub fn tcmmrlfp16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41619 where
41620 Assembler<'a>: Tcmmrlfp16psEmitter<A, B, C>,
41621 {
41622 <Self as Tcmmrlfp16psEmitter<A, B, C>>::tcmmrlfp16ps(self, op0, op1, op2);
41623 }
41624 #[inline]
41636 pub fn tdpbf16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41637 where
41638 Assembler<'a>: Tdpbf16psEmitter<A, B, C>,
41639 {
41640 <Self as Tdpbf16psEmitter<A, B, C>>::tdpbf16ps(self, op0, op1, op2);
41641 }
41642 #[inline]
41654 pub fn tdpbssd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41655 where
41656 Assembler<'a>: TdpbssdEmitter<A, B, C>,
41657 {
41658 <Self as TdpbssdEmitter<A, B, C>>::tdpbssd(self, op0, op1, op2);
41659 }
41660 #[inline]
41672 pub fn tdpbsud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41673 where
41674 Assembler<'a>: TdpbsudEmitter<A, B, C>,
41675 {
41676 <Self as TdpbsudEmitter<A, B, C>>::tdpbsud(self, op0, op1, op2);
41677 }
41678 #[inline]
41690 pub fn tdpbusd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41691 where
41692 Assembler<'a>: TdpbusdEmitter<A, B, C>,
41693 {
41694 <Self as TdpbusdEmitter<A, B, C>>::tdpbusd(self, op0, op1, op2);
41695 }
41696 #[inline]
41708 pub fn tdpbuud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41709 where
41710 Assembler<'a>: TdpbuudEmitter<A, B, C>,
41711 {
41712 <Self as TdpbuudEmitter<A, B, C>>::tdpbuud(self, op0, op1, op2);
41713 }
41714 #[inline]
41726 pub fn tdpfp16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41727 where
41728 Assembler<'a>: Tdpfp16psEmitter<A, B, C>,
41729 {
41730 <Self as Tdpfp16psEmitter<A, B, C>>::tdpfp16ps(self, op0, op1, op2);
41731 }
41732 #[inline]
41756 pub fn test<A, B>(&mut self, op0: A, op1: B)
41757 where
41758 Assembler<'a>: TestEmitter<A, B>,
41759 {
41760 <Self as TestEmitter<A, B>>::test(self, op0, op1);
41761 }
41762 #[inline]
41774 pub fn tileloadd<A, B>(&mut self, op0: A, op1: B)
41775 where
41776 Assembler<'a>: TileloaddEmitter<A, B>,
41777 {
41778 <Self as TileloaddEmitter<A, B>>::tileloadd(self, op0, op1);
41779 }
41780 #[inline]
41792 pub fn tileloaddt1<A, B>(&mut self, op0: A, op1: B)
41793 where
41794 Assembler<'a>: Tileloaddt1Emitter<A, B>,
41795 {
41796 <Self as Tileloaddt1Emitter<A, B>>::tileloaddt1(self, op0, op1);
41797 }
41798 #[inline]
41810 pub fn tilerelease(&mut self)
41811 where
41812 Assembler<'a>: TilereleaseEmitter,
41813 {
41814 <Self as TilereleaseEmitter>::tilerelease(self);
41815 }
41816 #[inline]
41828 pub fn tilestored<A, B>(&mut self, op0: A, op1: B)
41829 where
41830 Assembler<'a>: TilestoredEmitter<A, B>,
41831 {
41832 <Self as TilestoredEmitter<A, B>>::tilestored(self, op0, op1);
41833 }
41834 #[inline]
41846 pub fn tilezero<A>(&mut self, op0: A)
41847 where
41848 Assembler<'a>: TilezeroEmitter<A>,
41849 {
41850 <Self as TilezeroEmitter<A>>::tilezero(self, op0);
41851 }
41852 #[inline]
41869 pub fn ud0<A, B>(&mut self, op0: A, op1: B)
41870 where
41871 Assembler<'a>: Ud0Emitter<A, B>,
41872 {
41873 <Self as Ud0Emitter<A, B>>::ud0(self, op0, op1);
41874 }
41875 #[inline]
41892 pub fn ud1<A, B>(&mut self, op0: A, op1: B)
41893 where
41894 Assembler<'a>: Ud1Emitter<A, B>,
41895 {
41896 <Self as Ud1Emitter<A, B>>::ud1(self, op0, op1);
41897 }
41898 #[inline]
41910 pub fn ud2(&mut self)
41911 where
41912 Assembler<'a>: Ud2Emitter,
41913 {
41914 <Self as Ud2Emitter>::ud2(self);
41915 }
41916 #[inline]
41933 pub fn vaddph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41934 where
41935 Assembler<'a>: VaddphEmitter<A, B, C>,
41936 {
41937 <Self as VaddphEmitter<A, B, C>>::vaddph(self, op0, op1, op2);
41938 }
41939 #[inline]
41951 pub fn vaddph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41952 where
41953 Assembler<'a>: VaddphErEmitter<A, B, C>,
41954 {
41955 <Self as VaddphErEmitter<A, B, C>>::vaddph_er(self, op0, op1, op2);
41956 }
41957 #[inline]
41974 pub fn vaddph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41975 where
41976 Assembler<'a>: VaddphMaskEmitter<A, B, C>,
41977 {
41978 <Self as VaddphMaskEmitter<A, B, C>>::vaddph_mask(self, op0, op1, op2);
41979 }
41980 #[inline]
41992 pub fn vaddph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41993 where
41994 Assembler<'a>: VaddphMaskErEmitter<A, B, C>,
41995 {
41996 <Self as VaddphMaskErEmitter<A, B, C>>::vaddph_mask_er(self, op0, op1, op2);
41997 }
41998 #[inline]
42015 pub fn vaddph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42016 where
42017 Assembler<'a>: VaddphMaskzEmitter<A, B, C>,
42018 {
42019 <Self as VaddphMaskzEmitter<A, B, C>>::vaddph_maskz(self, op0, op1, op2);
42020 }
42021 #[inline]
42033 pub fn vaddph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42034 where
42035 Assembler<'a>: VaddphMaskzErEmitter<A, B, C>,
42036 {
42037 <Self as VaddphMaskzErEmitter<A, B, C>>::vaddph_maskz_er(self, op0, op1, op2);
42038 }
42039 #[inline]
42052 pub fn vaddsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42053 where
42054 Assembler<'a>: VaddshEmitter<A, B, C>,
42055 {
42056 <Self as VaddshEmitter<A, B, C>>::vaddsh(self, op0, op1, op2);
42057 }
42058 #[inline]
42070 pub fn vaddsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42071 where
42072 Assembler<'a>: VaddshErEmitter<A, B, C>,
42073 {
42074 <Self as VaddshErEmitter<A, B, C>>::vaddsh_er(self, op0, op1, op2);
42075 }
42076 #[inline]
42089 pub fn vaddsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42090 where
42091 Assembler<'a>: VaddshMaskEmitter<A, B, C>,
42092 {
42093 <Self as VaddshMaskEmitter<A, B, C>>::vaddsh_mask(self, op0, op1, op2);
42094 }
42095 #[inline]
42107 pub fn vaddsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42108 where
42109 Assembler<'a>: VaddshMaskErEmitter<A, B, C>,
42110 {
42111 <Self as VaddshMaskErEmitter<A, B, C>>::vaddsh_mask_er(self, op0, op1, op2);
42112 }
42113 #[inline]
42126 pub fn vaddsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42127 where
42128 Assembler<'a>: VaddshMaskzEmitter<A, B, C>,
42129 {
42130 <Self as VaddshMaskzEmitter<A, B, C>>::vaddsh_maskz(self, op0, op1, op2);
42131 }
42132 #[inline]
42144 pub fn vaddsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42145 where
42146 Assembler<'a>: VaddshMaskzErEmitter<A, B, C>,
42147 {
42148 <Self as VaddshMaskzErEmitter<A, B, C>>::vaddsh_maskz_er(self, op0, op1, op2);
42149 }
42150 #[inline]
42167 pub fn vaesdec<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42168 where
42169 Assembler<'a>: VaesdecEmitter<A, B, C>,
42170 {
42171 <Self as VaesdecEmitter<A, B, C>>::vaesdec(self, op0, op1, op2);
42172 }
42173 #[inline]
42190 pub fn vaesdeclast<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42191 where
42192 Assembler<'a>: VaesdeclastEmitter<A, B, C>,
42193 {
42194 <Self as VaesdeclastEmitter<A, B, C>>::vaesdeclast(self, op0, op1, op2);
42195 }
42196 #[inline]
42213 pub fn vaesenc<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42214 where
42215 Assembler<'a>: VaesencEmitter<A, B, C>,
42216 {
42217 <Self as VaesencEmitter<A, B, C>>::vaesenc(self, op0, op1, op2);
42218 }
42219 #[inline]
42236 pub fn vaesenclast<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42237 where
42238 Assembler<'a>: VaesenclastEmitter<A, B, C>,
42239 {
42240 <Self as VaesenclastEmitter<A, B, C>>::vaesenclast(self, op0, op1, op2);
42241 }
42242 #[inline]
42255 pub fn vaesimc<A, B>(&mut self, op0: A, op1: B)
42256 where
42257 Assembler<'a>: VaesimcEmitter<A, B>,
42258 {
42259 <Self as VaesimcEmitter<A, B>>::vaesimc(self, op0, op1);
42260 }
42261 #[inline]
42274 pub fn vaeskeygenassist<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42275 where
42276 Assembler<'a>: VaeskeygenassistEmitter<A, B, C>,
42277 {
42278 <Self as VaeskeygenassistEmitter<A, B, C>>::vaeskeygenassist(self, op0, op1, op2);
42279 }
42280 #[inline]
42293 pub fn vbcstnebf162ps<A, B>(&mut self, op0: A, op1: B)
42294 where
42295 Assembler<'a>: Vbcstnebf162psEmitter<A, B>,
42296 {
42297 <Self as Vbcstnebf162psEmitter<A, B>>::vbcstnebf162ps(self, op0, op1);
42298 }
42299 #[inline]
42312 pub fn vbcstnesh2ps<A, B>(&mut self, op0: A, op1: B)
42313 where
42314 Assembler<'a>: Vbcstnesh2psEmitter<A, B>,
42315 {
42316 <Self as Vbcstnesh2psEmitter<A, B>>::vbcstnesh2ps(self, op0, op1);
42317 }
42318 #[inline]
42335 pub fn vcmpph<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42336 where
42337 Assembler<'a>: VcmpphEmitter<A, B, C, D>,
42338 {
42339 <Self as VcmpphEmitter<A, B, C, D>>::vcmpph(self, op0, op1, op2, op3);
42340 }
42341 #[inline]
42358 pub fn vcmpph_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42359 where
42360 Assembler<'a>: VcmpphMaskEmitter<A, B, C, D>,
42361 {
42362 <Self as VcmpphMaskEmitter<A, B, C, D>>::vcmpph_mask(self, op0, op1, op2, op3);
42363 }
42364 #[inline]
42376 pub fn vcmpph_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42377 where
42378 Assembler<'a>: VcmpphMaskSaeEmitter<A, B, C, D>,
42379 {
42380 <Self as VcmpphMaskSaeEmitter<A, B, C, D>>::vcmpph_mask_sae(self, op0, op1, op2, op3);
42381 }
42382 #[inline]
42394 pub fn vcmpph_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42395 where
42396 Assembler<'a>: VcmpphSaeEmitter<A, B, C, D>,
42397 {
42398 <Self as VcmpphSaeEmitter<A, B, C, D>>::vcmpph_sae(self, op0, op1, op2, op3);
42399 }
42400 #[inline]
42413 pub fn vcmpsh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42414 where
42415 Assembler<'a>: VcmpshEmitter<A, B, C, D>,
42416 {
42417 <Self as VcmpshEmitter<A, B, C, D>>::vcmpsh(self, op0, op1, op2, op3);
42418 }
42419 #[inline]
42432 pub fn vcmpsh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42433 where
42434 Assembler<'a>: VcmpshMaskEmitter<A, B, C, D>,
42435 {
42436 <Self as VcmpshMaskEmitter<A, B, C, D>>::vcmpsh_mask(self, op0, op1, op2, op3);
42437 }
42438 #[inline]
42450 pub fn vcmpsh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42451 where
42452 Assembler<'a>: VcmpshMaskSaeEmitter<A, B, C, D>,
42453 {
42454 <Self as VcmpshMaskSaeEmitter<A, B, C, D>>::vcmpsh_mask_sae(self, op0, op1, op2, op3);
42455 }
42456 #[inline]
42468 pub fn vcmpsh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42469 where
42470 Assembler<'a>: VcmpshSaeEmitter<A, B, C, D>,
42471 {
42472 <Self as VcmpshSaeEmitter<A, B, C, D>>::vcmpsh_sae(self, op0, op1, op2, op3);
42473 }
42474 #[inline]
42487 pub fn vcomish<A, B>(&mut self, op0: A, op1: B)
42488 where
42489 Assembler<'a>: VcomishEmitter<A, B>,
42490 {
42491 <Self as VcomishEmitter<A, B>>::vcomish(self, op0, op1);
42492 }
42493 #[inline]
42505 pub fn vcomish_sae<A, B>(&mut self, op0: A, op1: B)
42506 where
42507 Assembler<'a>: VcomishSaeEmitter<A, B>,
42508 {
42509 <Self as VcomishSaeEmitter<A, B>>::vcomish_sae(self, op0, op1);
42510 }
42511 #[inline]
42527 pub fn vcvtdq2ph<A, B>(&mut self, op0: A, op1: B)
42528 where
42529 Assembler<'a>: Vcvtdq2phEmitter<A, B>,
42530 {
42531 <Self as Vcvtdq2phEmitter<A, B>>::vcvtdq2ph(self, op0, op1);
42532 }
42533 #[inline]
42545 pub fn vcvtdq2ph_er<A, B>(&mut self, op0: A, op1: B)
42546 where
42547 Assembler<'a>: Vcvtdq2phErEmitter<A, B>,
42548 {
42549 <Self as Vcvtdq2phErEmitter<A, B>>::vcvtdq2ph_er(self, op0, op1);
42550 }
42551 #[inline]
42567 pub fn vcvtdq2ph_mask<A, B>(&mut self, op0: A, op1: B)
42568 where
42569 Assembler<'a>: Vcvtdq2phMaskEmitter<A, B>,
42570 {
42571 <Self as Vcvtdq2phMaskEmitter<A, B>>::vcvtdq2ph_mask(self, op0, op1);
42572 }
42573 #[inline]
42585 pub fn vcvtdq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
42586 where
42587 Assembler<'a>: Vcvtdq2phMaskErEmitter<A, B>,
42588 {
42589 <Self as Vcvtdq2phMaskErEmitter<A, B>>::vcvtdq2ph_mask_er(self, op0, op1);
42590 }
42591 #[inline]
42607 pub fn vcvtdq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
42608 where
42609 Assembler<'a>: Vcvtdq2phMaskzEmitter<A, B>,
42610 {
42611 <Self as Vcvtdq2phMaskzEmitter<A, B>>::vcvtdq2ph_maskz(self, op0, op1);
42612 }
42613 #[inline]
42625 pub fn vcvtdq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
42626 where
42627 Assembler<'a>: Vcvtdq2phMaskzErEmitter<A, B>,
42628 {
42629 <Self as Vcvtdq2phMaskzErEmitter<A, B>>::vcvtdq2ph_maskz_er(self, op0, op1);
42630 }
42631 #[inline]
42644 pub fn vcvtneebf162ps<A, B>(&mut self, op0: A, op1: B)
42645 where
42646 Assembler<'a>: Vcvtneebf162psEmitter<A, B>,
42647 {
42648 <Self as Vcvtneebf162psEmitter<A, B>>::vcvtneebf162ps(self, op0, op1);
42649 }
42650 #[inline]
42663 pub fn vcvtneeph2ps<A, B>(&mut self, op0: A, op1: B)
42664 where
42665 Assembler<'a>: Vcvtneeph2psEmitter<A, B>,
42666 {
42667 <Self as Vcvtneeph2psEmitter<A, B>>::vcvtneeph2ps(self, op0, op1);
42668 }
42669 #[inline]
42682 pub fn vcvtneobf162ps<A, B>(&mut self, op0: A, op1: B)
42683 where
42684 Assembler<'a>: Vcvtneobf162psEmitter<A, B>,
42685 {
42686 <Self as Vcvtneobf162psEmitter<A, B>>::vcvtneobf162ps(self, op0, op1);
42687 }
42688 #[inline]
42701 pub fn vcvtneoph2ps<A, B>(&mut self, op0: A, op1: B)
42702 where
42703 Assembler<'a>: Vcvtneoph2psEmitter<A, B>,
42704 {
42705 <Self as Vcvtneoph2psEmitter<A, B>>::vcvtneoph2ps(self, op0, op1);
42706 }
42707 #[inline]
42722 pub fn vcvtpd2ph<A, B>(&mut self, op0: A, op1: B)
42723 where
42724 Assembler<'a>: Vcvtpd2phEmitter<A, B>,
42725 {
42726 <Self as Vcvtpd2phEmitter<A, B>>::vcvtpd2ph(self, op0, op1);
42727 }
42728 #[inline]
42740 pub fn vcvtpd2ph_er<A, B>(&mut self, op0: A, op1: B)
42741 where
42742 Assembler<'a>: Vcvtpd2phErEmitter<A, B>,
42743 {
42744 <Self as Vcvtpd2phErEmitter<A, B>>::vcvtpd2ph_er(self, op0, op1);
42745 }
42746 #[inline]
42761 pub fn vcvtpd2ph_mask<A, B>(&mut self, op0: A, op1: B)
42762 where
42763 Assembler<'a>: Vcvtpd2phMaskEmitter<A, B>,
42764 {
42765 <Self as Vcvtpd2phMaskEmitter<A, B>>::vcvtpd2ph_mask(self, op0, op1);
42766 }
42767 #[inline]
42779 pub fn vcvtpd2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
42780 where
42781 Assembler<'a>: Vcvtpd2phMaskErEmitter<A, B>,
42782 {
42783 <Self as Vcvtpd2phMaskErEmitter<A, B>>::vcvtpd2ph_mask_er(self, op0, op1);
42784 }
42785 #[inline]
42800 pub fn vcvtpd2ph_maskz<A, B>(&mut self, op0: A, op1: B)
42801 where
42802 Assembler<'a>: Vcvtpd2phMaskzEmitter<A, B>,
42803 {
42804 <Self as Vcvtpd2phMaskzEmitter<A, B>>::vcvtpd2ph_maskz(self, op0, op1);
42805 }
42806 #[inline]
42818 pub fn vcvtpd2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
42819 where
42820 Assembler<'a>: Vcvtpd2phMaskzErEmitter<A, B>,
42821 {
42822 <Self as Vcvtpd2phMaskzErEmitter<A, B>>::vcvtpd2ph_maskz_er(self, op0, op1);
42823 }
42824 #[inline]
42841 pub fn vcvtph2dq<A, B>(&mut self, op0: A, op1: B)
42842 where
42843 Assembler<'a>: Vcvtph2dqEmitter<A, B>,
42844 {
42845 <Self as Vcvtph2dqEmitter<A, B>>::vcvtph2dq(self, op0, op1);
42846 }
42847 #[inline]
42859 pub fn vcvtph2dq_er<A, B>(&mut self, op0: A, op1: B)
42860 where
42861 Assembler<'a>: Vcvtph2dqErEmitter<A, B>,
42862 {
42863 <Self as Vcvtph2dqErEmitter<A, B>>::vcvtph2dq_er(self, op0, op1);
42864 }
42865 #[inline]
42882 pub fn vcvtph2dq_mask<A, B>(&mut self, op0: A, op1: B)
42883 where
42884 Assembler<'a>: Vcvtph2dqMaskEmitter<A, B>,
42885 {
42886 <Self as Vcvtph2dqMaskEmitter<A, B>>::vcvtph2dq_mask(self, op0, op1);
42887 }
42888 #[inline]
42900 pub fn vcvtph2dq_mask_er<A, B>(&mut self, op0: A, op1: B)
42901 where
42902 Assembler<'a>: Vcvtph2dqMaskErEmitter<A, B>,
42903 {
42904 <Self as Vcvtph2dqMaskErEmitter<A, B>>::vcvtph2dq_mask_er(self, op0, op1);
42905 }
42906 #[inline]
42923 pub fn vcvtph2dq_maskz<A, B>(&mut self, op0: A, op1: B)
42924 where
42925 Assembler<'a>: Vcvtph2dqMaskzEmitter<A, B>,
42926 {
42927 <Self as Vcvtph2dqMaskzEmitter<A, B>>::vcvtph2dq_maskz(self, op0, op1);
42928 }
42929 #[inline]
42941 pub fn vcvtph2dq_maskz_er<A, B>(&mut self, op0: A, op1: B)
42942 where
42943 Assembler<'a>: Vcvtph2dqMaskzErEmitter<A, B>,
42944 {
42945 <Self as Vcvtph2dqMaskzErEmitter<A, B>>::vcvtph2dq_maskz_er(self, op0, op1);
42946 }
42947 #[inline]
42964 pub fn vcvtph2pd<A, B>(&mut self, op0: A, op1: B)
42965 where
42966 Assembler<'a>: Vcvtph2pdEmitter<A, B>,
42967 {
42968 <Self as Vcvtph2pdEmitter<A, B>>::vcvtph2pd(self, op0, op1);
42969 }
42970 #[inline]
42987 pub fn vcvtph2pd_mask<A, B>(&mut self, op0: A, op1: B)
42988 where
42989 Assembler<'a>: Vcvtph2pdMaskEmitter<A, B>,
42990 {
42991 <Self as Vcvtph2pdMaskEmitter<A, B>>::vcvtph2pd_mask(self, op0, op1);
42992 }
42993 #[inline]
43005 pub fn vcvtph2pd_mask_sae<A, B>(&mut self, op0: A, op1: B)
43006 where
43007 Assembler<'a>: Vcvtph2pdMaskSaeEmitter<A, B>,
43008 {
43009 <Self as Vcvtph2pdMaskSaeEmitter<A, B>>::vcvtph2pd_mask_sae(self, op0, op1);
43010 }
43011 #[inline]
43028 pub fn vcvtph2pd_maskz<A, B>(&mut self, op0: A, op1: B)
43029 where
43030 Assembler<'a>: Vcvtph2pdMaskzEmitter<A, B>,
43031 {
43032 <Self as Vcvtph2pdMaskzEmitter<A, B>>::vcvtph2pd_maskz(self, op0, op1);
43033 }
43034 #[inline]
43046 pub fn vcvtph2pd_maskz_sae<A, B>(&mut self, op0: A, op1: B)
43047 where
43048 Assembler<'a>: Vcvtph2pdMaskzSaeEmitter<A, B>,
43049 {
43050 <Self as Vcvtph2pdMaskzSaeEmitter<A, B>>::vcvtph2pd_maskz_sae(self, op0, op1);
43051 }
43052 #[inline]
43064 pub fn vcvtph2pd_sae<A, B>(&mut self, op0: A, op1: B)
43065 where
43066 Assembler<'a>: Vcvtph2pdSaeEmitter<A, B>,
43067 {
43068 <Self as Vcvtph2pdSaeEmitter<A, B>>::vcvtph2pd_sae(self, op0, op1);
43069 }
43070 #[inline]
43087 pub fn vcvtph2psx<A, B>(&mut self, op0: A, op1: B)
43088 where
43089 Assembler<'a>: Vcvtph2psxEmitter<A, B>,
43090 {
43091 <Self as Vcvtph2psxEmitter<A, B>>::vcvtph2psx(self, op0, op1);
43092 }
43093 #[inline]
43110 pub fn vcvtph2psx_mask<A, B>(&mut self, op0: A, op1: B)
43111 where
43112 Assembler<'a>: Vcvtph2psxMaskEmitter<A, B>,
43113 {
43114 <Self as Vcvtph2psxMaskEmitter<A, B>>::vcvtph2psx_mask(self, op0, op1);
43115 }
43116 #[inline]
43128 pub fn vcvtph2psx_mask_sae<A, B>(&mut self, op0: A, op1: B)
43129 where
43130 Assembler<'a>: Vcvtph2psxMaskSaeEmitter<A, B>,
43131 {
43132 <Self as Vcvtph2psxMaskSaeEmitter<A, B>>::vcvtph2psx_mask_sae(self, op0, op1);
43133 }
43134 #[inline]
43151 pub fn vcvtph2psx_maskz<A, B>(&mut self, op0: A, op1: B)
43152 where
43153 Assembler<'a>: Vcvtph2psxMaskzEmitter<A, B>,
43154 {
43155 <Self as Vcvtph2psxMaskzEmitter<A, B>>::vcvtph2psx_maskz(self, op0, op1);
43156 }
43157 #[inline]
43169 pub fn vcvtph2psx_maskz_sae<A, B>(&mut self, op0: A, op1: B)
43170 where
43171 Assembler<'a>: Vcvtph2psxMaskzSaeEmitter<A, B>,
43172 {
43173 <Self as Vcvtph2psxMaskzSaeEmitter<A, B>>::vcvtph2psx_maskz_sae(self, op0, op1);
43174 }
43175 #[inline]
43187 pub fn vcvtph2psx_sae<A, B>(&mut self, op0: A, op1: B)
43188 where
43189 Assembler<'a>: Vcvtph2psxSaeEmitter<A, B>,
43190 {
43191 <Self as Vcvtph2psxSaeEmitter<A, B>>::vcvtph2psx_sae(self, op0, op1);
43192 }
43193 #[inline]
43210 pub fn vcvtph2qq<A, B>(&mut self, op0: A, op1: B)
43211 where
43212 Assembler<'a>: Vcvtph2qqEmitter<A, B>,
43213 {
43214 <Self as Vcvtph2qqEmitter<A, B>>::vcvtph2qq(self, op0, op1);
43215 }
43216 #[inline]
43228 pub fn vcvtph2qq_er<A, B>(&mut self, op0: A, op1: B)
43229 where
43230 Assembler<'a>: Vcvtph2qqErEmitter<A, B>,
43231 {
43232 <Self as Vcvtph2qqErEmitter<A, B>>::vcvtph2qq_er(self, op0, op1);
43233 }
43234 #[inline]
43251 pub fn vcvtph2qq_mask<A, B>(&mut self, op0: A, op1: B)
43252 where
43253 Assembler<'a>: Vcvtph2qqMaskEmitter<A, B>,
43254 {
43255 <Self as Vcvtph2qqMaskEmitter<A, B>>::vcvtph2qq_mask(self, op0, op1);
43256 }
43257 #[inline]
43269 pub fn vcvtph2qq_mask_er<A, B>(&mut self, op0: A, op1: B)
43270 where
43271 Assembler<'a>: Vcvtph2qqMaskErEmitter<A, B>,
43272 {
43273 <Self as Vcvtph2qqMaskErEmitter<A, B>>::vcvtph2qq_mask_er(self, op0, op1);
43274 }
43275 #[inline]
43292 pub fn vcvtph2qq_maskz<A, B>(&mut self, op0: A, op1: B)
43293 where
43294 Assembler<'a>: Vcvtph2qqMaskzEmitter<A, B>,
43295 {
43296 <Self as Vcvtph2qqMaskzEmitter<A, B>>::vcvtph2qq_maskz(self, op0, op1);
43297 }
43298 #[inline]
43310 pub fn vcvtph2qq_maskz_er<A, B>(&mut self, op0: A, op1: B)
43311 where
43312 Assembler<'a>: Vcvtph2qqMaskzErEmitter<A, B>,
43313 {
43314 <Self as Vcvtph2qqMaskzErEmitter<A, B>>::vcvtph2qq_maskz_er(self, op0, op1);
43315 }
43316 #[inline]
43333 pub fn vcvtph2udq<A, B>(&mut self, op0: A, op1: B)
43334 where
43335 Assembler<'a>: Vcvtph2udqEmitter<A, B>,
43336 {
43337 <Self as Vcvtph2udqEmitter<A, B>>::vcvtph2udq(self, op0, op1);
43338 }
43339 #[inline]
43351 pub fn vcvtph2udq_er<A, B>(&mut self, op0: A, op1: B)
43352 where
43353 Assembler<'a>: Vcvtph2udqErEmitter<A, B>,
43354 {
43355 <Self as Vcvtph2udqErEmitter<A, B>>::vcvtph2udq_er(self, op0, op1);
43356 }
43357 #[inline]
43374 pub fn vcvtph2udq_mask<A, B>(&mut self, op0: A, op1: B)
43375 where
43376 Assembler<'a>: Vcvtph2udqMaskEmitter<A, B>,
43377 {
43378 <Self as Vcvtph2udqMaskEmitter<A, B>>::vcvtph2udq_mask(self, op0, op1);
43379 }
43380 #[inline]
43392 pub fn vcvtph2udq_mask_er<A, B>(&mut self, op0: A, op1: B)
43393 where
43394 Assembler<'a>: Vcvtph2udqMaskErEmitter<A, B>,
43395 {
43396 <Self as Vcvtph2udqMaskErEmitter<A, B>>::vcvtph2udq_mask_er(self, op0, op1);
43397 }
43398 #[inline]
43415 pub fn vcvtph2udq_maskz<A, B>(&mut self, op0: A, op1: B)
43416 where
43417 Assembler<'a>: Vcvtph2udqMaskzEmitter<A, B>,
43418 {
43419 <Self as Vcvtph2udqMaskzEmitter<A, B>>::vcvtph2udq_maskz(self, op0, op1);
43420 }
43421 #[inline]
43433 pub fn vcvtph2udq_maskz_er<A, B>(&mut self, op0: A, op1: B)
43434 where
43435 Assembler<'a>: Vcvtph2udqMaskzErEmitter<A, B>,
43436 {
43437 <Self as Vcvtph2udqMaskzErEmitter<A, B>>::vcvtph2udq_maskz_er(self, op0, op1);
43438 }
43439 #[inline]
43456 pub fn vcvtph2uqq<A, B>(&mut self, op0: A, op1: B)
43457 where
43458 Assembler<'a>: Vcvtph2uqqEmitter<A, B>,
43459 {
43460 <Self as Vcvtph2uqqEmitter<A, B>>::vcvtph2uqq(self, op0, op1);
43461 }
43462 #[inline]
43474 pub fn vcvtph2uqq_er<A, B>(&mut self, op0: A, op1: B)
43475 where
43476 Assembler<'a>: Vcvtph2uqqErEmitter<A, B>,
43477 {
43478 <Self as Vcvtph2uqqErEmitter<A, B>>::vcvtph2uqq_er(self, op0, op1);
43479 }
43480 #[inline]
43497 pub fn vcvtph2uqq_mask<A, B>(&mut self, op0: A, op1: B)
43498 where
43499 Assembler<'a>: Vcvtph2uqqMaskEmitter<A, B>,
43500 {
43501 <Self as Vcvtph2uqqMaskEmitter<A, B>>::vcvtph2uqq_mask(self, op0, op1);
43502 }
43503 #[inline]
43515 pub fn vcvtph2uqq_mask_er<A, B>(&mut self, op0: A, op1: B)
43516 where
43517 Assembler<'a>: Vcvtph2uqqMaskErEmitter<A, B>,
43518 {
43519 <Self as Vcvtph2uqqMaskErEmitter<A, B>>::vcvtph2uqq_mask_er(self, op0, op1);
43520 }
43521 #[inline]
43538 pub fn vcvtph2uqq_maskz<A, B>(&mut self, op0: A, op1: B)
43539 where
43540 Assembler<'a>: Vcvtph2uqqMaskzEmitter<A, B>,
43541 {
43542 <Self as Vcvtph2uqqMaskzEmitter<A, B>>::vcvtph2uqq_maskz(self, op0, op1);
43543 }
43544 #[inline]
43556 pub fn vcvtph2uqq_maskz_er<A, B>(&mut self, op0: A, op1: B)
43557 where
43558 Assembler<'a>: Vcvtph2uqqMaskzErEmitter<A, B>,
43559 {
43560 <Self as Vcvtph2uqqMaskzErEmitter<A, B>>::vcvtph2uqq_maskz_er(self, op0, op1);
43561 }
43562 #[inline]
43579 pub fn vcvtph2uw<A, B>(&mut self, op0: A, op1: B)
43580 where
43581 Assembler<'a>: Vcvtph2uwEmitter<A, B>,
43582 {
43583 <Self as Vcvtph2uwEmitter<A, B>>::vcvtph2uw(self, op0, op1);
43584 }
43585 #[inline]
43597 pub fn vcvtph2uw_er<A, B>(&mut self, op0: A, op1: B)
43598 where
43599 Assembler<'a>: Vcvtph2uwErEmitter<A, B>,
43600 {
43601 <Self as Vcvtph2uwErEmitter<A, B>>::vcvtph2uw_er(self, op0, op1);
43602 }
43603 #[inline]
43620 pub fn vcvtph2uw_mask<A, B>(&mut self, op0: A, op1: B)
43621 where
43622 Assembler<'a>: Vcvtph2uwMaskEmitter<A, B>,
43623 {
43624 <Self as Vcvtph2uwMaskEmitter<A, B>>::vcvtph2uw_mask(self, op0, op1);
43625 }
43626 #[inline]
43638 pub fn vcvtph2uw_mask_er<A, B>(&mut self, op0: A, op1: B)
43639 where
43640 Assembler<'a>: Vcvtph2uwMaskErEmitter<A, B>,
43641 {
43642 <Self as Vcvtph2uwMaskErEmitter<A, B>>::vcvtph2uw_mask_er(self, op0, op1);
43643 }
43644 #[inline]
43661 pub fn vcvtph2uw_maskz<A, B>(&mut self, op0: A, op1: B)
43662 where
43663 Assembler<'a>: Vcvtph2uwMaskzEmitter<A, B>,
43664 {
43665 <Self as Vcvtph2uwMaskzEmitter<A, B>>::vcvtph2uw_maskz(self, op0, op1);
43666 }
43667 #[inline]
43679 pub fn vcvtph2uw_maskz_er<A, B>(&mut self, op0: A, op1: B)
43680 where
43681 Assembler<'a>: Vcvtph2uwMaskzErEmitter<A, B>,
43682 {
43683 <Self as Vcvtph2uwMaskzErEmitter<A, B>>::vcvtph2uw_maskz_er(self, op0, op1);
43684 }
43685 #[inline]
43702 pub fn vcvtph2w<A, B>(&mut self, op0: A, op1: B)
43703 where
43704 Assembler<'a>: Vcvtph2wEmitter<A, B>,
43705 {
43706 <Self as Vcvtph2wEmitter<A, B>>::vcvtph2w(self, op0, op1);
43707 }
43708 #[inline]
43720 pub fn vcvtph2w_er<A, B>(&mut self, op0: A, op1: B)
43721 where
43722 Assembler<'a>: Vcvtph2wErEmitter<A, B>,
43723 {
43724 <Self as Vcvtph2wErEmitter<A, B>>::vcvtph2w_er(self, op0, op1);
43725 }
43726 #[inline]
43743 pub fn vcvtph2w_mask<A, B>(&mut self, op0: A, op1: B)
43744 where
43745 Assembler<'a>: Vcvtph2wMaskEmitter<A, B>,
43746 {
43747 <Self as Vcvtph2wMaskEmitter<A, B>>::vcvtph2w_mask(self, op0, op1);
43748 }
43749 #[inline]
43761 pub fn vcvtph2w_mask_er<A, B>(&mut self, op0: A, op1: B)
43762 where
43763 Assembler<'a>: Vcvtph2wMaskErEmitter<A, B>,
43764 {
43765 <Self as Vcvtph2wMaskErEmitter<A, B>>::vcvtph2w_mask_er(self, op0, op1);
43766 }
43767 #[inline]
43784 pub fn vcvtph2w_maskz<A, B>(&mut self, op0: A, op1: B)
43785 where
43786 Assembler<'a>: Vcvtph2wMaskzEmitter<A, B>,
43787 {
43788 <Self as Vcvtph2wMaskzEmitter<A, B>>::vcvtph2w_maskz(self, op0, op1);
43789 }
43790 #[inline]
43802 pub fn vcvtph2w_maskz_er<A, B>(&mut self, op0: A, op1: B)
43803 where
43804 Assembler<'a>: Vcvtph2wMaskzErEmitter<A, B>,
43805 {
43806 <Self as Vcvtph2wMaskzErEmitter<A, B>>::vcvtph2w_maskz_er(self, op0, op1);
43807 }
43808 #[inline]
43824 pub fn vcvtps2phx<A, B>(&mut self, op0: A, op1: B)
43825 where
43826 Assembler<'a>: Vcvtps2phxEmitter<A, B>,
43827 {
43828 <Self as Vcvtps2phxEmitter<A, B>>::vcvtps2phx(self, op0, op1);
43829 }
43830 #[inline]
43842 pub fn vcvtps2phx_er<A, B>(&mut self, op0: A, op1: B)
43843 where
43844 Assembler<'a>: Vcvtps2phxErEmitter<A, B>,
43845 {
43846 <Self as Vcvtps2phxErEmitter<A, B>>::vcvtps2phx_er(self, op0, op1);
43847 }
43848 #[inline]
43864 pub fn vcvtps2phx_mask<A, B>(&mut self, op0: A, op1: B)
43865 where
43866 Assembler<'a>: Vcvtps2phxMaskEmitter<A, B>,
43867 {
43868 <Self as Vcvtps2phxMaskEmitter<A, B>>::vcvtps2phx_mask(self, op0, op1);
43869 }
43870 #[inline]
43882 pub fn vcvtps2phx_mask_er<A, B>(&mut self, op0: A, op1: B)
43883 where
43884 Assembler<'a>: Vcvtps2phxMaskErEmitter<A, B>,
43885 {
43886 <Self as Vcvtps2phxMaskErEmitter<A, B>>::vcvtps2phx_mask_er(self, op0, op1);
43887 }
43888 #[inline]
43904 pub fn vcvtps2phx_maskz<A, B>(&mut self, op0: A, op1: B)
43905 where
43906 Assembler<'a>: Vcvtps2phxMaskzEmitter<A, B>,
43907 {
43908 <Self as Vcvtps2phxMaskzEmitter<A, B>>::vcvtps2phx_maskz(self, op0, op1);
43909 }
43910 #[inline]
43922 pub fn vcvtps2phx_maskz_er<A, B>(&mut self, op0: A, op1: B)
43923 where
43924 Assembler<'a>: Vcvtps2phxMaskzErEmitter<A, B>,
43925 {
43926 <Self as Vcvtps2phxMaskzErEmitter<A, B>>::vcvtps2phx_maskz_er(self, op0, op1);
43927 }
43928 #[inline]
43943 pub fn vcvtqq2ph<A, B>(&mut self, op0: A, op1: B)
43944 where
43945 Assembler<'a>: Vcvtqq2phEmitter<A, B>,
43946 {
43947 <Self as Vcvtqq2phEmitter<A, B>>::vcvtqq2ph(self, op0, op1);
43948 }
43949 #[inline]
43961 pub fn vcvtqq2ph_er<A, B>(&mut self, op0: A, op1: B)
43962 where
43963 Assembler<'a>: Vcvtqq2phErEmitter<A, B>,
43964 {
43965 <Self as Vcvtqq2phErEmitter<A, B>>::vcvtqq2ph_er(self, op0, op1);
43966 }
43967 #[inline]
43982 pub fn vcvtqq2ph_mask<A, B>(&mut self, op0: A, op1: B)
43983 where
43984 Assembler<'a>: Vcvtqq2phMaskEmitter<A, B>,
43985 {
43986 <Self as Vcvtqq2phMaskEmitter<A, B>>::vcvtqq2ph_mask(self, op0, op1);
43987 }
43988 #[inline]
44000 pub fn vcvtqq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
44001 where
44002 Assembler<'a>: Vcvtqq2phMaskErEmitter<A, B>,
44003 {
44004 <Self as Vcvtqq2phMaskErEmitter<A, B>>::vcvtqq2ph_mask_er(self, op0, op1);
44005 }
44006 #[inline]
44021 pub fn vcvtqq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
44022 where
44023 Assembler<'a>: Vcvtqq2phMaskzEmitter<A, B>,
44024 {
44025 <Self as Vcvtqq2phMaskzEmitter<A, B>>::vcvtqq2ph_maskz(self, op0, op1);
44026 }
44027 #[inline]
44039 pub fn vcvtqq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
44040 where
44041 Assembler<'a>: Vcvtqq2phMaskzErEmitter<A, B>,
44042 {
44043 <Self as Vcvtqq2phMaskzErEmitter<A, B>>::vcvtqq2ph_maskz_er(self, op0, op1);
44044 }
44045 #[inline]
44058 pub fn vcvtsd2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44059 where
44060 Assembler<'a>: Vcvtsd2shEmitter<A, B, C>,
44061 {
44062 <Self as Vcvtsd2shEmitter<A, B, C>>::vcvtsd2sh(self, op0, op1, op2);
44063 }
44064 #[inline]
44076 pub fn vcvtsd2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44077 where
44078 Assembler<'a>: Vcvtsd2shErEmitter<A, B, C>,
44079 {
44080 <Self as Vcvtsd2shErEmitter<A, B, C>>::vcvtsd2sh_er(self, op0, op1, op2);
44081 }
44082 #[inline]
44095 pub fn vcvtsd2sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44096 where
44097 Assembler<'a>: Vcvtsd2shMaskEmitter<A, B, C>,
44098 {
44099 <Self as Vcvtsd2shMaskEmitter<A, B, C>>::vcvtsd2sh_mask(self, op0, op1, op2);
44100 }
44101 #[inline]
44113 pub fn vcvtsd2sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44114 where
44115 Assembler<'a>: Vcvtsd2shMaskErEmitter<A, B, C>,
44116 {
44117 <Self as Vcvtsd2shMaskErEmitter<A, B, C>>::vcvtsd2sh_mask_er(self, op0, op1, op2);
44118 }
44119 #[inline]
44132 pub fn vcvtsd2sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44133 where
44134 Assembler<'a>: Vcvtsd2shMaskzEmitter<A, B, C>,
44135 {
44136 <Self as Vcvtsd2shMaskzEmitter<A, B, C>>::vcvtsd2sh_maskz(self, op0, op1, op2);
44137 }
44138 #[inline]
44150 pub fn vcvtsd2sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44151 where
44152 Assembler<'a>: Vcvtsd2shMaskzErEmitter<A, B, C>,
44153 {
44154 <Self as Vcvtsd2shMaskzErEmitter<A, B, C>>::vcvtsd2sh_maskz_er(self, op0, op1, op2);
44155 }
44156 #[inline]
44169 pub fn vcvtsh2sd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44170 where
44171 Assembler<'a>: Vcvtsh2sdEmitter<A, B, C>,
44172 {
44173 <Self as Vcvtsh2sdEmitter<A, B, C>>::vcvtsh2sd(self, op0, op1, op2);
44174 }
44175 #[inline]
44188 pub fn vcvtsh2sd_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44189 where
44190 Assembler<'a>: Vcvtsh2sdMaskEmitter<A, B, C>,
44191 {
44192 <Self as Vcvtsh2sdMaskEmitter<A, B, C>>::vcvtsh2sd_mask(self, op0, op1, op2);
44193 }
44194 #[inline]
44206 pub fn vcvtsh2sd_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44207 where
44208 Assembler<'a>: Vcvtsh2sdMaskSaeEmitter<A, B, C>,
44209 {
44210 <Self as Vcvtsh2sdMaskSaeEmitter<A, B, C>>::vcvtsh2sd_mask_sae(self, op0, op1, op2);
44211 }
44212 #[inline]
44225 pub fn vcvtsh2sd_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44226 where
44227 Assembler<'a>: Vcvtsh2sdMaskzEmitter<A, B, C>,
44228 {
44229 <Self as Vcvtsh2sdMaskzEmitter<A, B, C>>::vcvtsh2sd_maskz(self, op0, op1, op2);
44230 }
44231 #[inline]
44243 pub fn vcvtsh2sd_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44244 where
44245 Assembler<'a>: Vcvtsh2sdMaskzSaeEmitter<A, B, C>,
44246 {
44247 <Self as Vcvtsh2sdMaskzSaeEmitter<A, B, C>>::vcvtsh2sd_maskz_sae(self, op0, op1, op2);
44248 }
44249 #[inline]
44261 pub fn vcvtsh2sd_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44262 where
44263 Assembler<'a>: Vcvtsh2sdSaeEmitter<A, B, C>,
44264 {
44265 <Self as Vcvtsh2sdSaeEmitter<A, B, C>>::vcvtsh2sd_sae(self, op0, op1, op2);
44266 }
44267 #[inline]
44282 pub fn vcvtsh2si<A, B>(&mut self, op0: A, op1: B)
44283 where
44284 Assembler<'a>: Vcvtsh2siEmitter<A, B>,
44285 {
44286 <Self as Vcvtsh2siEmitter<A, B>>::vcvtsh2si(self, op0, op1);
44287 }
44288 #[inline]
44301 pub fn vcvtsh2si_er<A, B>(&mut self, op0: A, op1: B)
44302 where
44303 Assembler<'a>: Vcvtsh2siErEmitter<A, B>,
44304 {
44305 <Self as Vcvtsh2siErEmitter<A, B>>::vcvtsh2si_er(self, op0, op1);
44306 }
44307 #[inline]
44320 pub fn vcvtsh2ss<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44321 where
44322 Assembler<'a>: Vcvtsh2ssEmitter<A, B, C>,
44323 {
44324 <Self as Vcvtsh2ssEmitter<A, B, C>>::vcvtsh2ss(self, op0, op1, op2);
44325 }
44326 #[inline]
44339 pub fn vcvtsh2ss_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44340 where
44341 Assembler<'a>: Vcvtsh2ssMaskEmitter<A, B, C>,
44342 {
44343 <Self as Vcvtsh2ssMaskEmitter<A, B, C>>::vcvtsh2ss_mask(self, op0, op1, op2);
44344 }
44345 #[inline]
44357 pub fn vcvtsh2ss_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44358 where
44359 Assembler<'a>: Vcvtsh2ssMaskSaeEmitter<A, B, C>,
44360 {
44361 <Self as Vcvtsh2ssMaskSaeEmitter<A, B, C>>::vcvtsh2ss_mask_sae(self, op0, op1, op2);
44362 }
44363 #[inline]
44376 pub fn vcvtsh2ss_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44377 where
44378 Assembler<'a>: Vcvtsh2ssMaskzEmitter<A, B, C>,
44379 {
44380 <Self as Vcvtsh2ssMaskzEmitter<A, B, C>>::vcvtsh2ss_maskz(self, op0, op1, op2);
44381 }
44382 #[inline]
44394 pub fn vcvtsh2ss_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44395 where
44396 Assembler<'a>: Vcvtsh2ssMaskzSaeEmitter<A, B, C>,
44397 {
44398 <Self as Vcvtsh2ssMaskzSaeEmitter<A, B, C>>::vcvtsh2ss_maskz_sae(self, op0, op1, op2);
44399 }
44400 #[inline]
44412 pub fn vcvtsh2ss_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44413 where
44414 Assembler<'a>: Vcvtsh2ssSaeEmitter<A, B, C>,
44415 {
44416 <Self as Vcvtsh2ssSaeEmitter<A, B, C>>::vcvtsh2ss_sae(self, op0, op1, op2);
44417 }
44418 #[inline]
44433 pub fn vcvtsh2usi<A, B>(&mut self, op0: A, op1: B)
44434 where
44435 Assembler<'a>: Vcvtsh2usiEmitter<A, B>,
44436 {
44437 <Self as Vcvtsh2usiEmitter<A, B>>::vcvtsh2usi(self, op0, op1);
44438 }
44439 #[inline]
44452 pub fn vcvtsh2usi_er<A, B>(&mut self, op0: A, op1: B)
44453 where
44454 Assembler<'a>: Vcvtsh2usiErEmitter<A, B>,
44455 {
44456 <Self as Vcvtsh2usiErEmitter<A, B>>::vcvtsh2usi_er(self, op0, op1);
44457 }
44458 #[inline]
44472 pub fn vcvtsi2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44473 where
44474 Assembler<'a>: Vcvtsi2shEmitter<A, B, C>,
44475 {
44476 <Self as Vcvtsi2shEmitter<A, B, C>>::vcvtsi2sh(self, op0, op1, op2);
44477 }
44478 #[inline]
44491 pub fn vcvtsi2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44492 where
44493 Assembler<'a>: Vcvtsi2shErEmitter<A, B, C>,
44494 {
44495 <Self as Vcvtsi2shErEmitter<A, B, C>>::vcvtsi2sh_er(self, op0, op1, op2);
44496 }
44497 #[inline]
44510 pub fn vcvtss2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44511 where
44512 Assembler<'a>: Vcvtss2shEmitter<A, B, C>,
44513 {
44514 <Self as Vcvtss2shEmitter<A, B, C>>::vcvtss2sh(self, op0, op1, op2);
44515 }
44516 #[inline]
44528 pub fn vcvtss2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44529 where
44530 Assembler<'a>: Vcvtss2shErEmitter<A, B, C>,
44531 {
44532 <Self as Vcvtss2shErEmitter<A, B, C>>::vcvtss2sh_er(self, op0, op1, op2);
44533 }
44534 #[inline]
44547 pub fn vcvtss2sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44548 where
44549 Assembler<'a>: Vcvtss2shMaskEmitter<A, B, C>,
44550 {
44551 <Self as Vcvtss2shMaskEmitter<A, B, C>>::vcvtss2sh_mask(self, op0, op1, op2);
44552 }
44553 #[inline]
44565 pub fn vcvtss2sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44566 where
44567 Assembler<'a>: Vcvtss2shMaskErEmitter<A, B, C>,
44568 {
44569 <Self as Vcvtss2shMaskErEmitter<A, B, C>>::vcvtss2sh_mask_er(self, op0, op1, op2);
44570 }
44571 #[inline]
44584 pub fn vcvtss2sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44585 where
44586 Assembler<'a>: Vcvtss2shMaskzEmitter<A, B, C>,
44587 {
44588 <Self as Vcvtss2shMaskzEmitter<A, B, C>>::vcvtss2sh_maskz(self, op0, op1, op2);
44589 }
44590 #[inline]
44602 pub fn vcvtss2sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
44603 where
44604 Assembler<'a>: Vcvtss2shMaskzErEmitter<A, B, C>,
44605 {
44606 <Self as Vcvtss2shMaskzErEmitter<A, B, C>>::vcvtss2sh_maskz_er(self, op0, op1, op2);
44607 }
44608 #[inline]
44625 pub fn vcvttph2dq<A, B>(&mut self, op0: A, op1: B)
44626 where
44627 Assembler<'a>: Vcvttph2dqEmitter<A, B>,
44628 {
44629 <Self as Vcvttph2dqEmitter<A, B>>::vcvttph2dq(self, op0, op1);
44630 }
44631 #[inline]
44648 pub fn vcvttph2dq_mask<A, B>(&mut self, op0: A, op1: B)
44649 where
44650 Assembler<'a>: Vcvttph2dqMaskEmitter<A, B>,
44651 {
44652 <Self as Vcvttph2dqMaskEmitter<A, B>>::vcvttph2dq_mask(self, op0, op1);
44653 }
44654 #[inline]
44666 pub fn vcvttph2dq_mask_sae<A, B>(&mut self, op0: A, op1: B)
44667 where
44668 Assembler<'a>: Vcvttph2dqMaskSaeEmitter<A, B>,
44669 {
44670 <Self as Vcvttph2dqMaskSaeEmitter<A, B>>::vcvttph2dq_mask_sae(self, op0, op1);
44671 }
44672 #[inline]
44689 pub fn vcvttph2dq_maskz<A, B>(&mut self, op0: A, op1: B)
44690 where
44691 Assembler<'a>: Vcvttph2dqMaskzEmitter<A, B>,
44692 {
44693 <Self as Vcvttph2dqMaskzEmitter<A, B>>::vcvttph2dq_maskz(self, op0, op1);
44694 }
44695 #[inline]
44707 pub fn vcvttph2dq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
44708 where
44709 Assembler<'a>: Vcvttph2dqMaskzSaeEmitter<A, B>,
44710 {
44711 <Self as Vcvttph2dqMaskzSaeEmitter<A, B>>::vcvttph2dq_maskz_sae(self, op0, op1);
44712 }
44713 #[inline]
44725 pub fn vcvttph2dq_sae<A, B>(&mut self, op0: A, op1: B)
44726 where
44727 Assembler<'a>: Vcvttph2dqSaeEmitter<A, B>,
44728 {
44729 <Self as Vcvttph2dqSaeEmitter<A, B>>::vcvttph2dq_sae(self, op0, op1);
44730 }
44731 #[inline]
44748 pub fn vcvttph2qq<A, B>(&mut self, op0: A, op1: B)
44749 where
44750 Assembler<'a>: Vcvttph2qqEmitter<A, B>,
44751 {
44752 <Self as Vcvttph2qqEmitter<A, B>>::vcvttph2qq(self, op0, op1);
44753 }
44754 #[inline]
44771 pub fn vcvttph2qq_mask<A, B>(&mut self, op0: A, op1: B)
44772 where
44773 Assembler<'a>: Vcvttph2qqMaskEmitter<A, B>,
44774 {
44775 <Self as Vcvttph2qqMaskEmitter<A, B>>::vcvttph2qq_mask(self, op0, op1);
44776 }
44777 #[inline]
44789 pub fn vcvttph2qq_mask_sae<A, B>(&mut self, op0: A, op1: B)
44790 where
44791 Assembler<'a>: Vcvttph2qqMaskSaeEmitter<A, B>,
44792 {
44793 <Self as Vcvttph2qqMaskSaeEmitter<A, B>>::vcvttph2qq_mask_sae(self, op0, op1);
44794 }
44795 #[inline]
44812 pub fn vcvttph2qq_maskz<A, B>(&mut self, op0: A, op1: B)
44813 where
44814 Assembler<'a>: Vcvttph2qqMaskzEmitter<A, B>,
44815 {
44816 <Self as Vcvttph2qqMaskzEmitter<A, B>>::vcvttph2qq_maskz(self, op0, op1);
44817 }
44818 #[inline]
44830 pub fn vcvttph2qq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
44831 where
44832 Assembler<'a>: Vcvttph2qqMaskzSaeEmitter<A, B>,
44833 {
44834 <Self as Vcvttph2qqMaskzSaeEmitter<A, B>>::vcvttph2qq_maskz_sae(self, op0, op1);
44835 }
44836 #[inline]
44848 pub fn vcvttph2qq_sae<A, B>(&mut self, op0: A, op1: B)
44849 where
44850 Assembler<'a>: Vcvttph2qqSaeEmitter<A, B>,
44851 {
44852 <Self as Vcvttph2qqSaeEmitter<A, B>>::vcvttph2qq_sae(self, op0, op1);
44853 }
44854 #[inline]
44871 pub fn vcvttph2udq<A, B>(&mut self, op0: A, op1: B)
44872 where
44873 Assembler<'a>: Vcvttph2udqEmitter<A, B>,
44874 {
44875 <Self as Vcvttph2udqEmitter<A, B>>::vcvttph2udq(self, op0, op1);
44876 }
44877 #[inline]
44894 pub fn vcvttph2udq_mask<A, B>(&mut self, op0: A, op1: B)
44895 where
44896 Assembler<'a>: Vcvttph2udqMaskEmitter<A, B>,
44897 {
44898 <Self as Vcvttph2udqMaskEmitter<A, B>>::vcvttph2udq_mask(self, op0, op1);
44899 }
44900 #[inline]
44912 pub fn vcvttph2udq_mask_sae<A, B>(&mut self, op0: A, op1: B)
44913 where
44914 Assembler<'a>: Vcvttph2udqMaskSaeEmitter<A, B>,
44915 {
44916 <Self as Vcvttph2udqMaskSaeEmitter<A, B>>::vcvttph2udq_mask_sae(self, op0, op1);
44917 }
44918 #[inline]
44935 pub fn vcvttph2udq_maskz<A, B>(&mut self, op0: A, op1: B)
44936 where
44937 Assembler<'a>: Vcvttph2udqMaskzEmitter<A, B>,
44938 {
44939 <Self as Vcvttph2udqMaskzEmitter<A, B>>::vcvttph2udq_maskz(self, op0, op1);
44940 }
44941 #[inline]
44953 pub fn vcvttph2udq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
44954 where
44955 Assembler<'a>: Vcvttph2udqMaskzSaeEmitter<A, B>,
44956 {
44957 <Self as Vcvttph2udqMaskzSaeEmitter<A, B>>::vcvttph2udq_maskz_sae(self, op0, op1);
44958 }
44959 #[inline]
44971 pub fn vcvttph2udq_sae<A, B>(&mut self, op0: A, op1: B)
44972 where
44973 Assembler<'a>: Vcvttph2udqSaeEmitter<A, B>,
44974 {
44975 <Self as Vcvttph2udqSaeEmitter<A, B>>::vcvttph2udq_sae(self, op0, op1);
44976 }
44977 #[inline]
44994 pub fn vcvttph2uqq<A, B>(&mut self, op0: A, op1: B)
44995 where
44996 Assembler<'a>: Vcvttph2uqqEmitter<A, B>,
44997 {
44998 <Self as Vcvttph2uqqEmitter<A, B>>::vcvttph2uqq(self, op0, op1);
44999 }
45000 #[inline]
45017 pub fn vcvttph2uqq_mask<A, B>(&mut self, op0: A, op1: B)
45018 where
45019 Assembler<'a>: Vcvttph2uqqMaskEmitter<A, B>,
45020 {
45021 <Self as Vcvttph2uqqMaskEmitter<A, B>>::vcvttph2uqq_mask(self, op0, op1);
45022 }
45023 #[inline]
45035 pub fn vcvttph2uqq_mask_sae<A, B>(&mut self, op0: A, op1: B)
45036 where
45037 Assembler<'a>: Vcvttph2uqqMaskSaeEmitter<A, B>,
45038 {
45039 <Self as Vcvttph2uqqMaskSaeEmitter<A, B>>::vcvttph2uqq_mask_sae(self, op0, op1);
45040 }
45041 #[inline]
45058 pub fn vcvttph2uqq_maskz<A, B>(&mut self, op0: A, op1: B)
45059 where
45060 Assembler<'a>: Vcvttph2uqqMaskzEmitter<A, B>,
45061 {
45062 <Self as Vcvttph2uqqMaskzEmitter<A, B>>::vcvttph2uqq_maskz(self, op0, op1);
45063 }
45064 #[inline]
45076 pub fn vcvttph2uqq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
45077 where
45078 Assembler<'a>: Vcvttph2uqqMaskzSaeEmitter<A, B>,
45079 {
45080 <Self as Vcvttph2uqqMaskzSaeEmitter<A, B>>::vcvttph2uqq_maskz_sae(self, op0, op1);
45081 }
45082 #[inline]
45094 pub fn vcvttph2uqq_sae<A, B>(&mut self, op0: A, op1: B)
45095 where
45096 Assembler<'a>: Vcvttph2uqqSaeEmitter<A, B>,
45097 {
45098 <Self as Vcvttph2uqqSaeEmitter<A, B>>::vcvttph2uqq_sae(self, op0, op1);
45099 }
45100 #[inline]
45117 pub fn vcvttph2uw<A, B>(&mut self, op0: A, op1: B)
45118 where
45119 Assembler<'a>: Vcvttph2uwEmitter<A, B>,
45120 {
45121 <Self as Vcvttph2uwEmitter<A, B>>::vcvttph2uw(self, op0, op1);
45122 }
45123 #[inline]
45140 pub fn vcvttph2uw_mask<A, B>(&mut self, op0: A, op1: B)
45141 where
45142 Assembler<'a>: Vcvttph2uwMaskEmitter<A, B>,
45143 {
45144 <Self as Vcvttph2uwMaskEmitter<A, B>>::vcvttph2uw_mask(self, op0, op1);
45145 }
45146 #[inline]
45158 pub fn vcvttph2uw_mask_sae<A, B>(&mut self, op0: A, op1: B)
45159 where
45160 Assembler<'a>: Vcvttph2uwMaskSaeEmitter<A, B>,
45161 {
45162 <Self as Vcvttph2uwMaskSaeEmitter<A, B>>::vcvttph2uw_mask_sae(self, op0, op1);
45163 }
45164 #[inline]
45181 pub fn vcvttph2uw_maskz<A, B>(&mut self, op0: A, op1: B)
45182 where
45183 Assembler<'a>: Vcvttph2uwMaskzEmitter<A, B>,
45184 {
45185 <Self as Vcvttph2uwMaskzEmitter<A, B>>::vcvttph2uw_maskz(self, op0, op1);
45186 }
45187 #[inline]
45199 pub fn vcvttph2uw_maskz_sae<A, B>(&mut self, op0: A, op1: B)
45200 where
45201 Assembler<'a>: Vcvttph2uwMaskzSaeEmitter<A, B>,
45202 {
45203 <Self as Vcvttph2uwMaskzSaeEmitter<A, B>>::vcvttph2uw_maskz_sae(self, op0, op1);
45204 }
45205 #[inline]
45217 pub fn vcvttph2uw_sae<A, B>(&mut self, op0: A, op1: B)
45218 where
45219 Assembler<'a>: Vcvttph2uwSaeEmitter<A, B>,
45220 {
45221 <Self as Vcvttph2uwSaeEmitter<A, B>>::vcvttph2uw_sae(self, op0, op1);
45222 }
45223 #[inline]
45240 pub fn vcvttph2w<A, B>(&mut self, op0: A, op1: B)
45241 where
45242 Assembler<'a>: Vcvttph2wEmitter<A, B>,
45243 {
45244 <Self as Vcvttph2wEmitter<A, B>>::vcvttph2w(self, op0, op1);
45245 }
45246 #[inline]
45263 pub fn vcvttph2w_mask<A, B>(&mut self, op0: A, op1: B)
45264 where
45265 Assembler<'a>: Vcvttph2wMaskEmitter<A, B>,
45266 {
45267 <Self as Vcvttph2wMaskEmitter<A, B>>::vcvttph2w_mask(self, op0, op1);
45268 }
45269 #[inline]
45281 pub fn vcvttph2w_mask_sae<A, B>(&mut self, op0: A, op1: B)
45282 where
45283 Assembler<'a>: Vcvttph2wMaskSaeEmitter<A, B>,
45284 {
45285 <Self as Vcvttph2wMaskSaeEmitter<A, B>>::vcvttph2w_mask_sae(self, op0, op1);
45286 }
45287 #[inline]
45304 pub fn vcvttph2w_maskz<A, B>(&mut self, op0: A, op1: B)
45305 where
45306 Assembler<'a>: Vcvttph2wMaskzEmitter<A, B>,
45307 {
45308 <Self as Vcvttph2wMaskzEmitter<A, B>>::vcvttph2w_maskz(self, op0, op1);
45309 }
45310 #[inline]
45322 pub fn vcvttph2w_maskz_sae<A, B>(&mut self, op0: A, op1: B)
45323 where
45324 Assembler<'a>: Vcvttph2wMaskzSaeEmitter<A, B>,
45325 {
45326 <Self as Vcvttph2wMaskzSaeEmitter<A, B>>::vcvttph2w_maskz_sae(self, op0, op1);
45327 }
45328 #[inline]
45340 pub fn vcvttph2w_sae<A, B>(&mut self, op0: A, op1: B)
45341 where
45342 Assembler<'a>: Vcvttph2wSaeEmitter<A, B>,
45343 {
45344 <Self as Vcvttph2wSaeEmitter<A, B>>::vcvttph2w_sae(self, op0, op1);
45345 }
45346 #[inline]
45361 pub fn vcvttsh2si<A, B>(&mut self, op0: A, op1: B)
45362 where
45363 Assembler<'a>: Vcvttsh2siEmitter<A, B>,
45364 {
45365 <Self as Vcvttsh2siEmitter<A, B>>::vcvttsh2si(self, op0, op1);
45366 }
45367 #[inline]
45380 pub fn vcvttsh2si_sae<A, B>(&mut self, op0: A, op1: B)
45381 where
45382 Assembler<'a>: Vcvttsh2siSaeEmitter<A, B>,
45383 {
45384 <Self as Vcvttsh2siSaeEmitter<A, B>>::vcvttsh2si_sae(self, op0, op1);
45385 }
45386 #[inline]
45401 pub fn vcvttsh2usi<A, B>(&mut self, op0: A, op1: B)
45402 where
45403 Assembler<'a>: Vcvttsh2usiEmitter<A, B>,
45404 {
45405 <Self as Vcvttsh2usiEmitter<A, B>>::vcvttsh2usi(self, op0, op1);
45406 }
45407 #[inline]
45420 pub fn vcvttsh2usi_sae<A, B>(&mut self, op0: A, op1: B)
45421 where
45422 Assembler<'a>: Vcvttsh2usiSaeEmitter<A, B>,
45423 {
45424 <Self as Vcvttsh2usiSaeEmitter<A, B>>::vcvttsh2usi_sae(self, op0, op1);
45425 }
45426 #[inline]
45442 pub fn vcvtudq2ph<A, B>(&mut self, op0: A, op1: B)
45443 where
45444 Assembler<'a>: Vcvtudq2phEmitter<A, B>,
45445 {
45446 <Self as Vcvtudq2phEmitter<A, B>>::vcvtudq2ph(self, op0, op1);
45447 }
45448 #[inline]
45460 pub fn vcvtudq2ph_er<A, B>(&mut self, op0: A, op1: B)
45461 where
45462 Assembler<'a>: Vcvtudq2phErEmitter<A, B>,
45463 {
45464 <Self as Vcvtudq2phErEmitter<A, B>>::vcvtudq2ph_er(self, op0, op1);
45465 }
45466 #[inline]
45482 pub fn vcvtudq2ph_mask<A, B>(&mut self, op0: A, op1: B)
45483 where
45484 Assembler<'a>: Vcvtudq2phMaskEmitter<A, B>,
45485 {
45486 <Self as Vcvtudq2phMaskEmitter<A, B>>::vcvtudq2ph_mask(self, op0, op1);
45487 }
45488 #[inline]
45500 pub fn vcvtudq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
45501 where
45502 Assembler<'a>: Vcvtudq2phMaskErEmitter<A, B>,
45503 {
45504 <Self as Vcvtudq2phMaskErEmitter<A, B>>::vcvtudq2ph_mask_er(self, op0, op1);
45505 }
45506 #[inline]
45522 pub fn vcvtudq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
45523 where
45524 Assembler<'a>: Vcvtudq2phMaskzEmitter<A, B>,
45525 {
45526 <Self as Vcvtudq2phMaskzEmitter<A, B>>::vcvtudq2ph_maskz(self, op0, op1);
45527 }
45528 #[inline]
45540 pub fn vcvtudq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
45541 where
45542 Assembler<'a>: Vcvtudq2phMaskzErEmitter<A, B>,
45543 {
45544 <Self as Vcvtudq2phMaskzErEmitter<A, B>>::vcvtudq2ph_maskz_er(self, op0, op1);
45545 }
45546 #[inline]
45561 pub fn vcvtuqq2ph<A, B>(&mut self, op0: A, op1: B)
45562 where
45563 Assembler<'a>: Vcvtuqq2phEmitter<A, B>,
45564 {
45565 <Self as Vcvtuqq2phEmitter<A, B>>::vcvtuqq2ph(self, op0, op1);
45566 }
45567 #[inline]
45579 pub fn vcvtuqq2ph_er<A, B>(&mut self, op0: A, op1: B)
45580 where
45581 Assembler<'a>: Vcvtuqq2phErEmitter<A, B>,
45582 {
45583 <Self as Vcvtuqq2phErEmitter<A, B>>::vcvtuqq2ph_er(self, op0, op1);
45584 }
45585 #[inline]
45600 pub fn vcvtuqq2ph_mask<A, B>(&mut self, op0: A, op1: B)
45601 where
45602 Assembler<'a>: Vcvtuqq2phMaskEmitter<A, B>,
45603 {
45604 <Self as Vcvtuqq2phMaskEmitter<A, B>>::vcvtuqq2ph_mask(self, op0, op1);
45605 }
45606 #[inline]
45618 pub fn vcvtuqq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
45619 where
45620 Assembler<'a>: Vcvtuqq2phMaskErEmitter<A, B>,
45621 {
45622 <Self as Vcvtuqq2phMaskErEmitter<A, B>>::vcvtuqq2ph_mask_er(self, op0, op1);
45623 }
45624 #[inline]
45639 pub fn vcvtuqq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
45640 where
45641 Assembler<'a>: Vcvtuqq2phMaskzEmitter<A, B>,
45642 {
45643 <Self as Vcvtuqq2phMaskzEmitter<A, B>>::vcvtuqq2ph_maskz(self, op0, op1);
45644 }
45645 #[inline]
45657 pub fn vcvtuqq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
45658 where
45659 Assembler<'a>: Vcvtuqq2phMaskzErEmitter<A, B>,
45660 {
45661 <Self as Vcvtuqq2phMaskzErEmitter<A, B>>::vcvtuqq2ph_maskz_er(self, op0, op1);
45662 }
45663 #[inline]
45677 pub fn vcvtusi2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
45678 where
45679 Assembler<'a>: Vcvtusi2shEmitter<A, B, C>,
45680 {
45681 <Self as Vcvtusi2shEmitter<A, B, C>>::vcvtusi2sh(self, op0, op1, op2);
45682 }
45683 #[inline]
45696 pub fn vcvtusi2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
45697 where
45698 Assembler<'a>: Vcvtusi2shErEmitter<A, B, C>,
45699 {
45700 <Self as Vcvtusi2shErEmitter<A, B, C>>::vcvtusi2sh_er(self, op0, op1, op2);
45701 }
45702 #[inline]
45719 pub fn vcvtuw2ph<A, B>(&mut self, op0: A, op1: B)
45720 where
45721 Assembler<'a>: Vcvtuw2phEmitter<A, B>,
45722 {
45723 <Self as Vcvtuw2phEmitter<A, B>>::vcvtuw2ph(self, op0, op1);
45724 }
45725 #[inline]
45737 pub fn vcvtuw2ph_er<A, B>(&mut self, op0: A, op1: B)
45738 where
45739 Assembler<'a>: Vcvtuw2phErEmitter<A, B>,
45740 {
45741 <Self as Vcvtuw2phErEmitter<A, B>>::vcvtuw2ph_er(self, op0, op1);
45742 }
45743 #[inline]
45760 pub fn vcvtuw2ph_mask<A, B>(&mut self, op0: A, op1: B)
45761 where
45762 Assembler<'a>: Vcvtuw2phMaskEmitter<A, B>,
45763 {
45764 <Self as Vcvtuw2phMaskEmitter<A, B>>::vcvtuw2ph_mask(self, op0, op1);
45765 }
45766 #[inline]
45778 pub fn vcvtuw2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
45779 where
45780 Assembler<'a>: Vcvtuw2phMaskErEmitter<A, B>,
45781 {
45782 <Self as Vcvtuw2phMaskErEmitter<A, B>>::vcvtuw2ph_mask_er(self, op0, op1);
45783 }
45784 #[inline]
45801 pub fn vcvtuw2ph_maskz<A, B>(&mut self, op0: A, op1: B)
45802 where
45803 Assembler<'a>: Vcvtuw2phMaskzEmitter<A, B>,
45804 {
45805 <Self as Vcvtuw2phMaskzEmitter<A, B>>::vcvtuw2ph_maskz(self, op0, op1);
45806 }
45807 #[inline]
45819 pub fn vcvtuw2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
45820 where
45821 Assembler<'a>: Vcvtuw2phMaskzErEmitter<A, B>,
45822 {
45823 <Self as Vcvtuw2phMaskzErEmitter<A, B>>::vcvtuw2ph_maskz_er(self, op0, op1);
45824 }
45825 #[inline]
45842 pub fn vcvtw2ph<A, B>(&mut self, op0: A, op1: B)
45843 where
45844 Assembler<'a>: Vcvtw2phEmitter<A, B>,
45845 {
45846 <Self as Vcvtw2phEmitter<A, B>>::vcvtw2ph(self, op0, op1);
45847 }
45848 #[inline]
45860 pub fn vcvtw2ph_er<A, B>(&mut self, op0: A, op1: B)
45861 where
45862 Assembler<'a>: Vcvtw2phErEmitter<A, B>,
45863 {
45864 <Self as Vcvtw2phErEmitter<A, B>>::vcvtw2ph_er(self, op0, op1);
45865 }
45866 #[inline]
45883 pub fn vcvtw2ph_mask<A, B>(&mut self, op0: A, op1: B)
45884 where
45885 Assembler<'a>: Vcvtw2phMaskEmitter<A, B>,
45886 {
45887 <Self as Vcvtw2phMaskEmitter<A, B>>::vcvtw2ph_mask(self, op0, op1);
45888 }
45889 #[inline]
45901 pub fn vcvtw2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
45902 where
45903 Assembler<'a>: Vcvtw2phMaskErEmitter<A, B>,
45904 {
45905 <Self as Vcvtw2phMaskErEmitter<A, B>>::vcvtw2ph_mask_er(self, op0, op1);
45906 }
45907 #[inline]
45924 pub fn vcvtw2ph_maskz<A, B>(&mut self, op0: A, op1: B)
45925 where
45926 Assembler<'a>: Vcvtw2phMaskzEmitter<A, B>,
45927 {
45928 <Self as Vcvtw2phMaskzEmitter<A, B>>::vcvtw2ph_maskz(self, op0, op1);
45929 }
45930 #[inline]
45942 pub fn vcvtw2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
45943 where
45944 Assembler<'a>: Vcvtw2phMaskzErEmitter<A, B>,
45945 {
45946 <Self as Vcvtw2phMaskzErEmitter<A, B>>::vcvtw2ph_maskz_er(self, op0, op1);
45947 }
45948 #[inline]
45965 pub fn vdivph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
45966 where
45967 Assembler<'a>: VdivphEmitter<A, B, C>,
45968 {
45969 <Self as VdivphEmitter<A, B, C>>::vdivph(self, op0, op1, op2);
45970 }
45971 #[inline]
45983 pub fn vdivph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
45984 where
45985 Assembler<'a>: VdivphErEmitter<A, B, C>,
45986 {
45987 <Self as VdivphErEmitter<A, B, C>>::vdivph_er(self, op0, op1, op2);
45988 }
45989 #[inline]
46006 pub fn vdivph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46007 where
46008 Assembler<'a>: VdivphMaskEmitter<A, B, C>,
46009 {
46010 <Self as VdivphMaskEmitter<A, B, C>>::vdivph_mask(self, op0, op1, op2);
46011 }
46012 #[inline]
46024 pub fn vdivph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46025 where
46026 Assembler<'a>: VdivphMaskErEmitter<A, B, C>,
46027 {
46028 <Self as VdivphMaskErEmitter<A, B, C>>::vdivph_mask_er(self, op0, op1, op2);
46029 }
46030 #[inline]
46047 pub fn vdivph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46048 where
46049 Assembler<'a>: VdivphMaskzEmitter<A, B, C>,
46050 {
46051 <Self as VdivphMaskzEmitter<A, B, C>>::vdivph_maskz(self, op0, op1, op2);
46052 }
46053 #[inline]
46065 pub fn vdivph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46066 where
46067 Assembler<'a>: VdivphMaskzErEmitter<A, B, C>,
46068 {
46069 <Self as VdivphMaskzErEmitter<A, B, C>>::vdivph_maskz_er(self, op0, op1, op2);
46070 }
46071 #[inline]
46084 pub fn vdivsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46085 where
46086 Assembler<'a>: VdivshEmitter<A, B, C>,
46087 {
46088 <Self as VdivshEmitter<A, B, C>>::vdivsh(self, op0, op1, op2);
46089 }
46090 #[inline]
46102 pub fn vdivsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46103 where
46104 Assembler<'a>: VdivshErEmitter<A, B, C>,
46105 {
46106 <Self as VdivshErEmitter<A, B, C>>::vdivsh_er(self, op0, op1, op2);
46107 }
46108 #[inline]
46121 pub fn vdivsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46122 where
46123 Assembler<'a>: VdivshMaskEmitter<A, B, C>,
46124 {
46125 <Self as VdivshMaskEmitter<A, B, C>>::vdivsh_mask(self, op0, op1, op2);
46126 }
46127 #[inline]
46139 pub fn vdivsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46140 where
46141 Assembler<'a>: VdivshMaskErEmitter<A, B, C>,
46142 {
46143 <Self as VdivshMaskErEmitter<A, B, C>>::vdivsh_mask_er(self, op0, op1, op2);
46144 }
46145 #[inline]
46158 pub fn vdivsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46159 where
46160 Assembler<'a>: VdivshMaskzEmitter<A, B, C>,
46161 {
46162 <Self as VdivshMaskzEmitter<A, B, C>>::vdivsh_maskz(self, op0, op1, op2);
46163 }
46164 #[inline]
46176 pub fn vdivsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46177 where
46178 Assembler<'a>: VdivshMaskzErEmitter<A, B, C>,
46179 {
46180 <Self as VdivshMaskzErEmitter<A, B, C>>::vdivsh_maskz_er(self, op0, op1, op2);
46181 }
46182 #[inline]
46195 pub fn verr<A>(&mut self, op0: A)
46196 where
46197 Assembler<'a>: VerrEmitter<A>,
46198 {
46199 <Self as VerrEmitter<A>>::verr(self, op0);
46200 }
46201 #[inline]
46214 pub fn verw<A>(&mut self, op0: A)
46215 where
46216 Assembler<'a>: VerwEmitter<A>,
46217 {
46218 <Self as VerwEmitter<A>>::verw(self, op0);
46219 }
46220 #[inline]
46237 pub fn vfcmaddcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46238 where
46239 Assembler<'a>: VfcmaddcphEmitter<A, B, C>,
46240 {
46241 <Self as VfcmaddcphEmitter<A, B, C>>::vfcmaddcph(self, op0, op1, op2);
46242 }
46243 #[inline]
46255 pub fn vfcmaddcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46256 where
46257 Assembler<'a>: VfcmaddcphErEmitter<A, B, C>,
46258 {
46259 <Self as VfcmaddcphErEmitter<A, B, C>>::vfcmaddcph_er(self, op0, op1, op2);
46260 }
46261 #[inline]
46278 pub fn vfcmaddcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46279 where
46280 Assembler<'a>: VfcmaddcphMaskEmitter<A, B, C>,
46281 {
46282 <Self as VfcmaddcphMaskEmitter<A, B, C>>::vfcmaddcph_mask(self, op0, op1, op2);
46283 }
46284 #[inline]
46296 pub fn vfcmaddcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46297 where
46298 Assembler<'a>: VfcmaddcphMaskErEmitter<A, B, C>,
46299 {
46300 <Self as VfcmaddcphMaskErEmitter<A, B, C>>::vfcmaddcph_mask_er(self, op0, op1, op2);
46301 }
46302 #[inline]
46319 pub fn vfcmaddcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46320 where
46321 Assembler<'a>: VfcmaddcphMaskzEmitter<A, B, C>,
46322 {
46323 <Self as VfcmaddcphMaskzEmitter<A, B, C>>::vfcmaddcph_maskz(self, op0, op1, op2);
46324 }
46325 #[inline]
46337 pub fn vfcmaddcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46338 where
46339 Assembler<'a>: VfcmaddcphMaskzErEmitter<A, B, C>,
46340 {
46341 <Self as VfcmaddcphMaskzErEmitter<A, B, C>>::vfcmaddcph_maskz_er(self, op0, op1, op2);
46342 }
46343 #[inline]
46356 pub fn vfcmaddcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46357 where
46358 Assembler<'a>: VfcmaddcshEmitter<A, B, C>,
46359 {
46360 <Self as VfcmaddcshEmitter<A, B, C>>::vfcmaddcsh(self, op0, op1, op2);
46361 }
46362 #[inline]
46374 pub fn vfcmaddcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46375 where
46376 Assembler<'a>: VfcmaddcshErEmitter<A, B, C>,
46377 {
46378 <Self as VfcmaddcshErEmitter<A, B, C>>::vfcmaddcsh_er(self, op0, op1, op2);
46379 }
46380 #[inline]
46393 pub fn vfcmaddcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46394 where
46395 Assembler<'a>: VfcmaddcshMaskEmitter<A, B, C>,
46396 {
46397 <Self as VfcmaddcshMaskEmitter<A, B, C>>::vfcmaddcsh_mask(self, op0, op1, op2);
46398 }
46399 #[inline]
46411 pub fn vfcmaddcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46412 where
46413 Assembler<'a>: VfcmaddcshMaskErEmitter<A, B, C>,
46414 {
46415 <Self as VfcmaddcshMaskErEmitter<A, B, C>>::vfcmaddcsh_mask_er(self, op0, op1, op2);
46416 }
46417 #[inline]
46430 pub fn vfcmaddcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46431 where
46432 Assembler<'a>: VfcmaddcshMaskzEmitter<A, B, C>,
46433 {
46434 <Self as VfcmaddcshMaskzEmitter<A, B, C>>::vfcmaddcsh_maskz(self, op0, op1, op2);
46435 }
46436 #[inline]
46448 pub fn vfcmaddcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46449 where
46450 Assembler<'a>: VfcmaddcshMaskzErEmitter<A, B, C>,
46451 {
46452 <Self as VfcmaddcshMaskzErEmitter<A, B, C>>::vfcmaddcsh_maskz_er(self, op0, op1, op2);
46453 }
46454 #[inline]
46471 pub fn vfcmulcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46472 where
46473 Assembler<'a>: VfcmulcphEmitter<A, B, C>,
46474 {
46475 <Self as VfcmulcphEmitter<A, B, C>>::vfcmulcph(self, op0, op1, op2);
46476 }
46477 #[inline]
46489 pub fn vfcmulcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46490 where
46491 Assembler<'a>: VfcmulcphErEmitter<A, B, C>,
46492 {
46493 <Self as VfcmulcphErEmitter<A, B, C>>::vfcmulcph_er(self, op0, op1, op2);
46494 }
46495 #[inline]
46512 pub fn vfcmulcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46513 where
46514 Assembler<'a>: VfcmulcphMaskEmitter<A, B, C>,
46515 {
46516 <Self as VfcmulcphMaskEmitter<A, B, C>>::vfcmulcph_mask(self, op0, op1, op2);
46517 }
46518 #[inline]
46530 pub fn vfcmulcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46531 where
46532 Assembler<'a>: VfcmulcphMaskErEmitter<A, B, C>,
46533 {
46534 <Self as VfcmulcphMaskErEmitter<A, B, C>>::vfcmulcph_mask_er(self, op0, op1, op2);
46535 }
46536 #[inline]
46553 pub fn vfcmulcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46554 where
46555 Assembler<'a>: VfcmulcphMaskzEmitter<A, B, C>,
46556 {
46557 <Self as VfcmulcphMaskzEmitter<A, B, C>>::vfcmulcph_maskz(self, op0, op1, op2);
46558 }
46559 #[inline]
46571 pub fn vfcmulcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46572 where
46573 Assembler<'a>: VfcmulcphMaskzErEmitter<A, B, C>,
46574 {
46575 <Self as VfcmulcphMaskzErEmitter<A, B, C>>::vfcmulcph_maskz_er(self, op0, op1, op2);
46576 }
46577 #[inline]
46590 pub fn vfcmulcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46591 where
46592 Assembler<'a>: VfcmulcshEmitter<A, B, C>,
46593 {
46594 <Self as VfcmulcshEmitter<A, B, C>>::vfcmulcsh(self, op0, op1, op2);
46595 }
46596 #[inline]
46608 pub fn vfcmulcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46609 where
46610 Assembler<'a>: VfcmulcshErEmitter<A, B, C>,
46611 {
46612 <Self as VfcmulcshErEmitter<A, B, C>>::vfcmulcsh_er(self, op0, op1, op2);
46613 }
46614 #[inline]
46627 pub fn vfcmulcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46628 where
46629 Assembler<'a>: VfcmulcshMaskEmitter<A, B, C>,
46630 {
46631 <Self as VfcmulcshMaskEmitter<A, B, C>>::vfcmulcsh_mask(self, op0, op1, op2);
46632 }
46633 #[inline]
46645 pub fn vfcmulcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46646 where
46647 Assembler<'a>: VfcmulcshMaskErEmitter<A, B, C>,
46648 {
46649 <Self as VfcmulcshMaskErEmitter<A, B, C>>::vfcmulcsh_mask_er(self, op0, op1, op2);
46650 }
46651 #[inline]
46664 pub fn vfcmulcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46665 where
46666 Assembler<'a>: VfcmulcshMaskzEmitter<A, B, C>,
46667 {
46668 <Self as VfcmulcshMaskzEmitter<A, B, C>>::vfcmulcsh_maskz(self, op0, op1, op2);
46669 }
46670 #[inline]
46682 pub fn vfcmulcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46683 where
46684 Assembler<'a>: VfcmulcshMaskzErEmitter<A, B, C>,
46685 {
46686 <Self as VfcmulcshMaskzErEmitter<A, B, C>>::vfcmulcsh_maskz_er(self, op0, op1, op2);
46687 }
46688 #[inline]
46705 pub fn vfmadd132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46706 where
46707 Assembler<'a>: Vfmadd132phEmitter<A, B, C>,
46708 {
46709 <Self as Vfmadd132phEmitter<A, B, C>>::vfmadd132ph(self, op0, op1, op2);
46710 }
46711 #[inline]
46723 pub fn vfmadd132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46724 where
46725 Assembler<'a>: Vfmadd132phErEmitter<A, B, C>,
46726 {
46727 <Self as Vfmadd132phErEmitter<A, B, C>>::vfmadd132ph_er(self, op0, op1, op2);
46728 }
46729 #[inline]
46746 pub fn vfmadd132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46747 where
46748 Assembler<'a>: Vfmadd132phMaskEmitter<A, B, C>,
46749 {
46750 <Self as Vfmadd132phMaskEmitter<A, B, C>>::vfmadd132ph_mask(self, op0, op1, op2);
46751 }
46752 #[inline]
46764 pub fn vfmadd132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46765 where
46766 Assembler<'a>: Vfmadd132phMaskErEmitter<A, B, C>,
46767 {
46768 <Self as Vfmadd132phMaskErEmitter<A, B, C>>::vfmadd132ph_mask_er(self, op0, op1, op2);
46769 }
46770 #[inline]
46787 pub fn vfmadd132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46788 where
46789 Assembler<'a>: Vfmadd132phMaskzEmitter<A, B, C>,
46790 {
46791 <Self as Vfmadd132phMaskzEmitter<A, B, C>>::vfmadd132ph_maskz(self, op0, op1, op2);
46792 }
46793 #[inline]
46805 pub fn vfmadd132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46806 where
46807 Assembler<'a>: Vfmadd132phMaskzErEmitter<A, B, C>,
46808 {
46809 <Self as Vfmadd132phMaskzErEmitter<A, B, C>>::vfmadd132ph_maskz_er(self, op0, op1, op2);
46810 }
46811 #[inline]
46824 pub fn vfmadd132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46825 where
46826 Assembler<'a>: Vfmadd132shEmitter<A, B, C>,
46827 {
46828 <Self as Vfmadd132shEmitter<A, B, C>>::vfmadd132sh(self, op0, op1, op2);
46829 }
46830 #[inline]
46842 pub fn vfmadd132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46843 where
46844 Assembler<'a>: Vfmadd132shErEmitter<A, B, C>,
46845 {
46846 <Self as Vfmadd132shErEmitter<A, B, C>>::vfmadd132sh_er(self, op0, op1, op2);
46847 }
46848 #[inline]
46861 pub fn vfmadd132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46862 where
46863 Assembler<'a>: Vfmadd132shMaskEmitter<A, B, C>,
46864 {
46865 <Self as Vfmadd132shMaskEmitter<A, B, C>>::vfmadd132sh_mask(self, op0, op1, op2);
46866 }
46867 #[inline]
46879 pub fn vfmadd132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46880 where
46881 Assembler<'a>: Vfmadd132shMaskErEmitter<A, B, C>,
46882 {
46883 <Self as Vfmadd132shMaskErEmitter<A, B, C>>::vfmadd132sh_mask_er(self, op0, op1, op2);
46884 }
46885 #[inline]
46898 pub fn vfmadd132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46899 where
46900 Assembler<'a>: Vfmadd132shMaskzEmitter<A, B, C>,
46901 {
46902 <Self as Vfmadd132shMaskzEmitter<A, B, C>>::vfmadd132sh_maskz(self, op0, op1, op2);
46903 }
46904 #[inline]
46916 pub fn vfmadd132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46917 where
46918 Assembler<'a>: Vfmadd132shMaskzErEmitter<A, B, C>,
46919 {
46920 <Self as Vfmadd132shMaskzErEmitter<A, B, C>>::vfmadd132sh_maskz_er(self, op0, op1, op2);
46921 }
46922 #[inline]
46939 pub fn vfmadd213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46940 where
46941 Assembler<'a>: Vfmadd213phEmitter<A, B, C>,
46942 {
46943 <Self as Vfmadd213phEmitter<A, B, C>>::vfmadd213ph(self, op0, op1, op2);
46944 }
46945 #[inline]
46957 pub fn vfmadd213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46958 where
46959 Assembler<'a>: Vfmadd213phErEmitter<A, B, C>,
46960 {
46961 <Self as Vfmadd213phErEmitter<A, B, C>>::vfmadd213ph_er(self, op0, op1, op2);
46962 }
46963 #[inline]
46980 pub fn vfmadd213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46981 where
46982 Assembler<'a>: Vfmadd213phMaskEmitter<A, B, C>,
46983 {
46984 <Self as Vfmadd213phMaskEmitter<A, B, C>>::vfmadd213ph_mask(self, op0, op1, op2);
46985 }
46986 #[inline]
46998 pub fn vfmadd213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
46999 where
47000 Assembler<'a>: Vfmadd213phMaskErEmitter<A, B, C>,
47001 {
47002 <Self as Vfmadd213phMaskErEmitter<A, B, C>>::vfmadd213ph_mask_er(self, op0, op1, op2);
47003 }
47004 #[inline]
47021 pub fn vfmadd213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47022 where
47023 Assembler<'a>: Vfmadd213phMaskzEmitter<A, B, C>,
47024 {
47025 <Self as Vfmadd213phMaskzEmitter<A, B, C>>::vfmadd213ph_maskz(self, op0, op1, op2);
47026 }
47027 #[inline]
47039 pub fn vfmadd213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47040 where
47041 Assembler<'a>: Vfmadd213phMaskzErEmitter<A, B, C>,
47042 {
47043 <Self as Vfmadd213phMaskzErEmitter<A, B, C>>::vfmadd213ph_maskz_er(self, op0, op1, op2);
47044 }
47045 #[inline]
47058 pub fn vfmadd213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47059 where
47060 Assembler<'a>: Vfmadd213shEmitter<A, B, C>,
47061 {
47062 <Self as Vfmadd213shEmitter<A, B, C>>::vfmadd213sh(self, op0, op1, op2);
47063 }
47064 #[inline]
47076 pub fn vfmadd213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47077 where
47078 Assembler<'a>: Vfmadd213shErEmitter<A, B, C>,
47079 {
47080 <Self as Vfmadd213shErEmitter<A, B, C>>::vfmadd213sh_er(self, op0, op1, op2);
47081 }
47082 #[inline]
47095 pub fn vfmadd213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47096 where
47097 Assembler<'a>: Vfmadd213shMaskEmitter<A, B, C>,
47098 {
47099 <Self as Vfmadd213shMaskEmitter<A, B, C>>::vfmadd213sh_mask(self, op0, op1, op2);
47100 }
47101 #[inline]
47113 pub fn vfmadd213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47114 where
47115 Assembler<'a>: Vfmadd213shMaskErEmitter<A, B, C>,
47116 {
47117 <Self as Vfmadd213shMaskErEmitter<A, B, C>>::vfmadd213sh_mask_er(self, op0, op1, op2);
47118 }
47119 #[inline]
47132 pub fn vfmadd213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47133 where
47134 Assembler<'a>: Vfmadd213shMaskzEmitter<A, B, C>,
47135 {
47136 <Self as Vfmadd213shMaskzEmitter<A, B, C>>::vfmadd213sh_maskz(self, op0, op1, op2);
47137 }
47138 #[inline]
47150 pub fn vfmadd213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47151 where
47152 Assembler<'a>: Vfmadd213shMaskzErEmitter<A, B, C>,
47153 {
47154 <Self as Vfmadd213shMaskzErEmitter<A, B, C>>::vfmadd213sh_maskz_er(self, op0, op1, op2);
47155 }
47156 #[inline]
47173 pub fn vfmadd231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47174 where
47175 Assembler<'a>: Vfmadd231phEmitter<A, B, C>,
47176 {
47177 <Self as Vfmadd231phEmitter<A, B, C>>::vfmadd231ph(self, op0, op1, op2);
47178 }
47179 #[inline]
47191 pub fn vfmadd231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47192 where
47193 Assembler<'a>: Vfmadd231phErEmitter<A, B, C>,
47194 {
47195 <Self as Vfmadd231phErEmitter<A, B, C>>::vfmadd231ph_er(self, op0, op1, op2);
47196 }
47197 #[inline]
47214 pub fn vfmadd231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47215 where
47216 Assembler<'a>: Vfmadd231phMaskEmitter<A, B, C>,
47217 {
47218 <Self as Vfmadd231phMaskEmitter<A, B, C>>::vfmadd231ph_mask(self, op0, op1, op2);
47219 }
47220 #[inline]
47232 pub fn vfmadd231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47233 where
47234 Assembler<'a>: Vfmadd231phMaskErEmitter<A, B, C>,
47235 {
47236 <Self as Vfmadd231phMaskErEmitter<A, B, C>>::vfmadd231ph_mask_er(self, op0, op1, op2);
47237 }
47238 #[inline]
47255 pub fn vfmadd231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47256 where
47257 Assembler<'a>: Vfmadd231phMaskzEmitter<A, B, C>,
47258 {
47259 <Self as Vfmadd231phMaskzEmitter<A, B, C>>::vfmadd231ph_maskz(self, op0, op1, op2);
47260 }
47261 #[inline]
47273 pub fn vfmadd231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47274 where
47275 Assembler<'a>: Vfmadd231phMaskzErEmitter<A, B, C>,
47276 {
47277 <Self as Vfmadd231phMaskzErEmitter<A, B, C>>::vfmadd231ph_maskz_er(self, op0, op1, op2);
47278 }
47279 #[inline]
47292 pub fn vfmadd231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47293 where
47294 Assembler<'a>: Vfmadd231shEmitter<A, B, C>,
47295 {
47296 <Self as Vfmadd231shEmitter<A, B, C>>::vfmadd231sh(self, op0, op1, op2);
47297 }
47298 #[inline]
47310 pub fn vfmadd231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47311 where
47312 Assembler<'a>: Vfmadd231shErEmitter<A, B, C>,
47313 {
47314 <Self as Vfmadd231shErEmitter<A, B, C>>::vfmadd231sh_er(self, op0, op1, op2);
47315 }
47316 #[inline]
47329 pub fn vfmadd231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47330 where
47331 Assembler<'a>: Vfmadd231shMaskEmitter<A, B, C>,
47332 {
47333 <Self as Vfmadd231shMaskEmitter<A, B, C>>::vfmadd231sh_mask(self, op0, op1, op2);
47334 }
47335 #[inline]
47347 pub fn vfmadd231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47348 where
47349 Assembler<'a>: Vfmadd231shMaskErEmitter<A, B, C>,
47350 {
47351 <Self as Vfmadd231shMaskErEmitter<A, B, C>>::vfmadd231sh_mask_er(self, op0, op1, op2);
47352 }
47353 #[inline]
47366 pub fn vfmadd231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47367 where
47368 Assembler<'a>: Vfmadd231shMaskzEmitter<A, B, C>,
47369 {
47370 <Self as Vfmadd231shMaskzEmitter<A, B, C>>::vfmadd231sh_maskz(self, op0, op1, op2);
47371 }
47372 #[inline]
47384 pub fn vfmadd231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47385 where
47386 Assembler<'a>: Vfmadd231shMaskzErEmitter<A, B, C>,
47387 {
47388 <Self as Vfmadd231shMaskzErEmitter<A, B, C>>::vfmadd231sh_maskz_er(self, op0, op1, op2);
47389 }
47390 #[inline]
47407 pub fn vfmaddcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47408 where
47409 Assembler<'a>: VfmaddcphEmitter<A, B, C>,
47410 {
47411 <Self as VfmaddcphEmitter<A, B, C>>::vfmaddcph(self, op0, op1, op2);
47412 }
47413 #[inline]
47425 pub fn vfmaddcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47426 where
47427 Assembler<'a>: VfmaddcphErEmitter<A, B, C>,
47428 {
47429 <Self as VfmaddcphErEmitter<A, B, C>>::vfmaddcph_er(self, op0, op1, op2);
47430 }
47431 #[inline]
47448 pub fn vfmaddcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47449 where
47450 Assembler<'a>: VfmaddcphMaskEmitter<A, B, C>,
47451 {
47452 <Self as VfmaddcphMaskEmitter<A, B, C>>::vfmaddcph_mask(self, op0, op1, op2);
47453 }
47454 #[inline]
47466 pub fn vfmaddcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47467 where
47468 Assembler<'a>: VfmaddcphMaskErEmitter<A, B, C>,
47469 {
47470 <Self as VfmaddcphMaskErEmitter<A, B, C>>::vfmaddcph_mask_er(self, op0, op1, op2);
47471 }
47472 #[inline]
47489 pub fn vfmaddcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47490 where
47491 Assembler<'a>: VfmaddcphMaskzEmitter<A, B, C>,
47492 {
47493 <Self as VfmaddcphMaskzEmitter<A, B, C>>::vfmaddcph_maskz(self, op0, op1, op2);
47494 }
47495 #[inline]
47507 pub fn vfmaddcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47508 where
47509 Assembler<'a>: VfmaddcphMaskzErEmitter<A, B, C>,
47510 {
47511 <Self as VfmaddcphMaskzErEmitter<A, B, C>>::vfmaddcph_maskz_er(self, op0, op1, op2);
47512 }
47513 #[inline]
47526 pub fn vfmaddcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47527 where
47528 Assembler<'a>: VfmaddcshEmitter<A, B, C>,
47529 {
47530 <Self as VfmaddcshEmitter<A, B, C>>::vfmaddcsh(self, op0, op1, op2);
47531 }
47532 #[inline]
47544 pub fn vfmaddcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47545 where
47546 Assembler<'a>: VfmaddcshErEmitter<A, B, C>,
47547 {
47548 <Self as VfmaddcshErEmitter<A, B, C>>::vfmaddcsh_er(self, op0, op1, op2);
47549 }
47550 #[inline]
47563 pub fn vfmaddcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47564 where
47565 Assembler<'a>: VfmaddcshMaskEmitter<A, B, C>,
47566 {
47567 <Self as VfmaddcshMaskEmitter<A, B, C>>::vfmaddcsh_mask(self, op0, op1, op2);
47568 }
47569 #[inline]
47581 pub fn vfmaddcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47582 where
47583 Assembler<'a>: VfmaddcshMaskErEmitter<A, B, C>,
47584 {
47585 <Self as VfmaddcshMaskErEmitter<A, B, C>>::vfmaddcsh_mask_er(self, op0, op1, op2);
47586 }
47587 #[inline]
47600 pub fn vfmaddcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47601 where
47602 Assembler<'a>: VfmaddcshMaskzEmitter<A, B, C>,
47603 {
47604 <Self as VfmaddcshMaskzEmitter<A, B, C>>::vfmaddcsh_maskz(self, op0, op1, op2);
47605 }
47606 #[inline]
47618 pub fn vfmaddcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47619 where
47620 Assembler<'a>: VfmaddcshMaskzErEmitter<A, B, C>,
47621 {
47622 <Self as VfmaddcshMaskzErEmitter<A, B, C>>::vfmaddcsh_maskz_er(self, op0, op1, op2);
47623 }
47624 #[inline]
47641 pub fn vfmaddsub132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47642 where
47643 Assembler<'a>: Vfmaddsub132phEmitter<A, B, C>,
47644 {
47645 <Self as Vfmaddsub132phEmitter<A, B, C>>::vfmaddsub132ph(self, op0, op1, op2);
47646 }
47647 #[inline]
47659 pub fn vfmaddsub132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47660 where
47661 Assembler<'a>: Vfmaddsub132phErEmitter<A, B, C>,
47662 {
47663 <Self as Vfmaddsub132phErEmitter<A, B, C>>::vfmaddsub132ph_er(self, op0, op1, op2);
47664 }
47665 #[inline]
47682 pub fn vfmaddsub132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47683 where
47684 Assembler<'a>: Vfmaddsub132phMaskEmitter<A, B, C>,
47685 {
47686 <Self as Vfmaddsub132phMaskEmitter<A, B, C>>::vfmaddsub132ph_mask(self, op0, op1, op2);
47687 }
47688 #[inline]
47700 pub fn vfmaddsub132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47701 where
47702 Assembler<'a>: Vfmaddsub132phMaskErEmitter<A, B, C>,
47703 {
47704 <Self as Vfmaddsub132phMaskErEmitter<A, B, C>>::vfmaddsub132ph_mask_er(self, op0, op1, op2);
47705 }
47706 #[inline]
47723 pub fn vfmaddsub132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47724 where
47725 Assembler<'a>: Vfmaddsub132phMaskzEmitter<A, B, C>,
47726 {
47727 <Self as Vfmaddsub132phMaskzEmitter<A, B, C>>::vfmaddsub132ph_maskz(self, op0, op1, op2);
47728 }
47729 #[inline]
47741 pub fn vfmaddsub132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47742 where
47743 Assembler<'a>: Vfmaddsub132phMaskzErEmitter<A, B, C>,
47744 {
47745 <Self as Vfmaddsub132phMaskzErEmitter<A, B, C>>::vfmaddsub132ph_maskz_er(
47746 self, op0, op1, op2,
47747 );
47748 }
47749 #[inline]
47766 pub fn vfmaddsub213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47767 where
47768 Assembler<'a>: Vfmaddsub213phEmitter<A, B, C>,
47769 {
47770 <Self as Vfmaddsub213phEmitter<A, B, C>>::vfmaddsub213ph(self, op0, op1, op2);
47771 }
47772 #[inline]
47784 pub fn vfmaddsub213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47785 where
47786 Assembler<'a>: Vfmaddsub213phErEmitter<A, B, C>,
47787 {
47788 <Self as Vfmaddsub213phErEmitter<A, B, C>>::vfmaddsub213ph_er(self, op0, op1, op2);
47789 }
47790 #[inline]
47807 pub fn vfmaddsub213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47808 where
47809 Assembler<'a>: Vfmaddsub213phMaskEmitter<A, B, C>,
47810 {
47811 <Self as Vfmaddsub213phMaskEmitter<A, B, C>>::vfmaddsub213ph_mask(self, op0, op1, op2);
47812 }
47813 #[inline]
47825 pub fn vfmaddsub213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47826 where
47827 Assembler<'a>: Vfmaddsub213phMaskErEmitter<A, B, C>,
47828 {
47829 <Self as Vfmaddsub213phMaskErEmitter<A, B, C>>::vfmaddsub213ph_mask_er(self, op0, op1, op2);
47830 }
47831 #[inline]
47848 pub fn vfmaddsub213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47849 where
47850 Assembler<'a>: Vfmaddsub213phMaskzEmitter<A, B, C>,
47851 {
47852 <Self as Vfmaddsub213phMaskzEmitter<A, B, C>>::vfmaddsub213ph_maskz(self, op0, op1, op2);
47853 }
47854 #[inline]
47866 pub fn vfmaddsub213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47867 where
47868 Assembler<'a>: Vfmaddsub213phMaskzErEmitter<A, B, C>,
47869 {
47870 <Self as Vfmaddsub213phMaskzErEmitter<A, B, C>>::vfmaddsub213ph_maskz_er(
47871 self, op0, op1, op2,
47872 );
47873 }
47874 #[inline]
47891 pub fn vfmaddsub231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47892 where
47893 Assembler<'a>: Vfmaddsub231phEmitter<A, B, C>,
47894 {
47895 <Self as Vfmaddsub231phEmitter<A, B, C>>::vfmaddsub231ph(self, op0, op1, op2);
47896 }
47897 #[inline]
47909 pub fn vfmaddsub231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47910 where
47911 Assembler<'a>: Vfmaddsub231phErEmitter<A, B, C>,
47912 {
47913 <Self as Vfmaddsub231phErEmitter<A, B, C>>::vfmaddsub231ph_er(self, op0, op1, op2);
47914 }
47915 #[inline]
47932 pub fn vfmaddsub231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47933 where
47934 Assembler<'a>: Vfmaddsub231phMaskEmitter<A, B, C>,
47935 {
47936 <Self as Vfmaddsub231phMaskEmitter<A, B, C>>::vfmaddsub231ph_mask(self, op0, op1, op2);
47937 }
47938 #[inline]
47950 pub fn vfmaddsub231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47951 where
47952 Assembler<'a>: Vfmaddsub231phMaskErEmitter<A, B, C>,
47953 {
47954 <Self as Vfmaddsub231phMaskErEmitter<A, B, C>>::vfmaddsub231ph_mask_er(self, op0, op1, op2);
47955 }
47956 #[inline]
47973 pub fn vfmaddsub231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47974 where
47975 Assembler<'a>: Vfmaddsub231phMaskzEmitter<A, B, C>,
47976 {
47977 <Self as Vfmaddsub231phMaskzEmitter<A, B, C>>::vfmaddsub231ph_maskz(self, op0, op1, op2);
47978 }
47979 #[inline]
47991 pub fn vfmaddsub231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
47992 where
47993 Assembler<'a>: Vfmaddsub231phMaskzErEmitter<A, B, C>,
47994 {
47995 <Self as Vfmaddsub231phMaskzErEmitter<A, B, C>>::vfmaddsub231ph_maskz_er(
47996 self, op0, op1, op2,
47997 );
47998 }
47999 #[inline]
48016 pub fn vfmsub132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48017 where
48018 Assembler<'a>: Vfmsub132phEmitter<A, B, C>,
48019 {
48020 <Self as Vfmsub132phEmitter<A, B, C>>::vfmsub132ph(self, op0, op1, op2);
48021 }
48022 #[inline]
48034 pub fn vfmsub132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48035 where
48036 Assembler<'a>: Vfmsub132phErEmitter<A, B, C>,
48037 {
48038 <Self as Vfmsub132phErEmitter<A, B, C>>::vfmsub132ph_er(self, op0, op1, op2);
48039 }
48040 #[inline]
48057 pub fn vfmsub132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48058 where
48059 Assembler<'a>: Vfmsub132phMaskEmitter<A, B, C>,
48060 {
48061 <Self as Vfmsub132phMaskEmitter<A, B, C>>::vfmsub132ph_mask(self, op0, op1, op2);
48062 }
48063 #[inline]
48075 pub fn vfmsub132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48076 where
48077 Assembler<'a>: Vfmsub132phMaskErEmitter<A, B, C>,
48078 {
48079 <Self as Vfmsub132phMaskErEmitter<A, B, C>>::vfmsub132ph_mask_er(self, op0, op1, op2);
48080 }
48081 #[inline]
48098 pub fn vfmsub132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48099 where
48100 Assembler<'a>: Vfmsub132phMaskzEmitter<A, B, C>,
48101 {
48102 <Self as Vfmsub132phMaskzEmitter<A, B, C>>::vfmsub132ph_maskz(self, op0, op1, op2);
48103 }
48104 #[inline]
48116 pub fn vfmsub132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48117 where
48118 Assembler<'a>: Vfmsub132phMaskzErEmitter<A, B, C>,
48119 {
48120 <Self as Vfmsub132phMaskzErEmitter<A, B, C>>::vfmsub132ph_maskz_er(self, op0, op1, op2);
48121 }
48122 #[inline]
48135 pub fn vfmsub132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48136 where
48137 Assembler<'a>: Vfmsub132shEmitter<A, B, C>,
48138 {
48139 <Self as Vfmsub132shEmitter<A, B, C>>::vfmsub132sh(self, op0, op1, op2);
48140 }
48141 #[inline]
48153 pub fn vfmsub132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48154 where
48155 Assembler<'a>: Vfmsub132shErEmitter<A, B, C>,
48156 {
48157 <Self as Vfmsub132shErEmitter<A, B, C>>::vfmsub132sh_er(self, op0, op1, op2);
48158 }
48159 #[inline]
48172 pub fn vfmsub132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48173 where
48174 Assembler<'a>: Vfmsub132shMaskEmitter<A, B, C>,
48175 {
48176 <Self as Vfmsub132shMaskEmitter<A, B, C>>::vfmsub132sh_mask(self, op0, op1, op2);
48177 }
48178 #[inline]
48190 pub fn vfmsub132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48191 where
48192 Assembler<'a>: Vfmsub132shMaskErEmitter<A, B, C>,
48193 {
48194 <Self as Vfmsub132shMaskErEmitter<A, B, C>>::vfmsub132sh_mask_er(self, op0, op1, op2);
48195 }
48196 #[inline]
48209 pub fn vfmsub132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48210 where
48211 Assembler<'a>: Vfmsub132shMaskzEmitter<A, B, C>,
48212 {
48213 <Self as Vfmsub132shMaskzEmitter<A, B, C>>::vfmsub132sh_maskz(self, op0, op1, op2);
48214 }
48215 #[inline]
48227 pub fn vfmsub132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48228 where
48229 Assembler<'a>: Vfmsub132shMaskzErEmitter<A, B, C>,
48230 {
48231 <Self as Vfmsub132shMaskzErEmitter<A, B, C>>::vfmsub132sh_maskz_er(self, op0, op1, op2);
48232 }
48233 #[inline]
48250 pub fn vfmsub213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48251 where
48252 Assembler<'a>: Vfmsub213phEmitter<A, B, C>,
48253 {
48254 <Self as Vfmsub213phEmitter<A, B, C>>::vfmsub213ph(self, op0, op1, op2);
48255 }
48256 #[inline]
48268 pub fn vfmsub213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48269 where
48270 Assembler<'a>: Vfmsub213phErEmitter<A, B, C>,
48271 {
48272 <Self as Vfmsub213phErEmitter<A, B, C>>::vfmsub213ph_er(self, op0, op1, op2);
48273 }
48274 #[inline]
48291 pub fn vfmsub213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48292 where
48293 Assembler<'a>: Vfmsub213phMaskEmitter<A, B, C>,
48294 {
48295 <Self as Vfmsub213phMaskEmitter<A, B, C>>::vfmsub213ph_mask(self, op0, op1, op2);
48296 }
48297 #[inline]
48309 pub fn vfmsub213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48310 where
48311 Assembler<'a>: Vfmsub213phMaskErEmitter<A, B, C>,
48312 {
48313 <Self as Vfmsub213phMaskErEmitter<A, B, C>>::vfmsub213ph_mask_er(self, op0, op1, op2);
48314 }
48315 #[inline]
48332 pub fn vfmsub213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48333 where
48334 Assembler<'a>: Vfmsub213phMaskzEmitter<A, B, C>,
48335 {
48336 <Self as Vfmsub213phMaskzEmitter<A, B, C>>::vfmsub213ph_maskz(self, op0, op1, op2);
48337 }
48338 #[inline]
48350 pub fn vfmsub213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48351 where
48352 Assembler<'a>: Vfmsub213phMaskzErEmitter<A, B, C>,
48353 {
48354 <Self as Vfmsub213phMaskzErEmitter<A, B, C>>::vfmsub213ph_maskz_er(self, op0, op1, op2);
48355 }
48356 #[inline]
48369 pub fn vfmsub213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48370 where
48371 Assembler<'a>: Vfmsub213shEmitter<A, B, C>,
48372 {
48373 <Self as Vfmsub213shEmitter<A, B, C>>::vfmsub213sh(self, op0, op1, op2);
48374 }
48375 #[inline]
48387 pub fn vfmsub213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48388 where
48389 Assembler<'a>: Vfmsub213shErEmitter<A, B, C>,
48390 {
48391 <Self as Vfmsub213shErEmitter<A, B, C>>::vfmsub213sh_er(self, op0, op1, op2);
48392 }
48393 #[inline]
48406 pub fn vfmsub213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48407 where
48408 Assembler<'a>: Vfmsub213shMaskEmitter<A, B, C>,
48409 {
48410 <Self as Vfmsub213shMaskEmitter<A, B, C>>::vfmsub213sh_mask(self, op0, op1, op2);
48411 }
48412 #[inline]
48424 pub fn vfmsub213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48425 where
48426 Assembler<'a>: Vfmsub213shMaskErEmitter<A, B, C>,
48427 {
48428 <Self as Vfmsub213shMaskErEmitter<A, B, C>>::vfmsub213sh_mask_er(self, op0, op1, op2);
48429 }
48430 #[inline]
48443 pub fn vfmsub213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48444 where
48445 Assembler<'a>: Vfmsub213shMaskzEmitter<A, B, C>,
48446 {
48447 <Self as Vfmsub213shMaskzEmitter<A, B, C>>::vfmsub213sh_maskz(self, op0, op1, op2);
48448 }
48449 #[inline]
48461 pub fn vfmsub213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48462 where
48463 Assembler<'a>: Vfmsub213shMaskzErEmitter<A, B, C>,
48464 {
48465 <Self as Vfmsub213shMaskzErEmitter<A, B, C>>::vfmsub213sh_maskz_er(self, op0, op1, op2);
48466 }
48467 #[inline]
48484 pub fn vfmsub231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48485 where
48486 Assembler<'a>: Vfmsub231phEmitter<A, B, C>,
48487 {
48488 <Self as Vfmsub231phEmitter<A, B, C>>::vfmsub231ph(self, op0, op1, op2);
48489 }
48490 #[inline]
48502 pub fn vfmsub231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48503 where
48504 Assembler<'a>: Vfmsub231phErEmitter<A, B, C>,
48505 {
48506 <Self as Vfmsub231phErEmitter<A, B, C>>::vfmsub231ph_er(self, op0, op1, op2);
48507 }
48508 #[inline]
48525 pub fn vfmsub231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48526 where
48527 Assembler<'a>: Vfmsub231phMaskEmitter<A, B, C>,
48528 {
48529 <Self as Vfmsub231phMaskEmitter<A, B, C>>::vfmsub231ph_mask(self, op0, op1, op2);
48530 }
48531 #[inline]
48543 pub fn vfmsub231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48544 where
48545 Assembler<'a>: Vfmsub231phMaskErEmitter<A, B, C>,
48546 {
48547 <Self as Vfmsub231phMaskErEmitter<A, B, C>>::vfmsub231ph_mask_er(self, op0, op1, op2);
48548 }
48549 #[inline]
48566 pub fn vfmsub231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48567 where
48568 Assembler<'a>: Vfmsub231phMaskzEmitter<A, B, C>,
48569 {
48570 <Self as Vfmsub231phMaskzEmitter<A, B, C>>::vfmsub231ph_maskz(self, op0, op1, op2);
48571 }
48572 #[inline]
48584 pub fn vfmsub231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48585 where
48586 Assembler<'a>: Vfmsub231phMaskzErEmitter<A, B, C>,
48587 {
48588 <Self as Vfmsub231phMaskzErEmitter<A, B, C>>::vfmsub231ph_maskz_er(self, op0, op1, op2);
48589 }
48590 #[inline]
48603 pub fn vfmsub231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48604 where
48605 Assembler<'a>: Vfmsub231shEmitter<A, B, C>,
48606 {
48607 <Self as Vfmsub231shEmitter<A, B, C>>::vfmsub231sh(self, op0, op1, op2);
48608 }
48609 #[inline]
48621 pub fn vfmsub231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48622 where
48623 Assembler<'a>: Vfmsub231shErEmitter<A, B, C>,
48624 {
48625 <Self as Vfmsub231shErEmitter<A, B, C>>::vfmsub231sh_er(self, op0, op1, op2);
48626 }
48627 #[inline]
48640 pub fn vfmsub231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48641 where
48642 Assembler<'a>: Vfmsub231shMaskEmitter<A, B, C>,
48643 {
48644 <Self as Vfmsub231shMaskEmitter<A, B, C>>::vfmsub231sh_mask(self, op0, op1, op2);
48645 }
48646 #[inline]
48658 pub fn vfmsub231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48659 where
48660 Assembler<'a>: Vfmsub231shMaskErEmitter<A, B, C>,
48661 {
48662 <Self as Vfmsub231shMaskErEmitter<A, B, C>>::vfmsub231sh_mask_er(self, op0, op1, op2);
48663 }
48664 #[inline]
48677 pub fn vfmsub231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48678 where
48679 Assembler<'a>: Vfmsub231shMaskzEmitter<A, B, C>,
48680 {
48681 <Self as Vfmsub231shMaskzEmitter<A, B, C>>::vfmsub231sh_maskz(self, op0, op1, op2);
48682 }
48683 #[inline]
48695 pub fn vfmsub231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48696 where
48697 Assembler<'a>: Vfmsub231shMaskzErEmitter<A, B, C>,
48698 {
48699 <Self as Vfmsub231shMaskzErEmitter<A, B, C>>::vfmsub231sh_maskz_er(self, op0, op1, op2);
48700 }
48701 #[inline]
48718 pub fn vfmsubadd132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48719 where
48720 Assembler<'a>: Vfmsubadd132phEmitter<A, B, C>,
48721 {
48722 <Self as Vfmsubadd132phEmitter<A, B, C>>::vfmsubadd132ph(self, op0, op1, op2);
48723 }
48724 #[inline]
48736 pub fn vfmsubadd132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48737 where
48738 Assembler<'a>: Vfmsubadd132phErEmitter<A, B, C>,
48739 {
48740 <Self as Vfmsubadd132phErEmitter<A, B, C>>::vfmsubadd132ph_er(self, op0, op1, op2);
48741 }
48742 #[inline]
48759 pub fn vfmsubadd132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48760 where
48761 Assembler<'a>: Vfmsubadd132phMaskEmitter<A, B, C>,
48762 {
48763 <Self as Vfmsubadd132phMaskEmitter<A, B, C>>::vfmsubadd132ph_mask(self, op0, op1, op2);
48764 }
48765 #[inline]
48777 pub fn vfmsubadd132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48778 where
48779 Assembler<'a>: Vfmsubadd132phMaskErEmitter<A, B, C>,
48780 {
48781 <Self as Vfmsubadd132phMaskErEmitter<A, B, C>>::vfmsubadd132ph_mask_er(self, op0, op1, op2);
48782 }
48783 #[inline]
48800 pub fn vfmsubadd132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48801 where
48802 Assembler<'a>: Vfmsubadd132phMaskzEmitter<A, B, C>,
48803 {
48804 <Self as Vfmsubadd132phMaskzEmitter<A, B, C>>::vfmsubadd132ph_maskz(self, op0, op1, op2);
48805 }
48806 #[inline]
48818 pub fn vfmsubadd132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48819 where
48820 Assembler<'a>: Vfmsubadd132phMaskzErEmitter<A, B, C>,
48821 {
48822 <Self as Vfmsubadd132phMaskzErEmitter<A, B, C>>::vfmsubadd132ph_maskz_er(
48823 self, op0, op1, op2,
48824 );
48825 }
48826 #[inline]
48843 pub fn vfmsubadd213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48844 where
48845 Assembler<'a>: Vfmsubadd213phEmitter<A, B, C>,
48846 {
48847 <Self as Vfmsubadd213phEmitter<A, B, C>>::vfmsubadd213ph(self, op0, op1, op2);
48848 }
48849 #[inline]
48861 pub fn vfmsubadd213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48862 where
48863 Assembler<'a>: Vfmsubadd213phErEmitter<A, B, C>,
48864 {
48865 <Self as Vfmsubadd213phErEmitter<A, B, C>>::vfmsubadd213ph_er(self, op0, op1, op2);
48866 }
48867 #[inline]
48884 pub fn vfmsubadd213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48885 where
48886 Assembler<'a>: Vfmsubadd213phMaskEmitter<A, B, C>,
48887 {
48888 <Self as Vfmsubadd213phMaskEmitter<A, B, C>>::vfmsubadd213ph_mask(self, op0, op1, op2);
48889 }
48890 #[inline]
48902 pub fn vfmsubadd213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48903 where
48904 Assembler<'a>: Vfmsubadd213phMaskErEmitter<A, B, C>,
48905 {
48906 <Self as Vfmsubadd213phMaskErEmitter<A, B, C>>::vfmsubadd213ph_mask_er(self, op0, op1, op2);
48907 }
48908 #[inline]
48925 pub fn vfmsubadd213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48926 where
48927 Assembler<'a>: Vfmsubadd213phMaskzEmitter<A, B, C>,
48928 {
48929 <Self as Vfmsubadd213phMaskzEmitter<A, B, C>>::vfmsubadd213ph_maskz(self, op0, op1, op2);
48930 }
48931 #[inline]
48943 pub fn vfmsubadd213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48944 where
48945 Assembler<'a>: Vfmsubadd213phMaskzErEmitter<A, B, C>,
48946 {
48947 <Self as Vfmsubadd213phMaskzErEmitter<A, B, C>>::vfmsubadd213ph_maskz_er(
48948 self, op0, op1, op2,
48949 );
48950 }
48951 #[inline]
48968 pub fn vfmsubadd231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48969 where
48970 Assembler<'a>: Vfmsubadd231phEmitter<A, B, C>,
48971 {
48972 <Self as Vfmsubadd231phEmitter<A, B, C>>::vfmsubadd231ph(self, op0, op1, op2);
48973 }
48974 #[inline]
48986 pub fn vfmsubadd231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
48987 where
48988 Assembler<'a>: Vfmsubadd231phErEmitter<A, B, C>,
48989 {
48990 <Self as Vfmsubadd231phErEmitter<A, B, C>>::vfmsubadd231ph_er(self, op0, op1, op2);
48991 }
48992 #[inline]
49009 pub fn vfmsubadd231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49010 where
49011 Assembler<'a>: Vfmsubadd231phMaskEmitter<A, B, C>,
49012 {
49013 <Self as Vfmsubadd231phMaskEmitter<A, B, C>>::vfmsubadd231ph_mask(self, op0, op1, op2);
49014 }
49015 #[inline]
49027 pub fn vfmsubadd231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49028 where
49029 Assembler<'a>: Vfmsubadd231phMaskErEmitter<A, B, C>,
49030 {
49031 <Self as Vfmsubadd231phMaskErEmitter<A, B, C>>::vfmsubadd231ph_mask_er(self, op0, op1, op2);
49032 }
49033 #[inline]
49050 pub fn vfmsubadd231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49051 where
49052 Assembler<'a>: Vfmsubadd231phMaskzEmitter<A, B, C>,
49053 {
49054 <Self as Vfmsubadd231phMaskzEmitter<A, B, C>>::vfmsubadd231ph_maskz(self, op0, op1, op2);
49055 }
49056 #[inline]
49068 pub fn vfmsubadd231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49069 where
49070 Assembler<'a>: Vfmsubadd231phMaskzErEmitter<A, B, C>,
49071 {
49072 <Self as Vfmsubadd231phMaskzErEmitter<A, B, C>>::vfmsubadd231ph_maskz_er(
49073 self, op0, op1, op2,
49074 );
49075 }
49076 #[inline]
49093 pub fn vfmulcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49094 where
49095 Assembler<'a>: VfmulcphEmitter<A, B, C>,
49096 {
49097 <Self as VfmulcphEmitter<A, B, C>>::vfmulcph(self, op0, op1, op2);
49098 }
49099 #[inline]
49111 pub fn vfmulcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49112 where
49113 Assembler<'a>: VfmulcphErEmitter<A, B, C>,
49114 {
49115 <Self as VfmulcphErEmitter<A, B, C>>::vfmulcph_er(self, op0, op1, op2);
49116 }
49117 #[inline]
49134 pub fn vfmulcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49135 where
49136 Assembler<'a>: VfmulcphMaskEmitter<A, B, C>,
49137 {
49138 <Self as VfmulcphMaskEmitter<A, B, C>>::vfmulcph_mask(self, op0, op1, op2);
49139 }
49140 #[inline]
49152 pub fn vfmulcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49153 where
49154 Assembler<'a>: VfmulcphMaskErEmitter<A, B, C>,
49155 {
49156 <Self as VfmulcphMaskErEmitter<A, B, C>>::vfmulcph_mask_er(self, op0, op1, op2);
49157 }
49158 #[inline]
49175 pub fn vfmulcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49176 where
49177 Assembler<'a>: VfmulcphMaskzEmitter<A, B, C>,
49178 {
49179 <Self as VfmulcphMaskzEmitter<A, B, C>>::vfmulcph_maskz(self, op0, op1, op2);
49180 }
49181 #[inline]
49193 pub fn vfmulcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49194 where
49195 Assembler<'a>: VfmulcphMaskzErEmitter<A, B, C>,
49196 {
49197 <Self as VfmulcphMaskzErEmitter<A, B, C>>::vfmulcph_maskz_er(self, op0, op1, op2);
49198 }
49199 #[inline]
49212 pub fn vfmulcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49213 where
49214 Assembler<'a>: VfmulcshEmitter<A, B, C>,
49215 {
49216 <Self as VfmulcshEmitter<A, B, C>>::vfmulcsh(self, op0, op1, op2);
49217 }
49218 #[inline]
49230 pub fn vfmulcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49231 where
49232 Assembler<'a>: VfmulcshErEmitter<A, B, C>,
49233 {
49234 <Self as VfmulcshErEmitter<A, B, C>>::vfmulcsh_er(self, op0, op1, op2);
49235 }
49236 #[inline]
49249 pub fn vfmulcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49250 where
49251 Assembler<'a>: VfmulcshMaskEmitter<A, B, C>,
49252 {
49253 <Self as VfmulcshMaskEmitter<A, B, C>>::vfmulcsh_mask(self, op0, op1, op2);
49254 }
49255 #[inline]
49267 pub fn vfmulcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49268 where
49269 Assembler<'a>: VfmulcshMaskErEmitter<A, B, C>,
49270 {
49271 <Self as VfmulcshMaskErEmitter<A, B, C>>::vfmulcsh_mask_er(self, op0, op1, op2);
49272 }
49273 #[inline]
49286 pub fn vfmulcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49287 where
49288 Assembler<'a>: VfmulcshMaskzEmitter<A, B, C>,
49289 {
49290 <Self as VfmulcshMaskzEmitter<A, B, C>>::vfmulcsh_maskz(self, op0, op1, op2);
49291 }
49292 #[inline]
49304 pub fn vfmulcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49305 where
49306 Assembler<'a>: VfmulcshMaskzErEmitter<A, B, C>,
49307 {
49308 <Self as VfmulcshMaskzErEmitter<A, B, C>>::vfmulcsh_maskz_er(self, op0, op1, op2);
49309 }
49310 #[inline]
49327 pub fn vfnmadd132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49328 where
49329 Assembler<'a>: Vfnmadd132phEmitter<A, B, C>,
49330 {
49331 <Self as Vfnmadd132phEmitter<A, B, C>>::vfnmadd132ph(self, op0, op1, op2);
49332 }
49333 #[inline]
49345 pub fn vfnmadd132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49346 where
49347 Assembler<'a>: Vfnmadd132phErEmitter<A, B, C>,
49348 {
49349 <Self as Vfnmadd132phErEmitter<A, B, C>>::vfnmadd132ph_er(self, op0, op1, op2);
49350 }
49351 #[inline]
49368 pub fn vfnmadd132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49369 where
49370 Assembler<'a>: Vfnmadd132phMaskEmitter<A, B, C>,
49371 {
49372 <Self as Vfnmadd132phMaskEmitter<A, B, C>>::vfnmadd132ph_mask(self, op0, op1, op2);
49373 }
49374 #[inline]
49386 pub fn vfnmadd132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49387 where
49388 Assembler<'a>: Vfnmadd132phMaskErEmitter<A, B, C>,
49389 {
49390 <Self as Vfnmadd132phMaskErEmitter<A, B, C>>::vfnmadd132ph_mask_er(self, op0, op1, op2);
49391 }
49392 #[inline]
49409 pub fn vfnmadd132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49410 where
49411 Assembler<'a>: Vfnmadd132phMaskzEmitter<A, B, C>,
49412 {
49413 <Self as Vfnmadd132phMaskzEmitter<A, B, C>>::vfnmadd132ph_maskz(self, op0, op1, op2);
49414 }
49415 #[inline]
49427 pub fn vfnmadd132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49428 where
49429 Assembler<'a>: Vfnmadd132phMaskzErEmitter<A, B, C>,
49430 {
49431 <Self as Vfnmadd132phMaskzErEmitter<A, B, C>>::vfnmadd132ph_maskz_er(self, op0, op1, op2);
49432 }
49433 #[inline]
49446 pub fn vfnmadd132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49447 where
49448 Assembler<'a>: Vfnmadd132shEmitter<A, B, C>,
49449 {
49450 <Self as Vfnmadd132shEmitter<A, B, C>>::vfnmadd132sh(self, op0, op1, op2);
49451 }
49452 #[inline]
49464 pub fn vfnmadd132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49465 where
49466 Assembler<'a>: Vfnmadd132shErEmitter<A, B, C>,
49467 {
49468 <Self as Vfnmadd132shErEmitter<A, B, C>>::vfnmadd132sh_er(self, op0, op1, op2);
49469 }
49470 #[inline]
49483 pub fn vfnmadd132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49484 where
49485 Assembler<'a>: Vfnmadd132shMaskEmitter<A, B, C>,
49486 {
49487 <Self as Vfnmadd132shMaskEmitter<A, B, C>>::vfnmadd132sh_mask(self, op0, op1, op2);
49488 }
49489 #[inline]
49501 pub fn vfnmadd132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49502 where
49503 Assembler<'a>: Vfnmadd132shMaskErEmitter<A, B, C>,
49504 {
49505 <Self as Vfnmadd132shMaskErEmitter<A, B, C>>::vfnmadd132sh_mask_er(self, op0, op1, op2);
49506 }
49507 #[inline]
49520 pub fn vfnmadd132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49521 where
49522 Assembler<'a>: Vfnmadd132shMaskzEmitter<A, B, C>,
49523 {
49524 <Self as Vfnmadd132shMaskzEmitter<A, B, C>>::vfnmadd132sh_maskz(self, op0, op1, op2);
49525 }
49526 #[inline]
49538 pub fn vfnmadd132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49539 where
49540 Assembler<'a>: Vfnmadd132shMaskzErEmitter<A, B, C>,
49541 {
49542 <Self as Vfnmadd132shMaskzErEmitter<A, B, C>>::vfnmadd132sh_maskz_er(self, op0, op1, op2);
49543 }
49544 #[inline]
49561 pub fn vfnmadd213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49562 where
49563 Assembler<'a>: Vfnmadd213phEmitter<A, B, C>,
49564 {
49565 <Self as Vfnmadd213phEmitter<A, B, C>>::vfnmadd213ph(self, op0, op1, op2);
49566 }
49567 #[inline]
49579 pub fn vfnmadd213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49580 where
49581 Assembler<'a>: Vfnmadd213phErEmitter<A, B, C>,
49582 {
49583 <Self as Vfnmadd213phErEmitter<A, B, C>>::vfnmadd213ph_er(self, op0, op1, op2);
49584 }
49585 #[inline]
49602 pub fn vfnmadd213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49603 where
49604 Assembler<'a>: Vfnmadd213phMaskEmitter<A, B, C>,
49605 {
49606 <Self as Vfnmadd213phMaskEmitter<A, B, C>>::vfnmadd213ph_mask(self, op0, op1, op2);
49607 }
49608 #[inline]
49620 pub fn vfnmadd213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49621 where
49622 Assembler<'a>: Vfnmadd213phMaskErEmitter<A, B, C>,
49623 {
49624 <Self as Vfnmadd213phMaskErEmitter<A, B, C>>::vfnmadd213ph_mask_er(self, op0, op1, op2);
49625 }
49626 #[inline]
49643 pub fn vfnmadd213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49644 where
49645 Assembler<'a>: Vfnmadd213phMaskzEmitter<A, B, C>,
49646 {
49647 <Self as Vfnmadd213phMaskzEmitter<A, B, C>>::vfnmadd213ph_maskz(self, op0, op1, op2);
49648 }
49649 #[inline]
49661 pub fn vfnmadd213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49662 where
49663 Assembler<'a>: Vfnmadd213phMaskzErEmitter<A, B, C>,
49664 {
49665 <Self as Vfnmadd213phMaskzErEmitter<A, B, C>>::vfnmadd213ph_maskz_er(self, op0, op1, op2);
49666 }
49667 #[inline]
49680 pub fn vfnmadd213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49681 where
49682 Assembler<'a>: Vfnmadd213shEmitter<A, B, C>,
49683 {
49684 <Self as Vfnmadd213shEmitter<A, B, C>>::vfnmadd213sh(self, op0, op1, op2);
49685 }
49686 #[inline]
49698 pub fn vfnmadd213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49699 where
49700 Assembler<'a>: Vfnmadd213shErEmitter<A, B, C>,
49701 {
49702 <Self as Vfnmadd213shErEmitter<A, B, C>>::vfnmadd213sh_er(self, op0, op1, op2);
49703 }
49704 #[inline]
49717 pub fn vfnmadd213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49718 where
49719 Assembler<'a>: Vfnmadd213shMaskEmitter<A, B, C>,
49720 {
49721 <Self as Vfnmadd213shMaskEmitter<A, B, C>>::vfnmadd213sh_mask(self, op0, op1, op2);
49722 }
49723 #[inline]
49735 pub fn vfnmadd213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49736 where
49737 Assembler<'a>: Vfnmadd213shMaskErEmitter<A, B, C>,
49738 {
49739 <Self as Vfnmadd213shMaskErEmitter<A, B, C>>::vfnmadd213sh_mask_er(self, op0, op1, op2);
49740 }
49741 #[inline]
49754 pub fn vfnmadd213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49755 where
49756 Assembler<'a>: Vfnmadd213shMaskzEmitter<A, B, C>,
49757 {
49758 <Self as Vfnmadd213shMaskzEmitter<A, B, C>>::vfnmadd213sh_maskz(self, op0, op1, op2);
49759 }
49760 #[inline]
49772 pub fn vfnmadd213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49773 where
49774 Assembler<'a>: Vfnmadd213shMaskzErEmitter<A, B, C>,
49775 {
49776 <Self as Vfnmadd213shMaskzErEmitter<A, B, C>>::vfnmadd213sh_maskz_er(self, op0, op1, op2);
49777 }
49778 #[inline]
49795 pub fn vfnmadd231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49796 where
49797 Assembler<'a>: Vfnmadd231phEmitter<A, B, C>,
49798 {
49799 <Self as Vfnmadd231phEmitter<A, B, C>>::vfnmadd231ph(self, op0, op1, op2);
49800 }
49801 #[inline]
49813 pub fn vfnmadd231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49814 where
49815 Assembler<'a>: Vfnmadd231phErEmitter<A, B, C>,
49816 {
49817 <Self as Vfnmadd231phErEmitter<A, B, C>>::vfnmadd231ph_er(self, op0, op1, op2);
49818 }
49819 #[inline]
49836 pub fn vfnmadd231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49837 where
49838 Assembler<'a>: Vfnmadd231phMaskEmitter<A, B, C>,
49839 {
49840 <Self as Vfnmadd231phMaskEmitter<A, B, C>>::vfnmadd231ph_mask(self, op0, op1, op2);
49841 }
49842 #[inline]
49854 pub fn vfnmadd231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49855 where
49856 Assembler<'a>: Vfnmadd231phMaskErEmitter<A, B, C>,
49857 {
49858 <Self as Vfnmadd231phMaskErEmitter<A, B, C>>::vfnmadd231ph_mask_er(self, op0, op1, op2);
49859 }
49860 #[inline]
49877 pub fn vfnmadd231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49878 where
49879 Assembler<'a>: Vfnmadd231phMaskzEmitter<A, B, C>,
49880 {
49881 <Self as Vfnmadd231phMaskzEmitter<A, B, C>>::vfnmadd231ph_maskz(self, op0, op1, op2);
49882 }
49883 #[inline]
49895 pub fn vfnmadd231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49896 where
49897 Assembler<'a>: Vfnmadd231phMaskzErEmitter<A, B, C>,
49898 {
49899 <Self as Vfnmadd231phMaskzErEmitter<A, B, C>>::vfnmadd231ph_maskz_er(self, op0, op1, op2);
49900 }
49901 #[inline]
49914 pub fn vfnmadd231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49915 where
49916 Assembler<'a>: Vfnmadd231shEmitter<A, B, C>,
49917 {
49918 <Self as Vfnmadd231shEmitter<A, B, C>>::vfnmadd231sh(self, op0, op1, op2);
49919 }
49920 #[inline]
49932 pub fn vfnmadd231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49933 where
49934 Assembler<'a>: Vfnmadd231shErEmitter<A, B, C>,
49935 {
49936 <Self as Vfnmadd231shErEmitter<A, B, C>>::vfnmadd231sh_er(self, op0, op1, op2);
49937 }
49938 #[inline]
49951 pub fn vfnmadd231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49952 where
49953 Assembler<'a>: Vfnmadd231shMaskEmitter<A, B, C>,
49954 {
49955 <Self as Vfnmadd231shMaskEmitter<A, B, C>>::vfnmadd231sh_mask(self, op0, op1, op2);
49956 }
49957 #[inline]
49969 pub fn vfnmadd231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49970 where
49971 Assembler<'a>: Vfnmadd231shMaskErEmitter<A, B, C>,
49972 {
49973 <Self as Vfnmadd231shMaskErEmitter<A, B, C>>::vfnmadd231sh_mask_er(self, op0, op1, op2);
49974 }
49975 #[inline]
49988 pub fn vfnmadd231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
49989 where
49990 Assembler<'a>: Vfnmadd231shMaskzEmitter<A, B, C>,
49991 {
49992 <Self as Vfnmadd231shMaskzEmitter<A, B, C>>::vfnmadd231sh_maskz(self, op0, op1, op2);
49993 }
49994 #[inline]
50006 pub fn vfnmadd231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50007 where
50008 Assembler<'a>: Vfnmadd231shMaskzErEmitter<A, B, C>,
50009 {
50010 <Self as Vfnmadd231shMaskzErEmitter<A, B, C>>::vfnmadd231sh_maskz_er(self, op0, op1, op2);
50011 }
50012 #[inline]
50029 pub fn vfnmsub132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50030 where
50031 Assembler<'a>: Vfnmsub132phEmitter<A, B, C>,
50032 {
50033 <Self as Vfnmsub132phEmitter<A, B, C>>::vfnmsub132ph(self, op0, op1, op2);
50034 }
50035 #[inline]
50047 pub fn vfnmsub132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50048 where
50049 Assembler<'a>: Vfnmsub132phErEmitter<A, B, C>,
50050 {
50051 <Self as Vfnmsub132phErEmitter<A, B, C>>::vfnmsub132ph_er(self, op0, op1, op2);
50052 }
50053 #[inline]
50070 pub fn vfnmsub132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50071 where
50072 Assembler<'a>: Vfnmsub132phMaskEmitter<A, B, C>,
50073 {
50074 <Self as Vfnmsub132phMaskEmitter<A, B, C>>::vfnmsub132ph_mask(self, op0, op1, op2);
50075 }
50076 #[inline]
50088 pub fn vfnmsub132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50089 where
50090 Assembler<'a>: Vfnmsub132phMaskErEmitter<A, B, C>,
50091 {
50092 <Self as Vfnmsub132phMaskErEmitter<A, B, C>>::vfnmsub132ph_mask_er(self, op0, op1, op2);
50093 }
50094 #[inline]
50111 pub fn vfnmsub132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50112 where
50113 Assembler<'a>: Vfnmsub132phMaskzEmitter<A, B, C>,
50114 {
50115 <Self as Vfnmsub132phMaskzEmitter<A, B, C>>::vfnmsub132ph_maskz(self, op0, op1, op2);
50116 }
50117 #[inline]
50129 pub fn vfnmsub132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50130 where
50131 Assembler<'a>: Vfnmsub132phMaskzErEmitter<A, B, C>,
50132 {
50133 <Self as Vfnmsub132phMaskzErEmitter<A, B, C>>::vfnmsub132ph_maskz_er(self, op0, op1, op2);
50134 }
50135 #[inline]
50148 pub fn vfnmsub132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50149 where
50150 Assembler<'a>: Vfnmsub132shEmitter<A, B, C>,
50151 {
50152 <Self as Vfnmsub132shEmitter<A, B, C>>::vfnmsub132sh(self, op0, op1, op2);
50153 }
50154 #[inline]
50166 pub fn vfnmsub132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50167 where
50168 Assembler<'a>: Vfnmsub132shErEmitter<A, B, C>,
50169 {
50170 <Self as Vfnmsub132shErEmitter<A, B, C>>::vfnmsub132sh_er(self, op0, op1, op2);
50171 }
50172 #[inline]
50185 pub fn vfnmsub132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50186 where
50187 Assembler<'a>: Vfnmsub132shMaskEmitter<A, B, C>,
50188 {
50189 <Self as Vfnmsub132shMaskEmitter<A, B, C>>::vfnmsub132sh_mask(self, op0, op1, op2);
50190 }
50191 #[inline]
50203 pub fn vfnmsub132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50204 where
50205 Assembler<'a>: Vfnmsub132shMaskErEmitter<A, B, C>,
50206 {
50207 <Self as Vfnmsub132shMaskErEmitter<A, B, C>>::vfnmsub132sh_mask_er(self, op0, op1, op2);
50208 }
50209 #[inline]
50222 pub fn vfnmsub132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50223 where
50224 Assembler<'a>: Vfnmsub132shMaskzEmitter<A, B, C>,
50225 {
50226 <Self as Vfnmsub132shMaskzEmitter<A, B, C>>::vfnmsub132sh_maskz(self, op0, op1, op2);
50227 }
50228 #[inline]
50240 pub fn vfnmsub132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50241 where
50242 Assembler<'a>: Vfnmsub132shMaskzErEmitter<A, B, C>,
50243 {
50244 <Self as Vfnmsub132shMaskzErEmitter<A, B, C>>::vfnmsub132sh_maskz_er(self, op0, op1, op2);
50245 }
50246 #[inline]
50263 pub fn vfnmsub213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50264 where
50265 Assembler<'a>: Vfnmsub213phEmitter<A, B, C>,
50266 {
50267 <Self as Vfnmsub213phEmitter<A, B, C>>::vfnmsub213ph(self, op0, op1, op2);
50268 }
50269 #[inline]
50281 pub fn vfnmsub213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50282 where
50283 Assembler<'a>: Vfnmsub213phErEmitter<A, B, C>,
50284 {
50285 <Self as Vfnmsub213phErEmitter<A, B, C>>::vfnmsub213ph_er(self, op0, op1, op2);
50286 }
50287 #[inline]
50304 pub fn vfnmsub213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50305 where
50306 Assembler<'a>: Vfnmsub213phMaskEmitter<A, B, C>,
50307 {
50308 <Self as Vfnmsub213phMaskEmitter<A, B, C>>::vfnmsub213ph_mask(self, op0, op1, op2);
50309 }
50310 #[inline]
50322 pub fn vfnmsub213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50323 where
50324 Assembler<'a>: Vfnmsub213phMaskErEmitter<A, B, C>,
50325 {
50326 <Self as Vfnmsub213phMaskErEmitter<A, B, C>>::vfnmsub213ph_mask_er(self, op0, op1, op2);
50327 }
50328 #[inline]
50345 pub fn vfnmsub213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50346 where
50347 Assembler<'a>: Vfnmsub213phMaskzEmitter<A, B, C>,
50348 {
50349 <Self as Vfnmsub213phMaskzEmitter<A, B, C>>::vfnmsub213ph_maskz(self, op0, op1, op2);
50350 }
50351 #[inline]
50363 pub fn vfnmsub213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50364 where
50365 Assembler<'a>: Vfnmsub213phMaskzErEmitter<A, B, C>,
50366 {
50367 <Self as Vfnmsub213phMaskzErEmitter<A, B, C>>::vfnmsub213ph_maskz_er(self, op0, op1, op2);
50368 }
50369 #[inline]
50382 pub fn vfnmsub213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50383 where
50384 Assembler<'a>: Vfnmsub213shEmitter<A, B, C>,
50385 {
50386 <Self as Vfnmsub213shEmitter<A, B, C>>::vfnmsub213sh(self, op0, op1, op2);
50387 }
50388 #[inline]
50400 pub fn vfnmsub213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50401 where
50402 Assembler<'a>: Vfnmsub213shErEmitter<A, B, C>,
50403 {
50404 <Self as Vfnmsub213shErEmitter<A, B, C>>::vfnmsub213sh_er(self, op0, op1, op2);
50405 }
50406 #[inline]
50419 pub fn vfnmsub213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50420 where
50421 Assembler<'a>: Vfnmsub213shMaskEmitter<A, B, C>,
50422 {
50423 <Self as Vfnmsub213shMaskEmitter<A, B, C>>::vfnmsub213sh_mask(self, op0, op1, op2);
50424 }
50425 #[inline]
50437 pub fn vfnmsub213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50438 where
50439 Assembler<'a>: Vfnmsub213shMaskErEmitter<A, B, C>,
50440 {
50441 <Self as Vfnmsub213shMaskErEmitter<A, B, C>>::vfnmsub213sh_mask_er(self, op0, op1, op2);
50442 }
50443 #[inline]
50456 pub fn vfnmsub213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50457 where
50458 Assembler<'a>: Vfnmsub213shMaskzEmitter<A, B, C>,
50459 {
50460 <Self as Vfnmsub213shMaskzEmitter<A, B, C>>::vfnmsub213sh_maskz(self, op0, op1, op2);
50461 }
50462 #[inline]
50474 pub fn vfnmsub213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50475 where
50476 Assembler<'a>: Vfnmsub213shMaskzErEmitter<A, B, C>,
50477 {
50478 <Self as Vfnmsub213shMaskzErEmitter<A, B, C>>::vfnmsub213sh_maskz_er(self, op0, op1, op2);
50479 }
50480 #[inline]
50497 pub fn vfnmsub231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50498 where
50499 Assembler<'a>: Vfnmsub231phEmitter<A, B, C>,
50500 {
50501 <Self as Vfnmsub231phEmitter<A, B, C>>::vfnmsub231ph(self, op0, op1, op2);
50502 }
50503 #[inline]
50515 pub fn vfnmsub231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50516 where
50517 Assembler<'a>: Vfnmsub231phErEmitter<A, B, C>,
50518 {
50519 <Self as Vfnmsub231phErEmitter<A, B, C>>::vfnmsub231ph_er(self, op0, op1, op2);
50520 }
50521 #[inline]
50538 pub fn vfnmsub231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50539 where
50540 Assembler<'a>: Vfnmsub231phMaskEmitter<A, B, C>,
50541 {
50542 <Self as Vfnmsub231phMaskEmitter<A, B, C>>::vfnmsub231ph_mask(self, op0, op1, op2);
50543 }
50544 #[inline]
50556 pub fn vfnmsub231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50557 where
50558 Assembler<'a>: Vfnmsub231phMaskErEmitter<A, B, C>,
50559 {
50560 <Self as Vfnmsub231phMaskErEmitter<A, B, C>>::vfnmsub231ph_mask_er(self, op0, op1, op2);
50561 }
50562 #[inline]
50579 pub fn vfnmsub231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50580 where
50581 Assembler<'a>: Vfnmsub231phMaskzEmitter<A, B, C>,
50582 {
50583 <Self as Vfnmsub231phMaskzEmitter<A, B, C>>::vfnmsub231ph_maskz(self, op0, op1, op2);
50584 }
50585 #[inline]
50597 pub fn vfnmsub231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50598 where
50599 Assembler<'a>: Vfnmsub231phMaskzErEmitter<A, B, C>,
50600 {
50601 <Self as Vfnmsub231phMaskzErEmitter<A, B, C>>::vfnmsub231ph_maskz_er(self, op0, op1, op2);
50602 }
50603 #[inline]
50616 pub fn vfnmsub231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50617 where
50618 Assembler<'a>: Vfnmsub231shEmitter<A, B, C>,
50619 {
50620 <Self as Vfnmsub231shEmitter<A, B, C>>::vfnmsub231sh(self, op0, op1, op2);
50621 }
50622 #[inline]
50634 pub fn vfnmsub231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50635 where
50636 Assembler<'a>: Vfnmsub231shErEmitter<A, B, C>,
50637 {
50638 <Self as Vfnmsub231shErEmitter<A, B, C>>::vfnmsub231sh_er(self, op0, op1, op2);
50639 }
50640 #[inline]
50653 pub fn vfnmsub231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50654 where
50655 Assembler<'a>: Vfnmsub231shMaskEmitter<A, B, C>,
50656 {
50657 <Self as Vfnmsub231shMaskEmitter<A, B, C>>::vfnmsub231sh_mask(self, op0, op1, op2);
50658 }
50659 #[inline]
50671 pub fn vfnmsub231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50672 where
50673 Assembler<'a>: Vfnmsub231shMaskErEmitter<A, B, C>,
50674 {
50675 <Self as Vfnmsub231shMaskErEmitter<A, B, C>>::vfnmsub231sh_mask_er(self, op0, op1, op2);
50676 }
50677 #[inline]
50690 pub fn vfnmsub231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50691 where
50692 Assembler<'a>: Vfnmsub231shMaskzEmitter<A, B, C>,
50693 {
50694 <Self as Vfnmsub231shMaskzEmitter<A, B, C>>::vfnmsub231sh_maskz(self, op0, op1, op2);
50695 }
50696 #[inline]
50708 pub fn vfnmsub231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50709 where
50710 Assembler<'a>: Vfnmsub231shMaskzErEmitter<A, B, C>,
50711 {
50712 <Self as Vfnmsub231shMaskzErEmitter<A, B, C>>::vfnmsub231sh_maskz_er(self, op0, op1, op2);
50713 }
50714 #[inline]
50729 pub fn vfpclassph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50730 where
50731 Assembler<'a>: VfpclassphEmitter<A, B, C>,
50732 {
50733 <Self as VfpclassphEmitter<A, B, C>>::vfpclassph(self, op0, op1, op2);
50734 }
50735 #[inline]
50750 pub fn vfpclassph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50751 where
50752 Assembler<'a>: VfpclassphMaskEmitter<A, B, C>,
50753 {
50754 <Self as VfpclassphMaskEmitter<A, B, C>>::vfpclassph_mask(self, op0, op1, op2);
50755 }
50756 #[inline]
50769 pub fn vfpclasssh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50770 where
50771 Assembler<'a>: VfpclassshEmitter<A, B, C>,
50772 {
50773 <Self as VfpclassshEmitter<A, B, C>>::vfpclasssh(self, op0, op1, op2);
50774 }
50775 #[inline]
50788 pub fn vfpclasssh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50789 where
50790 Assembler<'a>: VfpclassshMaskEmitter<A, B, C>,
50791 {
50792 <Self as VfpclassshMaskEmitter<A, B, C>>::vfpclasssh_mask(self, op0, op1, op2);
50793 }
50794 #[inline]
50811 pub fn vgetexpph<A, B>(&mut self, op0: A, op1: B)
50812 where
50813 Assembler<'a>: VgetexpphEmitter<A, B>,
50814 {
50815 <Self as VgetexpphEmitter<A, B>>::vgetexpph(self, op0, op1);
50816 }
50817 #[inline]
50834 pub fn vgetexpph_mask<A, B>(&mut self, op0: A, op1: B)
50835 where
50836 Assembler<'a>: VgetexpphMaskEmitter<A, B>,
50837 {
50838 <Self as VgetexpphMaskEmitter<A, B>>::vgetexpph_mask(self, op0, op1);
50839 }
50840 #[inline]
50852 pub fn vgetexpph_mask_sae<A, B>(&mut self, op0: A, op1: B)
50853 where
50854 Assembler<'a>: VgetexpphMaskSaeEmitter<A, B>,
50855 {
50856 <Self as VgetexpphMaskSaeEmitter<A, B>>::vgetexpph_mask_sae(self, op0, op1);
50857 }
50858 #[inline]
50875 pub fn vgetexpph_maskz<A, B>(&mut self, op0: A, op1: B)
50876 where
50877 Assembler<'a>: VgetexpphMaskzEmitter<A, B>,
50878 {
50879 <Self as VgetexpphMaskzEmitter<A, B>>::vgetexpph_maskz(self, op0, op1);
50880 }
50881 #[inline]
50893 pub fn vgetexpph_maskz_sae<A, B>(&mut self, op0: A, op1: B)
50894 where
50895 Assembler<'a>: VgetexpphMaskzSaeEmitter<A, B>,
50896 {
50897 <Self as VgetexpphMaskzSaeEmitter<A, B>>::vgetexpph_maskz_sae(self, op0, op1);
50898 }
50899 #[inline]
50911 pub fn vgetexpph_sae<A, B>(&mut self, op0: A, op1: B)
50912 where
50913 Assembler<'a>: VgetexpphSaeEmitter<A, B>,
50914 {
50915 <Self as VgetexpphSaeEmitter<A, B>>::vgetexpph_sae(self, op0, op1);
50916 }
50917 #[inline]
50930 pub fn vgetexpsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50931 where
50932 Assembler<'a>: VgetexpshEmitter<A, B, C>,
50933 {
50934 <Self as VgetexpshEmitter<A, B, C>>::vgetexpsh(self, op0, op1, op2);
50935 }
50936 #[inline]
50949 pub fn vgetexpsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50950 where
50951 Assembler<'a>: VgetexpshMaskEmitter<A, B, C>,
50952 {
50953 <Self as VgetexpshMaskEmitter<A, B, C>>::vgetexpsh_mask(self, op0, op1, op2);
50954 }
50955 #[inline]
50967 pub fn vgetexpsh_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50968 where
50969 Assembler<'a>: VgetexpshMaskSaeEmitter<A, B, C>,
50970 {
50971 <Self as VgetexpshMaskSaeEmitter<A, B, C>>::vgetexpsh_mask_sae(self, op0, op1, op2);
50972 }
50973 #[inline]
50986 pub fn vgetexpsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
50987 where
50988 Assembler<'a>: VgetexpshMaskzEmitter<A, B, C>,
50989 {
50990 <Self as VgetexpshMaskzEmitter<A, B, C>>::vgetexpsh_maskz(self, op0, op1, op2);
50991 }
50992 #[inline]
51004 pub fn vgetexpsh_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51005 where
51006 Assembler<'a>: VgetexpshMaskzSaeEmitter<A, B, C>,
51007 {
51008 <Self as VgetexpshMaskzSaeEmitter<A, B, C>>::vgetexpsh_maskz_sae(self, op0, op1, op2);
51009 }
51010 #[inline]
51022 pub fn vgetexpsh_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51023 where
51024 Assembler<'a>: VgetexpshSaeEmitter<A, B, C>,
51025 {
51026 <Self as VgetexpshSaeEmitter<A, B, C>>::vgetexpsh_sae(self, op0, op1, op2);
51027 }
51028 #[inline]
51045 pub fn vgetmantph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51046 where
51047 Assembler<'a>: VgetmantphEmitter<A, B, C>,
51048 {
51049 <Self as VgetmantphEmitter<A, B, C>>::vgetmantph(self, op0, op1, op2);
51050 }
51051 #[inline]
51068 pub fn vgetmantph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51069 where
51070 Assembler<'a>: VgetmantphMaskEmitter<A, B, C>,
51071 {
51072 <Self as VgetmantphMaskEmitter<A, B, C>>::vgetmantph_mask(self, op0, op1, op2);
51073 }
51074 #[inline]
51086 pub fn vgetmantph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51087 where
51088 Assembler<'a>: VgetmantphMaskSaeEmitter<A, B, C>,
51089 {
51090 <Self as VgetmantphMaskSaeEmitter<A, B, C>>::vgetmantph_mask_sae(self, op0, op1, op2);
51091 }
51092 #[inline]
51109 pub fn vgetmantph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51110 where
51111 Assembler<'a>: VgetmantphMaskzEmitter<A, B, C>,
51112 {
51113 <Self as VgetmantphMaskzEmitter<A, B, C>>::vgetmantph_maskz(self, op0, op1, op2);
51114 }
51115 #[inline]
51127 pub fn vgetmantph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51128 where
51129 Assembler<'a>: VgetmantphMaskzSaeEmitter<A, B, C>,
51130 {
51131 <Self as VgetmantphMaskzSaeEmitter<A, B, C>>::vgetmantph_maskz_sae(self, op0, op1, op2);
51132 }
51133 #[inline]
51145 pub fn vgetmantph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51146 where
51147 Assembler<'a>: VgetmantphSaeEmitter<A, B, C>,
51148 {
51149 <Self as VgetmantphSaeEmitter<A, B, C>>::vgetmantph_sae(self, op0, op1, op2);
51150 }
51151 #[inline]
51164 pub fn vgetmantsh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51165 where
51166 Assembler<'a>: VgetmantshEmitter<A, B, C, D>,
51167 {
51168 <Self as VgetmantshEmitter<A, B, C, D>>::vgetmantsh(self, op0, op1, op2, op3);
51169 }
51170 #[inline]
51183 pub fn vgetmantsh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51184 where
51185 Assembler<'a>: VgetmantshMaskEmitter<A, B, C, D>,
51186 {
51187 <Self as VgetmantshMaskEmitter<A, B, C, D>>::vgetmantsh_mask(self, op0, op1, op2, op3);
51188 }
51189 #[inline]
51201 pub fn vgetmantsh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51202 where
51203 Assembler<'a>: VgetmantshMaskSaeEmitter<A, B, C, D>,
51204 {
51205 <Self as VgetmantshMaskSaeEmitter<A, B, C, D>>::vgetmantsh_mask_sae(
51206 self, op0, op1, op2, op3,
51207 );
51208 }
51209 #[inline]
51222 pub fn vgetmantsh_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51223 where
51224 Assembler<'a>: VgetmantshMaskzEmitter<A, B, C, D>,
51225 {
51226 <Self as VgetmantshMaskzEmitter<A, B, C, D>>::vgetmantsh_maskz(self, op0, op1, op2, op3);
51227 }
51228 #[inline]
51240 pub fn vgetmantsh_maskz_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51241 where
51242 Assembler<'a>: VgetmantshMaskzSaeEmitter<A, B, C, D>,
51243 {
51244 <Self as VgetmantshMaskzSaeEmitter<A, B, C, D>>::vgetmantsh_maskz_sae(
51245 self, op0, op1, op2, op3,
51246 );
51247 }
51248 #[inline]
51260 pub fn vgetmantsh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51261 where
51262 Assembler<'a>: VgetmantshSaeEmitter<A, B, C, D>,
51263 {
51264 <Self as VgetmantshSaeEmitter<A, B, C, D>>::vgetmantsh_sae(self, op0, op1, op2, op3);
51265 }
51266 #[inline]
51283 pub fn vgf2p8affineinvqb<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51284 where
51285 Assembler<'a>: Vgf2p8affineinvqbEmitter<A, B, C, D>,
51286 {
51287 <Self as Vgf2p8affineinvqbEmitter<A, B, C, D>>::vgf2p8affineinvqb(self, op0, op1, op2, op3);
51288 }
51289 #[inline]
51306 pub fn vgf2p8affineinvqb_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51307 where
51308 Assembler<'a>: Vgf2p8affineinvqbMaskEmitter<A, B, C, D>,
51309 {
51310 <Self as Vgf2p8affineinvqbMaskEmitter<A, B, C, D>>::vgf2p8affineinvqb_mask(
51311 self, op0, op1, op2, op3,
51312 );
51313 }
51314 #[inline]
51331 pub fn vgf2p8affineinvqb_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51332 where
51333 Assembler<'a>: Vgf2p8affineinvqbMaskzEmitter<A, B, C, D>,
51334 {
51335 <Self as Vgf2p8affineinvqbMaskzEmitter<A, B, C, D>>::vgf2p8affineinvqb_maskz(
51336 self, op0, op1, op2, op3,
51337 );
51338 }
51339 #[inline]
51356 pub fn vgf2p8affineqb<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51357 where
51358 Assembler<'a>: Vgf2p8affineqbEmitter<A, B, C, D>,
51359 {
51360 <Self as Vgf2p8affineqbEmitter<A, B, C, D>>::vgf2p8affineqb(self, op0, op1, op2, op3);
51361 }
51362 #[inline]
51379 pub fn vgf2p8affineqb_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51380 where
51381 Assembler<'a>: Vgf2p8affineqbMaskEmitter<A, B, C, D>,
51382 {
51383 <Self as Vgf2p8affineqbMaskEmitter<A, B, C, D>>::vgf2p8affineqb_mask(
51384 self, op0, op1, op2, op3,
51385 );
51386 }
51387 #[inline]
51404 pub fn vgf2p8affineqb_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
51405 where
51406 Assembler<'a>: Vgf2p8affineqbMaskzEmitter<A, B, C, D>,
51407 {
51408 <Self as Vgf2p8affineqbMaskzEmitter<A, B, C, D>>::vgf2p8affineqb_maskz(
51409 self, op0, op1, op2, op3,
51410 );
51411 }
51412 #[inline]
51429 pub fn vgf2p8mulb<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51430 where
51431 Assembler<'a>: Vgf2p8mulbEmitter<A, B, C>,
51432 {
51433 <Self as Vgf2p8mulbEmitter<A, B, C>>::vgf2p8mulb(self, op0, op1, op2);
51434 }
51435 #[inline]
51452 pub fn vgf2p8mulb_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51453 where
51454 Assembler<'a>: Vgf2p8mulbMaskEmitter<A, B, C>,
51455 {
51456 <Self as Vgf2p8mulbMaskEmitter<A, B, C>>::vgf2p8mulb_mask(self, op0, op1, op2);
51457 }
51458 #[inline]
51475 pub fn vgf2p8mulb_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51476 where
51477 Assembler<'a>: Vgf2p8mulbMaskzEmitter<A, B, C>,
51478 {
51479 <Self as Vgf2p8mulbMaskzEmitter<A, B, C>>::vgf2p8mulb_maskz(self, op0, op1, op2);
51480 }
51481 #[inline]
51498 pub fn vmaxph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51499 where
51500 Assembler<'a>: VmaxphEmitter<A, B, C>,
51501 {
51502 <Self as VmaxphEmitter<A, B, C>>::vmaxph(self, op0, op1, op2);
51503 }
51504 #[inline]
51521 pub fn vmaxph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51522 where
51523 Assembler<'a>: VmaxphMaskEmitter<A, B, C>,
51524 {
51525 <Self as VmaxphMaskEmitter<A, B, C>>::vmaxph_mask(self, op0, op1, op2);
51526 }
51527 #[inline]
51539 pub fn vmaxph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51540 where
51541 Assembler<'a>: VmaxphMaskSaeEmitter<A, B, C>,
51542 {
51543 <Self as VmaxphMaskSaeEmitter<A, B, C>>::vmaxph_mask_sae(self, op0, op1, op2);
51544 }
51545 #[inline]
51562 pub fn vmaxph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51563 where
51564 Assembler<'a>: VmaxphMaskzEmitter<A, B, C>,
51565 {
51566 <Self as VmaxphMaskzEmitter<A, B, C>>::vmaxph_maskz(self, op0, op1, op2);
51567 }
51568 #[inline]
51580 pub fn vmaxph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51581 where
51582 Assembler<'a>: VmaxphMaskzSaeEmitter<A, B, C>,
51583 {
51584 <Self as VmaxphMaskzSaeEmitter<A, B, C>>::vmaxph_maskz_sae(self, op0, op1, op2);
51585 }
51586 #[inline]
51598 pub fn vmaxph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51599 where
51600 Assembler<'a>: VmaxphSaeEmitter<A, B, C>,
51601 {
51602 <Self as VmaxphSaeEmitter<A, B, C>>::vmaxph_sae(self, op0, op1, op2);
51603 }
51604 #[inline]
51617 pub fn vmaxsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51618 where
51619 Assembler<'a>: VmaxshEmitter<A, B, C>,
51620 {
51621 <Self as VmaxshEmitter<A, B, C>>::vmaxsh(self, op0, op1, op2);
51622 }
51623 #[inline]
51636 pub fn vmaxsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51637 where
51638 Assembler<'a>: VmaxshMaskEmitter<A, B, C>,
51639 {
51640 <Self as VmaxshMaskEmitter<A, B, C>>::vmaxsh_mask(self, op0, op1, op2);
51641 }
51642 #[inline]
51654 pub fn vmaxsh_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51655 where
51656 Assembler<'a>: VmaxshMaskSaeEmitter<A, B, C>,
51657 {
51658 <Self as VmaxshMaskSaeEmitter<A, B, C>>::vmaxsh_mask_sae(self, op0, op1, op2);
51659 }
51660 #[inline]
51673 pub fn vmaxsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51674 where
51675 Assembler<'a>: VmaxshMaskzEmitter<A, B, C>,
51676 {
51677 <Self as VmaxshMaskzEmitter<A, B, C>>::vmaxsh_maskz(self, op0, op1, op2);
51678 }
51679 #[inline]
51691 pub fn vmaxsh_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51692 where
51693 Assembler<'a>: VmaxshMaskzSaeEmitter<A, B, C>,
51694 {
51695 <Self as VmaxshMaskzSaeEmitter<A, B, C>>::vmaxsh_maskz_sae(self, op0, op1, op2);
51696 }
51697 #[inline]
51709 pub fn vmaxsh_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51710 where
51711 Assembler<'a>: VmaxshSaeEmitter<A, B, C>,
51712 {
51713 <Self as VmaxshSaeEmitter<A, B, C>>::vmaxsh_sae(self, op0, op1, op2);
51714 }
51715 #[inline]
51732 pub fn vminph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51733 where
51734 Assembler<'a>: VminphEmitter<A, B, C>,
51735 {
51736 <Self as VminphEmitter<A, B, C>>::vminph(self, op0, op1, op2);
51737 }
51738 #[inline]
51755 pub fn vminph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51756 where
51757 Assembler<'a>: VminphMaskEmitter<A, B, C>,
51758 {
51759 <Self as VminphMaskEmitter<A, B, C>>::vminph_mask(self, op0, op1, op2);
51760 }
51761 #[inline]
51773 pub fn vminph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51774 where
51775 Assembler<'a>: VminphMaskSaeEmitter<A, B, C>,
51776 {
51777 <Self as VminphMaskSaeEmitter<A, B, C>>::vminph_mask_sae(self, op0, op1, op2);
51778 }
51779 #[inline]
51796 pub fn vminph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51797 where
51798 Assembler<'a>: VminphMaskzEmitter<A, B, C>,
51799 {
51800 <Self as VminphMaskzEmitter<A, B, C>>::vminph_maskz(self, op0, op1, op2);
51801 }
51802 #[inline]
51814 pub fn vminph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51815 where
51816 Assembler<'a>: VminphMaskzSaeEmitter<A, B, C>,
51817 {
51818 <Self as VminphMaskzSaeEmitter<A, B, C>>::vminph_maskz_sae(self, op0, op1, op2);
51819 }
51820 #[inline]
51832 pub fn vminph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51833 where
51834 Assembler<'a>: VminphSaeEmitter<A, B, C>,
51835 {
51836 <Self as VminphSaeEmitter<A, B, C>>::vminph_sae(self, op0, op1, op2);
51837 }
51838 #[inline]
51851 pub fn vminsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51852 where
51853 Assembler<'a>: VminshEmitter<A, B, C>,
51854 {
51855 <Self as VminshEmitter<A, B, C>>::vminsh(self, op0, op1, op2);
51856 }
51857 #[inline]
51870 pub fn vminsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51871 where
51872 Assembler<'a>: VminshMaskEmitter<A, B, C>,
51873 {
51874 <Self as VminshMaskEmitter<A, B, C>>::vminsh_mask(self, op0, op1, op2);
51875 }
51876 #[inline]
51888 pub fn vminsh_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51889 where
51890 Assembler<'a>: VminshMaskSaeEmitter<A, B, C>,
51891 {
51892 <Self as VminshMaskSaeEmitter<A, B, C>>::vminsh_mask_sae(self, op0, op1, op2);
51893 }
51894 #[inline]
51907 pub fn vminsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51908 where
51909 Assembler<'a>: VminshMaskzEmitter<A, B, C>,
51910 {
51911 <Self as VminshMaskzEmitter<A, B, C>>::vminsh_maskz(self, op0, op1, op2);
51912 }
51913 #[inline]
51925 pub fn vminsh_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51926 where
51927 Assembler<'a>: VminshMaskzSaeEmitter<A, B, C>,
51928 {
51929 <Self as VminshMaskzSaeEmitter<A, B, C>>::vminsh_maskz_sae(self, op0, op1, op2);
51930 }
51931 #[inline]
51943 pub fn vminsh_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51944 where
51945 Assembler<'a>: VminshSaeEmitter<A, B, C>,
51946 {
51947 <Self as VminshSaeEmitter<A, B, C>>::vminsh_sae(self, op0, op1, op2);
51948 }
51949 #[inline]
51962 pub fn vmovsh_2<A, B>(&mut self, op0: A, op1: B)
51963 where
51964 Assembler<'a>: VmovshEmitter_2<A, B>,
51965 {
51966 <Self as VmovshEmitter_2<A, B>>::vmovsh_2(self, op0, op1);
51967 }
51968 #[inline]
51980 pub fn vmovsh_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
51981 where
51982 Assembler<'a>: VmovshEmitter_3<A, B, C>,
51983 {
51984 <Self as VmovshEmitter_3<A, B, C>>::vmovsh_3(self, op0, op1, op2);
51985 }
51986 #[inline]
51999 pub fn vmovsh_mask_2<A, B>(&mut self, op0: A, op1: B)
52000 where
52001 Assembler<'a>: VmovshMaskEmitter_2<A, B>,
52002 {
52003 <Self as VmovshMaskEmitter_2<A, B>>::vmovsh_mask_2(self, op0, op1);
52004 }
52005 #[inline]
52017 pub fn vmovsh_mask_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52018 where
52019 Assembler<'a>: VmovshMaskEmitter_3<A, B, C>,
52020 {
52021 <Self as VmovshMaskEmitter_3<A, B, C>>::vmovsh_mask_3(self, op0, op1, op2);
52022 }
52023 #[inline]
52035 pub fn vmovsh_maskz_2<A, B>(&mut self, op0: A, op1: B)
52036 where
52037 Assembler<'a>: VmovshMaskzEmitter_2<A, B>,
52038 {
52039 <Self as VmovshMaskzEmitter_2<A, B>>::vmovsh_maskz_2(self, op0, op1);
52040 }
52041 #[inline]
52053 pub fn vmovsh_maskz_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52054 where
52055 Assembler<'a>: VmovshMaskzEmitter_3<A, B, C>,
52056 {
52057 <Self as VmovshMaskzEmitter_3<A, B, C>>::vmovsh_maskz_3(self, op0, op1, op2);
52058 }
52059 #[inline]
52072 pub fn vmovw_g2x<A, B>(&mut self, op0: A, op1: B)
52073 where
52074 Assembler<'a>: VmovwG2xEmitter<A, B>,
52075 {
52076 <Self as VmovwG2xEmitter<A, B>>::vmovw_g2x(self, op0, op1);
52077 }
52078 #[inline]
52091 pub fn vmovw_x2g<A, B>(&mut self, op0: A, op1: B)
52092 where
52093 Assembler<'a>: VmovwX2gEmitter<A, B>,
52094 {
52095 <Self as VmovwX2gEmitter<A, B>>::vmovw_x2g(self, op0, op1);
52096 }
52097 #[inline]
52114 pub fn vmulph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52115 where
52116 Assembler<'a>: VmulphEmitter<A, B, C>,
52117 {
52118 <Self as VmulphEmitter<A, B, C>>::vmulph(self, op0, op1, op2);
52119 }
52120 #[inline]
52132 pub fn vmulph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52133 where
52134 Assembler<'a>: VmulphErEmitter<A, B, C>,
52135 {
52136 <Self as VmulphErEmitter<A, B, C>>::vmulph_er(self, op0, op1, op2);
52137 }
52138 #[inline]
52155 pub fn vmulph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52156 where
52157 Assembler<'a>: VmulphMaskEmitter<A, B, C>,
52158 {
52159 <Self as VmulphMaskEmitter<A, B, C>>::vmulph_mask(self, op0, op1, op2);
52160 }
52161 #[inline]
52173 pub fn vmulph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52174 where
52175 Assembler<'a>: VmulphMaskErEmitter<A, B, C>,
52176 {
52177 <Self as VmulphMaskErEmitter<A, B, C>>::vmulph_mask_er(self, op0, op1, op2);
52178 }
52179 #[inline]
52196 pub fn vmulph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52197 where
52198 Assembler<'a>: VmulphMaskzEmitter<A, B, C>,
52199 {
52200 <Self as VmulphMaskzEmitter<A, B, C>>::vmulph_maskz(self, op0, op1, op2);
52201 }
52202 #[inline]
52214 pub fn vmulph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52215 where
52216 Assembler<'a>: VmulphMaskzErEmitter<A, B, C>,
52217 {
52218 <Self as VmulphMaskzErEmitter<A, B, C>>::vmulph_maskz_er(self, op0, op1, op2);
52219 }
52220 #[inline]
52233 pub fn vmulsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52234 where
52235 Assembler<'a>: VmulshEmitter<A, B, C>,
52236 {
52237 <Self as VmulshEmitter<A, B, C>>::vmulsh(self, op0, op1, op2);
52238 }
52239 #[inline]
52251 pub fn vmulsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52252 where
52253 Assembler<'a>: VmulshErEmitter<A, B, C>,
52254 {
52255 <Self as VmulshErEmitter<A, B, C>>::vmulsh_er(self, op0, op1, op2);
52256 }
52257 #[inline]
52270 pub fn vmulsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52271 where
52272 Assembler<'a>: VmulshMaskEmitter<A, B, C>,
52273 {
52274 <Self as VmulshMaskEmitter<A, B, C>>::vmulsh_mask(self, op0, op1, op2);
52275 }
52276 #[inline]
52288 pub fn vmulsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52289 where
52290 Assembler<'a>: VmulshMaskErEmitter<A, B, C>,
52291 {
52292 <Self as VmulshMaskErEmitter<A, B, C>>::vmulsh_mask_er(self, op0, op1, op2);
52293 }
52294 #[inline]
52307 pub fn vmulsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52308 where
52309 Assembler<'a>: VmulshMaskzEmitter<A, B, C>,
52310 {
52311 <Self as VmulshMaskzEmitter<A, B, C>>::vmulsh_maskz(self, op0, op1, op2);
52312 }
52313 #[inline]
52325 pub fn vmulsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52326 where
52327 Assembler<'a>: VmulshMaskzErEmitter<A, B, C>,
52328 {
52329 <Self as VmulshMaskzErEmitter<A, B, C>>::vmulsh_maskz_er(self, op0, op1, op2);
52330 }
52331 #[inline]
52348 pub fn vpclmulqdq<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52349 where
52350 Assembler<'a>: VpclmulqdqEmitter<A, B, C, D>,
52351 {
52352 <Self as VpclmulqdqEmitter<A, B, C, D>>::vpclmulqdq(self, op0, op1, op2, op3);
52353 }
52354 #[inline]
52369 pub fn vpdpbssd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52370 where
52371 Assembler<'a>: VpdpbssdEmitter<A, B, C>,
52372 {
52373 <Self as VpdpbssdEmitter<A, B, C>>::vpdpbssd(self, op0, op1, op2);
52374 }
52375 #[inline]
52390 pub fn vpdpbssds<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52391 where
52392 Assembler<'a>: VpdpbssdsEmitter<A, B, C>,
52393 {
52394 <Self as VpdpbssdsEmitter<A, B, C>>::vpdpbssds(self, op0, op1, op2);
52395 }
52396 #[inline]
52411 pub fn vpdpbsud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52412 where
52413 Assembler<'a>: VpdpbsudEmitter<A, B, C>,
52414 {
52415 <Self as VpdpbsudEmitter<A, B, C>>::vpdpbsud(self, op0, op1, op2);
52416 }
52417 #[inline]
52432 pub fn vpdpbsuds<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52433 where
52434 Assembler<'a>: VpdpbsudsEmitter<A, B, C>,
52435 {
52436 <Self as VpdpbsudsEmitter<A, B, C>>::vpdpbsuds(self, op0, op1, op2);
52437 }
52438 #[inline]
52453 pub fn vpdpbuud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52454 where
52455 Assembler<'a>: VpdpbuudEmitter<A, B, C>,
52456 {
52457 <Self as VpdpbuudEmitter<A, B, C>>::vpdpbuud(self, op0, op1, op2);
52458 }
52459 #[inline]
52474 pub fn vpdpbuuds<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52475 where
52476 Assembler<'a>: VpdpbuudsEmitter<A, B, C>,
52477 {
52478 <Self as VpdpbuudsEmitter<A, B, C>>::vpdpbuuds(self, op0, op1, op2);
52479 }
52480 #[inline]
52497 pub fn vrcpph<A, B>(&mut self, op0: A, op1: B)
52498 where
52499 Assembler<'a>: VrcpphEmitter<A, B>,
52500 {
52501 <Self as VrcpphEmitter<A, B>>::vrcpph(self, op0, op1);
52502 }
52503 #[inline]
52520 pub fn vrcpph_mask<A, B>(&mut self, op0: A, op1: B)
52521 where
52522 Assembler<'a>: VrcpphMaskEmitter<A, B>,
52523 {
52524 <Self as VrcpphMaskEmitter<A, B>>::vrcpph_mask(self, op0, op1);
52525 }
52526 #[inline]
52543 pub fn vrcpph_maskz<A, B>(&mut self, op0: A, op1: B)
52544 where
52545 Assembler<'a>: VrcpphMaskzEmitter<A, B>,
52546 {
52547 <Self as VrcpphMaskzEmitter<A, B>>::vrcpph_maskz(self, op0, op1);
52548 }
52549 #[inline]
52562 pub fn vrcpsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52563 where
52564 Assembler<'a>: VrcpshEmitter<A, B, C>,
52565 {
52566 <Self as VrcpshEmitter<A, B, C>>::vrcpsh(self, op0, op1, op2);
52567 }
52568 #[inline]
52581 pub fn vrcpsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52582 where
52583 Assembler<'a>: VrcpshMaskEmitter<A, B, C>,
52584 {
52585 <Self as VrcpshMaskEmitter<A, B, C>>::vrcpsh_mask(self, op0, op1, op2);
52586 }
52587 #[inline]
52600 pub fn vrcpsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52601 where
52602 Assembler<'a>: VrcpshMaskzEmitter<A, B, C>,
52603 {
52604 <Self as VrcpshMaskzEmitter<A, B, C>>::vrcpsh_maskz(self, op0, op1, op2);
52605 }
52606 #[inline]
52623 pub fn vreduceph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52624 where
52625 Assembler<'a>: VreducephEmitter<A, B, C>,
52626 {
52627 <Self as VreducephEmitter<A, B, C>>::vreduceph(self, op0, op1, op2);
52628 }
52629 #[inline]
52646 pub fn vreduceph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52647 where
52648 Assembler<'a>: VreducephMaskEmitter<A, B, C>,
52649 {
52650 <Self as VreducephMaskEmitter<A, B, C>>::vreduceph_mask(self, op0, op1, op2);
52651 }
52652 #[inline]
52664 pub fn vreduceph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52665 where
52666 Assembler<'a>: VreducephMaskSaeEmitter<A, B, C>,
52667 {
52668 <Self as VreducephMaskSaeEmitter<A, B, C>>::vreduceph_mask_sae(self, op0, op1, op2);
52669 }
52670 #[inline]
52687 pub fn vreduceph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52688 where
52689 Assembler<'a>: VreducephMaskzEmitter<A, B, C>,
52690 {
52691 <Self as VreducephMaskzEmitter<A, B, C>>::vreduceph_maskz(self, op0, op1, op2);
52692 }
52693 #[inline]
52705 pub fn vreduceph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52706 where
52707 Assembler<'a>: VreducephMaskzSaeEmitter<A, B, C>,
52708 {
52709 <Self as VreducephMaskzSaeEmitter<A, B, C>>::vreduceph_maskz_sae(self, op0, op1, op2);
52710 }
52711 #[inline]
52723 pub fn vreduceph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52724 where
52725 Assembler<'a>: VreducephSaeEmitter<A, B, C>,
52726 {
52727 <Self as VreducephSaeEmitter<A, B, C>>::vreduceph_sae(self, op0, op1, op2);
52728 }
52729 #[inline]
52742 pub fn vreducesh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52743 where
52744 Assembler<'a>: VreduceshEmitter<A, B, C, D>,
52745 {
52746 <Self as VreduceshEmitter<A, B, C, D>>::vreducesh(self, op0, op1, op2, op3);
52747 }
52748 #[inline]
52761 pub fn vreducesh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52762 where
52763 Assembler<'a>: VreduceshMaskEmitter<A, B, C, D>,
52764 {
52765 <Self as VreduceshMaskEmitter<A, B, C, D>>::vreducesh_mask(self, op0, op1, op2, op3);
52766 }
52767 #[inline]
52779 pub fn vreducesh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52780 where
52781 Assembler<'a>: VreduceshMaskSaeEmitter<A, B, C, D>,
52782 {
52783 <Self as VreduceshMaskSaeEmitter<A, B, C, D>>::vreducesh_mask_sae(self, op0, op1, op2, op3);
52784 }
52785 #[inline]
52798 pub fn vreducesh_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52799 where
52800 Assembler<'a>: VreduceshMaskzEmitter<A, B, C, D>,
52801 {
52802 <Self as VreduceshMaskzEmitter<A, B, C, D>>::vreducesh_maskz(self, op0, op1, op2, op3);
52803 }
52804 #[inline]
52816 pub fn vreducesh_maskz_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52817 where
52818 Assembler<'a>: VreduceshMaskzSaeEmitter<A, B, C, D>,
52819 {
52820 <Self as VreduceshMaskzSaeEmitter<A, B, C, D>>::vreducesh_maskz_sae(
52821 self, op0, op1, op2, op3,
52822 );
52823 }
52824 #[inline]
52836 pub fn vreducesh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52837 where
52838 Assembler<'a>: VreduceshSaeEmitter<A, B, C, D>,
52839 {
52840 <Self as VreduceshSaeEmitter<A, B, C, D>>::vreducesh_sae(self, op0, op1, op2, op3);
52841 }
52842 #[inline]
52859 pub fn vrndscaleph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52860 where
52861 Assembler<'a>: VrndscalephEmitter<A, B, C>,
52862 {
52863 <Self as VrndscalephEmitter<A, B, C>>::vrndscaleph(self, op0, op1, op2);
52864 }
52865 #[inline]
52882 pub fn vrndscaleph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52883 where
52884 Assembler<'a>: VrndscalephMaskEmitter<A, B, C>,
52885 {
52886 <Self as VrndscalephMaskEmitter<A, B, C>>::vrndscaleph_mask(self, op0, op1, op2);
52887 }
52888 #[inline]
52900 pub fn vrndscaleph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52901 where
52902 Assembler<'a>: VrndscalephMaskSaeEmitter<A, B, C>,
52903 {
52904 <Self as VrndscalephMaskSaeEmitter<A, B, C>>::vrndscaleph_mask_sae(self, op0, op1, op2);
52905 }
52906 #[inline]
52923 pub fn vrndscaleph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52924 where
52925 Assembler<'a>: VrndscalephMaskzEmitter<A, B, C>,
52926 {
52927 <Self as VrndscalephMaskzEmitter<A, B, C>>::vrndscaleph_maskz(self, op0, op1, op2);
52928 }
52929 #[inline]
52941 pub fn vrndscaleph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52942 where
52943 Assembler<'a>: VrndscalephMaskzSaeEmitter<A, B, C>,
52944 {
52945 <Self as VrndscalephMaskzSaeEmitter<A, B, C>>::vrndscaleph_maskz_sae(self, op0, op1, op2);
52946 }
52947 #[inline]
52959 pub fn vrndscaleph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
52960 where
52961 Assembler<'a>: VrndscalephSaeEmitter<A, B, C>,
52962 {
52963 <Self as VrndscalephSaeEmitter<A, B, C>>::vrndscaleph_sae(self, op0, op1, op2);
52964 }
52965 #[inline]
52978 pub fn vrndscalesh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52979 where
52980 Assembler<'a>: VrndscaleshEmitter<A, B, C, D>,
52981 {
52982 <Self as VrndscaleshEmitter<A, B, C, D>>::vrndscalesh(self, op0, op1, op2, op3);
52983 }
52984 #[inline]
52997 pub fn vrndscalesh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
52998 where
52999 Assembler<'a>: VrndscaleshMaskEmitter<A, B, C, D>,
53000 {
53001 <Self as VrndscaleshMaskEmitter<A, B, C, D>>::vrndscalesh_mask(self, op0, op1, op2, op3);
53002 }
53003 #[inline]
53015 pub fn vrndscalesh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
53016 where
53017 Assembler<'a>: VrndscaleshMaskSaeEmitter<A, B, C, D>,
53018 {
53019 <Self as VrndscaleshMaskSaeEmitter<A, B, C, D>>::vrndscalesh_mask_sae(
53020 self, op0, op1, op2, op3,
53021 );
53022 }
53023 #[inline]
53036 pub fn vrndscalesh_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
53037 where
53038 Assembler<'a>: VrndscaleshMaskzEmitter<A, B, C, D>,
53039 {
53040 <Self as VrndscaleshMaskzEmitter<A, B, C, D>>::vrndscalesh_maskz(self, op0, op1, op2, op3);
53041 }
53042 #[inline]
53054 pub fn vrndscalesh_maskz_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
53055 where
53056 Assembler<'a>: VrndscaleshMaskzSaeEmitter<A, B, C, D>,
53057 {
53058 <Self as VrndscaleshMaskzSaeEmitter<A, B, C, D>>::vrndscalesh_maskz_sae(
53059 self, op0, op1, op2, op3,
53060 );
53061 }
53062 #[inline]
53074 pub fn vrndscalesh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
53075 where
53076 Assembler<'a>: VrndscaleshSaeEmitter<A, B, C, D>,
53077 {
53078 <Self as VrndscaleshSaeEmitter<A, B, C, D>>::vrndscalesh_sae(self, op0, op1, op2, op3);
53079 }
53080 #[inline]
53097 pub fn vrsqrtph<A, B>(&mut self, op0: A, op1: B)
53098 where
53099 Assembler<'a>: VrsqrtphEmitter<A, B>,
53100 {
53101 <Self as VrsqrtphEmitter<A, B>>::vrsqrtph(self, op0, op1);
53102 }
53103 #[inline]
53120 pub fn vrsqrtph_mask<A, B>(&mut self, op0: A, op1: B)
53121 where
53122 Assembler<'a>: VrsqrtphMaskEmitter<A, B>,
53123 {
53124 <Self as VrsqrtphMaskEmitter<A, B>>::vrsqrtph_mask(self, op0, op1);
53125 }
53126 #[inline]
53143 pub fn vrsqrtph_maskz<A, B>(&mut self, op0: A, op1: B)
53144 where
53145 Assembler<'a>: VrsqrtphMaskzEmitter<A, B>,
53146 {
53147 <Self as VrsqrtphMaskzEmitter<A, B>>::vrsqrtph_maskz(self, op0, op1);
53148 }
53149 #[inline]
53162 pub fn vrsqrtsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53163 where
53164 Assembler<'a>: VrsqrtshEmitter<A, B, C>,
53165 {
53166 <Self as VrsqrtshEmitter<A, B, C>>::vrsqrtsh(self, op0, op1, op2);
53167 }
53168 #[inline]
53181 pub fn vrsqrtsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53182 where
53183 Assembler<'a>: VrsqrtshMaskEmitter<A, B, C>,
53184 {
53185 <Self as VrsqrtshMaskEmitter<A, B, C>>::vrsqrtsh_mask(self, op0, op1, op2);
53186 }
53187 #[inline]
53200 pub fn vrsqrtsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53201 where
53202 Assembler<'a>: VrsqrtshMaskzEmitter<A, B, C>,
53203 {
53204 <Self as VrsqrtshMaskzEmitter<A, B, C>>::vrsqrtsh_maskz(self, op0, op1, op2);
53205 }
53206 #[inline]
53223 pub fn vscalefph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53224 where
53225 Assembler<'a>: VscalefphEmitter<A, B, C>,
53226 {
53227 <Self as VscalefphEmitter<A, B, C>>::vscalefph(self, op0, op1, op2);
53228 }
53229 #[inline]
53241 pub fn vscalefph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53242 where
53243 Assembler<'a>: VscalefphErEmitter<A, B, C>,
53244 {
53245 <Self as VscalefphErEmitter<A, B, C>>::vscalefph_er(self, op0, op1, op2);
53246 }
53247 #[inline]
53264 pub fn vscalefph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53265 where
53266 Assembler<'a>: VscalefphMaskEmitter<A, B, C>,
53267 {
53268 <Self as VscalefphMaskEmitter<A, B, C>>::vscalefph_mask(self, op0, op1, op2);
53269 }
53270 #[inline]
53282 pub fn vscalefph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53283 where
53284 Assembler<'a>: VscalefphMaskErEmitter<A, B, C>,
53285 {
53286 <Self as VscalefphMaskErEmitter<A, B, C>>::vscalefph_mask_er(self, op0, op1, op2);
53287 }
53288 #[inline]
53305 pub fn vscalefph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53306 where
53307 Assembler<'a>: VscalefphMaskzEmitter<A, B, C>,
53308 {
53309 <Self as VscalefphMaskzEmitter<A, B, C>>::vscalefph_maskz(self, op0, op1, op2);
53310 }
53311 #[inline]
53323 pub fn vscalefph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53324 where
53325 Assembler<'a>: VscalefphMaskzErEmitter<A, B, C>,
53326 {
53327 <Self as VscalefphMaskzErEmitter<A, B, C>>::vscalefph_maskz_er(self, op0, op1, op2);
53328 }
53329 #[inline]
53342 pub fn vscalefsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53343 where
53344 Assembler<'a>: VscalefshEmitter<A, B, C>,
53345 {
53346 <Self as VscalefshEmitter<A, B, C>>::vscalefsh(self, op0, op1, op2);
53347 }
53348 #[inline]
53360 pub fn vscalefsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53361 where
53362 Assembler<'a>: VscalefshErEmitter<A, B, C>,
53363 {
53364 <Self as VscalefshErEmitter<A, B, C>>::vscalefsh_er(self, op0, op1, op2);
53365 }
53366 #[inline]
53379 pub fn vscalefsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53380 where
53381 Assembler<'a>: VscalefshMaskEmitter<A, B, C>,
53382 {
53383 <Self as VscalefshMaskEmitter<A, B, C>>::vscalefsh_mask(self, op0, op1, op2);
53384 }
53385 #[inline]
53397 pub fn vscalefsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53398 where
53399 Assembler<'a>: VscalefshMaskErEmitter<A, B, C>,
53400 {
53401 <Self as VscalefshMaskErEmitter<A, B, C>>::vscalefsh_mask_er(self, op0, op1, op2);
53402 }
53403 #[inline]
53416 pub fn vscalefsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53417 where
53418 Assembler<'a>: VscalefshMaskzEmitter<A, B, C>,
53419 {
53420 <Self as VscalefshMaskzEmitter<A, B, C>>::vscalefsh_maskz(self, op0, op1, op2);
53421 }
53422 #[inline]
53434 pub fn vscalefsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53435 where
53436 Assembler<'a>: VscalefshMaskzErEmitter<A, B, C>,
53437 {
53438 <Self as VscalefshMaskzErEmitter<A, B, C>>::vscalefsh_maskz_er(self, op0, op1, op2);
53439 }
53440 #[inline]
53457 pub fn vsm4key4<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53458 where
53459 Assembler<'a>: Vsm4key4Emitter<A, B, C>,
53460 {
53461 <Self as Vsm4key4Emitter<A, B, C>>::vsm4key4(self, op0, op1, op2);
53462 }
53463 #[inline]
53480 pub fn vsm4rnds4<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53481 where
53482 Assembler<'a>: Vsm4rnds4Emitter<A, B, C>,
53483 {
53484 <Self as Vsm4rnds4Emitter<A, B, C>>::vsm4rnds4(self, op0, op1, op2);
53485 }
53486 #[inline]
53503 pub fn vsqrtph<A, B>(&mut self, op0: A, op1: B)
53504 where
53505 Assembler<'a>: VsqrtphEmitter<A, B>,
53506 {
53507 <Self as VsqrtphEmitter<A, B>>::vsqrtph(self, op0, op1);
53508 }
53509 #[inline]
53521 pub fn vsqrtph_er<A, B>(&mut self, op0: A, op1: B)
53522 where
53523 Assembler<'a>: VsqrtphErEmitter<A, B>,
53524 {
53525 <Self as VsqrtphErEmitter<A, B>>::vsqrtph_er(self, op0, op1);
53526 }
53527 #[inline]
53544 pub fn vsqrtph_mask<A, B>(&mut self, op0: A, op1: B)
53545 where
53546 Assembler<'a>: VsqrtphMaskEmitter<A, B>,
53547 {
53548 <Self as VsqrtphMaskEmitter<A, B>>::vsqrtph_mask(self, op0, op1);
53549 }
53550 #[inline]
53562 pub fn vsqrtph_mask_er<A, B>(&mut self, op0: A, op1: B)
53563 where
53564 Assembler<'a>: VsqrtphMaskErEmitter<A, B>,
53565 {
53566 <Self as VsqrtphMaskErEmitter<A, B>>::vsqrtph_mask_er(self, op0, op1);
53567 }
53568 #[inline]
53585 pub fn vsqrtph_maskz<A, B>(&mut self, op0: A, op1: B)
53586 where
53587 Assembler<'a>: VsqrtphMaskzEmitter<A, B>,
53588 {
53589 <Self as VsqrtphMaskzEmitter<A, B>>::vsqrtph_maskz(self, op0, op1);
53590 }
53591 #[inline]
53603 pub fn vsqrtph_maskz_er<A, B>(&mut self, op0: A, op1: B)
53604 where
53605 Assembler<'a>: VsqrtphMaskzErEmitter<A, B>,
53606 {
53607 <Self as VsqrtphMaskzErEmitter<A, B>>::vsqrtph_maskz_er(self, op0, op1);
53608 }
53609 #[inline]
53622 pub fn vsqrtsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53623 where
53624 Assembler<'a>: VsqrtshEmitter<A, B, C>,
53625 {
53626 <Self as VsqrtshEmitter<A, B, C>>::vsqrtsh(self, op0, op1, op2);
53627 }
53628 #[inline]
53640 pub fn vsqrtsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53641 where
53642 Assembler<'a>: VsqrtshErEmitter<A, B, C>,
53643 {
53644 <Self as VsqrtshErEmitter<A, B, C>>::vsqrtsh_er(self, op0, op1, op2);
53645 }
53646 #[inline]
53659 pub fn vsqrtsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53660 where
53661 Assembler<'a>: VsqrtshMaskEmitter<A, B, C>,
53662 {
53663 <Self as VsqrtshMaskEmitter<A, B, C>>::vsqrtsh_mask(self, op0, op1, op2);
53664 }
53665 #[inline]
53677 pub fn vsqrtsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53678 where
53679 Assembler<'a>: VsqrtshMaskErEmitter<A, B, C>,
53680 {
53681 <Self as VsqrtshMaskErEmitter<A, B, C>>::vsqrtsh_mask_er(self, op0, op1, op2);
53682 }
53683 #[inline]
53696 pub fn vsqrtsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53697 where
53698 Assembler<'a>: VsqrtshMaskzEmitter<A, B, C>,
53699 {
53700 <Self as VsqrtshMaskzEmitter<A, B, C>>::vsqrtsh_maskz(self, op0, op1, op2);
53701 }
53702 #[inline]
53714 pub fn vsqrtsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53715 where
53716 Assembler<'a>: VsqrtshMaskzErEmitter<A, B, C>,
53717 {
53718 <Self as VsqrtshMaskzErEmitter<A, B, C>>::vsqrtsh_maskz_er(self, op0, op1, op2);
53719 }
53720 #[inline]
53737 pub fn vsubph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53738 where
53739 Assembler<'a>: VsubphEmitter<A, B, C>,
53740 {
53741 <Self as VsubphEmitter<A, B, C>>::vsubph(self, op0, op1, op2);
53742 }
53743 #[inline]
53755 pub fn vsubph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53756 where
53757 Assembler<'a>: VsubphErEmitter<A, B, C>,
53758 {
53759 <Self as VsubphErEmitter<A, B, C>>::vsubph_er(self, op0, op1, op2);
53760 }
53761 #[inline]
53778 pub fn vsubph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53779 where
53780 Assembler<'a>: VsubphMaskEmitter<A, B, C>,
53781 {
53782 <Self as VsubphMaskEmitter<A, B, C>>::vsubph_mask(self, op0, op1, op2);
53783 }
53784 #[inline]
53796 pub fn vsubph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53797 where
53798 Assembler<'a>: VsubphMaskErEmitter<A, B, C>,
53799 {
53800 <Self as VsubphMaskErEmitter<A, B, C>>::vsubph_mask_er(self, op0, op1, op2);
53801 }
53802 #[inline]
53819 pub fn vsubph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53820 where
53821 Assembler<'a>: VsubphMaskzEmitter<A, B, C>,
53822 {
53823 <Self as VsubphMaskzEmitter<A, B, C>>::vsubph_maskz(self, op0, op1, op2);
53824 }
53825 #[inline]
53837 pub fn vsubph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53838 where
53839 Assembler<'a>: VsubphMaskzErEmitter<A, B, C>,
53840 {
53841 <Self as VsubphMaskzErEmitter<A, B, C>>::vsubph_maskz_er(self, op0, op1, op2);
53842 }
53843 #[inline]
53856 pub fn vsubsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53857 where
53858 Assembler<'a>: VsubshEmitter<A, B, C>,
53859 {
53860 <Self as VsubshEmitter<A, B, C>>::vsubsh(self, op0, op1, op2);
53861 }
53862 #[inline]
53874 pub fn vsubsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53875 where
53876 Assembler<'a>: VsubshErEmitter<A, B, C>,
53877 {
53878 <Self as VsubshErEmitter<A, B, C>>::vsubsh_er(self, op0, op1, op2);
53879 }
53880 #[inline]
53893 pub fn vsubsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53894 where
53895 Assembler<'a>: VsubshMaskEmitter<A, B, C>,
53896 {
53897 <Self as VsubshMaskEmitter<A, B, C>>::vsubsh_mask(self, op0, op1, op2);
53898 }
53899 #[inline]
53911 pub fn vsubsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53912 where
53913 Assembler<'a>: VsubshMaskErEmitter<A, B, C>,
53914 {
53915 <Self as VsubshMaskErEmitter<A, B, C>>::vsubsh_mask_er(self, op0, op1, op2);
53916 }
53917 #[inline]
53930 pub fn vsubsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53931 where
53932 Assembler<'a>: VsubshMaskzEmitter<A, B, C>,
53933 {
53934 <Self as VsubshMaskzEmitter<A, B, C>>::vsubsh_maskz(self, op0, op1, op2);
53935 }
53936 #[inline]
53948 pub fn vsubsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
53949 where
53950 Assembler<'a>: VsubshMaskzErEmitter<A, B, C>,
53951 {
53952 <Self as VsubshMaskzErEmitter<A, B, C>>::vsubsh_maskz_er(self, op0, op1, op2);
53953 }
53954 #[inline]
53967 pub fn vucomish<A, B>(&mut self, op0: A, op1: B)
53968 where
53969 Assembler<'a>: VucomishEmitter<A, B>,
53970 {
53971 <Self as VucomishEmitter<A, B>>::vucomish(self, op0, op1);
53972 }
53973 #[inline]
53985 pub fn vucomish_sae<A, B>(&mut self, op0: A, op1: B)
53986 where
53987 Assembler<'a>: VucomishSaeEmitter<A, B>,
53988 {
53989 <Self as VucomishSaeEmitter<A, B>>::vucomish_sae(self, op0, op1);
53990 }
53991 #[inline]
54010 pub fn xchg<A, B>(&mut self, op0: A, op1: B)
54011 where
54012 Assembler<'a>: XchgEmitter<A, B>,
54013 {
54014 <Self as XchgEmitter<A, B>>::xchg(self, op0, op1);
54015 }
54016 #[inline]
54028 pub fn xlatb(&mut self)
54029 where
54030 Assembler<'a>: XlatbEmitter,
54031 {
54032 <Self as XlatbEmitter>::xlatb(self);
54033 }
54034 #[inline]
54062 pub fn xor<A, B>(&mut self, op0: A, op1: B)
54063 where
54064 Assembler<'a>: XorEmitter<A, B>,
54065 {
54066 <Self as XorEmitter<A, B>>::xor(self, op0, op1);
54067 }
54068}