1use crate::x86::assembler::*;
2use crate::x86::operands::*;
3use super::super::opcodes::*;
4use crate::core::emitter::*;
5use crate::core::operand::*;
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> {
98 fn adc(&mut self, op0: A, op1: B);
99}
100
101impl<'a> AdcEmitter<GpbLo, GpbLo> for Assembler<'a> {
102 fn adc(&mut self, op0: GpbLo, op1: GpbLo) {
103 self.emit(ADC8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
104 }
105}
106
107impl<'a> AdcEmitter<Mem, GpbLo> for Assembler<'a> {
108 fn adc(&mut self, op0: Mem, op1: GpbLo) {
109 self.emit(ADC8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
110 }
111}
112
113impl<'a> AdcEmitter<Gpw, Gpw> for Assembler<'a> {
114 fn adc(&mut self, op0: Gpw, op1: Gpw) {
115 self.emit(ADC16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
116 }
117}
118
119impl<'a> AdcEmitter<Mem, Gpw> for Assembler<'a> {
120 fn adc(&mut self, op0: Mem, op1: Gpw) {
121 self.emit(ADC16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
122 }
123}
124
125impl<'a> AdcEmitter<Gpd, Gpd> for Assembler<'a> {
126 fn adc(&mut self, op0: Gpd, op1: Gpd) {
127 self.emit(ADC32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
128 }
129}
130
131impl<'a> AdcEmitter<Mem, Gpd> for Assembler<'a> {
132 fn adc(&mut self, op0: Mem, op1: Gpd) {
133 self.emit(ADC32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
134 }
135}
136
137impl<'a> AdcEmitter<Gpq, Gpq> for Assembler<'a> {
138 fn adc(&mut self, op0: Gpq, op1: Gpq) {
139 self.emit(ADC64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
140 }
141}
142
143impl<'a> AdcEmitter<Mem, Gpq> for Assembler<'a> {
144 fn adc(&mut self, op0: Mem, op1: Gpq) {
145 self.emit(ADC64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
146 }
147}
148
149impl<'a> AdcEmitter<GpbLo, Mem> for Assembler<'a> {
150 fn adc(&mut self, op0: GpbLo, op1: Mem) {
151 self.emit(ADC8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
152 }
153}
154
155impl<'a> AdcEmitter<Gpw, Mem> for Assembler<'a> {
156 fn adc(&mut self, op0: Gpw, op1: Mem) {
157 self.emit(ADC16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
158 }
159}
160
161impl<'a> AdcEmitter<Gpd, Mem> for Assembler<'a> {
162 fn adc(&mut self, op0: Gpd, op1: Mem) {
163 self.emit(ADC32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
164 }
165}
166
167impl<'a> AdcEmitter<Gpq, Mem> for Assembler<'a> {
168 fn adc(&mut self, op0: Gpq, op1: Mem) {
169 self.emit(ADC64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
170 }
171}
172
173impl<'a> AdcEmitter<GpbLo, Imm> for Assembler<'a> {
174 fn adc(&mut self, op0: GpbLo, op1: Imm) {
175 self.emit(ADC8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
176 }
177}
178
179impl<'a> AdcEmitter<Gpw, Imm> for Assembler<'a> {
180 fn adc(&mut self, op0: Gpw, op1: Imm) {
181 self.emit(ADC16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
182 }
183}
184
185impl<'a> AdcEmitter<Gpd, Imm> for Assembler<'a> {
186 fn adc(&mut self, op0: Gpd, op1: Imm) {
187 self.emit(ADC32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
188 }
189}
190
191impl<'a> AdcEmitter<Gpq, Imm> for Assembler<'a> {
192 fn adc(&mut self, op0: Gpq, op1: Imm) {
193 self.emit(ADC64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
194 }
195}
196
197impl<'a> AdcEmitter<Mem, Imm> for Assembler<'a> {
198 fn adc(&mut self, op0: Mem, op1: Imm) {
199 self.emit(ADC8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
200 }
201}
202
203pub trait AddEmitter<A, B> {
235 fn add(&mut self, op0: A, op1: B);
236}
237
238impl<'a> AddEmitter<GpbLo, GpbLo> for Assembler<'a> {
239 fn add(&mut self, op0: GpbLo, op1: GpbLo) {
240 self.emit(ADD8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
241 }
242}
243
244impl<'a> AddEmitter<Mem, GpbLo> for Assembler<'a> {
245 fn add(&mut self, op0: Mem, op1: GpbLo) {
246 self.emit(ADD8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
247 }
248}
249
250impl<'a> AddEmitter<Gpw, Gpw> for Assembler<'a> {
251 fn add(&mut self, op0: Gpw, op1: Gpw) {
252 self.emit(ADD16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
253 }
254}
255
256impl<'a> AddEmitter<Mem, Gpw> for Assembler<'a> {
257 fn add(&mut self, op0: Mem, op1: Gpw) {
258 self.emit(ADD16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
259 }
260}
261
262impl<'a> AddEmitter<Gpd, Gpd> for Assembler<'a> {
263 fn add(&mut self, op0: Gpd, op1: Gpd) {
264 self.emit(ADD32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
265 }
266}
267
268impl<'a> AddEmitter<Mem, Gpd> for Assembler<'a> {
269 fn add(&mut self, op0: Mem, op1: Gpd) {
270 self.emit(ADD32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
271 }
272}
273
274impl<'a> AddEmitter<Gpq, Gpq> for Assembler<'a> {
275 fn add(&mut self, op0: Gpq, op1: Gpq) {
276 self.emit(ADD64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
277 }
278}
279
280impl<'a> AddEmitter<Mem, Gpq> for Assembler<'a> {
281 fn add(&mut self, op0: Mem, op1: Gpq) {
282 self.emit(ADD64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
283 }
284}
285
286impl<'a> AddEmitter<GpbLo, Mem> for Assembler<'a> {
287 fn add(&mut self, op0: GpbLo, op1: Mem) {
288 self.emit(ADD8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
289 }
290}
291
292impl<'a> AddEmitter<Gpw, Mem> for Assembler<'a> {
293 fn add(&mut self, op0: Gpw, op1: Mem) {
294 self.emit(ADD16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
295 }
296}
297
298impl<'a> AddEmitter<Gpd, Mem> for Assembler<'a> {
299 fn add(&mut self, op0: Gpd, op1: Mem) {
300 self.emit(ADD32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
301 }
302}
303
304impl<'a> AddEmitter<Gpq, Mem> for Assembler<'a> {
305 fn add(&mut self, op0: Gpq, op1: Mem) {
306 self.emit(ADD64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
307 }
308}
309
310impl<'a> AddEmitter<GpbLo, Imm> for Assembler<'a> {
311 fn add(&mut self, op0: GpbLo, op1: Imm) {
312 self.emit(ADD8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
313 }
314}
315
316impl<'a> AddEmitter<Gpw, Imm> for Assembler<'a> {
317 fn add(&mut self, op0: Gpw, op1: Imm) {
318 self.emit(ADD16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
319 }
320}
321
322impl<'a> AddEmitter<Gpd, Imm> for Assembler<'a> {
323 fn add(&mut self, op0: Gpd, op1: Imm) {
324 self.emit(ADD32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
325 }
326}
327
328impl<'a> AddEmitter<Gpq, Imm> for Assembler<'a> {
329 fn add(&mut self, op0: Gpq, op1: Imm) {
330 self.emit(ADD64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
331 }
332}
333
334impl<'a> AddEmitter<Mem, Imm> for Assembler<'a> {
335 fn add(&mut self, op0: Mem, op1: Imm) {
336 self.emit(ADD8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
337 }
338}
339
340pub trait AndEmitter<A, B> {
372 fn and(&mut self, op0: A, op1: B);
373}
374
375impl<'a> AndEmitter<GpbLo, GpbLo> for Assembler<'a> {
376 fn and(&mut self, op0: GpbLo, op1: GpbLo) {
377 self.emit(AND8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
378 }
379}
380
381impl<'a> AndEmitter<Mem, GpbLo> for Assembler<'a> {
382 fn and(&mut self, op0: Mem, op1: GpbLo) {
383 self.emit(AND8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
384 }
385}
386
387impl<'a> AndEmitter<Gpw, Gpw> for Assembler<'a> {
388 fn and(&mut self, op0: Gpw, op1: Gpw) {
389 self.emit(AND16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
390 }
391}
392
393impl<'a> AndEmitter<Mem, Gpw> for Assembler<'a> {
394 fn and(&mut self, op0: Mem, op1: Gpw) {
395 self.emit(AND16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
396 }
397}
398
399impl<'a> AndEmitter<Gpd, Gpd> for Assembler<'a> {
400 fn and(&mut self, op0: Gpd, op1: Gpd) {
401 self.emit(AND32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
402 }
403}
404
405impl<'a> AndEmitter<Mem, Gpd> for Assembler<'a> {
406 fn and(&mut self, op0: Mem, op1: Gpd) {
407 self.emit(AND32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
408 }
409}
410
411impl<'a> AndEmitter<Gpq, Gpq> for Assembler<'a> {
412 fn and(&mut self, op0: Gpq, op1: Gpq) {
413 self.emit(AND64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
414 }
415}
416
417impl<'a> AndEmitter<Mem, Gpq> for Assembler<'a> {
418 fn and(&mut self, op0: Mem, op1: Gpq) {
419 self.emit(AND64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
420 }
421}
422
423impl<'a> AndEmitter<GpbLo, Mem> for Assembler<'a> {
424 fn and(&mut self, op0: GpbLo, op1: Mem) {
425 self.emit(AND8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
426 }
427}
428
429impl<'a> AndEmitter<Gpw, Mem> for Assembler<'a> {
430 fn and(&mut self, op0: Gpw, op1: Mem) {
431 self.emit(AND16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
432 }
433}
434
435impl<'a> AndEmitter<Gpd, Mem> for Assembler<'a> {
436 fn and(&mut self, op0: Gpd, op1: Mem) {
437 self.emit(AND32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
438 }
439}
440
441impl<'a> AndEmitter<Gpq, Mem> for Assembler<'a> {
442 fn and(&mut self, op0: Gpq, op1: Mem) {
443 self.emit(AND64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
444 }
445}
446
447impl<'a> AndEmitter<GpbLo, Imm> for Assembler<'a> {
448 fn and(&mut self, op0: GpbLo, op1: Imm) {
449 self.emit(AND8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
450 }
451}
452
453impl<'a> AndEmitter<Gpw, Imm> for Assembler<'a> {
454 fn and(&mut self, op0: Gpw, op1: Imm) {
455 self.emit(AND16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
456 }
457}
458
459impl<'a> AndEmitter<Gpd, Imm> for Assembler<'a> {
460 fn and(&mut self, op0: Gpd, op1: Imm) {
461 self.emit(AND32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
462 }
463}
464
465impl<'a> AndEmitter<Gpq, Imm> for Assembler<'a> {
466 fn and(&mut self, op0: Gpq, op1: Imm) {
467 self.emit(AND64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
468 }
469}
470
471impl<'a> AndEmitter<Mem, Imm> for Assembler<'a> {
472 fn and(&mut self, op0: Mem, op1: Imm) {
473 self.emit(AND8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
474 }
475}
476
477pub trait AorEmitter<A, B> {
490 fn aor(&mut self, op0: A, op1: B);
491}
492
493impl<'a> AorEmitter<Mem, Gpd> for Assembler<'a> {
494 fn aor(&mut self, op0: Mem, op1: Gpd) {
495 self.emit(AOR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
496 }
497}
498
499impl<'a> AorEmitter<Mem, Gpq> for Assembler<'a> {
500 fn aor(&mut self, op0: Mem, op1: Gpq) {
501 self.emit(AOR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
502 }
503}
504
505pub trait AxorEmitter<A, B> {
518 fn axor(&mut self, op0: A, op1: B);
519}
520
521impl<'a> AxorEmitter<Mem, Gpd> for Assembler<'a> {
522 fn axor(&mut self, op0: Mem, op1: Gpd) {
523 self.emit(AXOR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
524 }
525}
526
527impl<'a> AxorEmitter<Mem, Gpq> for Assembler<'a> {
528 fn axor(&mut self, op0: Mem, op1: Gpq) {
529 self.emit(AXOR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
530 }
531}
532
533pub trait BsfEmitter<A, B> {
554 fn bsf(&mut self, op0: A, op1: B);
555}
556
557impl<'a> BsfEmitter<Gpw, Gpw> for Assembler<'a> {
558 fn bsf(&mut self, op0: Gpw, op1: Gpw) {
559 self.emit(BSF16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
560 }
561}
562
563impl<'a> BsfEmitter<Gpw, Mem> for Assembler<'a> {
564 fn bsf(&mut self, op0: Gpw, op1: Mem) {
565 self.emit(BSF16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
566 }
567}
568
569impl<'a> BsfEmitter<Gpd, Gpd> for Assembler<'a> {
570 fn bsf(&mut self, op0: Gpd, op1: Gpd) {
571 self.emit(BSF32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
572 }
573}
574
575impl<'a> BsfEmitter<Gpd, Mem> for Assembler<'a> {
576 fn bsf(&mut self, op0: Gpd, op1: Mem) {
577 self.emit(BSF32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
578 }
579}
580
581impl<'a> BsfEmitter<Gpq, Gpq> for Assembler<'a> {
582 fn bsf(&mut self, op0: Gpq, op1: Gpq) {
583 self.emit(BSF64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
584 }
585}
586
587impl<'a> BsfEmitter<Gpq, Mem> for Assembler<'a> {
588 fn bsf(&mut self, op0: Gpq, op1: Mem) {
589 self.emit(BSF64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
590 }
591}
592
593pub trait BsrEmitter<A, B> {
614 fn bsr(&mut self, op0: A, op1: B);
615}
616
617impl<'a> BsrEmitter<Gpw, Gpw> for Assembler<'a> {
618 fn bsr(&mut self, op0: Gpw, op1: Gpw) {
619 self.emit(BSR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
620 }
621}
622
623impl<'a> BsrEmitter<Gpw, Mem> for Assembler<'a> {
624 fn bsr(&mut self, op0: Gpw, op1: Mem) {
625 self.emit(BSR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
626 }
627}
628
629impl<'a> BsrEmitter<Gpd, Gpd> for Assembler<'a> {
630 fn bsr(&mut self, op0: Gpd, op1: Gpd) {
631 self.emit(BSR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
632 }
633}
634
635impl<'a> BsrEmitter<Gpd, Mem> for Assembler<'a> {
636 fn bsr(&mut self, op0: Gpd, op1: Mem) {
637 self.emit(BSR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
638 }
639}
640
641impl<'a> BsrEmitter<Gpq, Gpq> for Assembler<'a> {
642 fn bsr(&mut self, op0: Gpq, op1: Gpq) {
643 self.emit(BSR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
644 }
645}
646
647impl<'a> BsrEmitter<Gpq, Mem> for Assembler<'a> {
648 fn bsr(&mut self, op0: Gpq, op1: Mem) {
649 self.emit(BSR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
650 }
651}
652
653pub trait BtEmitter<A, B> {
678 fn bt(&mut self, op0: A, op1: B);
679}
680
681impl<'a> BtEmitter<Gpw, Gpw> for Assembler<'a> {
682 fn bt(&mut self, op0: Gpw, op1: Gpw) {
683 self.emit(BT16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
684 }
685}
686
687impl<'a> BtEmitter<Mem, Gpw> for Assembler<'a> {
688 fn bt(&mut self, op0: Mem, op1: Gpw) {
689 self.emit(BT16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
690 }
691}
692
693impl<'a> BtEmitter<Gpd, Gpd> for Assembler<'a> {
694 fn bt(&mut self, op0: Gpd, op1: Gpd) {
695 self.emit(BT32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
696 }
697}
698
699impl<'a> BtEmitter<Mem, Gpd> for Assembler<'a> {
700 fn bt(&mut self, op0: Mem, op1: Gpd) {
701 self.emit(BT32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
702 }
703}
704
705impl<'a> BtEmitter<Gpq, Gpq> for Assembler<'a> {
706 fn bt(&mut self, op0: Gpq, op1: Gpq) {
707 self.emit(BT64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
708 }
709}
710
711impl<'a> BtEmitter<Mem, Gpq> for Assembler<'a> {
712 fn bt(&mut self, op0: Mem, op1: Gpq) {
713 self.emit(BT64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
714 }
715}
716
717impl<'a> BtEmitter<Gpw, Imm> for Assembler<'a> {
718 fn bt(&mut self, op0: Gpw, op1: Imm) {
719 self.emit(BT16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
720 }
721}
722
723impl<'a> BtEmitter<Mem, Imm> for Assembler<'a> {
724 fn bt(&mut self, op0: Mem, op1: Imm) {
725 self.emit(BT16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
726 }
727}
728
729impl<'a> BtEmitter<Gpd, Imm> for Assembler<'a> {
730 fn bt(&mut self, op0: Gpd, op1: Imm) {
731 self.emit(BT32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
732 }
733}
734
735impl<'a> BtEmitter<Gpq, Imm> for Assembler<'a> {
736 fn bt(&mut self, op0: Gpq, op1: Imm) {
737 self.emit(BT64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
738 }
739}
740
741pub trait BtcEmitter<A, B> {
766 fn btc(&mut self, op0: A, op1: B);
767}
768
769impl<'a> BtcEmitter<Gpw, Imm> for Assembler<'a> {
770 fn btc(&mut self, op0: Gpw, op1: Imm) {
771 self.emit(BTC16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
772 }
773}
774
775impl<'a> BtcEmitter<Mem, Imm> for Assembler<'a> {
776 fn btc(&mut self, op0: Mem, op1: Imm) {
777 self.emit(BTC16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
778 }
779}
780
781impl<'a> BtcEmitter<Gpd, Imm> for Assembler<'a> {
782 fn btc(&mut self, op0: Gpd, op1: Imm) {
783 self.emit(BTC32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
784 }
785}
786
787impl<'a> BtcEmitter<Gpq, Imm> for Assembler<'a> {
788 fn btc(&mut self, op0: Gpq, op1: Imm) {
789 self.emit(BTC64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
790 }
791}
792
793impl<'a> BtcEmitter<Gpw, Gpw> for Assembler<'a> {
794 fn btc(&mut self, op0: Gpw, op1: Gpw) {
795 self.emit(BTC16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
796 }
797}
798
799impl<'a> BtcEmitter<Mem, Gpw> for Assembler<'a> {
800 fn btc(&mut self, op0: Mem, op1: Gpw) {
801 self.emit(BTC16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
802 }
803}
804
805impl<'a> BtcEmitter<Gpd, Gpd> for Assembler<'a> {
806 fn btc(&mut self, op0: Gpd, op1: Gpd) {
807 self.emit(BTC32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
808 }
809}
810
811impl<'a> BtcEmitter<Mem, Gpd> for Assembler<'a> {
812 fn btc(&mut self, op0: Mem, op1: Gpd) {
813 self.emit(BTC32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
814 }
815}
816
817impl<'a> BtcEmitter<Gpq, Gpq> for Assembler<'a> {
818 fn btc(&mut self, op0: Gpq, op1: Gpq) {
819 self.emit(BTC64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
820 }
821}
822
823impl<'a> BtcEmitter<Mem, Gpq> for Assembler<'a> {
824 fn btc(&mut self, op0: Mem, op1: Gpq) {
825 self.emit(BTC64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
826 }
827}
828
829pub trait BtrEmitter<A, B> {
854 fn btr(&mut self, op0: A, op1: B);
855}
856
857impl<'a> BtrEmitter<Gpw, Gpw> for Assembler<'a> {
858 fn btr(&mut self, op0: Gpw, op1: Gpw) {
859 self.emit(BTR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
860 }
861}
862
863impl<'a> BtrEmitter<Mem, Gpw> for Assembler<'a> {
864 fn btr(&mut self, op0: Mem, op1: Gpw) {
865 self.emit(BTR16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
866 }
867}
868
869impl<'a> BtrEmitter<Gpd, Gpd> for Assembler<'a> {
870 fn btr(&mut self, op0: Gpd, op1: Gpd) {
871 self.emit(BTR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
872 }
873}
874
875impl<'a> BtrEmitter<Mem, Gpd> for Assembler<'a> {
876 fn btr(&mut self, op0: Mem, op1: Gpd) {
877 self.emit(BTR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
878 }
879}
880
881impl<'a> BtrEmitter<Gpq, Gpq> for Assembler<'a> {
882 fn btr(&mut self, op0: Gpq, op1: Gpq) {
883 self.emit(BTR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
884 }
885}
886
887impl<'a> BtrEmitter<Mem, Gpq> for Assembler<'a> {
888 fn btr(&mut self, op0: Mem, op1: Gpq) {
889 self.emit(BTR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
890 }
891}
892
893impl<'a> BtrEmitter<Gpw, Imm> for Assembler<'a> {
894 fn btr(&mut self, op0: Gpw, op1: Imm) {
895 self.emit(BTR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
896 }
897}
898
899impl<'a> BtrEmitter<Mem, Imm> for Assembler<'a> {
900 fn btr(&mut self, op0: Mem, op1: Imm) {
901 self.emit(BTR16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
902 }
903}
904
905impl<'a> BtrEmitter<Gpd, Imm> for Assembler<'a> {
906 fn btr(&mut self, op0: Gpd, op1: Imm) {
907 self.emit(BTR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
908 }
909}
910
911impl<'a> BtrEmitter<Gpq, Imm> for Assembler<'a> {
912 fn btr(&mut self, op0: Gpq, op1: Imm) {
913 self.emit(BTR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
914 }
915}
916
917pub trait BtsEmitter<A, B> {
942 fn bts(&mut self, op0: A, op1: B);
943}
944
945impl<'a> BtsEmitter<Gpw, Gpw> for Assembler<'a> {
946 fn bts(&mut self, op0: Gpw, op1: Gpw) {
947 self.emit(BTS16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
948 }
949}
950
951impl<'a> BtsEmitter<Mem, Gpw> for Assembler<'a> {
952 fn bts(&mut self, op0: Mem, op1: Gpw) {
953 self.emit(BTS16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
954 }
955}
956
957impl<'a> BtsEmitter<Gpd, Gpd> for Assembler<'a> {
958 fn bts(&mut self, op0: Gpd, op1: Gpd) {
959 self.emit(BTS32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
960 }
961}
962
963impl<'a> BtsEmitter<Mem, Gpd> for Assembler<'a> {
964 fn bts(&mut self, op0: Mem, op1: Gpd) {
965 self.emit(BTS32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
966 }
967}
968
969impl<'a> BtsEmitter<Gpq, Gpq> for Assembler<'a> {
970 fn bts(&mut self, op0: Gpq, op1: Gpq) {
971 self.emit(BTS64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
972 }
973}
974
975impl<'a> BtsEmitter<Mem, Gpq> for Assembler<'a> {
976 fn bts(&mut self, op0: Mem, op1: Gpq) {
977 self.emit(BTS64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
978 }
979}
980
981impl<'a> BtsEmitter<Gpw, Imm> for Assembler<'a> {
982 fn bts(&mut self, op0: Gpw, op1: Imm) {
983 self.emit(BTS16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
984 }
985}
986
987impl<'a> BtsEmitter<Mem, Imm> for Assembler<'a> {
988 fn bts(&mut self, op0: Mem, op1: Imm) {
989 self.emit(BTS16MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
990 }
991}
992
993impl<'a> BtsEmitter<Gpd, Imm> for Assembler<'a> {
994 fn bts(&mut self, op0: Gpd, op1: Imm) {
995 self.emit(BTS32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
996 }
997}
998
999impl<'a> BtsEmitter<Gpq, Imm> for Assembler<'a> {
1000 fn bts(&mut self, op0: Gpq, op1: Imm) {
1001 self.emit(BTS64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1002 }
1003}
1004
1005pub trait CallEmitter<A> {
1025 fn call(&mut self, op0: A);
1026}
1027
1028impl<'a> CallEmitter<Imm> for Assembler<'a> {
1029 fn call(&mut self, op0: Imm) {
1030 self.emit(CALL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1031 }
1032}
1033
1034impl<'a> CallEmitter<Sym> for Assembler<'a> {
1035 fn call(&mut self, op0: Sym) {
1036 self.emit(CALL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1037 }
1038}
1039
1040impl<'a> CallEmitter<Label> for Assembler<'a> {
1041 fn call(&mut self, op0: Label) {
1042 self.emit(CALL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1043 }
1044}
1045
1046impl<'a> CallEmitter<Gpq> for Assembler<'a> {
1047 fn call(&mut self, op0: Gpq) {
1048 self.emit(CALLR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1049 }
1050}
1051
1052impl<'a> CallEmitter<Mem> for Assembler<'a> {
1053 fn call(&mut self, op0: Mem) {
1054 self.emit(CALLM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1055 }
1056}
1057
1058pub trait CallfEmitter<A> {
1070 fn callf(&mut self, op0: A);
1071}
1072
1073impl<'a> CallfEmitter<Mem> for Assembler<'a> {
1074 fn callf(&mut self, op0: Mem) {
1075 self.emit(CALLF16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1076 }
1077}
1078
1079pub trait CbwEmitter {
1091 fn cbw(&mut self);
1092}
1093
1094impl<'a> CbwEmitter for Assembler<'a> {
1095 fn cbw(&mut self) {
1096 self.emit(CBW, &NOREG, &NOREG, &NOREG, &NOREG);
1097 }
1098}
1099
1100pub trait CdqEmitter {
1112 fn cdq(&mut self);
1113}
1114
1115impl<'a> CdqEmitter for Assembler<'a> {
1116 fn cdq(&mut self) {
1117 self.emit(CDQ, &NOREG, &NOREG, &NOREG, &NOREG);
1118 }
1119}
1120
1121pub trait CdqeEmitter {
1133 fn cdqe(&mut self);
1134}
1135
1136impl<'a> CdqeEmitter for Assembler<'a> {
1137 fn cdqe(&mut self) {
1138 self.emit(CDQE, &NOREG, &NOREG, &NOREG, &NOREG);
1139 }
1140}
1141
1142pub trait ClcEmitter {
1158 fn clc(&mut self);
1159}
1160
1161impl<'a> ClcEmitter for Assembler<'a> {
1162 fn clc(&mut self) {
1163 self.emit(CLC, &NOREG, &NOREG, &NOREG, &NOREG);
1164 }
1165}
1166
1167pub trait CldEmitter {
1183 fn cld(&mut self);
1184}
1185
1186impl<'a> CldEmitter for Assembler<'a> {
1187 fn cld(&mut self) {
1188 self.emit(CLD, &NOREG, &NOREG, &NOREG, &NOREG);
1189 }
1190}
1191
1192pub trait ClflushEmitter<A> {
1208 fn clflush(&mut self, op0: A);
1209}
1210
1211impl<'a> ClflushEmitter<Mem> for Assembler<'a> {
1212 fn clflush(&mut self, op0: Mem) {
1213 self.emit(CLFLUSHM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1214 }
1215}
1216
1217pub trait CliEmitter {
1233 fn cli(&mut self);
1234}
1235
1236impl<'a> CliEmitter for Assembler<'a> {
1237 fn cli(&mut self) {
1238 self.emit(CLI, &NOREG, &NOREG, &NOREG, &NOREG);
1239 }
1240}
1241
1242pub trait CltsEmitter {
1258 fn clts(&mut self);
1259}
1260
1261impl<'a> CltsEmitter for Assembler<'a> {
1262 fn clts(&mut self) {
1263 self.emit(CLTS, &NOREG, &NOREG, &NOREG, &NOREG);
1264 }
1265}
1266
1267pub trait CmcEmitter {
1283 fn cmc(&mut self);
1284}
1285
1286impl<'a> CmcEmitter for Assembler<'a> {
1287 fn cmc(&mut self) {
1288 self.emit(CMC, &NOREG, &NOREG, &NOREG, &NOREG);
1289 }
1290}
1291
1292pub trait CmpEmitter<A, B> {
1324 fn cmp(&mut self, op0: A, op1: B);
1325}
1326
1327impl<'a> CmpEmitter<GpbLo, GpbLo> for Assembler<'a> {
1328 fn cmp(&mut self, op0: GpbLo, op1: GpbLo) {
1329 self.emit(CMP8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1330 }
1331}
1332
1333impl<'a> CmpEmitter<Mem, GpbLo> for Assembler<'a> {
1334 fn cmp(&mut self, op0: Mem, op1: GpbLo) {
1335 self.emit(CMP8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1336 }
1337}
1338
1339impl<'a> CmpEmitter<Gpw, Gpw> for Assembler<'a> {
1340 fn cmp(&mut self, op0: Gpw, op1: Gpw) {
1341 self.emit(CMP16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1342 }
1343}
1344
1345impl<'a> CmpEmitter<Mem, Gpw> for Assembler<'a> {
1346 fn cmp(&mut self, op0: Mem, op1: Gpw) {
1347 self.emit(CMP16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1348 }
1349}
1350
1351impl<'a> CmpEmitter<Gpd, Gpd> for Assembler<'a> {
1352 fn cmp(&mut self, op0: Gpd, op1: Gpd) {
1353 self.emit(CMP32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1354 }
1355}
1356
1357impl<'a> CmpEmitter<Mem, Gpd> for Assembler<'a> {
1358 fn cmp(&mut self, op0: Mem, op1: Gpd) {
1359 self.emit(CMP32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1360 }
1361}
1362
1363impl<'a> CmpEmitter<Gpq, Gpq> for Assembler<'a> {
1364 fn cmp(&mut self, op0: Gpq, op1: Gpq) {
1365 self.emit(CMP64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1366 }
1367}
1368
1369impl<'a> CmpEmitter<Mem, Gpq> for Assembler<'a> {
1370 fn cmp(&mut self, op0: Mem, op1: Gpq) {
1371 self.emit(CMP64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1372 }
1373}
1374
1375impl<'a> CmpEmitter<GpbLo, Mem> for Assembler<'a> {
1376 fn cmp(&mut self, op0: GpbLo, op1: Mem) {
1377 self.emit(CMP8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1378 }
1379}
1380
1381impl<'a> CmpEmitter<Gpw, Mem> for Assembler<'a> {
1382 fn cmp(&mut self, op0: Gpw, op1: Mem) {
1383 self.emit(CMP16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1384 }
1385}
1386
1387impl<'a> CmpEmitter<Gpd, Mem> for Assembler<'a> {
1388 fn cmp(&mut self, op0: Gpd, op1: Mem) {
1389 self.emit(CMP32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1390 }
1391}
1392
1393impl<'a> CmpEmitter<Gpq, Mem> for Assembler<'a> {
1394 fn cmp(&mut self, op0: Gpq, op1: Mem) {
1395 self.emit(CMP64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1396 }
1397}
1398
1399impl<'a> CmpEmitter<GpbLo, Imm> for Assembler<'a> {
1400 fn cmp(&mut self, op0: GpbLo, op1: Imm) {
1401 self.emit(CMP8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1402 }
1403}
1404
1405impl<'a> CmpEmitter<Gpw, Imm> for Assembler<'a> {
1406 fn cmp(&mut self, op0: Gpw, op1: Imm) {
1407 self.emit(CMP16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1408 }
1409}
1410
1411impl<'a> CmpEmitter<Gpd, Imm> for Assembler<'a> {
1412 fn cmp(&mut self, op0: Gpd, op1: Imm) {
1413 self.emit(CMP32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1414 }
1415}
1416
1417impl<'a> CmpEmitter<Gpq, Imm> for Assembler<'a> {
1418 fn cmp(&mut self, op0: Gpq, op1: Imm) {
1419 self.emit(CMP64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1420 }
1421}
1422
1423impl<'a> CmpEmitter<Mem, Imm> for Assembler<'a> {
1424 fn cmp(&mut self, op0: Mem, op1: Imm) {
1425 self.emit(CMP8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1426 }
1427}
1428
1429pub trait CmpsEmitter {
1445 fn cmps(&mut self);
1446}
1447
1448impl<'a> CmpsEmitter for Assembler<'a> {
1449 fn cmps(&mut self) {
1450 self.emit(CMPS8, &NOREG, &NOREG, &NOREG, &NOREG);
1451 }
1452}
1453
1454pub trait CqoEmitter {
1466 fn cqo(&mut self);
1467}
1468
1469impl<'a> CqoEmitter for Assembler<'a> {
1470 fn cqo(&mut self) {
1471 self.emit(CQO, &NOREG, &NOREG, &NOREG, &NOREG);
1472 }
1473}
1474
1475pub trait CwdEmitter {
1487 fn cwd(&mut self);
1488}
1489
1490impl<'a> CwdEmitter for Assembler<'a> {
1491 fn cwd(&mut self) {
1492 self.emit(CWD, &NOREG, &NOREG, &NOREG, &NOREG);
1493 }
1494}
1495
1496pub trait CwdeEmitter {
1508 fn cwde(&mut self);
1509}
1510
1511impl<'a> CwdeEmitter for Assembler<'a> {
1512 fn cwde(&mut self) {
1513 self.emit(CWDE, &NOREG, &NOREG, &NOREG, &NOREG);
1514 }
1515}
1516
1517pub trait CExEmitter {
1529 fn c_ex(&mut self);
1530}
1531
1532impl<'a> CExEmitter for Assembler<'a> {
1533 fn c_ex(&mut self) {
1534 self.emit(C_EX16, &NOREG, &NOREG, &NOREG, &NOREG);
1535 }
1536}
1537
1538pub trait CSepEmitter {
1550 fn c_sep(&mut self);
1551}
1552
1553impl<'a> CSepEmitter for Assembler<'a> {
1554 fn c_sep(&mut self) {
1555 self.emit(C_SEP16, &NOREG, &NOREG, &NOREG, &NOREG);
1556 }
1557}
1558
1559pub trait DecEmitter<A> {
1579 fn dec(&mut self, op0: A);
1580}
1581
1582impl<'a> DecEmitter<GpbLo> for Assembler<'a> {
1583 fn dec(&mut self, op0: GpbLo) {
1584 self.emit(DEC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1585 }
1586}
1587
1588impl<'a> DecEmitter<Mem> for Assembler<'a> {
1589 fn dec(&mut self, op0: Mem) {
1590 self.emit(DEC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1591 }
1592}
1593
1594impl<'a> DecEmitter<Gpw> for Assembler<'a> {
1595 fn dec(&mut self, op0: Gpw) {
1596 self.emit(DEC16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1597 }
1598}
1599
1600impl<'a> DecEmitter<Gpd> for Assembler<'a> {
1601 fn dec(&mut self, op0: Gpd) {
1602 self.emit(DEC32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1603 }
1604}
1605
1606impl<'a> DecEmitter<Gpq> for Assembler<'a> {
1607 fn dec(&mut self, op0: Gpq) {
1608 self.emit(DEC64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1609 }
1610}
1611
1612pub trait DivEmitter<A> {
1632 fn div(&mut self, op0: A);
1633}
1634
1635impl<'a> DivEmitter<GpbLo> for Assembler<'a> {
1636 fn div(&mut self, op0: GpbLo) {
1637 self.emit(DIV8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1638 }
1639}
1640
1641impl<'a> DivEmitter<Mem> for Assembler<'a> {
1642 fn div(&mut self, op0: Mem) {
1643 self.emit(DIV8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1644 }
1645}
1646
1647impl<'a> DivEmitter<Gpw> for Assembler<'a> {
1648 fn div(&mut self, op0: Gpw) {
1649 self.emit(DIV16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1650 }
1651}
1652
1653impl<'a> DivEmitter<Gpd> for Assembler<'a> {
1654 fn div(&mut self, op0: Gpd) {
1655 self.emit(DIV32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1656 }
1657}
1658
1659impl<'a> DivEmitter<Gpq> for Assembler<'a> {
1660 fn div(&mut self, op0: Gpq) {
1661 self.emit(DIV64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1662 }
1663}
1664
1665pub trait EnterEmitter<A> {
1681 fn enter(&mut self, op0: A);
1682}
1683
1684impl<'a> EnterEmitter<Imm> for Assembler<'a> {
1685 fn enter(&mut self, op0: Imm) {
1686 self.emit(ENTER16I, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1687 }
1688}
1689
1690pub trait FwaitEmitter {
1706 fn fwait(&mut self);
1707}
1708
1709impl<'a> FwaitEmitter for Assembler<'a> {
1710 fn fwait(&mut self) {
1711 self.emit(FWAIT, &NOREG, &NOREG, &NOREG, &NOREG);
1712 }
1713}
1714
1715pub trait HltEmitter {
1731 fn hlt(&mut self);
1732}
1733
1734impl<'a> HltEmitter for Assembler<'a> {
1735 fn hlt(&mut self) {
1736 self.emit(HLT, &NOREG, &NOREG, &NOREG, &NOREG);
1737 }
1738}
1739
1740pub trait IdivEmitter<A> {
1760 fn idiv(&mut self, op0: A);
1761}
1762
1763impl<'a> IdivEmitter<GpbLo> for Assembler<'a> {
1764 fn idiv(&mut self, op0: GpbLo) {
1765 self.emit(IDIV8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1766 }
1767}
1768
1769impl<'a> IdivEmitter<Mem> for Assembler<'a> {
1770 fn idiv(&mut self, op0: Mem) {
1771 self.emit(IDIV8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1772 }
1773}
1774
1775impl<'a> IdivEmitter<Gpw> for Assembler<'a> {
1776 fn idiv(&mut self, op0: Gpw) {
1777 self.emit(IDIV16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1778 }
1779}
1780
1781impl<'a> IdivEmitter<Gpd> for Assembler<'a> {
1782 fn idiv(&mut self, op0: Gpd) {
1783 self.emit(IDIV32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1784 }
1785}
1786
1787impl<'a> IdivEmitter<Gpq> for Assembler<'a> {
1788 fn idiv(&mut self, op0: Gpq) {
1789 self.emit(IDIV64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1790 }
1791}
1792
1793pub trait ImulEmitter_1<A> {
1813 fn imul_1(&mut self, op0: A);
1814}
1815
1816impl<'a> ImulEmitter_1<GpbLo> for Assembler<'a> {
1817 fn imul_1(&mut self, op0: GpbLo) {
1818 self.emit(IMUL8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1819 }
1820}
1821
1822impl<'a> ImulEmitter_1<Mem> for Assembler<'a> {
1823 fn imul_1(&mut self, op0: Mem) {
1824 self.emit(IMUL8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1825 }
1826}
1827
1828impl<'a> ImulEmitter_1<Gpw> for Assembler<'a> {
1829 fn imul_1(&mut self, op0: Gpw) {
1830 self.emit(IMUL16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1831 }
1832}
1833
1834impl<'a> ImulEmitter_1<Gpd> for Assembler<'a> {
1835 fn imul_1(&mut self, op0: Gpd) {
1836 self.emit(IMUL32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1837 }
1838}
1839
1840impl<'a> ImulEmitter_1<Gpq> for Assembler<'a> {
1841 fn imul_1(&mut self, op0: Gpq) {
1842 self.emit(IMUL64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
1843 }
1844}
1845
1846pub trait ImulEmitter_2<A, B> {
1867 fn imul_2(&mut self, op0: A, op1: B);
1868}
1869
1870impl<'a> ImulEmitter_2<Gpw, Gpw> for Assembler<'a> {
1871 fn imul_2(&mut self, op0: Gpw, op1: Gpw) {
1872 self.emit(IMUL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1873 }
1874}
1875
1876impl<'a> ImulEmitter_2<Gpw, Mem> for Assembler<'a> {
1877 fn imul_2(&mut self, op0: Gpw, op1: Mem) {
1878 self.emit(IMUL16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1879 }
1880}
1881
1882impl<'a> ImulEmitter_2<Gpd, Gpd> for Assembler<'a> {
1883 fn imul_2(&mut self, op0: Gpd, op1: Gpd) {
1884 self.emit(IMUL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1885 }
1886}
1887
1888impl<'a> ImulEmitter_2<Gpd, Mem> for Assembler<'a> {
1889 fn imul_2(&mut self, op0: Gpd, op1: Mem) {
1890 self.emit(IMUL32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1891 }
1892}
1893
1894impl<'a> ImulEmitter_2<Gpq, Gpq> for Assembler<'a> {
1895 fn imul_2(&mut self, op0: Gpq, op1: Gpq) {
1896 self.emit(IMUL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1897 }
1898}
1899
1900impl<'a> ImulEmitter_2<Gpq, Mem> for Assembler<'a> {
1901 fn imul_2(&mut self, op0: Gpq, op1: Mem) {
1902 self.emit(IMUL64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
1903 }
1904}
1905
1906pub trait ImulEmitter_3<A, B, C> {
1927 fn imul_3(&mut self, op0: A, op1: B, op2: C);
1928}
1929
1930impl<'a> ImulEmitter_3<Gpw, Gpw, Imm> for Assembler<'a> {
1931 fn imul_3(&mut self, op0: Gpw, op1: Gpw, op2: Imm) {
1932 self.emit(IMUL16RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
1933 }
1934}
1935
1936impl<'a> ImulEmitter_3<Gpw, Mem, Imm> for Assembler<'a> {
1937 fn imul_3(&mut self, op0: Gpw, op1: Mem, op2: Imm) {
1938 self.emit(IMUL16RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
1939 }
1940}
1941
1942impl<'a> ImulEmitter_3<Gpd, Gpd, Imm> for Assembler<'a> {
1943 fn imul_3(&mut self, op0: Gpd, op1: Gpd, op2: Imm) {
1944 self.emit(IMUL32RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
1945 }
1946}
1947
1948impl<'a> ImulEmitter_3<Gpd, Mem, Imm> for Assembler<'a> {
1949 fn imul_3(&mut self, op0: Gpd, op1: Mem, op2: Imm) {
1950 self.emit(IMUL32RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
1951 }
1952}
1953
1954impl<'a> ImulEmitter_3<Gpq, Gpq, Imm> for Assembler<'a> {
1955 fn imul_3(&mut self, op0: Gpq, op1: Gpq, op2: Imm) {
1956 self.emit(IMUL64RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
1957 }
1958}
1959
1960impl<'a> ImulEmitter_3<Gpq, Mem, Imm> for Assembler<'a> {
1961 fn imul_3(&mut self, op0: Gpq, op1: Mem, op2: Imm) {
1962 self.emit(IMUL64RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
1963 }
1964}
1965
1966pub trait InEmitter {
1982 fn r#in(&mut self);
1983}
1984
1985impl<'a> InEmitter for Assembler<'a> {
1986 fn r#in(&mut self) {
1987 self.emit(IN8, &NOREG, &NOREG, &NOREG, &NOREG);
1988 }
1989}
1990
1991pub trait InEmitter_2<A, B> {
2010 fn r#in_2(&mut self, op0: A, op1: B);
2011}
2012
2013impl<'a> InEmitter_2<GpbLo, Imm> for Assembler<'a> {
2014 fn r#in_2(&mut self, op0: GpbLo, op1: Imm) {
2015 self.emit(IN8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2016 }
2017}
2018
2019impl<'a> InEmitter_2<Gpw, Imm> for Assembler<'a> {
2020 fn r#in_2(&mut self, op0: Gpw, op1: Imm) {
2021 self.emit(IN16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2022 }
2023}
2024
2025impl<'a> InEmitter_2<Gpd, Imm> for Assembler<'a> {
2026 fn r#in_2(&mut self, op0: Gpd, op1: Imm) {
2027 self.emit(IN32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2028 }
2029}
2030
2031impl<'a> InEmitter_2<Gpq, Imm> for Assembler<'a> {
2032 fn r#in_2(&mut self, op0: Gpq, op1: Imm) {
2033 self.emit(IN64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
2034 }
2035}
2036
2037pub trait IncEmitter<A> {
2057 fn inc(&mut self, op0: A);
2058}
2059
2060impl<'a> IncEmitter<GpbLo> for Assembler<'a> {
2061 fn inc(&mut self, op0: GpbLo) {
2062 self.emit(INC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2063 }
2064}
2065
2066impl<'a> IncEmitter<Mem> for Assembler<'a> {
2067 fn inc(&mut self, op0: Mem) {
2068 self.emit(INC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2069 }
2070}
2071
2072impl<'a> IncEmitter<Gpw> for Assembler<'a> {
2073 fn inc(&mut self, op0: Gpw) {
2074 self.emit(INC16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2075 }
2076}
2077
2078impl<'a> IncEmitter<Gpd> for Assembler<'a> {
2079 fn inc(&mut self, op0: Gpd) {
2080 self.emit(INC32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2081 }
2082}
2083
2084impl<'a> IncEmitter<Gpq> for Assembler<'a> {
2085 fn inc(&mut self, op0: Gpq) {
2086 self.emit(INC64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2087 }
2088}
2089
2090pub trait InsEmitter {
2106 fn ins(&mut self);
2107}
2108
2109impl<'a> InsEmitter for Assembler<'a> {
2110 fn ins(&mut self) {
2111 self.emit(INS8, &NOREG, &NOREG, &NOREG, &NOREG);
2112 }
2113}
2114
2115pub trait IntEmitter<A> {
2131 fn int(&mut self, op0: A);
2132}
2133
2134impl<'a> IntEmitter<Imm> for Assembler<'a> {
2135 fn int(&mut self, op0: Imm) {
2136 self.emit(INTI, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2137 }
2138}
2139
2140pub trait Int1Emitter {
2156 fn int1(&mut self);
2157}
2158
2159impl<'a> Int1Emitter for Assembler<'a> {
2160 fn int1(&mut self) {
2161 self.emit(INT1, &NOREG, &NOREG, &NOREG, &NOREG);
2162 }
2163}
2164
2165pub trait Int3Emitter {
2181 fn int3(&mut self);
2182}
2183
2184impl<'a> Int3Emitter for Assembler<'a> {
2185 fn int3(&mut self) {
2186 self.emit(INT3, &NOREG, &NOREG, &NOREG, &NOREG);
2187 }
2188}
2189
2190pub trait IretEmitter {
2206 fn iret(&mut self);
2207}
2208
2209impl<'a> IretEmitter for Assembler<'a> {
2210 fn iret(&mut self) {
2211 self.emit(IRET16, &NOREG, &NOREG, &NOREG, &NOREG);
2212 }
2213}
2214
2215pub trait JaEmitter<A> {
2233 fn ja(&mut self, op0: A);
2234}
2235
2236impl<'a> JaEmitter<Imm> for Assembler<'a> {
2237 fn ja(&mut self, op0: Imm) {
2238 self.emit(JA, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2239 }
2240}
2241
2242impl<'a> JaEmitter<Sym> for Assembler<'a> {
2243 fn ja(&mut self, op0: Sym) {
2244 self.emit(JA, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2245 }
2246}
2247
2248impl<'a> JaEmitter<Label> for Assembler<'a> {
2249 fn ja(&mut self, op0: Label) {
2250 self.emit(JA, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2251 }
2252}
2253
2254pub trait JbeEmitter<A> {
2272 fn jbe(&mut self, op0: A);
2273}
2274
2275impl<'a> JbeEmitter<Imm> for Assembler<'a> {
2276 fn jbe(&mut self, op0: Imm) {
2277 self.emit(JBE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2278 }
2279}
2280
2281impl<'a> JbeEmitter<Sym> for Assembler<'a> {
2282 fn jbe(&mut self, op0: Sym) {
2283 self.emit(JBE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2284 }
2285}
2286
2287impl<'a> JbeEmitter<Label> for Assembler<'a> {
2288 fn jbe(&mut self, op0: Label) {
2289 self.emit(JBE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2290 }
2291}
2292
2293pub trait JcEmitter<A> {
2311 fn jc(&mut self, op0: A);
2312}
2313
2314impl<'a> JcEmitter<Imm> for Assembler<'a> {
2315 fn jc(&mut self, op0: Imm) {
2316 self.emit(JC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2317 }
2318}
2319
2320impl<'a> JcEmitter<Sym> for Assembler<'a> {
2321 fn jc(&mut self, op0: Sym) {
2322 self.emit(JC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2323 }
2324}
2325
2326impl<'a> JcEmitter<Label> for Assembler<'a> {
2327 fn jc(&mut self, op0: Label) {
2328 self.emit(JC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2329 }
2330}
2331
2332pub trait JcxzEmitter<A> {
2350 fn jcxz(&mut self, op0: A);
2351}
2352
2353impl<'a> JcxzEmitter<Imm> for Assembler<'a> {
2354 fn jcxz(&mut self, op0: Imm) {
2355 self.emit(JCXZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2356 }
2357}
2358
2359impl<'a> JcxzEmitter<Sym> for Assembler<'a> {
2360 fn jcxz(&mut self, op0: Sym) {
2361 self.emit(JCXZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2362 }
2363}
2364
2365impl<'a> JcxzEmitter<Label> for Assembler<'a> {
2366 fn jcxz(&mut self, op0: Label) {
2367 self.emit(JCXZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2368 }
2369}
2370
2371pub trait JgEmitter<A> {
2389 fn jg(&mut self, op0: A);
2390}
2391
2392impl<'a> JgEmitter<Imm> for Assembler<'a> {
2393 fn jg(&mut self, op0: Imm) {
2394 self.emit(JG, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2395 }
2396}
2397
2398impl<'a> JgEmitter<Sym> for Assembler<'a> {
2399 fn jg(&mut self, op0: Sym) {
2400 self.emit(JG, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2401 }
2402}
2403
2404impl<'a> JgEmitter<Label> for Assembler<'a> {
2405 fn jg(&mut self, op0: Label) {
2406 self.emit(JG, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2407 }
2408}
2409
2410pub trait JgeEmitter<A> {
2428 fn jge(&mut self, op0: A);
2429}
2430
2431impl<'a> JgeEmitter<Imm> for Assembler<'a> {
2432 fn jge(&mut self, op0: Imm) {
2433 self.emit(JGE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2434 }
2435}
2436
2437impl<'a> JgeEmitter<Sym> for Assembler<'a> {
2438 fn jge(&mut self, op0: Sym) {
2439 self.emit(JGE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2440 }
2441}
2442
2443impl<'a> JgeEmitter<Label> for Assembler<'a> {
2444 fn jge(&mut self, op0: Label) {
2445 self.emit(JGE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2446 }
2447}
2448
2449pub trait JlEmitter<A> {
2467 fn jl(&mut self, op0: A);
2468}
2469
2470impl<'a> JlEmitter<Imm> for Assembler<'a> {
2471 fn jl(&mut self, op0: Imm) {
2472 self.emit(JL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2473 }
2474}
2475
2476impl<'a> JlEmitter<Sym> for Assembler<'a> {
2477 fn jl(&mut self, op0: Sym) {
2478 self.emit(JL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2479 }
2480}
2481
2482impl<'a> JlEmitter<Label> for Assembler<'a> {
2483 fn jl(&mut self, op0: Label) {
2484 self.emit(JL, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2485 }
2486}
2487
2488pub trait JleEmitter<A> {
2506 fn jle(&mut self, op0: A);
2507}
2508
2509impl<'a> JleEmitter<Imm> for Assembler<'a> {
2510 fn jle(&mut self, op0: Imm) {
2511 self.emit(JLE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2512 }
2513}
2514
2515impl<'a> JleEmitter<Sym> for Assembler<'a> {
2516 fn jle(&mut self, op0: Sym) {
2517 self.emit(JLE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2518 }
2519}
2520
2521impl<'a> JleEmitter<Label> for Assembler<'a> {
2522 fn jle(&mut self, op0: Label) {
2523 self.emit(JLE, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2524 }
2525}
2526
2527pub trait JmpEmitter<A> {
2547 fn jmp(&mut self, op0: A);
2548}
2549
2550impl<'a> JmpEmitter<Imm> for Assembler<'a> {
2551 fn jmp(&mut self, op0: Imm) {
2552 self.emit(JMP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2553 }
2554}
2555
2556impl<'a> JmpEmitter<Sym> for Assembler<'a> {
2557 fn jmp(&mut self, op0: Sym) {
2558 self.emit(JMP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2559 }
2560}
2561
2562impl<'a> JmpEmitter<Label> for Assembler<'a> {
2563 fn jmp(&mut self, op0: Label) {
2564 self.emit(JMP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2565 }
2566}
2567
2568impl<'a> JmpEmitter<Gpq> for Assembler<'a> {
2569 fn jmp(&mut self, op0: Gpq) {
2570 self.emit(JMPR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2571 }
2572}
2573
2574impl<'a> JmpEmitter<Mem> for Assembler<'a> {
2575 fn jmp(&mut self, op0: Mem) {
2576 self.emit(JMPM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2577 }
2578}
2579
2580pub trait JmpfEmitter<A> {
2592 fn jmpf(&mut self, op0: A);
2593}
2594
2595impl<'a> JmpfEmitter<Mem> for Assembler<'a> {
2596 fn jmpf(&mut self, op0: Mem) {
2597 self.emit(JMPF16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2598 }
2599}
2600
2601pub trait JncEmitter<A> {
2619 fn jnc(&mut self, op0: A);
2620}
2621
2622impl<'a> JncEmitter<Imm> for Assembler<'a> {
2623 fn jnc(&mut self, op0: Imm) {
2624 self.emit(JNC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2625 }
2626}
2627
2628impl<'a> JncEmitter<Sym> for Assembler<'a> {
2629 fn jnc(&mut self, op0: Sym) {
2630 self.emit(JNC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2631 }
2632}
2633
2634impl<'a> JncEmitter<Label> for Assembler<'a> {
2635 fn jnc(&mut self, op0: Label) {
2636 self.emit(JNC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2637 }
2638}
2639
2640pub trait JnoEmitter<A> {
2658 fn jno(&mut self, op0: A);
2659}
2660
2661impl<'a> JnoEmitter<Imm> for Assembler<'a> {
2662 fn jno(&mut self, op0: Imm) {
2663 self.emit(JNO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2664 }
2665}
2666
2667impl<'a> JnoEmitter<Sym> for Assembler<'a> {
2668 fn jno(&mut self, op0: Sym) {
2669 self.emit(JNO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2670 }
2671}
2672
2673impl<'a> JnoEmitter<Label> for Assembler<'a> {
2674 fn jno(&mut self, op0: Label) {
2675 self.emit(JNO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2676 }
2677}
2678
2679pub trait JnpEmitter<A> {
2697 fn jnp(&mut self, op0: A);
2698}
2699
2700impl<'a> JnpEmitter<Imm> for Assembler<'a> {
2701 fn jnp(&mut self, op0: Imm) {
2702 self.emit(JNP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2703 }
2704}
2705
2706impl<'a> JnpEmitter<Sym> for Assembler<'a> {
2707 fn jnp(&mut self, op0: Sym) {
2708 self.emit(JNP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2709 }
2710}
2711
2712impl<'a> JnpEmitter<Label> for Assembler<'a> {
2713 fn jnp(&mut self, op0: Label) {
2714 self.emit(JNP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2715 }
2716}
2717
2718pub trait JnsEmitter<A> {
2736 fn jns(&mut self, op0: A);
2737}
2738
2739impl<'a> JnsEmitter<Imm> for Assembler<'a> {
2740 fn jns(&mut self, op0: Imm) {
2741 self.emit(JNS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2742 }
2743}
2744
2745impl<'a> JnsEmitter<Sym> for Assembler<'a> {
2746 fn jns(&mut self, op0: Sym) {
2747 self.emit(JNS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2748 }
2749}
2750
2751impl<'a> JnsEmitter<Label> for Assembler<'a> {
2752 fn jns(&mut self, op0: Label) {
2753 self.emit(JNS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2754 }
2755}
2756
2757pub trait JnzEmitter<A> {
2775 fn jnz(&mut self, op0: A);
2776}
2777
2778impl<'a> JnzEmitter<Imm> for Assembler<'a> {
2779 fn jnz(&mut self, op0: Imm) {
2780 self.emit(JNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2781 }
2782}
2783
2784impl<'a> JnzEmitter<Sym> for Assembler<'a> {
2785 fn jnz(&mut self, op0: Sym) {
2786 self.emit(JNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2787 }
2788}
2789
2790impl<'a> JnzEmitter<Label> for Assembler<'a> {
2791 fn jnz(&mut self, op0: Label) {
2792 self.emit(JNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2793 }
2794}
2795
2796pub trait JoEmitter<A> {
2814 fn jo(&mut self, op0: A);
2815}
2816
2817impl<'a> JoEmitter<Imm> for Assembler<'a> {
2818 fn jo(&mut self, op0: Imm) {
2819 self.emit(JO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2820 }
2821}
2822
2823impl<'a> JoEmitter<Sym> for Assembler<'a> {
2824 fn jo(&mut self, op0: Sym) {
2825 self.emit(JO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2826 }
2827}
2828
2829impl<'a> JoEmitter<Label> for Assembler<'a> {
2830 fn jo(&mut self, op0: Label) {
2831 self.emit(JO, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2832 }
2833}
2834
2835pub trait JpEmitter<A> {
2853 fn jp(&mut self, op0: A);
2854}
2855
2856impl<'a> JpEmitter<Imm> for Assembler<'a> {
2857 fn jp(&mut self, op0: Imm) {
2858 self.emit(JP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2859 }
2860}
2861
2862impl<'a> JpEmitter<Sym> for Assembler<'a> {
2863 fn jp(&mut self, op0: Sym) {
2864 self.emit(JP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2865 }
2866}
2867
2868impl<'a> JpEmitter<Label> for Assembler<'a> {
2869 fn jp(&mut self, op0: Label) {
2870 self.emit(JP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2871 }
2872}
2873
2874pub trait JsEmitter<A> {
2892 fn js(&mut self, op0: A);
2893}
2894
2895impl<'a> JsEmitter<Imm> for Assembler<'a> {
2896 fn js(&mut self, op0: Imm) {
2897 self.emit(JS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2898 }
2899}
2900
2901impl<'a> JsEmitter<Sym> for Assembler<'a> {
2902 fn js(&mut self, op0: Sym) {
2903 self.emit(JS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2904 }
2905}
2906
2907impl<'a> JsEmitter<Label> for Assembler<'a> {
2908 fn js(&mut self, op0: Label) {
2909 self.emit(JS, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2910 }
2911}
2912
2913pub trait JzEmitter<A> {
2931 fn jz(&mut self, op0: A);
2932}
2933
2934impl<'a> JzEmitter<Imm> for Assembler<'a> {
2935 fn jz(&mut self, op0: Imm) {
2936 self.emit(JZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2937 }
2938}
2939
2940impl<'a> JzEmitter<Sym> for Assembler<'a> {
2941 fn jz(&mut self, op0: Sym) {
2942 self.emit(JZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2943 }
2944}
2945
2946impl<'a> JzEmitter<Label> for Assembler<'a> {
2947 fn jz(&mut self, op0: Label) {
2948 self.emit(JZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2949 }
2950}
2951
2952pub trait JccEmitter<A> {
2970 fn jcc(&mut self, op0: A);
2971}
2972
2973impl<'a> JccEmitter<Imm> for Assembler<'a> {
2974 fn jcc(&mut self, op0: Imm) {
2975 self.emit(JCC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2976 }
2977}
2978
2979impl<'a> JccEmitter<Sym> for Assembler<'a> {
2980 fn jcc(&mut self, op0: Sym) {
2981 self.emit(JCC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2982 }
2983}
2984
2985impl<'a> JccEmitter<Label> for Assembler<'a> {
2986 fn jcc(&mut self, op0: Label) {
2987 self.emit(JCC, op0.as_operand(), &NOREG, &NOREG, &NOREG);
2988 }
2989}
2990
2991pub trait LahfEmitter {
3003 fn lahf(&mut self);
3004}
3005
3006impl<'a> LahfEmitter for Assembler<'a> {
3007 fn lahf(&mut self) {
3008 self.emit(LAHF, &NOREG, &NOREG, &NOREG, &NOREG);
3009 }
3010}
3011
3012pub trait LarEmitter<A, B> {
3033 fn lar(&mut self, op0: A, op1: B);
3034}
3035
3036impl<'a> LarEmitter<Gpw, Gpw> for Assembler<'a> {
3037 fn lar(&mut self, op0: Gpw, op1: Gpw) {
3038 self.emit(LAR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3039 }
3040}
3041
3042impl<'a> LarEmitter<Gpw, Mem> for Assembler<'a> {
3043 fn lar(&mut self, op0: Gpw, op1: Mem) {
3044 self.emit(LAR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3045 }
3046}
3047
3048impl<'a> LarEmitter<Gpd, Gpw> for Assembler<'a> {
3049 fn lar(&mut self, op0: Gpd, op1: Gpw) {
3050 self.emit(LAR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3051 }
3052}
3053
3054impl<'a> LarEmitter<Gpd, Mem> for Assembler<'a> {
3055 fn lar(&mut self, op0: Gpd, op1: Mem) {
3056 self.emit(LAR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3057 }
3058}
3059
3060impl<'a> LarEmitter<Gpq, Gpw> for Assembler<'a> {
3061 fn lar(&mut self, op0: Gpq, op1: Gpw) {
3062 self.emit(LAR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3063 }
3064}
3065
3066impl<'a> LarEmitter<Gpq, Mem> for Assembler<'a> {
3067 fn lar(&mut self, op0: Gpq, op1: Mem) {
3068 self.emit(LAR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3069 }
3070}
3071
3072pub trait LdtilecfgEmitter<A> {
3084 fn ldtilecfg(&mut self, op0: A);
3085}
3086
3087impl<'a> LdtilecfgEmitter<Mem> for Assembler<'a> {
3088 fn ldtilecfg(&mut self, op0: Mem) {
3089 self.emit(LDTILECFGM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3090 }
3091}
3092
3093pub trait LeaEmitter<A, B> {
3111 fn lea(&mut self, op0: A, op1: B);
3112}
3113
3114impl<'a> LeaEmitter<Gpw, Mem> for Assembler<'a> {
3115 fn lea(&mut self, op0: Gpw, op1: Mem) {
3116 self.emit(LEA16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3117 }
3118}
3119
3120impl<'a> LeaEmitter<Gpd, Mem> for Assembler<'a> {
3121 fn lea(&mut self, op0: Gpd, op1: Mem) {
3122 self.emit(LEA32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3123 }
3124}
3125
3126impl<'a> LeaEmitter<Gpq, Mem> for Assembler<'a> {
3127 fn lea(&mut self, op0: Gpq, op1: Mem) {
3128 self.emit(LEA64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3129 }
3130}
3131
3132pub trait LeaveEmitter {
3148 fn leave(&mut self);
3149}
3150
3151impl<'a> LeaveEmitter for Assembler<'a> {
3152 fn leave(&mut self) {
3153 self.emit(LEAVE16, &NOREG, &NOREG, &NOREG, &NOREG);
3154 }
3155}
3156
3157pub trait LfsEmitter<A, B> {
3175 fn lfs(&mut self, op0: A, op1: B);
3176}
3177
3178impl<'a> LfsEmitter<Gpw, Mem> for Assembler<'a> {
3179 fn lfs(&mut self, op0: Gpw, op1: Mem) {
3180 self.emit(LFS16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3181 }
3182}
3183
3184impl<'a> LfsEmitter<Gpd, Mem> for Assembler<'a> {
3185 fn lfs(&mut self, op0: Gpd, op1: Mem) {
3186 self.emit(LFS32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3187 }
3188}
3189
3190impl<'a> LfsEmitter<Gpq, Mem> for Assembler<'a> {
3191 fn lfs(&mut self, op0: Gpq, op1: Mem) {
3192 self.emit(LFS64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3193 }
3194}
3195
3196pub trait LgdtEmitter<A> {
3212 fn lgdt(&mut self, op0: A);
3213}
3214
3215impl<'a> LgdtEmitter<Mem> for Assembler<'a> {
3216 fn lgdt(&mut self, op0: Mem) {
3217 self.emit(LGDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3218 }
3219}
3220
3221pub trait LgsEmitter<A, B> {
3239 fn lgs(&mut self, op0: A, op1: B);
3240}
3241
3242impl<'a> LgsEmitter<Gpw, Mem> for Assembler<'a> {
3243 fn lgs(&mut self, op0: Gpw, op1: Mem) {
3244 self.emit(LGS16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3245 }
3246}
3247
3248impl<'a> LgsEmitter<Gpd, Mem> for Assembler<'a> {
3249 fn lgs(&mut self, op0: Gpd, op1: Mem) {
3250 self.emit(LGS32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3251 }
3252}
3253
3254impl<'a> LgsEmitter<Gpq, Mem> for Assembler<'a> {
3255 fn lgs(&mut self, op0: Gpq, op1: Mem) {
3256 self.emit(LGS64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3257 }
3258}
3259
3260pub trait LidtEmitter<A> {
3276 fn lidt(&mut self, op0: A);
3277}
3278
3279impl<'a> LidtEmitter<Mem> for Assembler<'a> {
3280 fn lidt(&mut self, op0: Mem) {
3281 self.emit(LIDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3282 }
3283}
3284
3285pub trait LldtEmitter<A> {
3302 fn lldt(&mut self, op0: A);
3303}
3304
3305impl<'a> LldtEmitter<Gpd> for Assembler<'a> {
3306 fn lldt(&mut self, op0: Gpd) {
3307 self.emit(LLDTR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3308 }
3309}
3310
3311impl<'a> LldtEmitter<Mem> for Assembler<'a> {
3312 fn lldt(&mut self, op0: Mem) {
3313 self.emit(LLDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3314 }
3315}
3316
3317pub trait LmswEmitter<A> {
3334 fn lmsw(&mut self, op0: A);
3335}
3336
3337impl<'a> LmswEmitter<Gpd> for Assembler<'a> {
3338 fn lmsw(&mut self, op0: Gpd) {
3339 self.emit(LMSWR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3340 }
3341}
3342
3343impl<'a> LmswEmitter<Mem> for Assembler<'a> {
3344 fn lmsw(&mut self, op0: Mem) {
3345 self.emit(LMSWM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3346 }
3347}
3348
3349pub trait LodsEmitter {
3365 fn lods(&mut self);
3366}
3367
3368impl<'a> LodsEmitter for Assembler<'a> {
3369 fn lods(&mut self) {
3370 self.emit(LODS8, &NOREG, &NOREG, &NOREG, &NOREG);
3371 }
3372}
3373
3374pub trait LoopEmitter<A> {
3392 fn r#loop(&mut self, op0: A);
3393}
3394
3395impl<'a> LoopEmitter<Imm> for Assembler<'a> {
3396 fn r#loop(&mut self, op0: Imm) {
3397 self.emit(LOOP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3398 }
3399}
3400
3401impl<'a> LoopEmitter<Sym> for Assembler<'a> {
3402 fn r#loop(&mut self, op0: Sym) {
3403 self.emit(LOOP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3404 }
3405}
3406
3407impl<'a> LoopEmitter<Label> for Assembler<'a> {
3408 fn r#loop(&mut self, op0: Label) {
3409 self.emit(LOOP, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3410 }
3411}
3412
3413pub trait LoopnzEmitter<A> {
3427 fn loopnz(&mut self, op0: A);
3428}
3429
3430impl<'a> LoopnzEmitter<Imm> for Assembler<'a> {
3431 fn loopnz(&mut self, op0: Imm) {
3432 self.emit(LOOPNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3433 }
3434}
3435
3436impl<'a> LoopnzEmitter<Sym> for Assembler<'a> {
3437 fn loopnz(&mut self, op0: Sym) {
3438 self.emit(LOOPNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3439 }
3440}
3441
3442impl<'a> LoopnzEmitter<Label> for Assembler<'a> {
3443 fn loopnz(&mut self, op0: Label) {
3444 self.emit(LOOPNZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3445 }
3446}
3447
3448pub trait LoopzEmitter<A> {
3462 fn loopz(&mut self, op0: A);
3463}
3464
3465impl<'a> LoopzEmitter<Imm> for Assembler<'a> {
3466 fn loopz(&mut self, op0: Imm) {
3467 self.emit(LOOPZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3468 }
3469}
3470
3471impl<'a> LoopzEmitter<Sym> for Assembler<'a> {
3472 fn loopz(&mut self, op0: Sym) {
3473 self.emit(LOOPZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3474 }
3475}
3476
3477impl<'a> LoopzEmitter<Label> for Assembler<'a> {
3478 fn loopz(&mut self, op0: Label) {
3479 self.emit(LOOPZ, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3480 }
3481}
3482
3483pub trait LslEmitter<A, B> {
3504 fn lsl(&mut self, op0: A, op1: B);
3505}
3506
3507impl<'a> LslEmitter<Gpw, Gpw> for Assembler<'a> {
3508 fn lsl(&mut self, op0: Gpw, op1: Gpw) {
3509 self.emit(LSL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3510 }
3511}
3512
3513impl<'a> LslEmitter<Gpw, Mem> for Assembler<'a> {
3514 fn lsl(&mut self, op0: Gpw, op1: Mem) {
3515 self.emit(LSL16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3516 }
3517}
3518
3519impl<'a> LslEmitter<Gpd, Gpw> for Assembler<'a> {
3520 fn lsl(&mut self, op0: Gpd, op1: Gpw) {
3521 self.emit(LSL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3522 }
3523}
3524
3525impl<'a> LslEmitter<Gpd, Mem> for Assembler<'a> {
3526 fn lsl(&mut self, op0: Gpd, op1: Mem) {
3527 self.emit(LSL32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3528 }
3529}
3530
3531impl<'a> LslEmitter<Gpq, Gpw> for Assembler<'a> {
3532 fn lsl(&mut self, op0: Gpq, op1: Gpw) {
3533 self.emit(LSL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3534 }
3535}
3536
3537impl<'a> LslEmitter<Gpq, Mem> for Assembler<'a> {
3538 fn lsl(&mut self, op0: Gpq, op1: Mem) {
3539 self.emit(LSL64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3540 }
3541}
3542
3543pub trait LssEmitter<A, B> {
3561 fn lss(&mut self, op0: A, op1: B);
3562}
3563
3564impl<'a> LssEmitter<Gpw, Mem> for Assembler<'a> {
3565 fn lss(&mut self, op0: Gpw, op1: Mem) {
3566 self.emit(LSS16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3567 }
3568}
3569
3570impl<'a> LssEmitter<Gpd, Mem> for Assembler<'a> {
3571 fn lss(&mut self, op0: Gpd, op1: Mem) {
3572 self.emit(LSS32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3573 }
3574}
3575
3576impl<'a> LssEmitter<Gpq, Mem> for Assembler<'a> {
3577 fn lss(&mut self, op0: Gpq, op1: Mem) {
3578 self.emit(LSS64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3579 }
3580}
3581
3582pub trait LtrEmitter<A> {
3599 fn ltr(&mut self, op0: A);
3600}
3601
3602impl<'a> LtrEmitter<Gpd> for Assembler<'a> {
3603 fn ltr(&mut self, op0: Gpd) {
3604 self.emit(LTRR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3605 }
3606}
3607
3608impl<'a> LtrEmitter<Mem> for Assembler<'a> {
3609 fn ltr(&mut self, op0: Mem) {
3610 self.emit(LTRM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
3611 }
3612}
3613
3614pub trait MovEmitter<A, B> {
3654 fn mov(&mut self, op0: A, op1: B);
3655}
3656
3657impl<'a> MovEmitter<GpbLo, GpbLo> for Assembler<'a> {
3658 fn mov(&mut self, op0: GpbLo, op1: GpbLo) {
3659 self.emit(MOV8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3660 }
3661}
3662
3663impl<'a> MovEmitter<Mem, GpbLo> for Assembler<'a> {
3664 fn mov(&mut self, op0: Mem, op1: GpbLo) {
3665 self.emit(MOV8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3666 }
3667}
3668
3669impl<'a> MovEmitter<Gpw, Gpw> for Assembler<'a> {
3670 fn mov(&mut self, op0: Gpw, op1: Gpw) {
3671 self.emit(MOV16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3672 }
3673}
3674
3675impl<'a> MovEmitter<Mem, Gpw> for Assembler<'a> {
3676 fn mov(&mut self, op0: Mem, op1: Gpw) {
3677 self.emit(MOV16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3678 }
3679}
3680
3681impl<'a> MovEmitter<Gpd, Gpd> for Assembler<'a> {
3682 fn mov(&mut self, op0: Gpd, op1: Gpd) {
3683 self.emit(MOV32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3684 }
3685}
3686
3687impl<'a> MovEmitter<Mem, Gpd> for Assembler<'a> {
3688 fn mov(&mut self, op0: Mem, op1: Gpd) {
3689 self.emit(MOV32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3690 }
3691}
3692
3693impl<'a> MovEmitter<Gpq, Gpq> for Assembler<'a> {
3694 fn mov(&mut self, op0: Gpq, op1: Gpq) {
3695 self.emit(MOV64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3696 }
3697}
3698
3699impl<'a> MovEmitter<Mem, Gpq> for Assembler<'a> {
3700 fn mov(&mut self, op0: Mem, op1: Gpq) {
3701 self.emit(MOV64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3702 }
3703}
3704
3705impl<'a> MovEmitter<GpbLo, Mem> for Assembler<'a> {
3706 fn mov(&mut self, op0: GpbLo, op1: Mem) {
3707 self.emit(MOV8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3708 }
3709}
3710
3711impl<'a> MovEmitter<Gpw, Mem> for Assembler<'a> {
3712 fn mov(&mut self, op0: Gpw, op1: Mem) {
3713 self.emit(MOV16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3714 }
3715}
3716
3717impl<'a> MovEmitter<Gpd, Mem> for Assembler<'a> {
3718 fn mov(&mut self, op0: Gpd, op1: Mem) {
3719 self.emit(MOV32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3720 }
3721}
3722
3723impl<'a> MovEmitter<Gpq, Mem> for Assembler<'a> {
3724 fn mov(&mut self, op0: Gpq, op1: Mem) {
3725 self.emit(MOV64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3726 }
3727}
3728
3729impl<'a> MovEmitter<GpbLo, AbsoluteAddress> for Assembler<'a> {
3730 fn mov(&mut self, op0: GpbLo, op1: AbsoluteAddress) {
3731 self.emit(MOV8RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3732 }
3733}
3734
3735impl<'a> MovEmitter<Gpw, AbsoluteAddress> for Assembler<'a> {
3736 fn mov(&mut self, op0: Gpw, op1: AbsoluteAddress) {
3737 self.emit(MOV16RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3738 }
3739}
3740
3741impl<'a> MovEmitter<Gpd, AbsoluteAddress> for Assembler<'a> {
3742 fn mov(&mut self, op0: Gpd, op1: AbsoluteAddress) {
3743 self.emit(MOV32RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3744 }
3745}
3746
3747impl<'a> MovEmitter<Gpq, AbsoluteAddress> for Assembler<'a> {
3748 fn mov(&mut self, op0: Gpq, op1: AbsoluteAddress) {
3749 self.emit(MOV64RA, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3750 }
3751}
3752
3753impl<'a> MovEmitter<AbsoluteAddress, GpbLo> for Assembler<'a> {
3754 fn mov(&mut self, op0: AbsoluteAddress, op1: GpbLo) {
3755 self.emit(MOV8AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3756 }
3757}
3758
3759impl<'a> MovEmitter<AbsoluteAddress, Gpw> for Assembler<'a> {
3760 fn mov(&mut self, op0: AbsoluteAddress, op1: Gpw) {
3761 self.emit(MOV16AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3762 }
3763}
3764
3765impl<'a> MovEmitter<AbsoluteAddress, Gpd> for Assembler<'a> {
3766 fn mov(&mut self, op0: AbsoluteAddress, op1: Gpd) {
3767 self.emit(MOV32AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3768 }
3769}
3770
3771impl<'a> MovEmitter<AbsoluteAddress, Gpq> for Assembler<'a> {
3772 fn mov(&mut self, op0: AbsoluteAddress, op1: Gpq) {
3773 self.emit(MOV64AR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3774 }
3775}
3776
3777impl<'a> MovEmitter<GpbLo, Imm> for Assembler<'a> {
3778 fn mov(&mut self, op0: GpbLo, op1: Imm) {
3779 self.emit(MOV8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3780 }
3781}
3782
3783impl<'a> MovEmitter<Gpw, Imm> for Assembler<'a> {
3784 fn mov(&mut self, op0: Gpw, op1: Imm) {
3785 self.emit(MOV16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3786 }
3787}
3788
3789impl<'a> MovEmitter<Gpd, Imm> for Assembler<'a> {
3790 fn mov(&mut self, op0: Gpd, op1: Imm) {
3791 self.emit(MOV32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3792 }
3793}
3794
3795impl<'a> MovEmitter<Gpq, Imm> for Assembler<'a> {
3796 fn mov(&mut self, op0: Gpq, op1: Imm) {
3797 self.emit(MOV64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3798 }
3799}
3800
3801impl<'a> MovEmitter<Mem, Imm> for Assembler<'a> {
3802 fn mov(&mut self, op0: Mem, op1: Imm) {
3803 self.emit(MOV8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3804 }
3805}
3806
3807pub trait MovsEmitter {
3823 fn movs(&mut self);
3824}
3825
3826impl<'a> MovsEmitter for Assembler<'a> {
3827 fn movs(&mut self) {
3828 self.emit(MOVS8, &NOREG, &NOREG, &NOREG, &NOREG);
3829 }
3830}
3831
3832pub trait MovsxEmitter<A, B> {
3859 fn movsx(&mut self, op0: A, op1: B);
3860}
3861
3862impl<'a> MovsxEmitter<Gpw, Gpd> for Assembler<'a> {
3863 fn movsx(&mut self, op0: Gpw, op1: Gpd) {
3864 self.emit(MOVSXR16R32, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3865 }
3866}
3867
3868impl<'a> MovsxEmitter<Gpw, Mem> for Assembler<'a> {
3869 fn movsx(&mut self, op0: Gpw, op1: Mem) {
3870 self.emit(MOVSXR16M32, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3871 }
3872}
3873
3874impl<'a> MovsxEmitter<Gpd, Gpd> for Assembler<'a> {
3875 fn movsx(&mut self, op0: Gpd, op1: Gpd) {
3876 self.emit(MOVSXR32R32, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3877 }
3878}
3879
3880impl<'a> MovsxEmitter<Gpd, Mem> for Assembler<'a> {
3881 fn movsx(&mut self, op0: Gpd, op1: Mem) {
3882 self.emit(MOVSXR32M32, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3883 }
3884}
3885
3886impl<'a> MovsxEmitter<Gpq, Gpd> for Assembler<'a> {
3887 fn movsx(&mut self, op0: Gpq, op1: Gpd) {
3888 self.emit(MOVSXR64R32, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3889 }
3890}
3891
3892impl<'a> MovsxEmitter<Gpq, Mem> for Assembler<'a> {
3893 fn movsx(&mut self, op0: Gpq, op1: Mem) {
3894 self.emit(MOVSXR64M32, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3895 }
3896}
3897
3898impl<'a> MovsxEmitter<Gpw, GpbLo> for Assembler<'a> {
3899 fn movsx(&mut self, op0: Gpw, op1: GpbLo) {
3900 self.emit(MOVSXR16R8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3901 }
3902}
3903
3904impl<'a> MovsxEmitter<Gpd, GpbLo> for Assembler<'a> {
3905 fn movsx(&mut self, op0: Gpd, op1: GpbLo) {
3906 self.emit(MOVSXR32R8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3907 }
3908}
3909
3910impl<'a> MovsxEmitter<Gpq, GpbLo> for Assembler<'a> {
3911 fn movsx(&mut self, op0: Gpq, op1: GpbLo) {
3912 self.emit(MOVSXR64R8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3913 }
3914}
3915
3916impl<'a> MovsxEmitter<Gpw, Gpw> for Assembler<'a> {
3917 fn movsx(&mut self, op0: Gpw, op1: Gpw) {
3918 self.emit(MOVSXR16R16, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3919 }
3920}
3921
3922impl<'a> MovsxEmitter<Gpd, Gpw> for Assembler<'a> {
3923 fn movsx(&mut self, op0: Gpd, op1: Gpw) {
3924 self.emit(MOVSXR32R16, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3925 }
3926}
3927
3928impl<'a> MovsxEmitter<Gpq, Gpw> for Assembler<'a> {
3929 fn movsx(&mut self, op0: Gpq, op1: Gpw) {
3930 self.emit(MOVSXR64R16, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3931 }
3932}
3933
3934pub trait MovzxEmitter<A, B> {
3958 fn movzx(&mut self, op0: A, op1: B);
3959}
3960
3961impl<'a> MovzxEmitter<Gpw, GpbLo> for Assembler<'a> {
3962 fn movzx(&mut self, op0: Gpw, op1: GpbLo) {
3963 self.emit(MOVZXR16R8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3964 }
3965}
3966
3967impl<'a> MovzxEmitter<Gpw, Mem> for Assembler<'a> {
3968 fn movzx(&mut self, op0: Gpw, op1: Mem) {
3969 self.emit(MOVZXR16M8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3970 }
3971}
3972
3973impl<'a> MovzxEmitter<Gpd, GpbLo> for Assembler<'a> {
3974 fn movzx(&mut self, op0: Gpd, op1: GpbLo) {
3975 self.emit(MOVZXR32R8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3976 }
3977}
3978
3979impl<'a> MovzxEmitter<Gpd, Mem> for Assembler<'a> {
3980 fn movzx(&mut self, op0: Gpd, op1: Mem) {
3981 self.emit(MOVZXR32M8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3982 }
3983}
3984
3985impl<'a> MovzxEmitter<Gpq, GpbLo> for Assembler<'a> {
3986 fn movzx(&mut self, op0: Gpq, op1: GpbLo) {
3987 self.emit(MOVZXR64R8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3988 }
3989}
3990
3991impl<'a> MovzxEmitter<Gpq, Mem> for Assembler<'a> {
3992 fn movzx(&mut self, op0: Gpq, op1: Mem) {
3993 self.emit(MOVZXR64M8, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
3994 }
3995}
3996
3997impl<'a> MovzxEmitter<Gpw, Gpw> for Assembler<'a> {
3998 fn movzx(&mut self, op0: Gpw, op1: Gpw) {
3999 self.emit(MOVZXR16R16, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4000 }
4001}
4002
4003impl<'a> MovzxEmitter<Gpd, Gpw> for Assembler<'a> {
4004 fn movzx(&mut self, op0: Gpd, op1: Gpw) {
4005 self.emit(MOVZXR32R16, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4006 }
4007}
4008
4009impl<'a> MovzxEmitter<Gpq, Gpw> for Assembler<'a> {
4010 fn movzx(&mut self, op0: Gpq, op1: Gpw) {
4011 self.emit(MOVZXR64R16, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4012 }
4013}
4014
4015pub trait MovCr2gEmitter<A, B> {
4027 fn mov_cr2g(&mut self, op0: A, op1: B);
4028}
4029
4030impl<'a> MovCr2gEmitter<Gpq, CReg> for Assembler<'a> {
4031 fn mov_cr2g(&mut self, op0: Gpq, op1: CReg) {
4032 self.emit(MOV_CR2GRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4033 }
4034}
4035
4036pub trait MovDr2gEmitter<A, B> {
4048 fn mov_dr2g(&mut self, op0: A, op1: B);
4049}
4050
4051impl<'a> MovDr2gEmitter<Gpq, DReg> for Assembler<'a> {
4052 fn mov_dr2g(&mut self, op0: Gpq, op1: DReg) {
4053 self.emit(MOV_DR2GRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4054 }
4055}
4056
4057pub trait MovG2crEmitter<A, B> {
4069 fn mov_g2cr(&mut self, op0: A, op1: B);
4070}
4071
4072impl<'a> MovG2crEmitter<CReg, Gpq> for Assembler<'a> {
4073 fn mov_g2cr(&mut self, op0: CReg, op1: Gpq) {
4074 self.emit(MOV_G2CRRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4075 }
4076}
4077
4078pub trait MovG2drEmitter<A, B> {
4090 fn mov_g2dr(&mut self, op0: A, op1: B);
4091}
4092
4093impl<'a> MovG2drEmitter<DReg, Gpq> for Assembler<'a> {
4094 fn mov_g2dr(&mut self, op0: DReg, op1: Gpq) {
4095 self.emit(MOV_G2DRRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4096 }
4097}
4098
4099pub trait MovG2sEmitter<A, B> {
4116 fn mov_g2s(&mut self, op0: A, op1: B);
4117}
4118
4119impl<'a> MovG2sEmitter<SReg, Gpd> for Assembler<'a> {
4120 fn mov_g2s(&mut self, op0: SReg, op1: Gpd) {
4121 self.emit(MOV_G2SRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4122 }
4123}
4124
4125impl<'a> MovG2sEmitter<SReg, Mem> for Assembler<'a> {
4126 fn mov_g2s(&mut self, op0: SReg, op1: Mem) {
4127 self.emit(MOV_G2SRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4128 }
4129}
4130
4131pub trait MovS2gEmitter<A, B> {
4148 fn mov_s2g(&mut self, op0: A, op1: B);
4149}
4150
4151impl<'a> MovS2gEmitter<Gpd, SReg> for Assembler<'a> {
4152 fn mov_s2g(&mut self, op0: Gpd, op1: SReg) {
4153 self.emit(MOV_S2GRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4154 }
4155}
4156
4157impl<'a> MovS2gEmitter<Mem, SReg> for Assembler<'a> {
4158 fn mov_s2g(&mut self, op0: Mem, op1: SReg) {
4159 self.emit(MOV_S2GMR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4160 }
4161}
4162
4163pub trait MulEmitter<A> {
4183 fn mul(&mut self, op0: A);
4184}
4185
4186impl<'a> MulEmitter<GpbLo> for Assembler<'a> {
4187 fn mul(&mut self, op0: GpbLo) {
4188 self.emit(MUL8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4189 }
4190}
4191
4192impl<'a> MulEmitter<Mem> for Assembler<'a> {
4193 fn mul(&mut self, op0: Mem) {
4194 self.emit(MUL8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4195 }
4196}
4197
4198impl<'a> MulEmitter<Gpw> for Assembler<'a> {
4199 fn mul(&mut self, op0: Gpw) {
4200 self.emit(MUL16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4201 }
4202}
4203
4204impl<'a> MulEmitter<Gpd> for Assembler<'a> {
4205 fn mul(&mut self, op0: Gpd) {
4206 self.emit(MUL32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4207 }
4208}
4209
4210impl<'a> MulEmitter<Gpq> for Assembler<'a> {
4211 fn mul(&mut self, op0: Gpq) {
4212 self.emit(MUL64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4213 }
4214}
4215
4216pub trait NegEmitter<A> {
4236 fn neg(&mut self, op0: A);
4237}
4238
4239impl<'a> NegEmitter<GpbLo> for Assembler<'a> {
4240 fn neg(&mut self, op0: GpbLo) {
4241 self.emit(NEG8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4242 }
4243}
4244
4245impl<'a> NegEmitter<Mem> for Assembler<'a> {
4246 fn neg(&mut self, op0: Mem) {
4247 self.emit(NEG8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4248 }
4249}
4250
4251impl<'a> NegEmitter<Gpw> for Assembler<'a> {
4252 fn neg(&mut self, op0: Gpw) {
4253 self.emit(NEG16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4254 }
4255}
4256
4257impl<'a> NegEmitter<Gpd> for Assembler<'a> {
4258 fn neg(&mut self, op0: Gpd) {
4259 self.emit(NEG32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4260 }
4261}
4262
4263impl<'a> NegEmitter<Gpq> for Assembler<'a> {
4264 fn neg(&mut self, op0: Gpq) {
4265 self.emit(NEG64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4266 }
4267}
4268
4269pub trait NopEmitter {
4285 fn nop(&mut self);
4286}
4287
4288impl<'a> NopEmitter for Assembler<'a> {
4289 fn nop(&mut self) {
4290 self.emit(NOP, &NOREG, &NOREG, &NOREG, &NOREG);
4291 }
4292}
4293
4294pub trait NopEmitter_1<A> {
4313 fn nop_1(&mut self, op0: A);
4314}
4315
4316impl<'a> NopEmitter_1<Gpw> for Assembler<'a> {
4317 fn nop_1(&mut self, op0: Gpw) {
4318 self.emit(NOP16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4319 }
4320}
4321
4322impl<'a> NopEmitter_1<Mem> for Assembler<'a> {
4323 fn nop_1(&mut self, op0: Mem) {
4324 self.emit(NOP16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4325 }
4326}
4327
4328impl<'a> NopEmitter_1<Gpd> for Assembler<'a> {
4329 fn nop_1(&mut self, op0: Gpd) {
4330 self.emit(NOP32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4331 }
4332}
4333
4334impl<'a> NopEmitter_1<Gpq> for Assembler<'a> {
4335 fn nop_1(&mut self, op0: Gpq) {
4336 self.emit(NOP64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4337 }
4338}
4339
4340pub trait NotEmitter<A> {
4360 fn not(&mut self, op0: A);
4361}
4362
4363impl<'a> NotEmitter<GpbLo> for Assembler<'a> {
4364 fn not(&mut self, op0: GpbLo) {
4365 self.emit(NOT8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4366 }
4367}
4368
4369impl<'a> NotEmitter<Mem> for Assembler<'a> {
4370 fn not(&mut self, op0: Mem) {
4371 self.emit(NOT8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4372 }
4373}
4374
4375impl<'a> NotEmitter<Gpw> for Assembler<'a> {
4376 fn not(&mut self, op0: Gpw) {
4377 self.emit(NOT16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4378 }
4379}
4380
4381impl<'a> NotEmitter<Gpd> for Assembler<'a> {
4382 fn not(&mut self, op0: Gpd) {
4383 self.emit(NOT32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4384 }
4385}
4386
4387impl<'a> NotEmitter<Gpq> for Assembler<'a> {
4388 fn not(&mut self, op0: Gpq) {
4389 self.emit(NOT64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4390 }
4391}
4392
4393pub trait OrEmitter<A, B> {
4425 fn or(&mut self, op0: A, op1: B);
4426}
4427
4428impl<'a> OrEmitter<GpbLo, GpbLo> for Assembler<'a> {
4429 fn or(&mut self, op0: GpbLo, op1: GpbLo) {
4430 self.emit(OR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4431 }
4432}
4433
4434impl<'a> OrEmitter<Mem, GpbLo> for Assembler<'a> {
4435 fn or(&mut self, op0: Mem, op1: GpbLo) {
4436 self.emit(OR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4437 }
4438}
4439
4440impl<'a> OrEmitter<Gpw, Gpw> for Assembler<'a> {
4441 fn or(&mut self, op0: Gpw, op1: Gpw) {
4442 self.emit(OR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4443 }
4444}
4445
4446impl<'a> OrEmitter<Mem, Gpw> for Assembler<'a> {
4447 fn or(&mut self, op0: Mem, op1: Gpw) {
4448 self.emit(OR16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4449 }
4450}
4451
4452impl<'a> OrEmitter<Gpd, Gpd> for Assembler<'a> {
4453 fn or(&mut self, op0: Gpd, op1: Gpd) {
4454 self.emit(OR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4455 }
4456}
4457
4458impl<'a> OrEmitter<Mem, Gpd> for Assembler<'a> {
4459 fn or(&mut self, op0: Mem, op1: Gpd) {
4460 self.emit(OR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4461 }
4462}
4463
4464impl<'a> OrEmitter<Gpq, Gpq> for Assembler<'a> {
4465 fn or(&mut self, op0: Gpq, op1: Gpq) {
4466 self.emit(OR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4467 }
4468}
4469
4470impl<'a> OrEmitter<Mem, Gpq> for Assembler<'a> {
4471 fn or(&mut self, op0: Mem, op1: Gpq) {
4472 self.emit(OR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4473 }
4474}
4475
4476impl<'a> OrEmitter<GpbLo, Mem> for Assembler<'a> {
4477 fn or(&mut self, op0: GpbLo, op1: Mem) {
4478 self.emit(OR8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4479 }
4480}
4481
4482impl<'a> OrEmitter<Gpw, Mem> for Assembler<'a> {
4483 fn or(&mut self, op0: Gpw, op1: Mem) {
4484 self.emit(OR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4485 }
4486}
4487
4488impl<'a> OrEmitter<Gpd, Mem> for Assembler<'a> {
4489 fn or(&mut self, op0: Gpd, op1: Mem) {
4490 self.emit(OR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4491 }
4492}
4493
4494impl<'a> OrEmitter<Gpq, Mem> for Assembler<'a> {
4495 fn or(&mut self, op0: Gpq, op1: Mem) {
4496 self.emit(OR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4497 }
4498}
4499
4500impl<'a> OrEmitter<GpbLo, Imm> for Assembler<'a> {
4501 fn or(&mut self, op0: GpbLo, op1: Imm) {
4502 self.emit(OR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4503 }
4504}
4505
4506impl<'a> OrEmitter<Gpw, Imm> for Assembler<'a> {
4507 fn or(&mut self, op0: Gpw, op1: Imm) {
4508 self.emit(OR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4509 }
4510}
4511
4512impl<'a> OrEmitter<Gpd, Imm> for Assembler<'a> {
4513 fn or(&mut self, op0: Gpd, op1: Imm) {
4514 self.emit(OR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4515 }
4516}
4517
4518impl<'a> OrEmitter<Gpq, Imm> for Assembler<'a> {
4519 fn or(&mut self, op0: Gpq, op1: Imm) {
4520 self.emit(OR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4521 }
4522}
4523
4524impl<'a> OrEmitter<Mem, Imm> for Assembler<'a> {
4525 fn or(&mut self, op0: Mem, op1: Imm) {
4526 self.emit(OR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4527 }
4528}
4529
4530pub trait OutEmitter {
4546 fn r#out(&mut self);
4547}
4548
4549impl<'a> OutEmitter for Assembler<'a> {
4550 fn r#out(&mut self) {
4551 self.emit(OUT8, &NOREG, &NOREG, &NOREG, &NOREG);
4552 }
4553}
4554
4555pub trait OutEmitter_2<A, B> {
4574 fn r#out_2(&mut self, op0: A, op1: B);
4575}
4576
4577impl<'a> OutEmitter_2<GpbLo, Imm> for Assembler<'a> {
4578 fn r#out_2(&mut self, op0: GpbLo, op1: Imm) {
4579 self.emit(OUT8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4580 }
4581}
4582
4583impl<'a> OutEmitter_2<Gpw, Imm> for Assembler<'a> {
4584 fn r#out_2(&mut self, op0: Gpw, op1: Imm) {
4585 self.emit(OUT16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4586 }
4587}
4588
4589impl<'a> OutEmitter_2<Gpd, Imm> for Assembler<'a> {
4590 fn r#out_2(&mut self, op0: Gpd, op1: Imm) {
4591 self.emit(OUT32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4592 }
4593}
4594
4595impl<'a> OutEmitter_2<Gpq, Imm> for Assembler<'a> {
4596 fn r#out_2(&mut self, op0: Gpq, op1: Imm) {
4597 self.emit(OUT64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4598 }
4599}
4600
4601pub trait OutsEmitter {
4617 fn outs(&mut self);
4618}
4619
4620impl<'a> OutsEmitter for Assembler<'a> {
4621 fn outs(&mut self) {
4622 self.emit(OUTS8, &NOREG, &NOREG, &NOREG, &NOREG);
4623 }
4624}
4625
4626pub trait PauseEmitter {
4642 fn pause(&mut self);
4643}
4644
4645impl<'a> PauseEmitter for Assembler<'a> {
4646 fn pause(&mut self) {
4647 self.emit(PAUSE, &NOREG, &NOREG, &NOREG, &NOREG);
4648 }
4649}
4650
4651pub trait PopEmitter<A> {
4669 fn pop(&mut self, op0: A);
4670}
4671
4672impl<'a> PopEmitter<Gpw> for Assembler<'a> {
4673 fn pop(&mut self, op0: Gpw) {
4674 self.emit(POP16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4675 }
4676}
4677
4678impl<'a> PopEmitter<Gpq> for Assembler<'a> {
4679 fn pop(&mut self, op0: Gpq) {
4680 self.emit(POPR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4681 }
4682}
4683
4684impl<'a> PopEmitter<Mem> for Assembler<'a> {
4685 fn pop(&mut self, op0: Mem) {
4686 self.emit(POP16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4687 }
4688}
4689
4690pub trait PopfEmitter {
4706 fn popf(&mut self);
4707}
4708
4709impl<'a> PopfEmitter for Assembler<'a> {
4710 fn popf(&mut self) {
4711 self.emit(POPF16, &NOREG, &NOREG, &NOREG, &NOREG);
4712 }
4713}
4714
4715pub trait PopSegEmitter<A> {
4727 fn pop_seg(&mut self, op0: A);
4728}
4729
4730impl<'a> PopSegEmitter<SReg> for Assembler<'a> {
4731 fn pop_seg(&mut self, op0: SReg) {
4732 self.emit(POP_SEG16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4733 }
4734}
4735
4736pub trait PushEmitter<A> {
4755 fn push(&mut self, op0: A);
4756}
4757
4758impl<'a> PushEmitter<Gpw> for Assembler<'a> {
4759 fn push(&mut self, op0: Gpw) {
4760 self.emit(PUSH16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4761 }
4762}
4763
4764impl<'a> PushEmitter<Gpq> for Assembler<'a> {
4765 fn push(&mut self, op0: Gpq) {
4766 self.emit(PUSHR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4767 }
4768}
4769
4770impl<'a> PushEmitter<Imm> for Assembler<'a> {
4771 fn push(&mut self, op0: Imm) {
4772 self.emit(PUSH16I, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4773 }
4774}
4775
4776impl<'a> PushEmitter<Mem> for Assembler<'a> {
4777 fn push(&mut self, op0: Mem) {
4778 self.emit(PUSH16M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4779 }
4780}
4781
4782pub trait PushfEmitter {
4798 fn pushf(&mut self);
4799}
4800
4801impl<'a> PushfEmitter for Assembler<'a> {
4802 fn pushf(&mut self) {
4803 self.emit(PUSHF16, &NOREG, &NOREG, &NOREG, &NOREG);
4804 }
4805}
4806
4807pub trait PushSegEmitter<A> {
4819 fn push_seg(&mut self, op0: A);
4820}
4821
4822impl<'a> PushSegEmitter<SReg> for Assembler<'a> {
4823 fn push_seg(&mut self, op0: SReg) {
4824 self.emit(PUSH_SEG16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
4825 }
4826}
4827
4828pub trait RclEmitter<A, B> {
4853 fn rcl(&mut self, op0: A, op1: B);
4854}
4855
4856impl<'a> RclEmitter<GpbLo, Imm> for Assembler<'a> {
4857 fn rcl(&mut self, op0: GpbLo, op1: Imm) {
4858 self.emit(RCL8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4859 }
4860}
4861
4862impl<'a> RclEmitter<Mem, Imm> for Assembler<'a> {
4863 fn rcl(&mut self, op0: Mem, op1: Imm) {
4864 self.emit(RCL8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4865 }
4866}
4867
4868impl<'a> RclEmitter<Gpw, Imm> for Assembler<'a> {
4869 fn rcl(&mut self, op0: Gpw, op1: Imm) {
4870 self.emit(RCL16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4871 }
4872}
4873
4874impl<'a> RclEmitter<Gpd, Imm> for Assembler<'a> {
4875 fn rcl(&mut self, op0: Gpd, op1: Imm) {
4876 self.emit(RCL32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4877 }
4878}
4879
4880impl<'a> RclEmitter<Gpq, Imm> for Assembler<'a> {
4881 fn rcl(&mut self, op0: Gpq, op1: Imm) {
4882 self.emit(RCL64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4883 }
4884}
4885
4886impl<'a> RclEmitter<GpbLo, GpbLo> for Assembler<'a> {
4887 fn rcl(&mut self, op0: GpbLo, op1: GpbLo) {
4888 self.emit(RCL8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4889 }
4890}
4891
4892impl<'a> RclEmitter<Mem, GpbLo> for Assembler<'a> {
4893 fn rcl(&mut self, op0: Mem, op1: GpbLo) {
4894 self.emit(RCL8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4895 }
4896}
4897
4898impl<'a> RclEmitter<Gpw, GpbLo> for Assembler<'a> {
4899 fn rcl(&mut self, op0: Gpw, op1: GpbLo) {
4900 self.emit(RCL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4901 }
4902}
4903
4904impl<'a> RclEmitter<Gpd, GpbLo> for Assembler<'a> {
4905 fn rcl(&mut self, op0: Gpd, op1: GpbLo) {
4906 self.emit(RCL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4907 }
4908}
4909
4910impl<'a> RclEmitter<Gpq, GpbLo> for Assembler<'a> {
4911 fn rcl(&mut self, op0: Gpq, op1: GpbLo) {
4912 self.emit(RCL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4913 }
4914}
4915
4916pub trait RcrEmitter<A, B> {
4941 fn rcr(&mut self, op0: A, op1: B);
4942}
4943
4944impl<'a> RcrEmitter<GpbLo, Imm> for Assembler<'a> {
4945 fn rcr(&mut self, op0: GpbLo, op1: Imm) {
4946 self.emit(RCR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4947 }
4948}
4949
4950impl<'a> RcrEmitter<Mem, Imm> for Assembler<'a> {
4951 fn rcr(&mut self, op0: Mem, op1: Imm) {
4952 self.emit(RCR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4953 }
4954}
4955
4956impl<'a> RcrEmitter<Gpw, Imm> for Assembler<'a> {
4957 fn rcr(&mut self, op0: Gpw, op1: Imm) {
4958 self.emit(RCR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4959 }
4960}
4961
4962impl<'a> RcrEmitter<Gpd, Imm> for Assembler<'a> {
4963 fn rcr(&mut self, op0: Gpd, op1: Imm) {
4964 self.emit(RCR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4965 }
4966}
4967
4968impl<'a> RcrEmitter<Gpq, Imm> for Assembler<'a> {
4969 fn rcr(&mut self, op0: Gpq, op1: Imm) {
4970 self.emit(RCR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4971 }
4972}
4973
4974impl<'a> RcrEmitter<GpbLo, GpbLo> for Assembler<'a> {
4975 fn rcr(&mut self, op0: GpbLo, op1: GpbLo) {
4976 self.emit(RCR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4977 }
4978}
4979
4980impl<'a> RcrEmitter<Mem, GpbLo> for Assembler<'a> {
4981 fn rcr(&mut self, op0: Mem, op1: GpbLo) {
4982 self.emit(RCR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4983 }
4984}
4985
4986impl<'a> RcrEmitter<Gpw, GpbLo> for Assembler<'a> {
4987 fn rcr(&mut self, op0: Gpw, op1: GpbLo) {
4988 self.emit(RCR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4989 }
4990}
4991
4992impl<'a> RcrEmitter<Gpd, GpbLo> for Assembler<'a> {
4993 fn rcr(&mut self, op0: Gpd, op1: GpbLo) {
4994 self.emit(RCR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
4995 }
4996}
4997
4998impl<'a> RcrEmitter<Gpq, GpbLo> for Assembler<'a> {
4999 fn rcr(&mut self, op0: Gpq, op1: GpbLo) {
5000 self.emit(RCR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5001 }
5002}
5003
5004pub trait RetEmitter {
5020 fn ret(&mut self);
5021}
5022
5023impl<'a> RetEmitter for Assembler<'a> {
5024 fn ret(&mut self) {
5025 self.emit(RET, &NOREG, &NOREG, &NOREG, &NOREG);
5026 }
5027}
5028
5029pub trait RetEmitter_1<A> {
5045 fn ret_1(&mut self, op0: A);
5046}
5047
5048impl<'a> RetEmitter_1<Imm> for Assembler<'a> {
5049 fn ret_1(&mut self, op0: Imm) {
5050 self.emit(RETI, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5051 }
5052}
5053
5054pub trait RetfEmitter {
5066 fn retf(&mut self);
5067}
5068
5069impl<'a> RetfEmitter for Assembler<'a> {
5070 fn retf(&mut self) {
5071 self.emit(RETF16, &NOREG, &NOREG, &NOREG, &NOREG);
5072 }
5073}
5074
5075pub trait RetfEmitter_1<A> {
5087 fn retf_1(&mut self, op0: A);
5088}
5089
5090impl<'a> RetfEmitter_1<Imm> for Assembler<'a> {
5091 fn retf_1(&mut self, op0: Imm) {
5092 self.emit(RETF16I, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5093 }
5094}
5095
5096pub trait RolEmitter<A, B> {
5121 fn rol(&mut self, op0: A, op1: B);
5122}
5123
5124impl<'a> RolEmitter<GpbLo, Imm> for Assembler<'a> {
5125 fn rol(&mut self, op0: GpbLo, op1: Imm) {
5126 self.emit(ROL8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5127 }
5128}
5129
5130impl<'a> RolEmitter<Mem, Imm> for Assembler<'a> {
5131 fn rol(&mut self, op0: Mem, op1: Imm) {
5132 self.emit(ROL8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5133 }
5134}
5135
5136impl<'a> RolEmitter<Gpw, Imm> for Assembler<'a> {
5137 fn rol(&mut self, op0: Gpw, op1: Imm) {
5138 self.emit(ROL16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5139 }
5140}
5141
5142impl<'a> RolEmitter<Gpd, Imm> for Assembler<'a> {
5143 fn rol(&mut self, op0: Gpd, op1: Imm) {
5144 self.emit(ROL32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5145 }
5146}
5147
5148impl<'a> RolEmitter<Gpq, Imm> for Assembler<'a> {
5149 fn rol(&mut self, op0: Gpq, op1: Imm) {
5150 self.emit(ROL64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5151 }
5152}
5153
5154impl<'a> RolEmitter<GpbLo, GpbLo> for Assembler<'a> {
5155 fn rol(&mut self, op0: GpbLo, op1: GpbLo) {
5156 self.emit(ROL8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5157 }
5158}
5159
5160impl<'a> RolEmitter<Mem, GpbLo> for Assembler<'a> {
5161 fn rol(&mut self, op0: Mem, op1: GpbLo) {
5162 self.emit(ROL8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5163 }
5164}
5165
5166impl<'a> RolEmitter<Gpw, GpbLo> for Assembler<'a> {
5167 fn rol(&mut self, op0: Gpw, op1: GpbLo) {
5168 self.emit(ROL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5169 }
5170}
5171
5172impl<'a> RolEmitter<Gpd, GpbLo> for Assembler<'a> {
5173 fn rol(&mut self, op0: Gpd, op1: GpbLo) {
5174 self.emit(ROL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5175 }
5176}
5177
5178impl<'a> RolEmitter<Gpq, GpbLo> for Assembler<'a> {
5179 fn rol(&mut self, op0: Gpq, op1: GpbLo) {
5180 self.emit(ROL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5181 }
5182}
5183
5184pub trait RorEmitter<A, B> {
5209 fn ror(&mut self, op0: A, op1: B);
5210}
5211
5212impl<'a> RorEmitter<GpbLo, Imm> for Assembler<'a> {
5213 fn ror(&mut self, op0: GpbLo, op1: Imm) {
5214 self.emit(ROR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5215 }
5216}
5217
5218impl<'a> RorEmitter<Mem, Imm> for Assembler<'a> {
5219 fn ror(&mut self, op0: Mem, op1: Imm) {
5220 self.emit(ROR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5221 }
5222}
5223
5224impl<'a> RorEmitter<Gpw, Imm> for Assembler<'a> {
5225 fn ror(&mut self, op0: Gpw, op1: Imm) {
5226 self.emit(ROR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5227 }
5228}
5229
5230impl<'a> RorEmitter<Gpd, Imm> for Assembler<'a> {
5231 fn ror(&mut self, op0: Gpd, op1: Imm) {
5232 self.emit(ROR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5233 }
5234}
5235
5236impl<'a> RorEmitter<Gpq, Imm> for Assembler<'a> {
5237 fn ror(&mut self, op0: Gpq, op1: Imm) {
5238 self.emit(ROR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5239 }
5240}
5241
5242impl<'a> RorEmitter<GpbLo, GpbLo> for Assembler<'a> {
5243 fn ror(&mut self, op0: GpbLo, op1: GpbLo) {
5244 self.emit(ROR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5245 }
5246}
5247
5248impl<'a> RorEmitter<Mem, GpbLo> for Assembler<'a> {
5249 fn ror(&mut self, op0: Mem, op1: GpbLo) {
5250 self.emit(ROR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5251 }
5252}
5253
5254impl<'a> RorEmitter<Gpw, GpbLo> for Assembler<'a> {
5255 fn ror(&mut self, op0: Gpw, op1: GpbLo) {
5256 self.emit(ROR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5257 }
5258}
5259
5260impl<'a> RorEmitter<Gpd, GpbLo> for Assembler<'a> {
5261 fn ror(&mut self, op0: Gpd, op1: GpbLo) {
5262 self.emit(ROR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5263 }
5264}
5265
5266impl<'a> RorEmitter<Gpq, GpbLo> for Assembler<'a> {
5267 fn ror(&mut self, op0: Gpq, op1: GpbLo) {
5268 self.emit(ROR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5269 }
5270}
5271
5272pub trait SahfEmitter {
5288 fn sahf(&mut self);
5289}
5290
5291impl<'a> SahfEmitter for Assembler<'a> {
5292 fn sahf(&mut self) {
5293 self.emit(SAHF, &NOREG, &NOREG, &NOREG, &NOREG);
5294 }
5295}
5296
5297pub trait SarEmitter<A, B> {
5322 fn sar(&mut self, op0: A, op1: B);
5323}
5324
5325impl<'a> SarEmitter<GpbLo, Imm> for Assembler<'a> {
5326 fn sar(&mut self, op0: GpbLo, op1: Imm) {
5327 self.emit(SAR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5328 }
5329}
5330
5331impl<'a> SarEmitter<Mem, Imm> for Assembler<'a> {
5332 fn sar(&mut self, op0: Mem, op1: Imm) {
5333 self.emit(SAR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5334 }
5335}
5336
5337impl<'a> SarEmitter<Gpw, Imm> for Assembler<'a> {
5338 fn sar(&mut self, op0: Gpw, op1: Imm) {
5339 self.emit(SAR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5340 }
5341}
5342
5343impl<'a> SarEmitter<Gpd, Imm> for Assembler<'a> {
5344 fn sar(&mut self, op0: Gpd, op1: Imm) {
5345 self.emit(SAR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5346 }
5347}
5348
5349impl<'a> SarEmitter<Gpq, Imm> for Assembler<'a> {
5350 fn sar(&mut self, op0: Gpq, op1: Imm) {
5351 self.emit(SAR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5352 }
5353}
5354
5355impl<'a> SarEmitter<GpbLo, GpbLo> for Assembler<'a> {
5356 fn sar(&mut self, op0: GpbLo, op1: GpbLo) {
5357 self.emit(SAR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5358 }
5359}
5360
5361impl<'a> SarEmitter<Mem, GpbLo> for Assembler<'a> {
5362 fn sar(&mut self, op0: Mem, op1: GpbLo) {
5363 self.emit(SAR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5364 }
5365}
5366
5367impl<'a> SarEmitter<Gpw, GpbLo> for Assembler<'a> {
5368 fn sar(&mut self, op0: Gpw, op1: GpbLo) {
5369 self.emit(SAR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5370 }
5371}
5372
5373impl<'a> SarEmitter<Gpd, GpbLo> for Assembler<'a> {
5374 fn sar(&mut self, op0: Gpd, op1: GpbLo) {
5375 self.emit(SAR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5376 }
5377}
5378
5379impl<'a> SarEmitter<Gpq, GpbLo> for Assembler<'a> {
5380 fn sar(&mut self, op0: Gpq, op1: GpbLo) {
5381 self.emit(SAR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5382 }
5383}
5384
5385pub trait SbbEmitter<A, B> {
5417 fn sbb(&mut self, op0: A, op1: B);
5418}
5419
5420impl<'a> SbbEmitter<GpbLo, GpbLo> for Assembler<'a> {
5421 fn sbb(&mut self, op0: GpbLo, op1: GpbLo) {
5422 self.emit(SBB8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5423 }
5424}
5425
5426impl<'a> SbbEmitter<Mem, GpbLo> for Assembler<'a> {
5427 fn sbb(&mut self, op0: Mem, op1: GpbLo) {
5428 self.emit(SBB8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5429 }
5430}
5431
5432impl<'a> SbbEmitter<Gpw, Gpw> for Assembler<'a> {
5433 fn sbb(&mut self, op0: Gpw, op1: Gpw) {
5434 self.emit(SBB16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5435 }
5436}
5437
5438impl<'a> SbbEmitter<Mem, Gpw> for Assembler<'a> {
5439 fn sbb(&mut self, op0: Mem, op1: Gpw) {
5440 self.emit(SBB16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5441 }
5442}
5443
5444impl<'a> SbbEmitter<Gpd, Gpd> for Assembler<'a> {
5445 fn sbb(&mut self, op0: Gpd, op1: Gpd) {
5446 self.emit(SBB32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5447 }
5448}
5449
5450impl<'a> SbbEmitter<Mem, Gpd> for Assembler<'a> {
5451 fn sbb(&mut self, op0: Mem, op1: Gpd) {
5452 self.emit(SBB32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5453 }
5454}
5455
5456impl<'a> SbbEmitter<Gpq, Gpq> for Assembler<'a> {
5457 fn sbb(&mut self, op0: Gpq, op1: Gpq) {
5458 self.emit(SBB64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5459 }
5460}
5461
5462impl<'a> SbbEmitter<Mem, Gpq> for Assembler<'a> {
5463 fn sbb(&mut self, op0: Mem, op1: Gpq) {
5464 self.emit(SBB64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5465 }
5466}
5467
5468impl<'a> SbbEmitter<GpbLo, Mem> for Assembler<'a> {
5469 fn sbb(&mut self, op0: GpbLo, op1: Mem) {
5470 self.emit(SBB8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5471 }
5472}
5473
5474impl<'a> SbbEmitter<Gpw, Mem> for Assembler<'a> {
5475 fn sbb(&mut self, op0: Gpw, op1: Mem) {
5476 self.emit(SBB16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5477 }
5478}
5479
5480impl<'a> SbbEmitter<Gpd, Mem> for Assembler<'a> {
5481 fn sbb(&mut self, op0: Gpd, op1: Mem) {
5482 self.emit(SBB32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5483 }
5484}
5485
5486impl<'a> SbbEmitter<Gpq, Mem> for Assembler<'a> {
5487 fn sbb(&mut self, op0: Gpq, op1: Mem) {
5488 self.emit(SBB64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5489 }
5490}
5491
5492impl<'a> SbbEmitter<GpbLo, Imm> for Assembler<'a> {
5493 fn sbb(&mut self, op0: GpbLo, op1: Imm) {
5494 self.emit(SBB8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5495 }
5496}
5497
5498impl<'a> SbbEmitter<Gpw, Imm> for Assembler<'a> {
5499 fn sbb(&mut self, op0: Gpw, op1: Imm) {
5500 self.emit(SBB16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5501 }
5502}
5503
5504impl<'a> SbbEmitter<Gpd, Imm> for Assembler<'a> {
5505 fn sbb(&mut self, op0: Gpd, op1: Imm) {
5506 self.emit(SBB32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5507 }
5508}
5509
5510impl<'a> SbbEmitter<Gpq, Imm> for Assembler<'a> {
5511 fn sbb(&mut self, op0: Gpq, op1: Imm) {
5512 self.emit(SBB64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5513 }
5514}
5515
5516impl<'a> SbbEmitter<Mem, Imm> for Assembler<'a> {
5517 fn sbb(&mut self, op0: Mem, op1: Imm) {
5518 self.emit(SBB8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
5519 }
5520}
5521
5522pub trait ScasEmitter {
5538 fn scas(&mut self);
5539}
5540
5541impl<'a> ScasEmitter for Assembler<'a> {
5542 fn scas(&mut self) {
5543 self.emit(SCAS8, &NOREG, &NOREG, &NOREG, &NOREG);
5544 }
5545}
5546
5547pub trait SetaEmitter<A> {
5564 fn seta(&mut self, op0: A);
5565}
5566
5567impl<'a> SetaEmitter<GpbLo> for Assembler<'a> {
5568 fn seta(&mut self, op0: GpbLo) {
5569 self.emit(SETA8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5570 }
5571}
5572
5573impl<'a> SetaEmitter<Mem> for Assembler<'a> {
5574 fn seta(&mut self, op0: Mem) {
5575 self.emit(SETA8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5576 }
5577}
5578
5579pub trait SetbeEmitter<A> {
5596 fn setbe(&mut self, op0: A);
5597}
5598
5599impl<'a> SetbeEmitter<GpbLo> for Assembler<'a> {
5600 fn setbe(&mut self, op0: GpbLo) {
5601 self.emit(SETBE8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5602 }
5603}
5604
5605impl<'a> SetbeEmitter<Mem> for Assembler<'a> {
5606 fn setbe(&mut self, op0: Mem) {
5607 self.emit(SETBE8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5608 }
5609}
5610
5611pub trait SetcEmitter<A> {
5628 fn setc(&mut self, op0: A);
5629}
5630
5631impl<'a> SetcEmitter<GpbLo> for Assembler<'a> {
5632 fn setc(&mut self, op0: GpbLo) {
5633 self.emit(SETC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5634 }
5635}
5636
5637impl<'a> SetcEmitter<Mem> for Assembler<'a> {
5638 fn setc(&mut self, op0: Mem) {
5639 self.emit(SETC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5640 }
5641}
5642
5643pub trait SetgEmitter<A> {
5660 fn setg(&mut self, op0: A);
5661}
5662
5663impl<'a> SetgEmitter<GpbLo> for Assembler<'a> {
5664 fn setg(&mut self, op0: GpbLo) {
5665 self.emit(SETG8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5666 }
5667}
5668
5669impl<'a> SetgEmitter<Mem> for Assembler<'a> {
5670 fn setg(&mut self, op0: Mem) {
5671 self.emit(SETG8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5672 }
5673}
5674
5675pub trait SetgeEmitter<A> {
5692 fn setge(&mut self, op0: A);
5693}
5694
5695impl<'a> SetgeEmitter<GpbLo> for Assembler<'a> {
5696 fn setge(&mut self, op0: GpbLo) {
5697 self.emit(SETGE8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5698 }
5699}
5700
5701impl<'a> SetgeEmitter<Mem> for Assembler<'a> {
5702 fn setge(&mut self, op0: Mem) {
5703 self.emit(SETGE8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5704 }
5705}
5706
5707pub trait SetlEmitter<A> {
5724 fn setl(&mut self, op0: A);
5725}
5726
5727impl<'a> SetlEmitter<GpbLo> for Assembler<'a> {
5728 fn setl(&mut self, op0: GpbLo) {
5729 self.emit(SETL8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5730 }
5731}
5732
5733impl<'a> SetlEmitter<Mem> for Assembler<'a> {
5734 fn setl(&mut self, op0: Mem) {
5735 self.emit(SETL8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5736 }
5737}
5738
5739pub trait SetleEmitter<A> {
5756 fn setle(&mut self, op0: A);
5757}
5758
5759impl<'a> SetleEmitter<GpbLo> for Assembler<'a> {
5760 fn setle(&mut self, op0: GpbLo) {
5761 self.emit(SETLE8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5762 }
5763}
5764
5765impl<'a> SetleEmitter<Mem> for Assembler<'a> {
5766 fn setle(&mut self, op0: Mem) {
5767 self.emit(SETLE8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5768 }
5769}
5770
5771pub trait SetncEmitter<A> {
5788 fn setnc(&mut self, op0: A);
5789}
5790
5791impl<'a> SetncEmitter<GpbLo> for Assembler<'a> {
5792 fn setnc(&mut self, op0: GpbLo) {
5793 self.emit(SETNC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5794 }
5795}
5796
5797impl<'a> SetncEmitter<Mem> for Assembler<'a> {
5798 fn setnc(&mut self, op0: Mem) {
5799 self.emit(SETNC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5800 }
5801}
5802
5803pub trait SetnoEmitter<A> {
5820 fn setno(&mut self, op0: A);
5821}
5822
5823impl<'a> SetnoEmitter<GpbLo> for Assembler<'a> {
5824 fn setno(&mut self, op0: GpbLo) {
5825 self.emit(SETNO8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5826 }
5827}
5828
5829impl<'a> SetnoEmitter<Mem> for Assembler<'a> {
5830 fn setno(&mut self, op0: Mem) {
5831 self.emit(SETNO8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5832 }
5833}
5834
5835pub trait SetnpEmitter<A> {
5852 fn setnp(&mut self, op0: A);
5853}
5854
5855impl<'a> SetnpEmitter<GpbLo> for Assembler<'a> {
5856 fn setnp(&mut self, op0: GpbLo) {
5857 self.emit(SETNP8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5858 }
5859}
5860
5861impl<'a> SetnpEmitter<Mem> for Assembler<'a> {
5862 fn setnp(&mut self, op0: Mem) {
5863 self.emit(SETNP8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5864 }
5865}
5866
5867pub trait SetnsEmitter<A> {
5884 fn setns(&mut self, op0: A);
5885}
5886
5887impl<'a> SetnsEmitter<GpbLo> for Assembler<'a> {
5888 fn setns(&mut self, op0: GpbLo) {
5889 self.emit(SETNS8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5890 }
5891}
5892
5893impl<'a> SetnsEmitter<Mem> for Assembler<'a> {
5894 fn setns(&mut self, op0: Mem) {
5895 self.emit(SETNS8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5896 }
5897}
5898
5899pub trait SetnzEmitter<A> {
5916 fn setnz(&mut self, op0: A);
5917}
5918
5919impl<'a> SetnzEmitter<GpbLo> for Assembler<'a> {
5920 fn setnz(&mut self, op0: GpbLo) {
5921 self.emit(SETNZ8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5922 }
5923}
5924
5925impl<'a> SetnzEmitter<Mem> for Assembler<'a> {
5926 fn setnz(&mut self, op0: Mem) {
5927 self.emit(SETNZ8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5928 }
5929}
5930
5931pub trait SetoEmitter<A> {
5948 fn seto(&mut self, op0: A);
5949}
5950
5951impl<'a> SetoEmitter<GpbLo> for Assembler<'a> {
5952 fn seto(&mut self, op0: GpbLo) {
5953 self.emit(SETO8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5954 }
5955}
5956
5957impl<'a> SetoEmitter<Mem> for Assembler<'a> {
5958 fn seto(&mut self, op0: Mem) {
5959 self.emit(SETO8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5960 }
5961}
5962
5963pub trait SetpEmitter<A> {
5980 fn setp(&mut self, op0: A);
5981}
5982
5983impl<'a> SetpEmitter<GpbLo> for Assembler<'a> {
5984 fn setp(&mut self, op0: GpbLo) {
5985 self.emit(SETP8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5986 }
5987}
5988
5989impl<'a> SetpEmitter<Mem> for Assembler<'a> {
5990 fn setp(&mut self, op0: Mem) {
5991 self.emit(SETP8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
5992 }
5993}
5994
5995pub trait SetsEmitter<A> {
6012 fn sets(&mut self, op0: A);
6013}
6014
6015impl<'a> SetsEmitter<GpbLo> for Assembler<'a> {
6016 fn sets(&mut self, op0: GpbLo) {
6017 self.emit(SETS8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6018 }
6019}
6020
6021impl<'a> SetsEmitter<Mem> for Assembler<'a> {
6022 fn sets(&mut self, op0: Mem) {
6023 self.emit(SETS8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6024 }
6025}
6026
6027pub trait SetzEmitter<A> {
6044 fn setz(&mut self, op0: A);
6045}
6046
6047impl<'a> SetzEmitter<GpbLo> for Assembler<'a> {
6048 fn setz(&mut self, op0: GpbLo) {
6049 self.emit(SETZ8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6050 }
6051}
6052
6053impl<'a> SetzEmitter<Mem> for Assembler<'a> {
6054 fn setz(&mut self, op0: Mem) {
6055 self.emit(SETZ8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6056 }
6057}
6058
6059pub trait SetccEmitter<A> {
6076 fn setcc(&mut self, op0: A);
6077}
6078
6079impl<'a> SetccEmitter<GpbLo> for Assembler<'a> {
6080 fn setcc(&mut self, op0: GpbLo) {
6081 self.emit(SETCC8R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6082 }
6083}
6084
6085impl<'a> SetccEmitter<Mem> for Assembler<'a> {
6086 fn setcc(&mut self, op0: Mem) {
6087 self.emit(SETCC8M, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6088 }
6089}
6090
6091pub trait SgdtEmitter<A> {
6103 fn sgdt(&mut self, op0: A);
6104}
6105
6106impl<'a> SgdtEmitter<Mem> for Assembler<'a> {
6107 fn sgdt(&mut self, op0: Mem) {
6108 self.emit(SGDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6109 }
6110}
6111
6112pub trait ShlEmitter<A, B> {
6137 fn shl(&mut self, op0: A, op1: B);
6138}
6139
6140impl<'a> ShlEmitter<GpbLo, Imm> for Assembler<'a> {
6141 fn shl(&mut self, op0: GpbLo, op1: Imm) {
6142 self.emit(SHL8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6143 }
6144}
6145
6146impl<'a> ShlEmitter<Mem, Imm> for Assembler<'a> {
6147 fn shl(&mut self, op0: Mem, op1: Imm) {
6148 self.emit(SHL8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6149 }
6150}
6151
6152impl<'a> ShlEmitter<Gpw, Imm> for Assembler<'a> {
6153 fn shl(&mut self, op0: Gpw, op1: Imm) {
6154 self.emit(SHL16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6155 }
6156}
6157
6158impl<'a> ShlEmitter<Gpd, Imm> for Assembler<'a> {
6159 fn shl(&mut self, op0: Gpd, op1: Imm) {
6160 self.emit(SHL32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6161 }
6162}
6163
6164impl<'a> ShlEmitter<Gpq, Imm> for Assembler<'a> {
6165 fn shl(&mut self, op0: Gpq, op1: Imm) {
6166 self.emit(SHL64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6167 }
6168}
6169
6170impl<'a> ShlEmitter<GpbLo, GpbLo> for Assembler<'a> {
6171 fn shl(&mut self, op0: GpbLo, op1: GpbLo) {
6172 self.emit(SHL8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6173 }
6174}
6175
6176impl<'a> ShlEmitter<Mem, GpbLo> for Assembler<'a> {
6177 fn shl(&mut self, op0: Mem, op1: GpbLo) {
6178 self.emit(SHL8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6179 }
6180}
6181
6182impl<'a> ShlEmitter<Gpw, GpbLo> for Assembler<'a> {
6183 fn shl(&mut self, op0: Gpw, op1: GpbLo) {
6184 self.emit(SHL16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6185 }
6186}
6187
6188impl<'a> ShlEmitter<Gpd, GpbLo> for Assembler<'a> {
6189 fn shl(&mut self, op0: Gpd, op1: GpbLo) {
6190 self.emit(SHL32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6191 }
6192}
6193
6194impl<'a> ShlEmitter<Gpq, GpbLo> for Assembler<'a> {
6195 fn shl(&mut self, op0: Gpq, op1: GpbLo) {
6196 self.emit(SHL64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6197 }
6198}
6199
6200pub trait ShldEmitter<A, B, C> {
6227 fn shld(&mut self, op0: A, op1: B, op2: C);
6228}
6229
6230impl<'a> ShldEmitter<Gpw, Gpw, Imm> for Assembler<'a> {
6231 fn shld(&mut self, op0: Gpw, op1: Gpw, op2: Imm) {
6232 self.emit(SHLD16RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6233 }
6234}
6235
6236impl<'a> ShldEmitter<Mem, Gpw, Imm> for Assembler<'a> {
6237 fn shld(&mut self, op0: Mem, op1: Gpw, op2: Imm) {
6238 self.emit(SHLD16MRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6239 }
6240}
6241
6242impl<'a> ShldEmitter<Gpd, Gpd, Imm> for Assembler<'a> {
6243 fn shld(&mut self, op0: Gpd, op1: Gpd, op2: Imm) {
6244 self.emit(SHLD32RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6245 }
6246}
6247
6248impl<'a> ShldEmitter<Mem, Gpd, Imm> for Assembler<'a> {
6249 fn shld(&mut self, op0: Mem, op1: Gpd, op2: Imm) {
6250 self.emit(SHLD32MRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6251 }
6252}
6253
6254impl<'a> ShldEmitter<Gpq, Gpq, Imm> for Assembler<'a> {
6255 fn shld(&mut self, op0: Gpq, op1: Gpq, op2: Imm) {
6256 self.emit(SHLD64RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6257 }
6258}
6259
6260impl<'a> ShldEmitter<Mem, Gpq, Imm> for Assembler<'a> {
6261 fn shld(&mut self, op0: Mem, op1: Gpq, op2: Imm) {
6262 self.emit(SHLD64MRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6263 }
6264}
6265
6266impl<'a> ShldEmitter<Gpw, Gpw, GpbLo> for Assembler<'a> {
6267 fn shld(&mut self, op0: Gpw, op1: Gpw, op2: GpbLo) {
6268 self.emit(SHLD16RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6269 }
6270}
6271
6272impl<'a> ShldEmitter<Mem, Gpw, GpbLo> for Assembler<'a> {
6273 fn shld(&mut self, op0: Mem, op1: Gpw, op2: GpbLo) {
6274 self.emit(SHLD16MRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6275 }
6276}
6277
6278impl<'a> ShldEmitter<Gpd, Gpd, GpbLo> for Assembler<'a> {
6279 fn shld(&mut self, op0: Gpd, op1: Gpd, op2: GpbLo) {
6280 self.emit(SHLD32RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6281 }
6282}
6283
6284impl<'a> ShldEmitter<Mem, Gpd, GpbLo> for Assembler<'a> {
6285 fn shld(&mut self, op0: Mem, op1: Gpd, op2: GpbLo) {
6286 self.emit(SHLD32MRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6287 }
6288}
6289
6290impl<'a> ShldEmitter<Gpq, Gpq, GpbLo> for Assembler<'a> {
6291 fn shld(&mut self, op0: Gpq, op1: Gpq, op2: GpbLo) {
6292 self.emit(SHLD64RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6293 }
6294}
6295
6296impl<'a> ShldEmitter<Mem, Gpq, GpbLo> for Assembler<'a> {
6297 fn shld(&mut self, op0: Mem, op1: Gpq, op2: GpbLo) {
6298 self.emit(SHLD64MRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6299 }
6300}
6301
6302pub trait ShrEmitter<A, B> {
6327 fn shr(&mut self, op0: A, op1: B);
6328}
6329
6330impl<'a> ShrEmitter<GpbLo, Imm> for Assembler<'a> {
6331 fn shr(&mut self, op0: GpbLo, op1: Imm) {
6332 self.emit(SHR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6333 }
6334}
6335
6336impl<'a> ShrEmitter<Mem, Imm> for Assembler<'a> {
6337 fn shr(&mut self, op0: Mem, op1: Imm) {
6338 self.emit(SHR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6339 }
6340}
6341
6342impl<'a> ShrEmitter<Gpw, Imm> for Assembler<'a> {
6343 fn shr(&mut self, op0: Gpw, op1: Imm) {
6344 self.emit(SHR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6345 }
6346}
6347
6348impl<'a> ShrEmitter<Gpd, Imm> for Assembler<'a> {
6349 fn shr(&mut self, op0: Gpd, op1: Imm) {
6350 self.emit(SHR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6351 }
6352}
6353
6354impl<'a> ShrEmitter<Gpq, Imm> for Assembler<'a> {
6355 fn shr(&mut self, op0: Gpq, op1: Imm) {
6356 self.emit(SHR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6357 }
6358}
6359
6360impl<'a> ShrEmitter<GpbLo, GpbLo> for Assembler<'a> {
6361 fn shr(&mut self, op0: GpbLo, op1: GpbLo) {
6362 self.emit(SHR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6363 }
6364}
6365
6366impl<'a> ShrEmitter<Mem, GpbLo> for Assembler<'a> {
6367 fn shr(&mut self, op0: Mem, op1: GpbLo) {
6368 self.emit(SHR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6369 }
6370}
6371
6372impl<'a> ShrEmitter<Gpw, GpbLo> for Assembler<'a> {
6373 fn shr(&mut self, op0: Gpw, op1: GpbLo) {
6374 self.emit(SHR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6375 }
6376}
6377
6378impl<'a> ShrEmitter<Gpd, GpbLo> for Assembler<'a> {
6379 fn shr(&mut self, op0: Gpd, op1: GpbLo) {
6380 self.emit(SHR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6381 }
6382}
6383
6384impl<'a> ShrEmitter<Gpq, GpbLo> for Assembler<'a> {
6385 fn shr(&mut self, op0: Gpq, op1: GpbLo) {
6386 self.emit(SHR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6387 }
6388}
6389
6390pub trait ShrdEmitter<A, B, C> {
6417 fn shrd(&mut self, op0: A, op1: B, op2: C);
6418}
6419
6420impl<'a> ShrdEmitter<Gpw, Gpw, Imm> for Assembler<'a> {
6421 fn shrd(&mut self, op0: Gpw, op1: Gpw, op2: Imm) {
6422 self.emit(SHRD16RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6423 }
6424}
6425
6426impl<'a> ShrdEmitter<Mem, Gpw, Imm> for Assembler<'a> {
6427 fn shrd(&mut self, op0: Mem, op1: Gpw, op2: Imm) {
6428 self.emit(SHRD16MRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6429 }
6430}
6431
6432impl<'a> ShrdEmitter<Gpd, Gpd, Imm> for Assembler<'a> {
6433 fn shrd(&mut self, op0: Gpd, op1: Gpd, op2: Imm) {
6434 self.emit(SHRD32RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6435 }
6436}
6437
6438impl<'a> ShrdEmitter<Mem, Gpd, Imm> for Assembler<'a> {
6439 fn shrd(&mut self, op0: Mem, op1: Gpd, op2: Imm) {
6440 self.emit(SHRD32MRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6441 }
6442}
6443
6444impl<'a> ShrdEmitter<Gpq, Gpq, Imm> for Assembler<'a> {
6445 fn shrd(&mut self, op0: Gpq, op1: Gpq, op2: Imm) {
6446 self.emit(SHRD64RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6447 }
6448}
6449
6450impl<'a> ShrdEmitter<Mem, Gpq, Imm> for Assembler<'a> {
6451 fn shrd(&mut self, op0: Mem, op1: Gpq, op2: Imm) {
6452 self.emit(SHRD64MRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6453 }
6454}
6455
6456impl<'a> ShrdEmitter<Gpw, Gpw, GpbLo> for Assembler<'a> {
6457 fn shrd(&mut self, op0: Gpw, op1: Gpw, op2: GpbLo) {
6458 self.emit(SHRD16RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6459 }
6460}
6461
6462impl<'a> ShrdEmitter<Mem, Gpw, GpbLo> for Assembler<'a> {
6463 fn shrd(&mut self, op0: Mem, op1: Gpw, op2: GpbLo) {
6464 self.emit(SHRD16MRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6465 }
6466}
6467
6468impl<'a> ShrdEmitter<Gpd, Gpd, GpbLo> for Assembler<'a> {
6469 fn shrd(&mut self, op0: Gpd, op1: Gpd, op2: GpbLo) {
6470 self.emit(SHRD32RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6471 }
6472}
6473
6474impl<'a> ShrdEmitter<Mem, Gpd, GpbLo> for Assembler<'a> {
6475 fn shrd(&mut self, op0: Mem, op1: Gpd, op2: GpbLo) {
6476 self.emit(SHRD32MRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6477 }
6478}
6479
6480impl<'a> ShrdEmitter<Gpq, Gpq, GpbLo> for Assembler<'a> {
6481 fn shrd(&mut self, op0: Gpq, op1: Gpq, op2: GpbLo) {
6482 self.emit(SHRD64RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6483 }
6484}
6485
6486impl<'a> ShrdEmitter<Mem, Gpq, GpbLo> for Assembler<'a> {
6487 fn shrd(&mut self, op0: Mem, op1: Gpq, op2: GpbLo) {
6488 self.emit(SHRD64MRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6489 }
6490}
6491
6492pub trait SidtEmitter<A> {
6504 fn sidt(&mut self, op0: A);
6505}
6506
6507impl<'a> SidtEmitter<Mem> for Assembler<'a> {
6508 fn sidt(&mut self, op0: Mem) {
6509 self.emit(SIDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6510 }
6511}
6512
6513pub trait SldtEmitter<A> {
6530 fn sldt(&mut self, op0: A);
6531}
6532
6533impl<'a> SldtEmitter<Gpd> for Assembler<'a> {
6534 fn sldt(&mut self, op0: Gpd) {
6535 self.emit(SLDTR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6536 }
6537}
6538
6539impl<'a> SldtEmitter<Mem> for Assembler<'a> {
6540 fn sldt(&mut self, op0: Mem) {
6541 self.emit(SLDTM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6542 }
6543}
6544
6545pub trait SmswEmitter<A> {
6564 fn smsw(&mut self, op0: A);
6565}
6566
6567impl<'a> SmswEmitter<Mem> for Assembler<'a> {
6568 fn smsw(&mut self, op0: Mem) {
6569 self.emit(SMSWM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6570 }
6571}
6572
6573impl<'a> SmswEmitter<Gpw> for Assembler<'a> {
6574 fn smsw(&mut self, op0: Gpw) {
6575 self.emit(SMSW16R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6576 }
6577}
6578
6579impl<'a> SmswEmitter<Gpd> for Assembler<'a> {
6580 fn smsw(&mut self, op0: Gpd) {
6581 self.emit(SMSW32R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6582 }
6583}
6584
6585impl<'a> SmswEmitter<Gpq> for Assembler<'a> {
6586 fn smsw(&mut self, op0: Gpq) {
6587 self.emit(SMSW64R, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6588 }
6589}
6590
6591pub trait StcEmitter {
6607 fn stc(&mut self);
6608}
6609
6610impl<'a> StcEmitter for Assembler<'a> {
6611 fn stc(&mut self) {
6612 self.emit(STC, &NOREG, &NOREG, &NOREG, &NOREG);
6613 }
6614}
6615
6616pub trait StdEmitter {
6632 fn std(&mut self);
6633}
6634
6635impl<'a> StdEmitter for Assembler<'a> {
6636 fn std(&mut self) {
6637 self.emit(STD, &NOREG, &NOREG, &NOREG, &NOREG);
6638 }
6639}
6640
6641pub trait StiEmitter {
6657 fn sti(&mut self);
6658}
6659
6660impl<'a> StiEmitter for Assembler<'a> {
6661 fn sti(&mut self) {
6662 self.emit(STI, &NOREG, &NOREG, &NOREG, &NOREG);
6663 }
6664}
6665
6666pub trait StosEmitter {
6682 fn stos(&mut self);
6683}
6684
6685impl<'a> StosEmitter for Assembler<'a> {
6686 fn stos(&mut self) {
6687 self.emit(STOS8, &NOREG, &NOREG, &NOREG, &NOREG);
6688 }
6689}
6690
6691pub trait StrEmitter<A> {
6708 fn str(&mut self, op0: A);
6709}
6710
6711impl<'a> StrEmitter<Gpd> for Assembler<'a> {
6712 fn str(&mut self, op0: Gpd) {
6713 self.emit(STRR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6714 }
6715}
6716
6717impl<'a> StrEmitter<Mem> for Assembler<'a> {
6718 fn str(&mut self, op0: Mem) {
6719 self.emit(STRM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6720 }
6721}
6722
6723pub trait SttilecfgEmitter<A> {
6735 fn sttilecfg(&mut self, op0: A);
6736}
6737
6738impl<'a> SttilecfgEmitter<Mem> for Assembler<'a> {
6739 fn sttilecfg(&mut self, op0: Mem) {
6740 self.emit(STTILECFGM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
6741 }
6742}
6743
6744pub trait SubEmitter<A, B> {
6776 fn sub(&mut self, op0: A, op1: B);
6777}
6778
6779impl<'a> SubEmitter<GpbLo, GpbLo> for Assembler<'a> {
6780 fn sub(&mut self, op0: GpbLo, op1: GpbLo) {
6781 self.emit(SUB8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6782 }
6783}
6784
6785impl<'a> SubEmitter<Mem, GpbLo> for Assembler<'a> {
6786 fn sub(&mut self, op0: Mem, op1: GpbLo) {
6787 self.emit(SUB8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6788 }
6789}
6790
6791impl<'a> SubEmitter<Gpw, Gpw> for Assembler<'a> {
6792 fn sub(&mut self, op0: Gpw, op1: Gpw) {
6793 self.emit(SUB16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6794 }
6795}
6796
6797impl<'a> SubEmitter<Mem, Gpw> for Assembler<'a> {
6798 fn sub(&mut self, op0: Mem, op1: Gpw) {
6799 self.emit(SUB16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6800 }
6801}
6802
6803impl<'a> SubEmitter<Gpd, Gpd> for Assembler<'a> {
6804 fn sub(&mut self, op0: Gpd, op1: Gpd) {
6805 self.emit(SUB32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6806 }
6807}
6808
6809impl<'a> SubEmitter<Mem, Gpd> for Assembler<'a> {
6810 fn sub(&mut self, op0: Mem, op1: Gpd) {
6811 self.emit(SUB32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6812 }
6813}
6814
6815impl<'a> SubEmitter<Gpq, Gpq> for Assembler<'a> {
6816 fn sub(&mut self, op0: Gpq, op1: Gpq) {
6817 self.emit(SUB64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6818 }
6819}
6820
6821impl<'a> SubEmitter<Mem, Gpq> for Assembler<'a> {
6822 fn sub(&mut self, op0: Mem, op1: Gpq) {
6823 self.emit(SUB64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6824 }
6825}
6826
6827impl<'a> SubEmitter<GpbLo, Mem> for Assembler<'a> {
6828 fn sub(&mut self, op0: GpbLo, op1: Mem) {
6829 self.emit(SUB8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6830 }
6831}
6832
6833impl<'a> SubEmitter<Gpw, Mem> for Assembler<'a> {
6834 fn sub(&mut self, op0: Gpw, op1: Mem) {
6835 self.emit(SUB16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6836 }
6837}
6838
6839impl<'a> SubEmitter<Gpd, Mem> for Assembler<'a> {
6840 fn sub(&mut self, op0: Gpd, op1: Mem) {
6841 self.emit(SUB32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6842 }
6843}
6844
6845impl<'a> SubEmitter<Gpq, Mem> for Assembler<'a> {
6846 fn sub(&mut self, op0: Gpq, op1: Mem) {
6847 self.emit(SUB64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6848 }
6849}
6850
6851impl<'a> SubEmitter<GpbLo, Imm> for Assembler<'a> {
6852 fn sub(&mut self, op0: GpbLo, op1: Imm) {
6853 self.emit(SUB8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6854 }
6855}
6856
6857impl<'a> SubEmitter<Gpw, Imm> for Assembler<'a> {
6858 fn sub(&mut self, op0: Gpw, op1: Imm) {
6859 self.emit(SUB16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6860 }
6861}
6862
6863impl<'a> SubEmitter<Gpd, Imm> for Assembler<'a> {
6864 fn sub(&mut self, op0: Gpd, op1: Imm) {
6865 self.emit(SUB32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6866 }
6867}
6868
6869impl<'a> SubEmitter<Gpq, Imm> for Assembler<'a> {
6870 fn sub(&mut self, op0: Gpq, op1: Imm) {
6871 self.emit(SUB64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6872 }
6873}
6874
6875impl<'a> SubEmitter<Mem, Imm> for Assembler<'a> {
6876 fn sub(&mut self, op0: Mem, op1: Imm) {
6877 self.emit(SUB8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
6878 }
6879}
6880
6881pub trait SwapgsEmitter {
6897 fn swapgs(&mut self);
6898}
6899
6900impl<'a> SwapgsEmitter for Assembler<'a> {
6901 fn swapgs(&mut self) {
6902 self.emit(SWAPGS, &NOREG, &NOREG, &NOREG, &NOREG);
6903 }
6904}
6905
6906pub trait SyscallEmitter {
6922 fn syscall(&mut self);
6923}
6924
6925impl<'a> SyscallEmitter for Assembler<'a> {
6926 fn syscall(&mut self) {
6927 self.emit(SYSCALL, &NOREG, &NOREG, &NOREG, &NOREG);
6928 }
6929}
6930
6931pub trait SysretEmitter {
6947 fn sysret(&mut self);
6948}
6949
6950impl<'a> SysretEmitter for Assembler<'a> {
6951 fn sysret(&mut self) {
6952 self.emit(SYSRET, &NOREG, &NOREG, &NOREG, &NOREG);
6953 }
6954}
6955
6956pub trait Tcmmimfp16psEmitter<A, B, C> {
6968 fn tcmmimfp16ps(&mut self, op0: A, op1: B, op2: C);
6969}
6970
6971impl<'a> Tcmmimfp16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6972 fn tcmmimfp16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6973 self.emit(TCMMIMFP16PSRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6974 }
6975}
6976
6977pub trait Tcmmrlfp16psEmitter<A, B, C> {
6989 fn tcmmrlfp16ps(&mut self, op0: A, op1: B, op2: C);
6990}
6991
6992impl<'a> Tcmmrlfp16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
6993 fn tcmmrlfp16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
6994 self.emit(TCMMRLFP16PSRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
6995 }
6996}
6997
6998pub trait Tdpbf16psEmitter<A, B, C> {
7010 fn tdpbf16ps(&mut self, op0: A, op1: B, op2: C);
7011}
7012
7013impl<'a> Tdpbf16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
7014 fn tdpbf16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
7015 self.emit(TDPBF16PSRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7016 }
7017}
7018
7019pub trait TdpbssdEmitter<A, B, C> {
7031 fn tdpbssd(&mut self, op0: A, op1: B, op2: C);
7032}
7033
7034impl<'a> TdpbssdEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
7035 fn tdpbssd(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
7036 self.emit(TDPBSSDRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7037 }
7038}
7039
7040pub trait TdpbsudEmitter<A, B, C> {
7052 fn tdpbsud(&mut self, op0: A, op1: B, op2: C);
7053}
7054
7055impl<'a> TdpbsudEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
7056 fn tdpbsud(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
7057 self.emit(TDPBSUDRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7058 }
7059}
7060
7061pub trait TdpbusdEmitter<A, B, C> {
7073 fn tdpbusd(&mut self, op0: A, op1: B, op2: C);
7074}
7075
7076impl<'a> TdpbusdEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
7077 fn tdpbusd(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
7078 self.emit(TDPBUSDRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7079 }
7080}
7081
7082pub trait TdpbuudEmitter<A, B, C> {
7094 fn tdpbuud(&mut self, op0: A, op1: B, op2: C);
7095}
7096
7097impl<'a> TdpbuudEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
7098 fn tdpbuud(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
7099 self.emit(TDPBUUDRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7100 }
7101}
7102
7103pub trait Tdpfp16psEmitter<A, B, C> {
7115 fn tdpfp16ps(&mut self, op0: A, op1: B, op2: C);
7116}
7117
7118impl<'a> Tdpfp16psEmitter<Tmm, Tmm, Tmm> for Assembler<'a> {
7119 fn tdpfp16ps(&mut self, op0: Tmm, op1: Tmm, op2: Tmm) {
7120 self.emit(TDPFP16PSRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7121 }
7122}
7123
7124pub trait TestEmitter<A, B> {
7152 fn test(&mut self, op0: A, op1: B);
7153}
7154
7155impl<'a> TestEmitter<GpbLo, GpbLo> for Assembler<'a> {
7156 fn test(&mut self, op0: GpbLo, op1: GpbLo) {
7157 self.emit(TEST8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7158 }
7159}
7160
7161impl<'a> TestEmitter<Mem, GpbLo> for Assembler<'a> {
7162 fn test(&mut self, op0: Mem, op1: GpbLo) {
7163 self.emit(TEST8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7164 }
7165}
7166
7167impl<'a> TestEmitter<Gpw, Gpw> for Assembler<'a> {
7168 fn test(&mut self, op0: Gpw, op1: Gpw) {
7169 self.emit(TEST16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7170 }
7171}
7172
7173impl<'a> TestEmitter<Mem, Gpw> for Assembler<'a> {
7174 fn test(&mut self, op0: Mem, op1: Gpw) {
7175 self.emit(TEST16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7176 }
7177}
7178
7179impl<'a> TestEmitter<Gpd, Gpd> for Assembler<'a> {
7180 fn test(&mut self, op0: Gpd, op1: Gpd) {
7181 self.emit(TEST32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7182 }
7183}
7184
7185impl<'a> TestEmitter<Mem, Gpd> for Assembler<'a> {
7186 fn test(&mut self, op0: Mem, op1: Gpd) {
7187 self.emit(TEST32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7188 }
7189}
7190
7191impl<'a> TestEmitter<Gpq, Gpq> for Assembler<'a> {
7192 fn test(&mut self, op0: Gpq, op1: Gpq) {
7193 self.emit(TEST64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7194 }
7195}
7196
7197impl<'a> TestEmitter<Mem, Gpq> for Assembler<'a> {
7198 fn test(&mut self, op0: Mem, op1: Gpq) {
7199 self.emit(TEST64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7200 }
7201}
7202
7203impl<'a> TestEmitter<GpbLo, Imm> for Assembler<'a> {
7204 fn test(&mut self, op0: GpbLo, op1: Imm) {
7205 self.emit(TEST8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7206 }
7207}
7208
7209impl<'a> TestEmitter<Gpw, Imm> for Assembler<'a> {
7210 fn test(&mut self, op0: Gpw, op1: Imm) {
7211 self.emit(TEST16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7212 }
7213}
7214
7215impl<'a> TestEmitter<Gpd, Imm> for Assembler<'a> {
7216 fn test(&mut self, op0: Gpd, op1: Imm) {
7217 self.emit(TEST32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7218 }
7219}
7220
7221impl<'a> TestEmitter<Gpq, Imm> for Assembler<'a> {
7222 fn test(&mut self, op0: Gpq, op1: Imm) {
7223 self.emit(TEST64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7224 }
7225}
7226
7227impl<'a> TestEmitter<Mem, Imm> for Assembler<'a> {
7228 fn test(&mut self, op0: Mem, op1: Imm) {
7229 self.emit(TEST8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7230 }
7231}
7232
7233pub trait TileloaddEmitter<A, B> {
7245 fn tileloadd(&mut self, op0: A, op1: B);
7246}
7247
7248impl<'a> TileloaddEmitter<Tmm, Mem> for Assembler<'a> {
7249 fn tileloadd(&mut self, op0: Tmm, op1: Mem) {
7250 self.emit(TILELOADDRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7251 }
7252}
7253
7254pub trait Tileloaddt1Emitter<A, B> {
7266 fn tileloaddt1(&mut self, op0: A, op1: B);
7267}
7268
7269impl<'a> Tileloaddt1Emitter<Tmm, Mem> for Assembler<'a> {
7270 fn tileloaddt1(&mut self, op0: Tmm, op1: Mem) {
7271 self.emit(TILELOADDT1RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7272 }
7273}
7274
7275pub trait TilereleaseEmitter {
7291 fn tilerelease(&mut self);
7292}
7293
7294impl<'a> TilereleaseEmitter for Assembler<'a> {
7295 fn tilerelease(&mut self) {
7296 self.emit(TILERELEASE, &NOREG, &NOREG, &NOREG, &NOREG);
7297 }
7298}
7299
7300pub trait TilestoredEmitter<A, B> {
7312 fn tilestored(&mut self, op0: A, op1: B);
7313}
7314
7315impl<'a> TilestoredEmitter<Mem, Tmm> for Assembler<'a> {
7316 fn tilestored(&mut self, op0: Mem, op1: Tmm) {
7317 self.emit(TILESTOREDMR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7318 }
7319}
7320
7321pub trait TilezeroEmitter<A> {
7333 fn tilezero(&mut self, op0: A);
7334}
7335
7336impl<'a> TilezeroEmitter<Tmm> for Assembler<'a> {
7337 fn tilezero(&mut self, op0: Tmm) {
7338 self.emit(TILEZEROR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
7339 }
7340}
7341
7342pub trait Ud0Emitter<A, B> {
7359 fn ud0(&mut self, op0: A, op1: B);
7360}
7361
7362impl<'a> Ud0Emitter<Gpw, Gpw> for Assembler<'a> {
7363 fn ud0(&mut self, op0: Gpw, op1: Gpw) {
7364 self.emit(UD0_16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7365 }
7366}
7367
7368impl<'a> Ud0Emitter<Gpw, Mem> for Assembler<'a> {
7369 fn ud0(&mut self, op0: Gpw, op1: Mem) {
7370 self.emit(UD0_16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7371 }
7372}
7373
7374impl<'a> Ud0Emitter<Gpd, Gpd> for Assembler<'a> {
7375 fn ud0(&mut self, op0: Gpd, op1: Gpd) {
7376 self.emit(UD0_32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7377 }
7378}
7379
7380impl<'a> Ud0Emitter<Gpd, Mem> for Assembler<'a> {
7381 fn ud0(&mut self, op0: Gpd, op1: Mem) {
7382 self.emit(UD0_32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7383 }
7384}
7385
7386impl<'a> Ud0Emitter<Gpq, Gpq> for Assembler<'a> {
7387 fn ud0(&mut self, op0: Gpq, op1: Gpq) {
7388 self.emit(UD0_64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7389 }
7390}
7391
7392impl<'a> Ud0Emitter<Gpq, Mem> for Assembler<'a> {
7393 fn ud0(&mut self, op0: Gpq, op1: Mem) {
7394 self.emit(UD0_64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7395 }
7396}
7397
7398pub trait Ud1Emitter<A, B> {
7419 fn ud1(&mut self, op0: A, op1: B);
7420}
7421
7422impl<'a> Ud1Emitter<Gpw, Gpw> for Assembler<'a> {
7423 fn ud1(&mut self, op0: Gpw, op1: Gpw) {
7424 self.emit(UD1_16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7425 }
7426}
7427
7428impl<'a> Ud1Emitter<Gpw, Mem> for Assembler<'a> {
7429 fn ud1(&mut self, op0: Gpw, op1: Mem) {
7430 self.emit(UD1_16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7431 }
7432}
7433
7434impl<'a> Ud1Emitter<Gpd, Gpd> for Assembler<'a> {
7435 fn ud1(&mut self, op0: Gpd, op1: Gpd) {
7436 self.emit(UD1_32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7437 }
7438}
7439
7440impl<'a> Ud1Emitter<Gpd, Mem> for Assembler<'a> {
7441 fn ud1(&mut self, op0: Gpd, op1: Mem) {
7442 self.emit(UD1_32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7443 }
7444}
7445
7446impl<'a> Ud1Emitter<Gpq, Gpq> for Assembler<'a> {
7447 fn ud1(&mut self, op0: Gpq, op1: Gpq) {
7448 self.emit(UD1_64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7449 }
7450}
7451
7452impl<'a> Ud1Emitter<Gpq, Mem> for Assembler<'a> {
7453 fn ud1(&mut self, op0: Gpq, op1: Mem) {
7454 self.emit(UD1_64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
7455 }
7456}
7457
7458pub trait Ud2Emitter {
7474 fn ud2(&mut self);
7475}
7476
7477impl<'a> Ud2Emitter for Assembler<'a> {
7478 fn ud2(&mut self) {
7479 self.emit(UD2, &NOREG, &NOREG, &NOREG, &NOREG);
7480 }
7481}
7482
7483pub trait VaddphEmitter<A, B, C> {
7500 fn vaddph(&mut self, op0: A, op1: B, op2: C);
7501}
7502
7503impl<'a> VaddphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7504 fn vaddph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7505 self.emit(VADDPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7506 }
7507}
7508
7509impl<'a> VaddphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7510 fn vaddph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7511 self.emit(VADDPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7512 }
7513}
7514
7515impl<'a> VaddphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7516 fn vaddph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7517 self.emit(VADDPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7518 }
7519}
7520
7521impl<'a> VaddphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7522 fn vaddph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7523 self.emit(VADDPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7524 }
7525}
7526
7527impl<'a> VaddphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7528 fn vaddph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7529 self.emit(VADDPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7530 }
7531}
7532
7533impl<'a> VaddphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7534 fn vaddph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7535 self.emit(VADDPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7536 }
7537}
7538
7539pub trait VaddphErEmitter<A, B, C> {
7551 fn vaddph_er(&mut self, op0: A, op1: B, op2: C);
7552}
7553
7554impl<'a> VaddphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7555 fn vaddph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7556 self.emit(VADDPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7557 }
7558}
7559
7560pub trait VaddphMaskEmitter<A, B, C> {
7577 fn vaddph_mask(&mut self, op0: A, op1: B, op2: C);
7578}
7579
7580impl<'a> VaddphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7581 fn vaddph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7582 self.emit(VADDPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7583 }
7584}
7585
7586impl<'a> VaddphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7587 fn vaddph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7588 self.emit(VADDPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7589 }
7590}
7591
7592impl<'a> VaddphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7593 fn vaddph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7594 self.emit(VADDPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7595 }
7596}
7597
7598impl<'a> VaddphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7599 fn vaddph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7600 self.emit(VADDPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7601 }
7602}
7603
7604impl<'a> VaddphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7605 fn vaddph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7606 self.emit(VADDPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7607 }
7608}
7609
7610impl<'a> VaddphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7611 fn vaddph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7612 self.emit(VADDPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7613 }
7614}
7615
7616pub trait VaddphMaskErEmitter<A, B, C> {
7628 fn vaddph_mask_er(&mut self, op0: A, op1: B, op2: C);
7629}
7630
7631impl<'a> VaddphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7632 fn vaddph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7633 self.emit(VADDPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7634 }
7635}
7636
7637pub trait VaddphMaskzEmitter<A, B, C> {
7654 fn vaddph_maskz(&mut self, op0: A, op1: B, op2: C);
7655}
7656
7657impl<'a> VaddphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7658 fn vaddph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7659 self.emit(VADDPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7660 }
7661}
7662
7663impl<'a> VaddphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7664 fn vaddph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7665 self.emit(VADDPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7666 }
7667}
7668
7669impl<'a> VaddphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7670 fn vaddph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7671 self.emit(VADDPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7672 }
7673}
7674
7675impl<'a> VaddphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7676 fn vaddph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7677 self.emit(VADDPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7678 }
7679}
7680
7681impl<'a> VaddphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7682 fn vaddph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7683 self.emit(VADDPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7684 }
7685}
7686
7687impl<'a> VaddphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7688 fn vaddph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7689 self.emit(VADDPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7690 }
7691}
7692
7693pub trait VaddphMaskzErEmitter<A, B, C> {
7705 fn vaddph_maskz_er(&mut self, op0: A, op1: B, op2: C);
7706}
7707
7708impl<'a> VaddphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7709 fn vaddph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7710 self.emit(VADDPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7711 }
7712}
7713
7714pub trait VaddshEmitter<A, B, C> {
7727 fn vaddsh(&mut self, op0: A, op1: B, op2: C);
7728}
7729
7730impl<'a> VaddshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7731 fn vaddsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7732 self.emit(VADDSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7733 }
7734}
7735
7736impl<'a> VaddshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7737 fn vaddsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7738 self.emit(VADDSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7739 }
7740}
7741
7742pub trait VaddshErEmitter<A, B, C> {
7754 fn vaddsh_er(&mut self, op0: A, op1: B, op2: C);
7755}
7756
7757impl<'a> VaddshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7758 fn vaddsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7759 self.emit(VADDSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7760 }
7761}
7762
7763pub trait VaddshMaskEmitter<A, B, C> {
7776 fn vaddsh_mask(&mut self, op0: A, op1: B, op2: C);
7777}
7778
7779impl<'a> VaddshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7780 fn vaddsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7781 self.emit(VADDSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7782 }
7783}
7784
7785impl<'a> VaddshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7786 fn vaddsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7787 self.emit(VADDSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7788 }
7789}
7790
7791pub trait VaddshMaskErEmitter<A, B, C> {
7803 fn vaddsh_mask_er(&mut self, op0: A, op1: B, op2: C);
7804}
7805
7806impl<'a> VaddshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7807 fn vaddsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7808 self.emit(VADDSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7809 }
7810}
7811
7812pub trait VaddshMaskzEmitter<A, B, C> {
7825 fn vaddsh_maskz(&mut self, op0: A, op1: B, op2: C);
7826}
7827
7828impl<'a> VaddshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7829 fn vaddsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7830 self.emit(VADDSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7831 }
7832}
7833
7834impl<'a> VaddshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7835 fn vaddsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7836 self.emit(VADDSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7837 }
7838}
7839
7840pub trait VaddshMaskzErEmitter<A, B, C> {
7852 fn vaddsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
7853}
7854
7855impl<'a> VaddshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7856 fn vaddsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7857 self.emit(VADDSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7858 }
7859}
7860
7861pub trait VaesdecEmitter<A, B, C> {
7882 fn vaesdec(&mut self, op0: A, op1: B, op2: C);
7883}
7884
7885impl<'a> VaesdecEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7886 fn vaesdec(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7887 self.emit(VAESDEC128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7888 }
7889}
7890
7891impl<'a> VaesdecEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7892 fn vaesdec(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7893 self.emit(VAESDEC128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7894 }
7895}
7896
7897impl<'a> VaesdecEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7898 fn vaesdec(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7899 self.emit(VAESDEC256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7900 }
7901}
7902
7903impl<'a> VaesdecEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7904 fn vaesdec(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7905 self.emit(VAESDEC256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7906 }
7907}
7908
7909impl<'a> VaesdecEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7910 fn vaesdec(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7911 self.emit(VAESDEC512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7912 }
7913}
7914
7915impl<'a> VaesdecEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7916 fn vaesdec(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7917 self.emit(VAESDEC512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7918 }
7919}
7920
7921pub trait VaesdeclastEmitter<A, B, C> {
7942 fn vaesdeclast(&mut self, op0: A, op1: B, op2: C);
7943}
7944
7945impl<'a> VaesdeclastEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
7946 fn vaesdeclast(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
7947 self.emit(VAESDECLAST128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7948 }
7949}
7950
7951impl<'a> VaesdeclastEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
7952 fn vaesdeclast(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
7953 self.emit(VAESDECLAST128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7954 }
7955}
7956
7957impl<'a> VaesdeclastEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
7958 fn vaesdeclast(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
7959 self.emit(VAESDECLAST256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7960 }
7961}
7962
7963impl<'a> VaesdeclastEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
7964 fn vaesdeclast(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
7965 self.emit(VAESDECLAST256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7966 }
7967}
7968
7969impl<'a> VaesdeclastEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
7970 fn vaesdeclast(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
7971 self.emit(VAESDECLAST512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7972 }
7973}
7974
7975impl<'a> VaesdeclastEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
7976 fn vaesdeclast(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
7977 self.emit(VAESDECLAST512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
7978 }
7979}
7980
7981pub trait VaesencEmitter<A, B, C> {
8002 fn vaesenc(&mut self, op0: A, op1: B, op2: C);
8003}
8004
8005impl<'a> VaesencEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
8006 fn vaesenc(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
8007 self.emit(VAESENC128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8008 }
8009}
8010
8011impl<'a> VaesencEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
8012 fn vaesenc(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
8013 self.emit(VAESENC128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8014 }
8015}
8016
8017impl<'a> VaesencEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
8018 fn vaesenc(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
8019 self.emit(VAESENC256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8020 }
8021}
8022
8023impl<'a> VaesencEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
8024 fn vaesenc(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
8025 self.emit(VAESENC256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8026 }
8027}
8028
8029impl<'a> VaesencEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
8030 fn vaesenc(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
8031 self.emit(VAESENC512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8032 }
8033}
8034
8035impl<'a> VaesencEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
8036 fn vaesenc(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
8037 self.emit(VAESENC512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8038 }
8039}
8040
8041pub trait VaesenclastEmitter<A, B, C> {
8062 fn vaesenclast(&mut self, op0: A, op1: B, op2: C);
8063}
8064
8065impl<'a> VaesenclastEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
8066 fn vaesenclast(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
8067 self.emit(VAESENCLAST128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8068 }
8069}
8070
8071impl<'a> VaesenclastEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
8072 fn vaesenclast(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
8073 self.emit(VAESENCLAST128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8074 }
8075}
8076
8077impl<'a> VaesenclastEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
8078 fn vaesenclast(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
8079 self.emit(VAESENCLAST256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8080 }
8081}
8082
8083impl<'a> VaesenclastEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
8084 fn vaesenclast(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
8085 self.emit(VAESENCLAST256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8086 }
8087}
8088
8089impl<'a> VaesenclastEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
8090 fn vaesenclast(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
8091 self.emit(VAESENCLAST512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8092 }
8093}
8094
8095impl<'a> VaesenclastEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
8096 fn vaesenclast(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
8097 self.emit(VAESENCLAST512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8098 }
8099}
8100
8101pub trait VaesimcEmitter<A, B> {
8118 fn vaesimc(&mut self, op0: A, op1: B);
8119}
8120
8121impl<'a> VaesimcEmitter<Xmm, Xmm> for Assembler<'a> {
8122 fn vaesimc(&mut self, op0: Xmm, op1: Xmm) {
8123 self.emit(VAESIMCRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8124 }
8125}
8126
8127impl<'a> VaesimcEmitter<Xmm, Mem> for Assembler<'a> {
8128 fn vaesimc(&mut self, op0: Xmm, op1: Mem) {
8129 self.emit(VAESIMCRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8130 }
8131}
8132
8133pub trait VaeskeygenassistEmitter<A, B, C> {
8150 fn vaeskeygenassist(&mut self, op0: A, op1: B, op2: C);
8151}
8152
8153impl<'a> VaeskeygenassistEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
8154 fn vaeskeygenassist(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
8155 self.emit(VAESKEYGENASSISTRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8156 }
8157}
8158
8159impl<'a> VaeskeygenassistEmitter<Xmm, Mem, Imm> for Assembler<'a> {
8160 fn vaeskeygenassist(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
8161 self.emit(VAESKEYGENASSISTRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
8162 }
8163}
8164
8165pub trait Vbcstnebf162psEmitter<A, B> {
8178 fn vbcstnebf162ps(&mut self, op0: A, op1: B);
8179}
8180
8181impl<'a> Vbcstnebf162psEmitter<Xmm, Mem> for Assembler<'a> {
8182 fn vbcstnebf162ps(&mut self, op0: Xmm, op1: Mem) {
8183 self.emit(VBCSTNEBF162PS128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8184 }
8185}
8186
8187impl<'a> Vbcstnebf162psEmitter<Ymm, Mem> for Assembler<'a> {
8188 fn vbcstnebf162ps(&mut self, op0: Ymm, op1: Mem) {
8189 self.emit(VBCSTNEBF162PS256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8190 }
8191}
8192
8193pub trait Vbcstnesh2psEmitter<A, B> {
8206 fn vbcstnesh2ps(&mut self, op0: A, op1: B);
8207}
8208
8209impl<'a> Vbcstnesh2psEmitter<Xmm, Mem> for Assembler<'a> {
8210 fn vbcstnesh2ps(&mut self, op0: Xmm, op1: Mem) {
8211 self.emit(VBCSTNESH2PS128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8212 }
8213}
8214
8215impl<'a> Vbcstnesh2psEmitter<Ymm, Mem> for Assembler<'a> {
8216 fn vbcstnesh2ps(&mut self, op0: Ymm, op1: Mem) {
8217 self.emit(VBCSTNESH2PS256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8218 }
8219}
8220
8221pub trait VcmpphEmitter<A, B, C, D> {
8238 fn vcmpph(&mut self, op0: A, op1: B, op2: C, op3: D);
8239}
8240
8241impl<'a> VcmpphEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8242 fn vcmpph(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8243 self.emit(VCMPPH128KRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8244 }
8245}
8246
8247impl<'a> VcmpphEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8248 fn vcmpph(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8249 self.emit(VCMPPH128KRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8250 }
8251}
8252
8253impl<'a> VcmpphEmitter<KReg, Ymm, Ymm, Imm> for Assembler<'a> {
8254 fn vcmpph(&mut self, op0: KReg, op1: Ymm, op2: Ymm, op3: Imm) {
8255 self.emit(VCMPPH256KRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8256 }
8257}
8258
8259impl<'a> VcmpphEmitter<KReg, Ymm, Mem, Imm> for Assembler<'a> {
8260 fn vcmpph(&mut self, op0: KReg, op1: Ymm, op2: Mem, op3: Imm) {
8261 self.emit(VCMPPH256KRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8262 }
8263}
8264
8265impl<'a> VcmpphEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8266 fn vcmpph(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8267 self.emit(VCMPPH512KRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8268 }
8269}
8270
8271impl<'a> VcmpphEmitter<KReg, Zmm, Mem, Imm> for Assembler<'a> {
8272 fn vcmpph(&mut self, op0: KReg, op1: Zmm, op2: Mem, op3: Imm) {
8273 self.emit(VCMPPH512KRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8274 }
8275}
8276
8277pub trait VcmpphMaskEmitter<A, B, C, D> {
8294 fn vcmpph_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
8295}
8296
8297impl<'a> VcmpphMaskEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8298 fn vcmpph_mask(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8299 self.emit(VCMPPH128KRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8300 }
8301}
8302
8303impl<'a> VcmpphMaskEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8304 fn vcmpph_mask(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8305 self.emit(VCMPPH128KRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8306 }
8307}
8308
8309impl<'a> VcmpphMaskEmitter<KReg, Ymm, Ymm, Imm> for Assembler<'a> {
8310 fn vcmpph_mask(&mut self, op0: KReg, op1: Ymm, op2: Ymm, op3: Imm) {
8311 self.emit(VCMPPH256KRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8312 }
8313}
8314
8315impl<'a> VcmpphMaskEmitter<KReg, Ymm, Mem, Imm> for Assembler<'a> {
8316 fn vcmpph_mask(&mut self, op0: KReg, op1: Ymm, op2: Mem, op3: Imm) {
8317 self.emit(VCMPPH256KRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8318 }
8319}
8320
8321impl<'a> VcmpphMaskEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8322 fn vcmpph_mask(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8323 self.emit(VCMPPH512KRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8324 }
8325}
8326
8327impl<'a> VcmpphMaskEmitter<KReg, Zmm, Mem, Imm> for Assembler<'a> {
8328 fn vcmpph_mask(&mut self, op0: KReg, op1: Zmm, op2: Mem, op3: Imm) {
8329 self.emit(VCMPPH512KRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8330 }
8331}
8332
8333pub trait VcmpphMaskSaeEmitter<A, B, C, D> {
8345 fn vcmpph_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8346}
8347
8348impl<'a> VcmpphMaskSaeEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8349 fn vcmpph_mask_sae(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8350 self.emit(VCMPPH512KRRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8351 }
8352}
8353
8354pub trait VcmpphSaeEmitter<A, B, C, D> {
8366 fn vcmpph_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8367}
8368
8369impl<'a> VcmpphSaeEmitter<KReg, Zmm, Zmm, Imm> for Assembler<'a> {
8370 fn vcmpph_sae(&mut self, op0: KReg, op1: Zmm, op2: Zmm, op3: Imm) {
8371 self.emit(VCMPPH512KRRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8372 }
8373}
8374
8375pub trait VcmpshEmitter<A, B, C, D> {
8388 fn vcmpsh(&mut self, op0: A, op1: B, op2: C, op3: D);
8389}
8390
8391impl<'a> VcmpshEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8392 fn vcmpsh(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8393 self.emit(VCMPSHKRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8394 }
8395}
8396
8397impl<'a> VcmpshEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8398 fn vcmpsh(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8399 self.emit(VCMPSHKRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8400 }
8401}
8402
8403pub trait VcmpshMaskEmitter<A, B, C, D> {
8416 fn vcmpsh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
8417}
8418
8419impl<'a> VcmpshMaskEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8420 fn vcmpsh_mask(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8421 self.emit(VCMPSHKRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8422 }
8423}
8424
8425impl<'a> VcmpshMaskEmitter<KReg, Xmm, Mem, Imm> for Assembler<'a> {
8426 fn vcmpsh_mask(&mut self, op0: KReg, op1: Xmm, op2: Mem, op3: Imm) {
8427 self.emit(VCMPSHKRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8428 }
8429}
8430
8431pub trait VcmpshMaskSaeEmitter<A, B, C, D> {
8443 fn vcmpsh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8444}
8445
8446impl<'a> VcmpshMaskSaeEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8447 fn vcmpsh_mask_sae(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8448 self.emit(VCMPSHKRRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8449 }
8450}
8451
8452pub trait VcmpshSaeEmitter<A, B, C, D> {
8464 fn vcmpsh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
8465}
8466
8467impl<'a> VcmpshSaeEmitter<KReg, Xmm, Xmm, Imm> for Assembler<'a> {
8468 fn vcmpsh_sae(&mut self, op0: KReg, op1: Xmm, op2: Xmm, op3: Imm) {
8469 self.emit(VCMPSHKRRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
8470 }
8471}
8472
8473pub trait VcomishEmitter<A, B> {
8486 fn vcomish(&mut self, op0: A, op1: B);
8487}
8488
8489impl<'a> VcomishEmitter<Xmm, Xmm> for Assembler<'a> {
8490 fn vcomish(&mut self, op0: Xmm, op1: Xmm) {
8491 self.emit(VCOMISHRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8492 }
8493}
8494
8495impl<'a> VcomishEmitter<Xmm, Mem> for Assembler<'a> {
8496 fn vcomish(&mut self, op0: Xmm, op1: Mem) {
8497 self.emit(VCOMISHRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8498 }
8499}
8500
8501pub trait VcomishSaeEmitter<A, B> {
8513 fn vcomish_sae(&mut self, op0: A, op1: B);
8514}
8515
8516impl<'a> VcomishSaeEmitter<Xmm, Xmm> for Assembler<'a> {
8517 fn vcomish_sae(&mut self, op0: Xmm, op1: Xmm) {
8518 self.emit(VCOMISHRR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8519 }
8520}
8521
8522pub trait Vcvtdq2phEmitter<A, B> {
8538 fn vcvtdq2ph(&mut self, op0: A, op1: B);
8539}
8540
8541impl<'a> Vcvtdq2phEmitter<Xmm, Xmm> for Assembler<'a> {
8542 fn vcvtdq2ph(&mut self, op0: Xmm, op1: Xmm) {
8543 self.emit(VCVTDQ2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8544 }
8545}
8546
8547impl<'a> Vcvtdq2phEmitter<Xmm, Mem> for Assembler<'a> {
8548 fn vcvtdq2ph(&mut self, op0: Xmm, op1: Mem) {
8549 self.emit(VCVTDQ2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8550 }
8551}
8552
8553impl<'a> Vcvtdq2phEmitter<Xmm, Ymm> for Assembler<'a> {
8554 fn vcvtdq2ph(&mut self, op0: Xmm, op1: Ymm) {
8555 self.emit(VCVTDQ2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8556 }
8557}
8558
8559impl<'a> Vcvtdq2phEmitter<Ymm, Zmm> for Assembler<'a> {
8560 fn vcvtdq2ph(&mut self, op0: Ymm, op1: Zmm) {
8561 self.emit(VCVTDQ2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8562 }
8563}
8564
8565impl<'a> Vcvtdq2phEmitter<Ymm, Mem> for Assembler<'a> {
8566 fn vcvtdq2ph(&mut self, op0: Ymm, op1: Mem) {
8567 self.emit(VCVTDQ2PH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8568 }
8569}
8570
8571pub trait Vcvtdq2phErEmitter<A, B> {
8583 fn vcvtdq2ph_er(&mut self, op0: A, op1: B);
8584}
8585
8586impl<'a> Vcvtdq2phErEmitter<Ymm, Zmm> for Assembler<'a> {
8587 fn vcvtdq2ph_er(&mut self, op0: Ymm, op1: Zmm) {
8588 self.emit(VCVTDQ2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8589 }
8590}
8591
8592pub trait Vcvtdq2phMaskEmitter<A, B> {
8608 fn vcvtdq2ph_mask(&mut self, op0: A, op1: B);
8609}
8610
8611impl<'a> Vcvtdq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
8612 fn vcvtdq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
8613 self.emit(VCVTDQ2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8614 }
8615}
8616
8617impl<'a> Vcvtdq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
8618 fn vcvtdq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
8619 self.emit(VCVTDQ2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8620 }
8621}
8622
8623impl<'a> Vcvtdq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
8624 fn vcvtdq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
8625 self.emit(VCVTDQ2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8626 }
8627}
8628
8629impl<'a> Vcvtdq2phMaskEmitter<Ymm, Zmm> for Assembler<'a> {
8630 fn vcvtdq2ph_mask(&mut self, op0: Ymm, op1: Zmm) {
8631 self.emit(VCVTDQ2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8632 }
8633}
8634
8635impl<'a> Vcvtdq2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
8636 fn vcvtdq2ph_mask(&mut self, op0: Ymm, op1: Mem) {
8637 self.emit(VCVTDQ2PH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8638 }
8639}
8640
8641pub trait Vcvtdq2phMaskErEmitter<A, B> {
8653 fn vcvtdq2ph_mask_er(&mut self, op0: A, op1: B);
8654}
8655
8656impl<'a> Vcvtdq2phMaskErEmitter<Ymm, Zmm> for Assembler<'a> {
8657 fn vcvtdq2ph_mask_er(&mut self, op0: Ymm, op1: Zmm) {
8658 self.emit(VCVTDQ2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8659 }
8660}
8661
8662pub trait Vcvtdq2phMaskzEmitter<A, B> {
8678 fn vcvtdq2ph_maskz(&mut self, op0: A, op1: B);
8679}
8680
8681impl<'a> Vcvtdq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
8682 fn vcvtdq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
8683 self.emit(VCVTDQ2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8684 }
8685}
8686
8687impl<'a> Vcvtdq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
8688 fn vcvtdq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
8689 self.emit(VCVTDQ2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8690 }
8691}
8692
8693impl<'a> Vcvtdq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
8694 fn vcvtdq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
8695 self.emit(VCVTDQ2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8696 }
8697}
8698
8699impl<'a> Vcvtdq2phMaskzEmitter<Ymm, Zmm> for Assembler<'a> {
8700 fn vcvtdq2ph_maskz(&mut self, op0: Ymm, op1: Zmm) {
8701 self.emit(VCVTDQ2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8702 }
8703}
8704
8705impl<'a> Vcvtdq2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
8706 fn vcvtdq2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
8707 self.emit(VCVTDQ2PH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8708 }
8709}
8710
8711pub trait Vcvtdq2phMaskzErEmitter<A, B> {
8723 fn vcvtdq2ph_maskz_er(&mut self, op0: A, op1: B);
8724}
8725
8726impl<'a> Vcvtdq2phMaskzErEmitter<Ymm, Zmm> for Assembler<'a> {
8727 fn vcvtdq2ph_maskz_er(&mut self, op0: Ymm, op1: Zmm) {
8728 self.emit(VCVTDQ2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8729 }
8730}
8731
8732pub trait Vcvtneebf162psEmitter<A, B> {
8745 fn vcvtneebf162ps(&mut self, op0: A, op1: B);
8746}
8747
8748impl<'a> Vcvtneebf162psEmitter<Xmm, Mem> for Assembler<'a> {
8749 fn vcvtneebf162ps(&mut self, op0: Xmm, op1: Mem) {
8750 self.emit(VCVTNEEBF162PS128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8751 }
8752}
8753
8754impl<'a> Vcvtneebf162psEmitter<Ymm, Mem> for Assembler<'a> {
8755 fn vcvtneebf162ps(&mut self, op0: Ymm, op1: Mem) {
8756 self.emit(VCVTNEEBF162PS256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8757 }
8758}
8759
8760pub trait Vcvtneeph2psEmitter<A, B> {
8773 fn vcvtneeph2ps(&mut self, op0: A, op1: B);
8774}
8775
8776impl<'a> Vcvtneeph2psEmitter<Xmm, Mem> for Assembler<'a> {
8777 fn vcvtneeph2ps(&mut self, op0: Xmm, op1: Mem) {
8778 self.emit(VCVTNEEPH2PS128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8779 }
8780}
8781
8782impl<'a> Vcvtneeph2psEmitter<Ymm, Mem> for Assembler<'a> {
8783 fn vcvtneeph2ps(&mut self, op0: Ymm, op1: Mem) {
8784 self.emit(VCVTNEEPH2PS256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8785 }
8786}
8787
8788pub trait Vcvtneobf162psEmitter<A, B> {
8801 fn vcvtneobf162ps(&mut self, op0: A, op1: B);
8802}
8803
8804impl<'a> Vcvtneobf162psEmitter<Xmm, Mem> for Assembler<'a> {
8805 fn vcvtneobf162ps(&mut self, op0: Xmm, op1: Mem) {
8806 self.emit(VCVTNEOBF162PS128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8807 }
8808}
8809
8810impl<'a> Vcvtneobf162psEmitter<Ymm, Mem> for Assembler<'a> {
8811 fn vcvtneobf162ps(&mut self, op0: Ymm, op1: Mem) {
8812 self.emit(VCVTNEOBF162PS256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8813 }
8814}
8815
8816pub trait Vcvtneoph2psEmitter<A, B> {
8829 fn vcvtneoph2ps(&mut self, op0: A, op1: B);
8830}
8831
8832impl<'a> Vcvtneoph2psEmitter<Xmm, Mem> for Assembler<'a> {
8833 fn vcvtneoph2ps(&mut self, op0: Xmm, op1: Mem) {
8834 self.emit(VCVTNEOPH2PS128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8835 }
8836}
8837
8838impl<'a> Vcvtneoph2psEmitter<Ymm, Mem> for Assembler<'a> {
8839 fn vcvtneoph2ps(&mut self, op0: Ymm, op1: Mem) {
8840 self.emit(VCVTNEOPH2PS256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8841 }
8842}
8843
8844pub trait Vcvtpd2phEmitter<A, B> {
8859 fn vcvtpd2ph(&mut self, op0: A, op1: B);
8860}
8861
8862impl<'a> Vcvtpd2phEmitter<Xmm, Xmm> for Assembler<'a> {
8863 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Xmm) {
8864 self.emit(VCVTPD2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8865 }
8866}
8867
8868impl<'a> Vcvtpd2phEmitter<Xmm, Mem> for Assembler<'a> {
8869 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Mem) {
8870 self.emit(VCVTPD2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8871 }
8872}
8873
8874impl<'a> Vcvtpd2phEmitter<Xmm, Ymm> for Assembler<'a> {
8875 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Ymm) {
8876 self.emit(VCVTPD2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8877 }
8878}
8879
8880impl<'a> Vcvtpd2phEmitter<Xmm, Zmm> for Assembler<'a> {
8881 fn vcvtpd2ph(&mut self, op0: Xmm, op1: Zmm) {
8882 self.emit(VCVTPD2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8883 }
8884}
8885
8886pub trait Vcvtpd2phErEmitter<A, B> {
8898 fn vcvtpd2ph_er(&mut self, op0: A, op1: B);
8899}
8900
8901impl<'a> Vcvtpd2phErEmitter<Xmm, Zmm> for Assembler<'a> {
8902 fn vcvtpd2ph_er(&mut self, op0: Xmm, op1: Zmm) {
8903 self.emit(VCVTPD2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8904 }
8905}
8906
8907pub trait Vcvtpd2phMaskEmitter<A, B> {
8922 fn vcvtpd2ph_mask(&mut self, op0: A, op1: B);
8923}
8924
8925impl<'a> Vcvtpd2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
8926 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
8927 self.emit(VCVTPD2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8928 }
8929}
8930
8931impl<'a> Vcvtpd2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
8932 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Mem) {
8933 self.emit(VCVTPD2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8934 }
8935}
8936
8937impl<'a> Vcvtpd2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
8938 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
8939 self.emit(VCVTPD2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8940 }
8941}
8942
8943impl<'a> Vcvtpd2phMaskEmitter<Xmm, Zmm> for Assembler<'a> {
8944 fn vcvtpd2ph_mask(&mut self, op0: Xmm, op1: Zmm) {
8945 self.emit(VCVTPD2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8946 }
8947}
8948
8949pub trait Vcvtpd2phMaskErEmitter<A, B> {
8961 fn vcvtpd2ph_mask_er(&mut self, op0: A, op1: B);
8962}
8963
8964impl<'a> Vcvtpd2phMaskErEmitter<Xmm, Zmm> for Assembler<'a> {
8965 fn vcvtpd2ph_mask_er(&mut self, op0: Xmm, op1: Zmm) {
8966 self.emit(VCVTPD2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8967 }
8968}
8969
8970pub trait Vcvtpd2phMaskzEmitter<A, B> {
8985 fn vcvtpd2ph_maskz(&mut self, op0: A, op1: B);
8986}
8987
8988impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
8989 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
8990 self.emit(VCVTPD2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8991 }
8992}
8993
8994impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
8995 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
8996 self.emit(VCVTPD2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
8997 }
8998}
8999
9000impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
9001 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
9002 self.emit(VCVTPD2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9003 }
9004}
9005
9006impl<'a> Vcvtpd2phMaskzEmitter<Xmm, Zmm> for Assembler<'a> {
9007 fn vcvtpd2ph_maskz(&mut self, op0: Xmm, op1: Zmm) {
9008 self.emit(VCVTPD2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9009 }
9010}
9011
9012pub trait Vcvtpd2phMaskzErEmitter<A, B> {
9024 fn vcvtpd2ph_maskz_er(&mut self, op0: A, op1: B);
9025}
9026
9027impl<'a> Vcvtpd2phMaskzErEmitter<Xmm, Zmm> for Assembler<'a> {
9028 fn vcvtpd2ph_maskz_er(&mut self, op0: Xmm, op1: Zmm) {
9029 self.emit(VCVTPD2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9030 }
9031}
9032
9033pub trait Vcvtph2dqEmitter<A, B> {
9050 fn vcvtph2dq(&mut self, op0: A, op1: B);
9051}
9052
9053impl<'a> Vcvtph2dqEmitter<Xmm, Xmm> for Assembler<'a> {
9054 fn vcvtph2dq(&mut self, op0: Xmm, op1: Xmm) {
9055 self.emit(VCVTPH2DQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9056 }
9057}
9058
9059impl<'a> Vcvtph2dqEmitter<Xmm, Mem> for Assembler<'a> {
9060 fn vcvtph2dq(&mut self, op0: Xmm, op1: Mem) {
9061 self.emit(VCVTPH2DQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9062 }
9063}
9064
9065impl<'a> Vcvtph2dqEmitter<Ymm, Xmm> for Assembler<'a> {
9066 fn vcvtph2dq(&mut self, op0: Ymm, op1: Xmm) {
9067 self.emit(VCVTPH2DQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9068 }
9069}
9070
9071impl<'a> Vcvtph2dqEmitter<Ymm, Mem> for Assembler<'a> {
9072 fn vcvtph2dq(&mut self, op0: Ymm, op1: Mem) {
9073 self.emit(VCVTPH2DQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9074 }
9075}
9076
9077impl<'a> Vcvtph2dqEmitter<Zmm, Ymm> for Assembler<'a> {
9078 fn vcvtph2dq(&mut self, op0: Zmm, op1: Ymm) {
9079 self.emit(VCVTPH2DQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9080 }
9081}
9082
9083impl<'a> Vcvtph2dqEmitter<Zmm, Mem> for Assembler<'a> {
9084 fn vcvtph2dq(&mut self, op0: Zmm, op1: Mem) {
9085 self.emit(VCVTPH2DQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9086 }
9087}
9088
9089pub trait Vcvtph2dqErEmitter<A, B> {
9101 fn vcvtph2dq_er(&mut self, op0: A, op1: B);
9102}
9103
9104impl<'a> Vcvtph2dqErEmitter<Zmm, Ymm> for Assembler<'a> {
9105 fn vcvtph2dq_er(&mut self, op0: Zmm, op1: Ymm) {
9106 self.emit(VCVTPH2DQ512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9107 }
9108}
9109
9110pub trait Vcvtph2dqMaskEmitter<A, B> {
9127 fn vcvtph2dq_mask(&mut self, op0: A, op1: B);
9128}
9129
9130impl<'a> Vcvtph2dqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9131 fn vcvtph2dq_mask(&mut self, op0: Xmm, op1: Xmm) {
9132 self.emit(VCVTPH2DQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9133 }
9134}
9135
9136impl<'a> Vcvtph2dqMaskEmitter<Xmm, Mem> for Assembler<'a> {
9137 fn vcvtph2dq_mask(&mut self, op0: Xmm, op1: Mem) {
9138 self.emit(VCVTPH2DQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9139 }
9140}
9141
9142impl<'a> Vcvtph2dqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
9143 fn vcvtph2dq_mask(&mut self, op0: Ymm, op1: Xmm) {
9144 self.emit(VCVTPH2DQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9145 }
9146}
9147
9148impl<'a> Vcvtph2dqMaskEmitter<Ymm, Mem> for Assembler<'a> {
9149 fn vcvtph2dq_mask(&mut self, op0: Ymm, op1: Mem) {
9150 self.emit(VCVTPH2DQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9151 }
9152}
9153
9154impl<'a> Vcvtph2dqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
9155 fn vcvtph2dq_mask(&mut self, op0: Zmm, op1: Ymm) {
9156 self.emit(VCVTPH2DQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9157 }
9158}
9159
9160impl<'a> Vcvtph2dqMaskEmitter<Zmm, Mem> for Assembler<'a> {
9161 fn vcvtph2dq_mask(&mut self, op0: Zmm, op1: Mem) {
9162 self.emit(VCVTPH2DQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9163 }
9164}
9165
9166pub trait Vcvtph2dqMaskErEmitter<A, B> {
9178 fn vcvtph2dq_mask_er(&mut self, op0: A, op1: B);
9179}
9180
9181impl<'a> Vcvtph2dqMaskErEmitter<Zmm, Ymm> for Assembler<'a> {
9182 fn vcvtph2dq_mask_er(&mut self, op0: Zmm, op1: Ymm) {
9183 self.emit(VCVTPH2DQ512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9184 }
9185}
9186
9187pub trait Vcvtph2dqMaskzEmitter<A, B> {
9204 fn vcvtph2dq_maskz(&mut self, op0: A, op1: B);
9205}
9206
9207impl<'a> Vcvtph2dqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9208 fn vcvtph2dq_maskz(&mut self, op0: Xmm, op1: Xmm) {
9209 self.emit(VCVTPH2DQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9210 }
9211}
9212
9213impl<'a> Vcvtph2dqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9214 fn vcvtph2dq_maskz(&mut self, op0: Xmm, op1: Mem) {
9215 self.emit(VCVTPH2DQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9216 }
9217}
9218
9219impl<'a> Vcvtph2dqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
9220 fn vcvtph2dq_maskz(&mut self, op0: Ymm, op1: Xmm) {
9221 self.emit(VCVTPH2DQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9222 }
9223}
9224
9225impl<'a> Vcvtph2dqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
9226 fn vcvtph2dq_maskz(&mut self, op0: Ymm, op1: Mem) {
9227 self.emit(VCVTPH2DQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9228 }
9229}
9230
9231impl<'a> Vcvtph2dqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
9232 fn vcvtph2dq_maskz(&mut self, op0: Zmm, op1: Ymm) {
9233 self.emit(VCVTPH2DQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9234 }
9235}
9236
9237impl<'a> Vcvtph2dqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
9238 fn vcvtph2dq_maskz(&mut self, op0: Zmm, op1: Mem) {
9239 self.emit(VCVTPH2DQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9240 }
9241}
9242
9243pub trait Vcvtph2dqMaskzErEmitter<A, B> {
9255 fn vcvtph2dq_maskz_er(&mut self, op0: A, op1: B);
9256}
9257
9258impl<'a> Vcvtph2dqMaskzErEmitter<Zmm, Ymm> for Assembler<'a> {
9259 fn vcvtph2dq_maskz_er(&mut self, op0: Zmm, op1: Ymm) {
9260 self.emit(VCVTPH2DQ512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9261 }
9262}
9263
9264pub trait Vcvtph2pdEmitter<A, B> {
9281 fn vcvtph2pd(&mut self, op0: A, op1: B);
9282}
9283
9284impl<'a> Vcvtph2pdEmitter<Xmm, Xmm> for Assembler<'a> {
9285 fn vcvtph2pd(&mut self, op0: Xmm, op1: Xmm) {
9286 self.emit(VCVTPH2PD128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9287 }
9288}
9289
9290impl<'a> Vcvtph2pdEmitter<Xmm, Mem> for Assembler<'a> {
9291 fn vcvtph2pd(&mut self, op0: Xmm, op1: Mem) {
9292 self.emit(VCVTPH2PD128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9293 }
9294}
9295
9296impl<'a> Vcvtph2pdEmitter<Ymm, Xmm> for Assembler<'a> {
9297 fn vcvtph2pd(&mut self, op0: Ymm, op1: Xmm) {
9298 self.emit(VCVTPH2PD256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9299 }
9300}
9301
9302impl<'a> Vcvtph2pdEmitter<Ymm, Mem> for Assembler<'a> {
9303 fn vcvtph2pd(&mut self, op0: Ymm, op1: Mem) {
9304 self.emit(VCVTPH2PD256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9305 }
9306}
9307
9308impl<'a> Vcvtph2pdEmitter<Zmm, Xmm> for Assembler<'a> {
9309 fn vcvtph2pd(&mut self, op0: Zmm, op1: Xmm) {
9310 self.emit(VCVTPH2PD512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9311 }
9312}
9313
9314impl<'a> Vcvtph2pdEmitter<Zmm, Mem> for Assembler<'a> {
9315 fn vcvtph2pd(&mut self, op0: Zmm, op1: Mem) {
9316 self.emit(VCVTPH2PD512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9317 }
9318}
9319
9320pub trait Vcvtph2pdMaskEmitter<A, B> {
9337 fn vcvtph2pd_mask(&mut self, op0: A, op1: B);
9338}
9339
9340impl<'a> Vcvtph2pdMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9341 fn vcvtph2pd_mask(&mut self, op0: Xmm, op1: Xmm) {
9342 self.emit(VCVTPH2PD128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9343 }
9344}
9345
9346impl<'a> Vcvtph2pdMaskEmitter<Xmm, Mem> for Assembler<'a> {
9347 fn vcvtph2pd_mask(&mut self, op0: Xmm, op1: Mem) {
9348 self.emit(VCVTPH2PD128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9349 }
9350}
9351
9352impl<'a> Vcvtph2pdMaskEmitter<Ymm, Xmm> for Assembler<'a> {
9353 fn vcvtph2pd_mask(&mut self, op0: Ymm, op1: Xmm) {
9354 self.emit(VCVTPH2PD256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9355 }
9356}
9357
9358impl<'a> Vcvtph2pdMaskEmitter<Ymm, Mem> for Assembler<'a> {
9359 fn vcvtph2pd_mask(&mut self, op0: Ymm, op1: Mem) {
9360 self.emit(VCVTPH2PD256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9361 }
9362}
9363
9364impl<'a> Vcvtph2pdMaskEmitter<Zmm, Xmm> for Assembler<'a> {
9365 fn vcvtph2pd_mask(&mut self, op0: Zmm, op1: Xmm) {
9366 self.emit(VCVTPH2PD512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9367 }
9368}
9369
9370impl<'a> Vcvtph2pdMaskEmitter<Zmm, Mem> for Assembler<'a> {
9371 fn vcvtph2pd_mask(&mut self, op0: Zmm, op1: Mem) {
9372 self.emit(VCVTPH2PD512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9373 }
9374}
9375
9376pub trait Vcvtph2pdMaskSaeEmitter<A, B> {
9388 fn vcvtph2pd_mask_sae(&mut self, op0: A, op1: B);
9389}
9390
9391impl<'a> Vcvtph2pdMaskSaeEmitter<Zmm, Xmm> for Assembler<'a> {
9392 fn vcvtph2pd_mask_sae(&mut self, op0: Zmm, op1: Xmm) {
9393 self.emit(VCVTPH2PD512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9394 }
9395}
9396
9397pub trait Vcvtph2pdMaskzEmitter<A, B> {
9414 fn vcvtph2pd_maskz(&mut self, op0: A, op1: B);
9415}
9416
9417impl<'a> Vcvtph2pdMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9418 fn vcvtph2pd_maskz(&mut self, op0: Xmm, op1: Xmm) {
9419 self.emit(VCVTPH2PD128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9420 }
9421}
9422
9423impl<'a> Vcvtph2pdMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9424 fn vcvtph2pd_maskz(&mut self, op0: Xmm, op1: Mem) {
9425 self.emit(VCVTPH2PD128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9426 }
9427}
9428
9429impl<'a> Vcvtph2pdMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
9430 fn vcvtph2pd_maskz(&mut self, op0: Ymm, op1: Xmm) {
9431 self.emit(VCVTPH2PD256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9432 }
9433}
9434
9435impl<'a> Vcvtph2pdMaskzEmitter<Ymm, Mem> for Assembler<'a> {
9436 fn vcvtph2pd_maskz(&mut self, op0: Ymm, op1: Mem) {
9437 self.emit(VCVTPH2PD256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9438 }
9439}
9440
9441impl<'a> Vcvtph2pdMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
9442 fn vcvtph2pd_maskz(&mut self, op0: Zmm, op1: Xmm) {
9443 self.emit(VCVTPH2PD512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9444 }
9445}
9446
9447impl<'a> Vcvtph2pdMaskzEmitter<Zmm, Mem> for Assembler<'a> {
9448 fn vcvtph2pd_maskz(&mut self, op0: Zmm, op1: Mem) {
9449 self.emit(VCVTPH2PD512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9450 }
9451}
9452
9453pub trait Vcvtph2pdMaskzSaeEmitter<A, B> {
9465 fn vcvtph2pd_maskz_sae(&mut self, op0: A, op1: B);
9466}
9467
9468impl<'a> Vcvtph2pdMaskzSaeEmitter<Zmm, Xmm> for Assembler<'a> {
9469 fn vcvtph2pd_maskz_sae(&mut self, op0: Zmm, op1: Xmm) {
9470 self.emit(VCVTPH2PD512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9471 }
9472}
9473
9474pub trait Vcvtph2pdSaeEmitter<A, B> {
9486 fn vcvtph2pd_sae(&mut self, op0: A, op1: B);
9487}
9488
9489impl<'a> Vcvtph2pdSaeEmitter<Zmm, Xmm> for Assembler<'a> {
9490 fn vcvtph2pd_sae(&mut self, op0: Zmm, op1: Xmm) {
9491 self.emit(VCVTPH2PD512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9492 }
9493}
9494
9495pub trait Vcvtph2psxEmitter<A, B> {
9516 fn vcvtph2psx(&mut self, op0: A, op1: B);
9517}
9518
9519impl<'a> Vcvtph2psxEmitter<Xmm, Xmm> for Assembler<'a> {
9520 fn vcvtph2psx(&mut self, op0: Xmm, op1: Xmm) {
9521 self.emit(VCVTPH2PSX128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9522 }
9523}
9524
9525impl<'a> Vcvtph2psxEmitter<Xmm, Mem> for Assembler<'a> {
9526 fn vcvtph2psx(&mut self, op0: Xmm, op1: Mem) {
9527 self.emit(VCVTPH2PSX128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9528 }
9529}
9530
9531impl<'a> Vcvtph2psxEmitter<Ymm, Xmm> for Assembler<'a> {
9532 fn vcvtph2psx(&mut self, op0: Ymm, op1: Xmm) {
9533 self.emit(VCVTPH2PSX256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9534 }
9535}
9536
9537impl<'a> Vcvtph2psxEmitter<Ymm, Mem> for Assembler<'a> {
9538 fn vcvtph2psx(&mut self, op0: Ymm, op1: Mem) {
9539 self.emit(VCVTPH2PSX256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9540 }
9541}
9542
9543impl<'a> Vcvtph2psxEmitter<Zmm, Ymm> for Assembler<'a> {
9544 fn vcvtph2psx(&mut self, op0: Zmm, op1: Ymm) {
9545 self.emit(VCVTPH2PSX512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9546 }
9547}
9548
9549impl<'a> Vcvtph2psxEmitter<Zmm, Mem> for Assembler<'a> {
9550 fn vcvtph2psx(&mut self, op0: Zmm, op1: Mem) {
9551 self.emit(VCVTPH2PSX512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9552 }
9553}
9554
9555pub trait Vcvtph2psxMaskEmitter<A, B> {
9576 fn vcvtph2psx_mask(&mut self, op0: A, op1: B);
9577}
9578
9579impl<'a> Vcvtph2psxMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9580 fn vcvtph2psx_mask(&mut self, op0: Xmm, op1: Xmm) {
9581 self.emit(VCVTPH2PSX128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9582 }
9583}
9584
9585impl<'a> Vcvtph2psxMaskEmitter<Xmm, Mem> for Assembler<'a> {
9586 fn vcvtph2psx_mask(&mut self, op0: Xmm, op1: Mem) {
9587 self.emit(VCVTPH2PSX128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9588 }
9589}
9590
9591impl<'a> Vcvtph2psxMaskEmitter<Ymm, Xmm> for Assembler<'a> {
9592 fn vcvtph2psx_mask(&mut self, op0: Ymm, op1: Xmm) {
9593 self.emit(VCVTPH2PSX256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9594 }
9595}
9596
9597impl<'a> Vcvtph2psxMaskEmitter<Ymm, Mem> for Assembler<'a> {
9598 fn vcvtph2psx_mask(&mut self, op0: Ymm, op1: Mem) {
9599 self.emit(VCVTPH2PSX256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9600 }
9601}
9602
9603impl<'a> Vcvtph2psxMaskEmitter<Zmm, Ymm> for Assembler<'a> {
9604 fn vcvtph2psx_mask(&mut self, op0: Zmm, op1: Ymm) {
9605 self.emit(VCVTPH2PSX512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9606 }
9607}
9608
9609impl<'a> Vcvtph2psxMaskEmitter<Zmm, Mem> for Assembler<'a> {
9610 fn vcvtph2psx_mask(&mut self, op0: Zmm, op1: Mem) {
9611 self.emit(VCVTPH2PSX512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9612 }
9613}
9614
9615pub trait Vcvtph2psxMaskSaeEmitter<A, B> {
9631 fn vcvtph2psx_mask_sae(&mut self, op0: A, op1: B);
9632}
9633
9634impl<'a> Vcvtph2psxMaskSaeEmitter<Zmm, Ymm> for Assembler<'a> {
9635 fn vcvtph2psx_mask_sae(&mut self, op0: Zmm, op1: Ymm) {
9636 self.emit(VCVTPH2PSX512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9637 }
9638}
9639
9640pub trait Vcvtph2psxMaskzEmitter<A, B> {
9661 fn vcvtph2psx_maskz(&mut self, op0: A, op1: B);
9662}
9663
9664impl<'a> Vcvtph2psxMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9665 fn vcvtph2psx_maskz(&mut self, op0: Xmm, op1: Xmm) {
9666 self.emit(VCVTPH2PSX128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9667 }
9668}
9669
9670impl<'a> Vcvtph2psxMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9671 fn vcvtph2psx_maskz(&mut self, op0: Xmm, op1: Mem) {
9672 self.emit(VCVTPH2PSX128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9673 }
9674}
9675
9676impl<'a> Vcvtph2psxMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
9677 fn vcvtph2psx_maskz(&mut self, op0: Ymm, op1: Xmm) {
9678 self.emit(VCVTPH2PSX256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9679 }
9680}
9681
9682impl<'a> Vcvtph2psxMaskzEmitter<Ymm, Mem> for Assembler<'a> {
9683 fn vcvtph2psx_maskz(&mut self, op0: Ymm, op1: Mem) {
9684 self.emit(VCVTPH2PSX256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9685 }
9686}
9687
9688impl<'a> Vcvtph2psxMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
9689 fn vcvtph2psx_maskz(&mut self, op0: Zmm, op1: Ymm) {
9690 self.emit(VCVTPH2PSX512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9691 }
9692}
9693
9694impl<'a> Vcvtph2psxMaskzEmitter<Zmm, Mem> for Assembler<'a> {
9695 fn vcvtph2psx_maskz(&mut self, op0: Zmm, op1: Mem) {
9696 self.emit(VCVTPH2PSX512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9697 }
9698}
9699
9700pub trait Vcvtph2psxMaskzSaeEmitter<A, B> {
9716 fn vcvtph2psx_maskz_sae(&mut self, op0: A, op1: B);
9717}
9718
9719impl<'a> Vcvtph2psxMaskzSaeEmitter<Zmm, Ymm> for Assembler<'a> {
9720 fn vcvtph2psx_maskz_sae(&mut self, op0: Zmm, op1: Ymm) {
9721 self.emit(VCVTPH2PSX512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9722 }
9723}
9724
9725pub trait Vcvtph2psxSaeEmitter<A, B> {
9741 fn vcvtph2psx_sae(&mut self, op0: A, op1: B);
9742}
9743
9744impl<'a> Vcvtph2psxSaeEmitter<Zmm, Ymm> for Assembler<'a> {
9745 fn vcvtph2psx_sae(&mut self, op0: Zmm, op1: Ymm) {
9746 self.emit(VCVTPH2PSX512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9747 }
9748}
9749
9750pub trait Vcvtph2qqEmitter<A, B> {
9767 fn vcvtph2qq(&mut self, op0: A, op1: B);
9768}
9769
9770impl<'a> Vcvtph2qqEmitter<Xmm, Xmm> for Assembler<'a> {
9771 fn vcvtph2qq(&mut self, op0: Xmm, op1: Xmm) {
9772 self.emit(VCVTPH2QQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9773 }
9774}
9775
9776impl<'a> Vcvtph2qqEmitter<Xmm, Mem> for Assembler<'a> {
9777 fn vcvtph2qq(&mut self, op0: Xmm, op1: Mem) {
9778 self.emit(VCVTPH2QQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9779 }
9780}
9781
9782impl<'a> Vcvtph2qqEmitter<Ymm, Xmm> for Assembler<'a> {
9783 fn vcvtph2qq(&mut self, op0: Ymm, op1: Xmm) {
9784 self.emit(VCVTPH2QQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9785 }
9786}
9787
9788impl<'a> Vcvtph2qqEmitter<Ymm, Mem> for Assembler<'a> {
9789 fn vcvtph2qq(&mut self, op0: Ymm, op1: Mem) {
9790 self.emit(VCVTPH2QQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9791 }
9792}
9793
9794impl<'a> Vcvtph2qqEmitter<Zmm, Xmm> for Assembler<'a> {
9795 fn vcvtph2qq(&mut self, op0: Zmm, op1: Xmm) {
9796 self.emit(VCVTPH2QQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9797 }
9798}
9799
9800impl<'a> Vcvtph2qqEmitter<Zmm, Mem> for Assembler<'a> {
9801 fn vcvtph2qq(&mut self, op0: Zmm, op1: Mem) {
9802 self.emit(VCVTPH2QQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9803 }
9804}
9805
9806pub trait Vcvtph2qqErEmitter<A, B> {
9818 fn vcvtph2qq_er(&mut self, op0: A, op1: B);
9819}
9820
9821impl<'a> Vcvtph2qqErEmitter<Zmm, Xmm> for Assembler<'a> {
9822 fn vcvtph2qq_er(&mut self, op0: Zmm, op1: Xmm) {
9823 self.emit(VCVTPH2QQ512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9824 }
9825}
9826
9827pub trait Vcvtph2qqMaskEmitter<A, B> {
9844 fn vcvtph2qq_mask(&mut self, op0: A, op1: B);
9845}
9846
9847impl<'a> Vcvtph2qqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
9848 fn vcvtph2qq_mask(&mut self, op0: Xmm, op1: Xmm) {
9849 self.emit(VCVTPH2QQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9850 }
9851}
9852
9853impl<'a> Vcvtph2qqMaskEmitter<Xmm, Mem> for Assembler<'a> {
9854 fn vcvtph2qq_mask(&mut self, op0: Xmm, op1: Mem) {
9855 self.emit(VCVTPH2QQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9856 }
9857}
9858
9859impl<'a> Vcvtph2qqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
9860 fn vcvtph2qq_mask(&mut self, op0: Ymm, op1: Xmm) {
9861 self.emit(VCVTPH2QQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9862 }
9863}
9864
9865impl<'a> Vcvtph2qqMaskEmitter<Ymm, Mem> for Assembler<'a> {
9866 fn vcvtph2qq_mask(&mut self, op0: Ymm, op1: Mem) {
9867 self.emit(VCVTPH2QQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9868 }
9869}
9870
9871impl<'a> Vcvtph2qqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
9872 fn vcvtph2qq_mask(&mut self, op0: Zmm, op1: Xmm) {
9873 self.emit(VCVTPH2QQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9874 }
9875}
9876
9877impl<'a> Vcvtph2qqMaskEmitter<Zmm, Mem> for Assembler<'a> {
9878 fn vcvtph2qq_mask(&mut self, op0: Zmm, op1: Mem) {
9879 self.emit(VCVTPH2QQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9880 }
9881}
9882
9883pub trait Vcvtph2qqMaskErEmitter<A, B> {
9895 fn vcvtph2qq_mask_er(&mut self, op0: A, op1: B);
9896}
9897
9898impl<'a> Vcvtph2qqMaskErEmitter<Zmm, Xmm> for Assembler<'a> {
9899 fn vcvtph2qq_mask_er(&mut self, op0: Zmm, op1: Xmm) {
9900 self.emit(VCVTPH2QQ512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9901 }
9902}
9903
9904pub trait Vcvtph2qqMaskzEmitter<A, B> {
9921 fn vcvtph2qq_maskz(&mut self, op0: A, op1: B);
9922}
9923
9924impl<'a> Vcvtph2qqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
9925 fn vcvtph2qq_maskz(&mut self, op0: Xmm, op1: Xmm) {
9926 self.emit(VCVTPH2QQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9927 }
9928}
9929
9930impl<'a> Vcvtph2qqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
9931 fn vcvtph2qq_maskz(&mut self, op0: Xmm, op1: Mem) {
9932 self.emit(VCVTPH2QQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9933 }
9934}
9935
9936impl<'a> Vcvtph2qqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
9937 fn vcvtph2qq_maskz(&mut self, op0: Ymm, op1: Xmm) {
9938 self.emit(VCVTPH2QQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9939 }
9940}
9941
9942impl<'a> Vcvtph2qqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
9943 fn vcvtph2qq_maskz(&mut self, op0: Ymm, op1: Mem) {
9944 self.emit(VCVTPH2QQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9945 }
9946}
9947
9948impl<'a> Vcvtph2qqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
9949 fn vcvtph2qq_maskz(&mut self, op0: Zmm, op1: Xmm) {
9950 self.emit(VCVTPH2QQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9951 }
9952}
9953
9954impl<'a> Vcvtph2qqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
9955 fn vcvtph2qq_maskz(&mut self, op0: Zmm, op1: Mem) {
9956 self.emit(VCVTPH2QQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9957 }
9958}
9959
9960pub trait Vcvtph2qqMaskzErEmitter<A, B> {
9972 fn vcvtph2qq_maskz_er(&mut self, op0: A, op1: B);
9973}
9974
9975impl<'a> Vcvtph2qqMaskzErEmitter<Zmm, Xmm> for Assembler<'a> {
9976 fn vcvtph2qq_maskz_er(&mut self, op0: Zmm, op1: Xmm) {
9977 self.emit(VCVTPH2QQ512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
9978 }
9979}
9980
9981pub trait Vcvtph2udqEmitter<A, B> {
9998 fn vcvtph2udq(&mut self, op0: A, op1: B);
9999}
10000
10001impl<'a> Vcvtph2udqEmitter<Xmm, Xmm> for Assembler<'a> {
10002 fn vcvtph2udq(&mut self, op0: Xmm, op1: Xmm) {
10003 self.emit(VCVTPH2UDQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10004 }
10005}
10006
10007impl<'a> Vcvtph2udqEmitter<Xmm, Mem> for Assembler<'a> {
10008 fn vcvtph2udq(&mut self, op0: Xmm, op1: Mem) {
10009 self.emit(VCVTPH2UDQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10010 }
10011}
10012
10013impl<'a> Vcvtph2udqEmitter<Ymm, Xmm> for Assembler<'a> {
10014 fn vcvtph2udq(&mut self, op0: Ymm, op1: Xmm) {
10015 self.emit(VCVTPH2UDQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10016 }
10017}
10018
10019impl<'a> Vcvtph2udqEmitter<Ymm, Mem> for Assembler<'a> {
10020 fn vcvtph2udq(&mut self, op0: Ymm, op1: Mem) {
10021 self.emit(VCVTPH2UDQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10022 }
10023}
10024
10025impl<'a> Vcvtph2udqEmitter<Zmm, Ymm> for Assembler<'a> {
10026 fn vcvtph2udq(&mut self, op0: Zmm, op1: Ymm) {
10027 self.emit(VCVTPH2UDQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10028 }
10029}
10030
10031impl<'a> Vcvtph2udqEmitter<Zmm, Mem> for Assembler<'a> {
10032 fn vcvtph2udq(&mut self, op0: Zmm, op1: Mem) {
10033 self.emit(VCVTPH2UDQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10034 }
10035}
10036
10037pub trait Vcvtph2udqErEmitter<A, B> {
10049 fn vcvtph2udq_er(&mut self, op0: A, op1: B);
10050}
10051
10052impl<'a> Vcvtph2udqErEmitter<Zmm, Ymm> for Assembler<'a> {
10053 fn vcvtph2udq_er(&mut self, op0: Zmm, op1: Ymm) {
10054 self.emit(VCVTPH2UDQ512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10055 }
10056}
10057
10058pub trait Vcvtph2udqMaskEmitter<A, B> {
10075 fn vcvtph2udq_mask(&mut self, op0: A, op1: B);
10076}
10077
10078impl<'a> Vcvtph2udqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10079 fn vcvtph2udq_mask(&mut self, op0: Xmm, op1: Xmm) {
10080 self.emit(VCVTPH2UDQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10081 }
10082}
10083
10084impl<'a> Vcvtph2udqMaskEmitter<Xmm, Mem> for Assembler<'a> {
10085 fn vcvtph2udq_mask(&mut self, op0: Xmm, op1: Mem) {
10086 self.emit(VCVTPH2UDQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10087 }
10088}
10089
10090impl<'a> Vcvtph2udqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
10091 fn vcvtph2udq_mask(&mut self, op0: Ymm, op1: Xmm) {
10092 self.emit(VCVTPH2UDQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10093 }
10094}
10095
10096impl<'a> Vcvtph2udqMaskEmitter<Ymm, Mem> for Assembler<'a> {
10097 fn vcvtph2udq_mask(&mut self, op0: Ymm, op1: Mem) {
10098 self.emit(VCVTPH2UDQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10099 }
10100}
10101
10102impl<'a> Vcvtph2udqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
10103 fn vcvtph2udq_mask(&mut self, op0: Zmm, op1: Ymm) {
10104 self.emit(VCVTPH2UDQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10105 }
10106}
10107
10108impl<'a> Vcvtph2udqMaskEmitter<Zmm, Mem> for Assembler<'a> {
10109 fn vcvtph2udq_mask(&mut self, op0: Zmm, op1: Mem) {
10110 self.emit(VCVTPH2UDQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10111 }
10112}
10113
10114pub trait Vcvtph2udqMaskErEmitter<A, B> {
10126 fn vcvtph2udq_mask_er(&mut self, op0: A, op1: B);
10127}
10128
10129impl<'a> Vcvtph2udqMaskErEmitter<Zmm, Ymm> for Assembler<'a> {
10130 fn vcvtph2udq_mask_er(&mut self, op0: Zmm, op1: Ymm) {
10131 self.emit(VCVTPH2UDQ512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10132 }
10133}
10134
10135pub trait Vcvtph2udqMaskzEmitter<A, B> {
10152 fn vcvtph2udq_maskz(&mut self, op0: A, op1: B);
10153}
10154
10155impl<'a> Vcvtph2udqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10156 fn vcvtph2udq_maskz(&mut self, op0: Xmm, op1: Xmm) {
10157 self.emit(VCVTPH2UDQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10158 }
10159}
10160
10161impl<'a> Vcvtph2udqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10162 fn vcvtph2udq_maskz(&mut self, op0: Xmm, op1: Mem) {
10163 self.emit(VCVTPH2UDQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10164 }
10165}
10166
10167impl<'a> Vcvtph2udqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
10168 fn vcvtph2udq_maskz(&mut self, op0: Ymm, op1: Xmm) {
10169 self.emit(VCVTPH2UDQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10170 }
10171}
10172
10173impl<'a> Vcvtph2udqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
10174 fn vcvtph2udq_maskz(&mut self, op0: Ymm, op1: Mem) {
10175 self.emit(VCVTPH2UDQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10176 }
10177}
10178
10179impl<'a> Vcvtph2udqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
10180 fn vcvtph2udq_maskz(&mut self, op0: Zmm, op1: Ymm) {
10181 self.emit(VCVTPH2UDQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10182 }
10183}
10184
10185impl<'a> Vcvtph2udqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
10186 fn vcvtph2udq_maskz(&mut self, op0: Zmm, op1: Mem) {
10187 self.emit(VCVTPH2UDQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10188 }
10189}
10190
10191pub trait Vcvtph2udqMaskzErEmitter<A, B> {
10203 fn vcvtph2udq_maskz_er(&mut self, op0: A, op1: B);
10204}
10205
10206impl<'a> Vcvtph2udqMaskzErEmitter<Zmm, Ymm> for Assembler<'a> {
10207 fn vcvtph2udq_maskz_er(&mut self, op0: Zmm, op1: Ymm) {
10208 self.emit(VCVTPH2UDQ512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10209 }
10210}
10211
10212pub trait Vcvtph2uqqEmitter<A, B> {
10229 fn vcvtph2uqq(&mut self, op0: A, op1: B);
10230}
10231
10232impl<'a> Vcvtph2uqqEmitter<Xmm, Xmm> for Assembler<'a> {
10233 fn vcvtph2uqq(&mut self, op0: Xmm, op1: Xmm) {
10234 self.emit(VCVTPH2UQQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10235 }
10236}
10237
10238impl<'a> Vcvtph2uqqEmitter<Xmm, Mem> for Assembler<'a> {
10239 fn vcvtph2uqq(&mut self, op0: Xmm, op1: Mem) {
10240 self.emit(VCVTPH2UQQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10241 }
10242}
10243
10244impl<'a> Vcvtph2uqqEmitter<Ymm, Xmm> for Assembler<'a> {
10245 fn vcvtph2uqq(&mut self, op0: Ymm, op1: Xmm) {
10246 self.emit(VCVTPH2UQQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10247 }
10248}
10249
10250impl<'a> Vcvtph2uqqEmitter<Ymm, Mem> for Assembler<'a> {
10251 fn vcvtph2uqq(&mut self, op0: Ymm, op1: Mem) {
10252 self.emit(VCVTPH2UQQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10253 }
10254}
10255
10256impl<'a> Vcvtph2uqqEmitter<Zmm, Xmm> for Assembler<'a> {
10257 fn vcvtph2uqq(&mut self, op0: Zmm, op1: Xmm) {
10258 self.emit(VCVTPH2UQQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10259 }
10260}
10261
10262impl<'a> Vcvtph2uqqEmitter<Zmm, Mem> for Assembler<'a> {
10263 fn vcvtph2uqq(&mut self, op0: Zmm, op1: Mem) {
10264 self.emit(VCVTPH2UQQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10265 }
10266}
10267
10268pub trait Vcvtph2uqqErEmitter<A, B> {
10280 fn vcvtph2uqq_er(&mut self, op0: A, op1: B);
10281}
10282
10283impl<'a> Vcvtph2uqqErEmitter<Zmm, Xmm> for Assembler<'a> {
10284 fn vcvtph2uqq_er(&mut self, op0: Zmm, op1: Xmm) {
10285 self.emit(VCVTPH2UQQ512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10286 }
10287}
10288
10289pub trait Vcvtph2uqqMaskEmitter<A, B> {
10306 fn vcvtph2uqq_mask(&mut self, op0: A, op1: B);
10307}
10308
10309impl<'a> Vcvtph2uqqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10310 fn vcvtph2uqq_mask(&mut self, op0: Xmm, op1: Xmm) {
10311 self.emit(VCVTPH2UQQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10312 }
10313}
10314
10315impl<'a> Vcvtph2uqqMaskEmitter<Xmm, Mem> for Assembler<'a> {
10316 fn vcvtph2uqq_mask(&mut self, op0: Xmm, op1: Mem) {
10317 self.emit(VCVTPH2UQQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10318 }
10319}
10320
10321impl<'a> Vcvtph2uqqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
10322 fn vcvtph2uqq_mask(&mut self, op0: Ymm, op1: Xmm) {
10323 self.emit(VCVTPH2UQQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10324 }
10325}
10326
10327impl<'a> Vcvtph2uqqMaskEmitter<Ymm, Mem> for Assembler<'a> {
10328 fn vcvtph2uqq_mask(&mut self, op0: Ymm, op1: Mem) {
10329 self.emit(VCVTPH2UQQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10330 }
10331}
10332
10333impl<'a> Vcvtph2uqqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
10334 fn vcvtph2uqq_mask(&mut self, op0: Zmm, op1: Xmm) {
10335 self.emit(VCVTPH2UQQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10336 }
10337}
10338
10339impl<'a> Vcvtph2uqqMaskEmitter<Zmm, Mem> for Assembler<'a> {
10340 fn vcvtph2uqq_mask(&mut self, op0: Zmm, op1: Mem) {
10341 self.emit(VCVTPH2UQQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10342 }
10343}
10344
10345pub trait Vcvtph2uqqMaskErEmitter<A, B> {
10357 fn vcvtph2uqq_mask_er(&mut self, op0: A, op1: B);
10358}
10359
10360impl<'a> Vcvtph2uqqMaskErEmitter<Zmm, Xmm> for Assembler<'a> {
10361 fn vcvtph2uqq_mask_er(&mut self, op0: Zmm, op1: Xmm) {
10362 self.emit(VCVTPH2UQQ512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10363 }
10364}
10365
10366pub trait Vcvtph2uqqMaskzEmitter<A, B> {
10383 fn vcvtph2uqq_maskz(&mut self, op0: A, op1: B);
10384}
10385
10386impl<'a> Vcvtph2uqqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10387 fn vcvtph2uqq_maskz(&mut self, op0: Xmm, op1: Xmm) {
10388 self.emit(VCVTPH2UQQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10389 }
10390}
10391
10392impl<'a> Vcvtph2uqqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10393 fn vcvtph2uqq_maskz(&mut self, op0: Xmm, op1: Mem) {
10394 self.emit(VCVTPH2UQQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10395 }
10396}
10397
10398impl<'a> Vcvtph2uqqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
10399 fn vcvtph2uqq_maskz(&mut self, op0: Ymm, op1: Xmm) {
10400 self.emit(VCVTPH2UQQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10401 }
10402}
10403
10404impl<'a> Vcvtph2uqqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
10405 fn vcvtph2uqq_maskz(&mut self, op0: Ymm, op1: Mem) {
10406 self.emit(VCVTPH2UQQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10407 }
10408}
10409
10410impl<'a> Vcvtph2uqqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
10411 fn vcvtph2uqq_maskz(&mut self, op0: Zmm, op1: Xmm) {
10412 self.emit(VCVTPH2UQQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10413 }
10414}
10415
10416impl<'a> Vcvtph2uqqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
10417 fn vcvtph2uqq_maskz(&mut self, op0: Zmm, op1: Mem) {
10418 self.emit(VCVTPH2UQQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10419 }
10420}
10421
10422pub trait Vcvtph2uqqMaskzErEmitter<A, B> {
10434 fn vcvtph2uqq_maskz_er(&mut self, op0: A, op1: B);
10435}
10436
10437impl<'a> Vcvtph2uqqMaskzErEmitter<Zmm, Xmm> for Assembler<'a> {
10438 fn vcvtph2uqq_maskz_er(&mut self, op0: Zmm, op1: Xmm) {
10439 self.emit(VCVTPH2UQQ512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10440 }
10441}
10442
10443pub trait Vcvtph2uwEmitter<A, B> {
10460 fn vcvtph2uw(&mut self, op0: A, op1: B);
10461}
10462
10463impl<'a> Vcvtph2uwEmitter<Xmm, Xmm> for Assembler<'a> {
10464 fn vcvtph2uw(&mut self, op0: Xmm, op1: Xmm) {
10465 self.emit(VCVTPH2UW128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10466 }
10467}
10468
10469impl<'a> Vcvtph2uwEmitter<Xmm, Mem> for Assembler<'a> {
10470 fn vcvtph2uw(&mut self, op0: Xmm, op1: Mem) {
10471 self.emit(VCVTPH2UW128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10472 }
10473}
10474
10475impl<'a> Vcvtph2uwEmitter<Ymm, Ymm> for Assembler<'a> {
10476 fn vcvtph2uw(&mut self, op0: Ymm, op1: Ymm) {
10477 self.emit(VCVTPH2UW256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10478 }
10479}
10480
10481impl<'a> Vcvtph2uwEmitter<Ymm, Mem> for Assembler<'a> {
10482 fn vcvtph2uw(&mut self, op0: Ymm, op1: Mem) {
10483 self.emit(VCVTPH2UW256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10484 }
10485}
10486
10487impl<'a> Vcvtph2uwEmitter<Zmm, Zmm> for Assembler<'a> {
10488 fn vcvtph2uw(&mut self, op0: Zmm, op1: Zmm) {
10489 self.emit(VCVTPH2UW512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10490 }
10491}
10492
10493impl<'a> Vcvtph2uwEmitter<Zmm, Mem> for Assembler<'a> {
10494 fn vcvtph2uw(&mut self, op0: Zmm, op1: Mem) {
10495 self.emit(VCVTPH2UW512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10496 }
10497}
10498
10499pub trait Vcvtph2uwErEmitter<A, B> {
10511 fn vcvtph2uw_er(&mut self, op0: A, op1: B);
10512}
10513
10514impl<'a> Vcvtph2uwErEmitter<Zmm, Zmm> for Assembler<'a> {
10515 fn vcvtph2uw_er(&mut self, op0: Zmm, op1: Zmm) {
10516 self.emit(VCVTPH2UW512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10517 }
10518}
10519
10520pub trait Vcvtph2uwMaskEmitter<A, B> {
10537 fn vcvtph2uw_mask(&mut self, op0: A, op1: B);
10538}
10539
10540impl<'a> Vcvtph2uwMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10541 fn vcvtph2uw_mask(&mut self, op0: Xmm, op1: Xmm) {
10542 self.emit(VCVTPH2UW128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10543 }
10544}
10545
10546impl<'a> Vcvtph2uwMaskEmitter<Xmm, Mem> for Assembler<'a> {
10547 fn vcvtph2uw_mask(&mut self, op0: Xmm, op1: Mem) {
10548 self.emit(VCVTPH2UW128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10549 }
10550}
10551
10552impl<'a> Vcvtph2uwMaskEmitter<Ymm, Ymm> for Assembler<'a> {
10553 fn vcvtph2uw_mask(&mut self, op0: Ymm, op1: Ymm) {
10554 self.emit(VCVTPH2UW256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10555 }
10556}
10557
10558impl<'a> Vcvtph2uwMaskEmitter<Ymm, Mem> for Assembler<'a> {
10559 fn vcvtph2uw_mask(&mut self, op0: Ymm, op1: Mem) {
10560 self.emit(VCVTPH2UW256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10561 }
10562}
10563
10564impl<'a> Vcvtph2uwMaskEmitter<Zmm, Zmm> for Assembler<'a> {
10565 fn vcvtph2uw_mask(&mut self, op0: Zmm, op1: Zmm) {
10566 self.emit(VCVTPH2UW512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10567 }
10568}
10569
10570impl<'a> Vcvtph2uwMaskEmitter<Zmm, Mem> for Assembler<'a> {
10571 fn vcvtph2uw_mask(&mut self, op0: Zmm, op1: Mem) {
10572 self.emit(VCVTPH2UW512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10573 }
10574}
10575
10576pub trait Vcvtph2uwMaskErEmitter<A, B> {
10588 fn vcvtph2uw_mask_er(&mut self, op0: A, op1: B);
10589}
10590
10591impl<'a> Vcvtph2uwMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
10592 fn vcvtph2uw_mask_er(&mut self, op0: Zmm, op1: Zmm) {
10593 self.emit(VCVTPH2UW512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10594 }
10595}
10596
10597pub trait Vcvtph2uwMaskzEmitter<A, B> {
10614 fn vcvtph2uw_maskz(&mut self, op0: A, op1: B);
10615}
10616
10617impl<'a> Vcvtph2uwMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10618 fn vcvtph2uw_maskz(&mut self, op0: Xmm, op1: Xmm) {
10619 self.emit(VCVTPH2UW128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10620 }
10621}
10622
10623impl<'a> Vcvtph2uwMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10624 fn vcvtph2uw_maskz(&mut self, op0: Xmm, op1: Mem) {
10625 self.emit(VCVTPH2UW128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10626 }
10627}
10628
10629impl<'a> Vcvtph2uwMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
10630 fn vcvtph2uw_maskz(&mut self, op0: Ymm, op1: Ymm) {
10631 self.emit(VCVTPH2UW256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10632 }
10633}
10634
10635impl<'a> Vcvtph2uwMaskzEmitter<Ymm, Mem> for Assembler<'a> {
10636 fn vcvtph2uw_maskz(&mut self, op0: Ymm, op1: Mem) {
10637 self.emit(VCVTPH2UW256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10638 }
10639}
10640
10641impl<'a> Vcvtph2uwMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
10642 fn vcvtph2uw_maskz(&mut self, op0: Zmm, op1: Zmm) {
10643 self.emit(VCVTPH2UW512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10644 }
10645}
10646
10647impl<'a> Vcvtph2uwMaskzEmitter<Zmm, Mem> for Assembler<'a> {
10648 fn vcvtph2uw_maskz(&mut self, op0: Zmm, op1: Mem) {
10649 self.emit(VCVTPH2UW512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10650 }
10651}
10652
10653pub trait Vcvtph2uwMaskzErEmitter<A, B> {
10665 fn vcvtph2uw_maskz_er(&mut self, op0: A, op1: B);
10666}
10667
10668impl<'a> Vcvtph2uwMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
10669 fn vcvtph2uw_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
10670 self.emit(VCVTPH2UW512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10671 }
10672}
10673
10674pub trait Vcvtph2wEmitter<A, B> {
10691 fn vcvtph2w(&mut self, op0: A, op1: B);
10692}
10693
10694impl<'a> Vcvtph2wEmitter<Xmm, Xmm> for Assembler<'a> {
10695 fn vcvtph2w(&mut self, op0: Xmm, op1: Xmm) {
10696 self.emit(VCVTPH2W128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10697 }
10698}
10699
10700impl<'a> Vcvtph2wEmitter<Xmm, Mem> for Assembler<'a> {
10701 fn vcvtph2w(&mut self, op0: Xmm, op1: Mem) {
10702 self.emit(VCVTPH2W128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10703 }
10704}
10705
10706impl<'a> Vcvtph2wEmitter<Ymm, Ymm> for Assembler<'a> {
10707 fn vcvtph2w(&mut self, op0: Ymm, op1: Ymm) {
10708 self.emit(VCVTPH2W256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10709 }
10710}
10711
10712impl<'a> Vcvtph2wEmitter<Ymm, Mem> for Assembler<'a> {
10713 fn vcvtph2w(&mut self, op0: Ymm, op1: Mem) {
10714 self.emit(VCVTPH2W256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10715 }
10716}
10717
10718impl<'a> Vcvtph2wEmitter<Zmm, Zmm> for Assembler<'a> {
10719 fn vcvtph2w(&mut self, op0: Zmm, op1: Zmm) {
10720 self.emit(VCVTPH2W512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10721 }
10722}
10723
10724impl<'a> Vcvtph2wEmitter<Zmm, Mem> for Assembler<'a> {
10725 fn vcvtph2w(&mut self, op0: Zmm, op1: Mem) {
10726 self.emit(VCVTPH2W512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10727 }
10728}
10729
10730pub trait Vcvtph2wErEmitter<A, B> {
10742 fn vcvtph2w_er(&mut self, op0: A, op1: B);
10743}
10744
10745impl<'a> Vcvtph2wErEmitter<Zmm, Zmm> for Assembler<'a> {
10746 fn vcvtph2w_er(&mut self, op0: Zmm, op1: Zmm) {
10747 self.emit(VCVTPH2W512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10748 }
10749}
10750
10751pub trait Vcvtph2wMaskEmitter<A, B> {
10768 fn vcvtph2w_mask(&mut self, op0: A, op1: B);
10769}
10770
10771impl<'a> Vcvtph2wMaskEmitter<Xmm, Xmm> for Assembler<'a> {
10772 fn vcvtph2w_mask(&mut self, op0: Xmm, op1: Xmm) {
10773 self.emit(VCVTPH2W128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10774 }
10775}
10776
10777impl<'a> Vcvtph2wMaskEmitter<Xmm, Mem> for Assembler<'a> {
10778 fn vcvtph2w_mask(&mut self, op0: Xmm, op1: Mem) {
10779 self.emit(VCVTPH2W128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10780 }
10781}
10782
10783impl<'a> Vcvtph2wMaskEmitter<Ymm, Ymm> for Assembler<'a> {
10784 fn vcvtph2w_mask(&mut self, op0: Ymm, op1: Ymm) {
10785 self.emit(VCVTPH2W256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10786 }
10787}
10788
10789impl<'a> Vcvtph2wMaskEmitter<Ymm, Mem> for Assembler<'a> {
10790 fn vcvtph2w_mask(&mut self, op0: Ymm, op1: Mem) {
10791 self.emit(VCVTPH2W256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10792 }
10793}
10794
10795impl<'a> Vcvtph2wMaskEmitter<Zmm, Zmm> for Assembler<'a> {
10796 fn vcvtph2w_mask(&mut self, op0: Zmm, op1: Zmm) {
10797 self.emit(VCVTPH2W512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10798 }
10799}
10800
10801impl<'a> Vcvtph2wMaskEmitter<Zmm, Mem> for Assembler<'a> {
10802 fn vcvtph2w_mask(&mut self, op0: Zmm, op1: Mem) {
10803 self.emit(VCVTPH2W512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10804 }
10805}
10806
10807pub trait Vcvtph2wMaskErEmitter<A, B> {
10819 fn vcvtph2w_mask_er(&mut self, op0: A, op1: B);
10820}
10821
10822impl<'a> Vcvtph2wMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
10823 fn vcvtph2w_mask_er(&mut self, op0: Zmm, op1: Zmm) {
10824 self.emit(VCVTPH2W512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10825 }
10826}
10827
10828pub trait Vcvtph2wMaskzEmitter<A, B> {
10845 fn vcvtph2w_maskz(&mut self, op0: A, op1: B);
10846}
10847
10848impl<'a> Vcvtph2wMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
10849 fn vcvtph2w_maskz(&mut self, op0: Xmm, op1: Xmm) {
10850 self.emit(VCVTPH2W128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10851 }
10852}
10853
10854impl<'a> Vcvtph2wMaskzEmitter<Xmm, Mem> for Assembler<'a> {
10855 fn vcvtph2w_maskz(&mut self, op0: Xmm, op1: Mem) {
10856 self.emit(VCVTPH2W128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10857 }
10858}
10859
10860impl<'a> Vcvtph2wMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
10861 fn vcvtph2w_maskz(&mut self, op0: Ymm, op1: Ymm) {
10862 self.emit(VCVTPH2W256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10863 }
10864}
10865
10866impl<'a> Vcvtph2wMaskzEmitter<Ymm, Mem> for Assembler<'a> {
10867 fn vcvtph2w_maskz(&mut self, op0: Ymm, op1: Mem) {
10868 self.emit(VCVTPH2W256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10869 }
10870}
10871
10872impl<'a> Vcvtph2wMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
10873 fn vcvtph2w_maskz(&mut self, op0: Zmm, op1: Zmm) {
10874 self.emit(VCVTPH2W512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10875 }
10876}
10877
10878impl<'a> Vcvtph2wMaskzEmitter<Zmm, Mem> for Assembler<'a> {
10879 fn vcvtph2w_maskz(&mut self, op0: Zmm, op1: Mem) {
10880 self.emit(VCVTPH2W512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10881 }
10882}
10883
10884pub trait Vcvtph2wMaskzErEmitter<A, B> {
10896 fn vcvtph2w_maskz_er(&mut self, op0: A, op1: B);
10897}
10898
10899impl<'a> Vcvtph2wMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
10900 fn vcvtph2w_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
10901 self.emit(VCVTPH2W512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10902 }
10903}
10904
10905pub trait Vcvtps2phxEmitter<A, B> {
10925 fn vcvtps2phx(&mut self, op0: A, op1: B);
10926}
10927
10928impl<'a> Vcvtps2phxEmitter<Xmm, Xmm> for Assembler<'a> {
10929 fn vcvtps2phx(&mut self, op0: Xmm, op1: Xmm) {
10930 self.emit(VCVTPS2PHX128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10931 }
10932}
10933
10934impl<'a> Vcvtps2phxEmitter<Xmm, Mem> for Assembler<'a> {
10935 fn vcvtps2phx(&mut self, op0: Xmm, op1: Mem) {
10936 self.emit(VCVTPS2PHX128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10937 }
10938}
10939
10940impl<'a> Vcvtps2phxEmitter<Xmm, Ymm> for Assembler<'a> {
10941 fn vcvtps2phx(&mut self, op0: Xmm, op1: Ymm) {
10942 self.emit(VCVTPS2PHX256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10943 }
10944}
10945
10946impl<'a> Vcvtps2phxEmitter<Ymm, Zmm> for Assembler<'a> {
10947 fn vcvtps2phx(&mut self, op0: Ymm, op1: Zmm) {
10948 self.emit(VCVTPS2PHX512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10949 }
10950}
10951
10952impl<'a> Vcvtps2phxEmitter<Ymm, Mem> for Assembler<'a> {
10953 fn vcvtps2phx(&mut self, op0: Ymm, op1: Mem) {
10954 self.emit(VCVTPS2PHX512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10955 }
10956}
10957
10958pub trait Vcvtps2phxErEmitter<A, B> {
10974 fn vcvtps2phx_er(&mut self, op0: A, op1: B);
10975}
10976
10977impl<'a> Vcvtps2phxErEmitter<Ymm, Zmm> for Assembler<'a> {
10978 fn vcvtps2phx_er(&mut self, op0: Ymm, op1: Zmm) {
10979 self.emit(VCVTPS2PHX512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
10980 }
10981}
10982
10983pub trait Vcvtps2phxMaskEmitter<A, B> {
11003 fn vcvtps2phx_mask(&mut self, op0: A, op1: B);
11004}
11005
11006impl<'a> Vcvtps2phxMaskEmitter<Xmm, Xmm> for Assembler<'a> {
11007 fn vcvtps2phx_mask(&mut self, op0: Xmm, op1: Xmm) {
11008 self.emit(VCVTPS2PHX128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11009 }
11010}
11011
11012impl<'a> Vcvtps2phxMaskEmitter<Xmm, Mem> for Assembler<'a> {
11013 fn vcvtps2phx_mask(&mut self, op0: Xmm, op1: Mem) {
11014 self.emit(VCVTPS2PHX128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11015 }
11016}
11017
11018impl<'a> Vcvtps2phxMaskEmitter<Xmm, Ymm> for Assembler<'a> {
11019 fn vcvtps2phx_mask(&mut self, op0: Xmm, op1: Ymm) {
11020 self.emit(VCVTPS2PHX256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11021 }
11022}
11023
11024impl<'a> Vcvtps2phxMaskEmitter<Ymm, Zmm> for Assembler<'a> {
11025 fn vcvtps2phx_mask(&mut self, op0: Ymm, op1: Zmm) {
11026 self.emit(VCVTPS2PHX512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11027 }
11028}
11029
11030impl<'a> Vcvtps2phxMaskEmitter<Ymm, Mem> for Assembler<'a> {
11031 fn vcvtps2phx_mask(&mut self, op0: Ymm, op1: Mem) {
11032 self.emit(VCVTPS2PHX512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11033 }
11034}
11035
11036pub trait Vcvtps2phxMaskErEmitter<A, B> {
11052 fn vcvtps2phx_mask_er(&mut self, op0: A, op1: B);
11053}
11054
11055impl<'a> Vcvtps2phxMaskErEmitter<Ymm, Zmm> for Assembler<'a> {
11056 fn vcvtps2phx_mask_er(&mut self, op0: Ymm, op1: Zmm) {
11057 self.emit(VCVTPS2PHX512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11058 }
11059}
11060
11061pub trait Vcvtps2phxMaskzEmitter<A, B> {
11081 fn vcvtps2phx_maskz(&mut self, op0: A, op1: B);
11082}
11083
11084impl<'a> Vcvtps2phxMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
11085 fn vcvtps2phx_maskz(&mut self, op0: Xmm, op1: Xmm) {
11086 self.emit(VCVTPS2PHX128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11087 }
11088}
11089
11090impl<'a> Vcvtps2phxMaskzEmitter<Xmm, Mem> for Assembler<'a> {
11091 fn vcvtps2phx_maskz(&mut self, op0: Xmm, op1: Mem) {
11092 self.emit(VCVTPS2PHX128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11093 }
11094}
11095
11096impl<'a> Vcvtps2phxMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
11097 fn vcvtps2phx_maskz(&mut self, op0: Xmm, op1: Ymm) {
11098 self.emit(VCVTPS2PHX256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11099 }
11100}
11101
11102impl<'a> Vcvtps2phxMaskzEmitter<Ymm, Zmm> for Assembler<'a> {
11103 fn vcvtps2phx_maskz(&mut self, op0: Ymm, op1: Zmm) {
11104 self.emit(VCVTPS2PHX512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11105 }
11106}
11107
11108impl<'a> Vcvtps2phxMaskzEmitter<Ymm, Mem> for Assembler<'a> {
11109 fn vcvtps2phx_maskz(&mut self, op0: Ymm, op1: Mem) {
11110 self.emit(VCVTPS2PHX512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11111 }
11112}
11113
11114pub trait Vcvtps2phxMaskzErEmitter<A, B> {
11130 fn vcvtps2phx_maskz_er(&mut self, op0: A, op1: B);
11131}
11132
11133impl<'a> Vcvtps2phxMaskzErEmitter<Ymm, Zmm> for Assembler<'a> {
11134 fn vcvtps2phx_maskz_er(&mut self, op0: Ymm, op1: Zmm) {
11135 self.emit(VCVTPS2PHX512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11136 }
11137}
11138
11139pub trait Vcvtqq2phEmitter<A, B> {
11154 fn vcvtqq2ph(&mut self, op0: A, op1: B);
11155}
11156
11157impl<'a> Vcvtqq2phEmitter<Xmm, Xmm> for Assembler<'a> {
11158 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Xmm) {
11159 self.emit(VCVTQQ2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11160 }
11161}
11162
11163impl<'a> Vcvtqq2phEmitter<Xmm, Mem> for Assembler<'a> {
11164 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Mem) {
11165 self.emit(VCVTQQ2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11166 }
11167}
11168
11169impl<'a> Vcvtqq2phEmitter<Xmm, Ymm> for Assembler<'a> {
11170 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Ymm) {
11171 self.emit(VCVTQQ2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11172 }
11173}
11174
11175impl<'a> Vcvtqq2phEmitter<Xmm, Zmm> for Assembler<'a> {
11176 fn vcvtqq2ph(&mut self, op0: Xmm, op1: Zmm) {
11177 self.emit(VCVTQQ2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11178 }
11179}
11180
11181pub trait Vcvtqq2phErEmitter<A, B> {
11193 fn vcvtqq2ph_er(&mut self, op0: A, op1: B);
11194}
11195
11196impl<'a> Vcvtqq2phErEmitter<Xmm, Zmm> for Assembler<'a> {
11197 fn vcvtqq2ph_er(&mut self, op0: Xmm, op1: Zmm) {
11198 self.emit(VCVTQQ2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11199 }
11200}
11201
11202pub trait Vcvtqq2phMaskEmitter<A, B> {
11217 fn vcvtqq2ph_mask(&mut self, op0: A, op1: B);
11218}
11219
11220impl<'a> Vcvtqq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
11221 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
11222 self.emit(VCVTQQ2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11223 }
11224}
11225
11226impl<'a> Vcvtqq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
11227 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
11228 self.emit(VCVTQQ2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11229 }
11230}
11231
11232impl<'a> Vcvtqq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
11233 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
11234 self.emit(VCVTQQ2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11235 }
11236}
11237
11238impl<'a> Vcvtqq2phMaskEmitter<Xmm, Zmm> for Assembler<'a> {
11239 fn vcvtqq2ph_mask(&mut self, op0: Xmm, op1: Zmm) {
11240 self.emit(VCVTQQ2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11241 }
11242}
11243
11244pub trait Vcvtqq2phMaskErEmitter<A, B> {
11256 fn vcvtqq2ph_mask_er(&mut self, op0: A, op1: B);
11257}
11258
11259impl<'a> Vcvtqq2phMaskErEmitter<Xmm, Zmm> for Assembler<'a> {
11260 fn vcvtqq2ph_mask_er(&mut self, op0: Xmm, op1: Zmm) {
11261 self.emit(VCVTQQ2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11262 }
11263}
11264
11265pub trait Vcvtqq2phMaskzEmitter<A, B> {
11280 fn vcvtqq2ph_maskz(&mut self, op0: A, op1: B);
11281}
11282
11283impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
11284 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
11285 self.emit(VCVTQQ2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11286 }
11287}
11288
11289impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
11290 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
11291 self.emit(VCVTQQ2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11292 }
11293}
11294
11295impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
11296 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
11297 self.emit(VCVTQQ2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11298 }
11299}
11300
11301impl<'a> Vcvtqq2phMaskzEmitter<Xmm, Zmm> for Assembler<'a> {
11302 fn vcvtqq2ph_maskz(&mut self, op0: Xmm, op1: Zmm) {
11303 self.emit(VCVTQQ2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11304 }
11305}
11306
11307pub trait Vcvtqq2phMaskzErEmitter<A, B> {
11319 fn vcvtqq2ph_maskz_er(&mut self, op0: A, op1: B);
11320}
11321
11322impl<'a> Vcvtqq2phMaskzErEmitter<Xmm, Zmm> for Assembler<'a> {
11323 fn vcvtqq2ph_maskz_er(&mut self, op0: Xmm, op1: Zmm) {
11324 self.emit(VCVTQQ2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11325 }
11326}
11327
11328pub trait Vcvtsd2shEmitter<A, B, C> {
11341 fn vcvtsd2sh(&mut self, op0: A, op1: B, op2: C);
11342}
11343
11344impl<'a> Vcvtsd2shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11345 fn vcvtsd2sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11346 self.emit(VCVTSD2SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11347 }
11348}
11349
11350impl<'a> Vcvtsd2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11351 fn vcvtsd2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11352 self.emit(VCVTSD2SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11353 }
11354}
11355
11356pub trait Vcvtsd2shErEmitter<A, B, C> {
11368 fn vcvtsd2sh_er(&mut self, op0: A, op1: B, op2: C);
11369}
11370
11371impl<'a> Vcvtsd2shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11372 fn vcvtsd2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11373 self.emit(VCVTSD2SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11374 }
11375}
11376
11377pub trait Vcvtsd2shMaskEmitter<A, B, C> {
11390 fn vcvtsd2sh_mask(&mut self, op0: A, op1: B, op2: C);
11391}
11392
11393impl<'a> Vcvtsd2shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11394 fn vcvtsd2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11395 self.emit(VCVTSD2SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11396 }
11397}
11398
11399impl<'a> Vcvtsd2shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11400 fn vcvtsd2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11401 self.emit(VCVTSD2SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11402 }
11403}
11404
11405pub trait Vcvtsd2shMaskErEmitter<A, B, C> {
11417 fn vcvtsd2sh_mask_er(&mut self, op0: A, op1: B, op2: C);
11418}
11419
11420impl<'a> Vcvtsd2shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11421 fn vcvtsd2sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11422 self.emit(VCVTSD2SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11423 }
11424}
11425
11426pub trait Vcvtsd2shMaskzEmitter<A, B, C> {
11439 fn vcvtsd2sh_maskz(&mut self, op0: A, op1: B, op2: C);
11440}
11441
11442impl<'a> Vcvtsd2shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11443 fn vcvtsd2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11444 self.emit(VCVTSD2SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11445 }
11446}
11447
11448impl<'a> Vcvtsd2shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11449 fn vcvtsd2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11450 self.emit(VCVTSD2SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11451 }
11452}
11453
11454pub trait Vcvtsd2shMaskzErEmitter<A, B, C> {
11466 fn vcvtsd2sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
11467}
11468
11469impl<'a> Vcvtsd2shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11470 fn vcvtsd2sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11471 self.emit(VCVTSD2SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11472 }
11473}
11474
11475pub trait Vcvtsh2sdEmitter<A, B, C> {
11488 fn vcvtsh2sd(&mut self, op0: A, op1: B, op2: C);
11489}
11490
11491impl<'a> Vcvtsh2sdEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11492 fn vcvtsh2sd(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11493 self.emit(VCVTSH2SDRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11494 }
11495}
11496
11497impl<'a> Vcvtsh2sdEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11498 fn vcvtsh2sd(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11499 self.emit(VCVTSH2SDRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11500 }
11501}
11502
11503pub trait Vcvtsh2sdMaskEmitter<A, B, C> {
11516 fn vcvtsh2sd_mask(&mut self, op0: A, op1: B, op2: C);
11517}
11518
11519impl<'a> Vcvtsh2sdMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11520 fn vcvtsh2sd_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11521 self.emit(VCVTSH2SDRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11522 }
11523}
11524
11525impl<'a> Vcvtsh2sdMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11526 fn vcvtsh2sd_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11527 self.emit(VCVTSH2SDRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11528 }
11529}
11530
11531pub trait Vcvtsh2sdMaskSaeEmitter<A, B, C> {
11543 fn vcvtsh2sd_mask_sae(&mut self, op0: A, op1: B, op2: C);
11544}
11545
11546impl<'a> Vcvtsh2sdMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11547 fn vcvtsh2sd_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11548 self.emit(VCVTSH2SDRRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11549 }
11550}
11551
11552pub trait Vcvtsh2sdMaskzEmitter<A, B, C> {
11565 fn vcvtsh2sd_maskz(&mut self, op0: A, op1: B, op2: C);
11566}
11567
11568impl<'a> Vcvtsh2sdMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11569 fn vcvtsh2sd_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11570 self.emit(VCVTSH2SDRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11571 }
11572}
11573
11574impl<'a> Vcvtsh2sdMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11575 fn vcvtsh2sd_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11576 self.emit(VCVTSH2SDRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11577 }
11578}
11579
11580pub trait Vcvtsh2sdMaskzSaeEmitter<A, B, C> {
11592 fn vcvtsh2sd_maskz_sae(&mut self, op0: A, op1: B, op2: C);
11593}
11594
11595impl<'a> Vcvtsh2sdMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11596 fn vcvtsh2sd_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11597 self.emit(VCVTSH2SDRRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11598 }
11599}
11600
11601pub trait Vcvtsh2sdSaeEmitter<A, B, C> {
11613 fn vcvtsh2sd_sae(&mut self, op0: A, op1: B, op2: C);
11614}
11615
11616impl<'a> Vcvtsh2sdSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11617 fn vcvtsh2sd_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11618 self.emit(VCVTSH2SDRRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11619 }
11620}
11621
11622pub trait Vcvtsh2siEmitter<A, B> {
11637 fn vcvtsh2si(&mut self, op0: A, op1: B);
11638}
11639
11640impl<'a> Vcvtsh2siEmitter<Gpd, Xmm> for Assembler<'a> {
11641 fn vcvtsh2si(&mut self, op0: Gpd, op1: Xmm) {
11642 self.emit(VCVTSH2SI32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11643 }
11644}
11645
11646impl<'a> Vcvtsh2siEmitter<Gpd, Mem> for Assembler<'a> {
11647 fn vcvtsh2si(&mut self, op0: Gpd, op1: Mem) {
11648 self.emit(VCVTSH2SI32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11649 }
11650}
11651
11652impl<'a> Vcvtsh2siEmitter<Gpq, Xmm> for Assembler<'a> {
11653 fn vcvtsh2si(&mut self, op0: Gpq, op1: Xmm) {
11654 self.emit(VCVTSH2SI64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11655 }
11656}
11657
11658impl<'a> Vcvtsh2siEmitter<Gpq, Mem> for Assembler<'a> {
11659 fn vcvtsh2si(&mut self, op0: Gpq, op1: Mem) {
11660 self.emit(VCVTSH2SI64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11661 }
11662}
11663
11664pub trait Vcvtsh2siErEmitter<A, B> {
11677 fn vcvtsh2si_er(&mut self, op0: A, op1: B);
11678}
11679
11680impl<'a> Vcvtsh2siErEmitter<Gpd, Xmm> for Assembler<'a> {
11681 fn vcvtsh2si_er(&mut self, op0: Gpd, op1: Xmm) {
11682 self.emit(VCVTSH2SI32RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11683 }
11684}
11685
11686impl<'a> Vcvtsh2siErEmitter<Gpq, Xmm> for Assembler<'a> {
11687 fn vcvtsh2si_er(&mut self, op0: Gpq, op1: Xmm) {
11688 self.emit(VCVTSH2SI64RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11689 }
11690}
11691
11692pub trait Vcvtsh2ssEmitter<A, B, C> {
11705 fn vcvtsh2ss(&mut self, op0: A, op1: B, op2: C);
11706}
11707
11708impl<'a> Vcvtsh2ssEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11709 fn vcvtsh2ss(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11710 self.emit(VCVTSH2SSRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11711 }
11712}
11713
11714impl<'a> Vcvtsh2ssEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11715 fn vcvtsh2ss(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11716 self.emit(VCVTSH2SSRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11717 }
11718}
11719
11720pub trait Vcvtsh2ssMaskEmitter<A, B, C> {
11733 fn vcvtsh2ss_mask(&mut self, op0: A, op1: B, op2: C);
11734}
11735
11736impl<'a> Vcvtsh2ssMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11737 fn vcvtsh2ss_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11738 self.emit(VCVTSH2SSRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11739 }
11740}
11741
11742impl<'a> Vcvtsh2ssMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11743 fn vcvtsh2ss_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11744 self.emit(VCVTSH2SSRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11745 }
11746}
11747
11748pub trait Vcvtsh2ssMaskSaeEmitter<A, B, C> {
11760 fn vcvtsh2ss_mask_sae(&mut self, op0: A, op1: B, op2: C);
11761}
11762
11763impl<'a> Vcvtsh2ssMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11764 fn vcvtsh2ss_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11765 self.emit(VCVTSH2SSRRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11766 }
11767}
11768
11769pub trait Vcvtsh2ssMaskzEmitter<A, B, C> {
11782 fn vcvtsh2ss_maskz(&mut self, op0: A, op1: B, op2: C);
11783}
11784
11785impl<'a> Vcvtsh2ssMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11786 fn vcvtsh2ss_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11787 self.emit(VCVTSH2SSRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11788 }
11789}
11790
11791impl<'a> Vcvtsh2ssMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11792 fn vcvtsh2ss_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11793 self.emit(VCVTSH2SSRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11794 }
11795}
11796
11797pub trait Vcvtsh2ssMaskzSaeEmitter<A, B, C> {
11809 fn vcvtsh2ss_maskz_sae(&mut self, op0: A, op1: B, op2: C);
11810}
11811
11812impl<'a> Vcvtsh2ssMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11813 fn vcvtsh2ss_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11814 self.emit(VCVTSH2SSRRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11815 }
11816}
11817
11818pub trait Vcvtsh2ssSaeEmitter<A, B, C> {
11830 fn vcvtsh2ss_sae(&mut self, op0: A, op1: B, op2: C);
11831}
11832
11833impl<'a> Vcvtsh2ssSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11834 fn vcvtsh2ss_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11835 self.emit(VCVTSH2SSRRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11836 }
11837}
11838
11839pub trait Vcvtsh2usiEmitter<A, B> {
11854 fn vcvtsh2usi(&mut self, op0: A, op1: B);
11855}
11856
11857impl<'a> Vcvtsh2usiEmitter<Gpd, Xmm> for Assembler<'a> {
11858 fn vcvtsh2usi(&mut self, op0: Gpd, op1: Xmm) {
11859 self.emit(VCVTSH2USI32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11860 }
11861}
11862
11863impl<'a> Vcvtsh2usiEmitter<Gpd, Mem> for Assembler<'a> {
11864 fn vcvtsh2usi(&mut self, op0: Gpd, op1: Mem) {
11865 self.emit(VCVTSH2USI32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11866 }
11867}
11868
11869impl<'a> Vcvtsh2usiEmitter<Gpq, Xmm> for Assembler<'a> {
11870 fn vcvtsh2usi(&mut self, op0: Gpq, op1: Xmm) {
11871 self.emit(VCVTSH2USI64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11872 }
11873}
11874
11875impl<'a> Vcvtsh2usiEmitter<Gpq, Mem> for Assembler<'a> {
11876 fn vcvtsh2usi(&mut self, op0: Gpq, op1: Mem) {
11877 self.emit(VCVTSH2USI64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11878 }
11879}
11880
11881pub trait Vcvtsh2usiErEmitter<A, B> {
11894 fn vcvtsh2usi_er(&mut self, op0: A, op1: B);
11895}
11896
11897impl<'a> Vcvtsh2usiErEmitter<Gpd, Xmm> for Assembler<'a> {
11898 fn vcvtsh2usi_er(&mut self, op0: Gpd, op1: Xmm) {
11899 self.emit(VCVTSH2USI32RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11900 }
11901}
11902
11903impl<'a> Vcvtsh2usiErEmitter<Gpq, Xmm> for Assembler<'a> {
11904 fn vcvtsh2usi_er(&mut self, op0: Gpq, op1: Xmm) {
11905 self.emit(VCVTSH2USI64RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
11906 }
11907}
11908
11909pub trait Vcvtsi2shEmitter<A, B, C> {
11923 fn vcvtsi2sh(&mut self, op0: A, op1: B, op2: C);
11924}
11925
11926impl<'a> Vcvtsi2shEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
11927 fn vcvtsi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
11928 self.emit(VCVTSI2SH32RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11929 }
11930}
11931
11932impl<'a> Vcvtsi2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11933 fn vcvtsi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11934 self.emit(VCVTSI2SH32RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11935 }
11936}
11937
11938impl<'a> Vcvtsi2shEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
11939 fn vcvtsi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
11940 self.emit(VCVTSI2SH64RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11941 }
11942}
11943
11944pub trait Vcvtsi2shErEmitter<A, B, C> {
11957 fn vcvtsi2sh_er(&mut self, op0: A, op1: B, op2: C);
11958}
11959
11960impl<'a> Vcvtsi2shErEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
11961 fn vcvtsi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
11962 self.emit(VCVTSI2SH32RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11963 }
11964}
11965
11966impl<'a> Vcvtsi2shErEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
11967 fn vcvtsi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
11968 self.emit(VCVTSI2SH64RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11969 }
11970}
11971
11972pub trait Vcvtss2shEmitter<A, B, C> {
11985 fn vcvtss2sh(&mut self, op0: A, op1: B, op2: C);
11986}
11987
11988impl<'a> Vcvtss2shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
11989 fn vcvtss2sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
11990 self.emit(VCVTSS2SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11991 }
11992}
11993
11994impl<'a> Vcvtss2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
11995 fn vcvtss2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
11996 self.emit(VCVTSS2SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
11997 }
11998}
11999
12000pub trait Vcvtss2shErEmitter<A, B, C> {
12012 fn vcvtss2sh_er(&mut self, op0: A, op1: B, op2: C);
12013}
12014
12015impl<'a> Vcvtss2shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
12016 fn vcvtss2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
12017 self.emit(VCVTSS2SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12018 }
12019}
12020
12021pub trait Vcvtss2shMaskEmitter<A, B, C> {
12034 fn vcvtss2sh_mask(&mut self, op0: A, op1: B, op2: C);
12035}
12036
12037impl<'a> Vcvtss2shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
12038 fn vcvtss2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
12039 self.emit(VCVTSS2SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12040 }
12041}
12042
12043impl<'a> Vcvtss2shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
12044 fn vcvtss2sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
12045 self.emit(VCVTSS2SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12046 }
12047}
12048
12049pub trait Vcvtss2shMaskErEmitter<A, B, C> {
12061 fn vcvtss2sh_mask_er(&mut self, op0: A, op1: B, op2: C);
12062}
12063
12064impl<'a> Vcvtss2shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
12065 fn vcvtss2sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
12066 self.emit(VCVTSS2SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12067 }
12068}
12069
12070pub trait Vcvtss2shMaskzEmitter<A, B, C> {
12083 fn vcvtss2sh_maskz(&mut self, op0: A, op1: B, op2: C);
12084}
12085
12086impl<'a> Vcvtss2shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
12087 fn vcvtss2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
12088 self.emit(VCVTSS2SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12089 }
12090}
12091
12092impl<'a> Vcvtss2shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
12093 fn vcvtss2sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
12094 self.emit(VCVTSS2SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12095 }
12096}
12097
12098pub trait Vcvtss2shMaskzErEmitter<A, B, C> {
12110 fn vcvtss2sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
12111}
12112
12113impl<'a> Vcvtss2shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
12114 fn vcvtss2sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
12115 self.emit(VCVTSS2SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
12116 }
12117}
12118
12119pub trait Vcvttph2dqEmitter<A, B> {
12136 fn vcvttph2dq(&mut self, op0: A, op1: B);
12137}
12138
12139impl<'a> Vcvttph2dqEmitter<Xmm, Xmm> for Assembler<'a> {
12140 fn vcvttph2dq(&mut self, op0: Xmm, op1: Xmm) {
12141 self.emit(VCVTTPH2DQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12142 }
12143}
12144
12145impl<'a> Vcvttph2dqEmitter<Xmm, Mem> for Assembler<'a> {
12146 fn vcvttph2dq(&mut self, op0: Xmm, op1: Mem) {
12147 self.emit(VCVTTPH2DQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12148 }
12149}
12150
12151impl<'a> Vcvttph2dqEmitter<Ymm, Xmm> for Assembler<'a> {
12152 fn vcvttph2dq(&mut self, op0: Ymm, op1: Xmm) {
12153 self.emit(VCVTTPH2DQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12154 }
12155}
12156
12157impl<'a> Vcvttph2dqEmitter<Ymm, Mem> for Assembler<'a> {
12158 fn vcvttph2dq(&mut self, op0: Ymm, op1: Mem) {
12159 self.emit(VCVTTPH2DQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12160 }
12161}
12162
12163impl<'a> Vcvttph2dqEmitter<Zmm, Ymm> for Assembler<'a> {
12164 fn vcvttph2dq(&mut self, op0: Zmm, op1: Ymm) {
12165 self.emit(VCVTTPH2DQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12166 }
12167}
12168
12169impl<'a> Vcvttph2dqEmitter<Zmm, Mem> for Assembler<'a> {
12170 fn vcvttph2dq(&mut self, op0: Zmm, op1: Mem) {
12171 self.emit(VCVTTPH2DQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12172 }
12173}
12174
12175pub trait Vcvttph2dqMaskEmitter<A, B> {
12192 fn vcvttph2dq_mask(&mut self, op0: A, op1: B);
12193}
12194
12195impl<'a> Vcvttph2dqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12196 fn vcvttph2dq_mask(&mut self, op0: Xmm, op1: Xmm) {
12197 self.emit(VCVTTPH2DQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12198 }
12199}
12200
12201impl<'a> Vcvttph2dqMaskEmitter<Xmm, Mem> for Assembler<'a> {
12202 fn vcvttph2dq_mask(&mut self, op0: Xmm, op1: Mem) {
12203 self.emit(VCVTTPH2DQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12204 }
12205}
12206
12207impl<'a> Vcvttph2dqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
12208 fn vcvttph2dq_mask(&mut self, op0: Ymm, op1: Xmm) {
12209 self.emit(VCVTTPH2DQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12210 }
12211}
12212
12213impl<'a> Vcvttph2dqMaskEmitter<Ymm, Mem> for Assembler<'a> {
12214 fn vcvttph2dq_mask(&mut self, op0: Ymm, op1: Mem) {
12215 self.emit(VCVTTPH2DQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12216 }
12217}
12218
12219impl<'a> Vcvttph2dqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
12220 fn vcvttph2dq_mask(&mut self, op0: Zmm, op1: Ymm) {
12221 self.emit(VCVTTPH2DQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12222 }
12223}
12224
12225impl<'a> Vcvttph2dqMaskEmitter<Zmm, Mem> for Assembler<'a> {
12226 fn vcvttph2dq_mask(&mut self, op0: Zmm, op1: Mem) {
12227 self.emit(VCVTTPH2DQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12228 }
12229}
12230
12231pub trait Vcvttph2dqMaskSaeEmitter<A, B> {
12243 fn vcvttph2dq_mask_sae(&mut self, op0: A, op1: B);
12244}
12245
12246impl<'a> Vcvttph2dqMaskSaeEmitter<Zmm, Ymm> for Assembler<'a> {
12247 fn vcvttph2dq_mask_sae(&mut self, op0: Zmm, op1: Ymm) {
12248 self.emit(VCVTTPH2DQ512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12249 }
12250}
12251
12252pub trait Vcvttph2dqMaskzEmitter<A, B> {
12269 fn vcvttph2dq_maskz(&mut self, op0: A, op1: B);
12270}
12271
12272impl<'a> Vcvttph2dqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12273 fn vcvttph2dq_maskz(&mut self, op0: Xmm, op1: Xmm) {
12274 self.emit(VCVTTPH2DQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12275 }
12276}
12277
12278impl<'a> Vcvttph2dqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12279 fn vcvttph2dq_maskz(&mut self, op0: Xmm, op1: Mem) {
12280 self.emit(VCVTTPH2DQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12281 }
12282}
12283
12284impl<'a> Vcvttph2dqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
12285 fn vcvttph2dq_maskz(&mut self, op0: Ymm, op1: Xmm) {
12286 self.emit(VCVTTPH2DQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12287 }
12288}
12289
12290impl<'a> Vcvttph2dqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12291 fn vcvttph2dq_maskz(&mut self, op0: Ymm, op1: Mem) {
12292 self.emit(VCVTTPH2DQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12293 }
12294}
12295
12296impl<'a> Vcvttph2dqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
12297 fn vcvttph2dq_maskz(&mut self, op0: Zmm, op1: Ymm) {
12298 self.emit(VCVTTPH2DQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12299 }
12300}
12301
12302impl<'a> Vcvttph2dqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
12303 fn vcvttph2dq_maskz(&mut self, op0: Zmm, op1: Mem) {
12304 self.emit(VCVTTPH2DQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12305 }
12306}
12307
12308pub trait Vcvttph2dqMaskzSaeEmitter<A, B> {
12320 fn vcvttph2dq_maskz_sae(&mut self, op0: A, op1: B);
12321}
12322
12323impl<'a> Vcvttph2dqMaskzSaeEmitter<Zmm, Ymm> for Assembler<'a> {
12324 fn vcvttph2dq_maskz_sae(&mut self, op0: Zmm, op1: Ymm) {
12325 self.emit(VCVTTPH2DQ512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12326 }
12327}
12328
12329pub trait Vcvttph2dqSaeEmitter<A, B> {
12341 fn vcvttph2dq_sae(&mut self, op0: A, op1: B);
12342}
12343
12344impl<'a> Vcvttph2dqSaeEmitter<Zmm, Ymm> for Assembler<'a> {
12345 fn vcvttph2dq_sae(&mut self, op0: Zmm, op1: Ymm) {
12346 self.emit(VCVTTPH2DQ512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12347 }
12348}
12349
12350pub trait Vcvttph2qqEmitter<A, B> {
12367 fn vcvttph2qq(&mut self, op0: A, op1: B);
12368}
12369
12370impl<'a> Vcvttph2qqEmitter<Xmm, Xmm> for Assembler<'a> {
12371 fn vcvttph2qq(&mut self, op0: Xmm, op1: Xmm) {
12372 self.emit(VCVTTPH2QQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12373 }
12374}
12375
12376impl<'a> Vcvttph2qqEmitter<Xmm, Mem> for Assembler<'a> {
12377 fn vcvttph2qq(&mut self, op0: Xmm, op1: Mem) {
12378 self.emit(VCVTTPH2QQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12379 }
12380}
12381
12382impl<'a> Vcvttph2qqEmitter<Ymm, Xmm> for Assembler<'a> {
12383 fn vcvttph2qq(&mut self, op0: Ymm, op1: Xmm) {
12384 self.emit(VCVTTPH2QQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12385 }
12386}
12387
12388impl<'a> Vcvttph2qqEmitter<Ymm, Mem> for Assembler<'a> {
12389 fn vcvttph2qq(&mut self, op0: Ymm, op1: Mem) {
12390 self.emit(VCVTTPH2QQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12391 }
12392}
12393
12394impl<'a> Vcvttph2qqEmitter<Zmm, Xmm> for Assembler<'a> {
12395 fn vcvttph2qq(&mut self, op0: Zmm, op1: Xmm) {
12396 self.emit(VCVTTPH2QQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12397 }
12398}
12399
12400impl<'a> Vcvttph2qqEmitter<Zmm, Mem> for Assembler<'a> {
12401 fn vcvttph2qq(&mut self, op0: Zmm, op1: Mem) {
12402 self.emit(VCVTTPH2QQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12403 }
12404}
12405
12406pub trait Vcvttph2qqMaskEmitter<A, B> {
12423 fn vcvttph2qq_mask(&mut self, op0: A, op1: B);
12424}
12425
12426impl<'a> Vcvttph2qqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12427 fn vcvttph2qq_mask(&mut self, op0: Xmm, op1: Xmm) {
12428 self.emit(VCVTTPH2QQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12429 }
12430}
12431
12432impl<'a> Vcvttph2qqMaskEmitter<Xmm, Mem> for Assembler<'a> {
12433 fn vcvttph2qq_mask(&mut self, op0: Xmm, op1: Mem) {
12434 self.emit(VCVTTPH2QQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12435 }
12436}
12437
12438impl<'a> Vcvttph2qqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
12439 fn vcvttph2qq_mask(&mut self, op0: Ymm, op1: Xmm) {
12440 self.emit(VCVTTPH2QQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12441 }
12442}
12443
12444impl<'a> Vcvttph2qqMaskEmitter<Ymm, Mem> for Assembler<'a> {
12445 fn vcvttph2qq_mask(&mut self, op0: Ymm, op1: Mem) {
12446 self.emit(VCVTTPH2QQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12447 }
12448}
12449
12450impl<'a> Vcvttph2qqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
12451 fn vcvttph2qq_mask(&mut self, op0: Zmm, op1: Xmm) {
12452 self.emit(VCVTTPH2QQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12453 }
12454}
12455
12456impl<'a> Vcvttph2qqMaskEmitter<Zmm, Mem> for Assembler<'a> {
12457 fn vcvttph2qq_mask(&mut self, op0: Zmm, op1: Mem) {
12458 self.emit(VCVTTPH2QQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12459 }
12460}
12461
12462pub trait Vcvttph2qqMaskSaeEmitter<A, B> {
12474 fn vcvttph2qq_mask_sae(&mut self, op0: A, op1: B);
12475}
12476
12477impl<'a> Vcvttph2qqMaskSaeEmitter<Zmm, Xmm> for Assembler<'a> {
12478 fn vcvttph2qq_mask_sae(&mut self, op0: Zmm, op1: Xmm) {
12479 self.emit(VCVTTPH2QQ512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12480 }
12481}
12482
12483pub trait Vcvttph2qqMaskzEmitter<A, B> {
12500 fn vcvttph2qq_maskz(&mut self, op0: A, op1: B);
12501}
12502
12503impl<'a> Vcvttph2qqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12504 fn vcvttph2qq_maskz(&mut self, op0: Xmm, op1: Xmm) {
12505 self.emit(VCVTTPH2QQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12506 }
12507}
12508
12509impl<'a> Vcvttph2qqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12510 fn vcvttph2qq_maskz(&mut self, op0: Xmm, op1: Mem) {
12511 self.emit(VCVTTPH2QQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12512 }
12513}
12514
12515impl<'a> Vcvttph2qqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
12516 fn vcvttph2qq_maskz(&mut self, op0: Ymm, op1: Xmm) {
12517 self.emit(VCVTTPH2QQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12518 }
12519}
12520
12521impl<'a> Vcvttph2qqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12522 fn vcvttph2qq_maskz(&mut self, op0: Ymm, op1: Mem) {
12523 self.emit(VCVTTPH2QQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12524 }
12525}
12526
12527impl<'a> Vcvttph2qqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
12528 fn vcvttph2qq_maskz(&mut self, op0: Zmm, op1: Xmm) {
12529 self.emit(VCVTTPH2QQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12530 }
12531}
12532
12533impl<'a> Vcvttph2qqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
12534 fn vcvttph2qq_maskz(&mut self, op0: Zmm, op1: Mem) {
12535 self.emit(VCVTTPH2QQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12536 }
12537}
12538
12539pub trait Vcvttph2qqMaskzSaeEmitter<A, B> {
12551 fn vcvttph2qq_maskz_sae(&mut self, op0: A, op1: B);
12552}
12553
12554impl<'a> Vcvttph2qqMaskzSaeEmitter<Zmm, Xmm> for Assembler<'a> {
12555 fn vcvttph2qq_maskz_sae(&mut self, op0: Zmm, op1: Xmm) {
12556 self.emit(VCVTTPH2QQ512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12557 }
12558}
12559
12560pub trait Vcvttph2qqSaeEmitter<A, B> {
12572 fn vcvttph2qq_sae(&mut self, op0: A, op1: B);
12573}
12574
12575impl<'a> Vcvttph2qqSaeEmitter<Zmm, Xmm> for Assembler<'a> {
12576 fn vcvttph2qq_sae(&mut self, op0: Zmm, op1: Xmm) {
12577 self.emit(VCVTTPH2QQ512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12578 }
12579}
12580
12581pub trait Vcvttph2udqEmitter<A, B> {
12598 fn vcvttph2udq(&mut self, op0: A, op1: B);
12599}
12600
12601impl<'a> Vcvttph2udqEmitter<Xmm, Xmm> for Assembler<'a> {
12602 fn vcvttph2udq(&mut self, op0: Xmm, op1: Xmm) {
12603 self.emit(VCVTTPH2UDQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12604 }
12605}
12606
12607impl<'a> Vcvttph2udqEmitter<Xmm, Mem> for Assembler<'a> {
12608 fn vcvttph2udq(&mut self, op0: Xmm, op1: Mem) {
12609 self.emit(VCVTTPH2UDQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12610 }
12611}
12612
12613impl<'a> Vcvttph2udqEmitter<Ymm, Xmm> for Assembler<'a> {
12614 fn vcvttph2udq(&mut self, op0: Ymm, op1: Xmm) {
12615 self.emit(VCVTTPH2UDQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12616 }
12617}
12618
12619impl<'a> Vcvttph2udqEmitter<Ymm, Mem> for Assembler<'a> {
12620 fn vcvttph2udq(&mut self, op0: Ymm, op1: Mem) {
12621 self.emit(VCVTTPH2UDQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12622 }
12623}
12624
12625impl<'a> Vcvttph2udqEmitter<Zmm, Ymm> for Assembler<'a> {
12626 fn vcvttph2udq(&mut self, op0: Zmm, op1: Ymm) {
12627 self.emit(VCVTTPH2UDQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12628 }
12629}
12630
12631impl<'a> Vcvttph2udqEmitter<Zmm, Mem> for Assembler<'a> {
12632 fn vcvttph2udq(&mut self, op0: Zmm, op1: Mem) {
12633 self.emit(VCVTTPH2UDQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12634 }
12635}
12636
12637pub trait Vcvttph2udqMaskEmitter<A, B> {
12654 fn vcvttph2udq_mask(&mut self, op0: A, op1: B);
12655}
12656
12657impl<'a> Vcvttph2udqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12658 fn vcvttph2udq_mask(&mut self, op0: Xmm, op1: Xmm) {
12659 self.emit(VCVTTPH2UDQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12660 }
12661}
12662
12663impl<'a> Vcvttph2udqMaskEmitter<Xmm, Mem> for Assembler<'a> {
12664 fn vcvttph2udq_mask(&mut self, op0: Xmm, op1: Mem) {
12665 self.emit(VCVTTPH2UDQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12666 }
12667}
12668
12669impl<'a> Vcvttph2udqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
12670 fn vcvttph2udq_mask(&mut self, op0: Ymm, op1: Xmm) {
12671 self.emit(VCVTTPH2UDQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12672 }
12673}
12674
12675impl<'a> Vcvttph2udqMaskEmitter<Ymm, Mem> for Assembler<'a> {
12676 fn vcvttph2udq_mask(&mut self, op0: Ymm, op1: Mem) {
12677 self.emit(VCVTTPH2UDQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12678 }
12679}
12680
12681impl<'a> Vcvttph2udqMaskEmitter<Zmm, Ymm> for Assembler<'a> {
12682 fn vcvttph2udq_mask(&mut self, op0: Zmm, op1: Ymm) {
12683 self.emit(VCVTTPH2UDQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12684 }
12685}
12686
12687impl<'a> Vcvttph2udqMaskEmitter<Zmm, Mem> for Assembler<'a> {
12688 fn vcvttph2udq_mask(&mut self, op0: Zmm, op1: Mem) {
12689 self.emit(VCVTTPH2UDQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12690 }
12691}
12692
12693pub trait Vcvttph2udqMaskSaeEmitter<A, B> {
12705 fn vcvttph2udq_mask_sae(&mut self, op0: A, op1: B);
12706}
12707
12708impl<'a> Vcvttph2udqMaskSaeEmitter<Zmm, Ymm> for Assembler<'a> {
12709 fn vcvttph2udq_mask_sae(&mut self, op0: Zmm, op1: Ymm) {
12710 self.emit(VCVTTPH2UDQ512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12711 }
12712}
12713
12714pub trait Vcvttph2udqMaskzEmitter<A, B> {
12731 fn vcvttph2udq_maskz(&mut self, op0: A, op1: B);
12732}
12733
12734impl<'a> Vcvttph2udqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12735 fn vcvttph2udq_maskz(&mut self, op0: Xmm, op1: Xmm) {
12736 self.emit(VCVTTPH2UDQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12737 }
12738}
12739
12740impl<'a> Vcvttph2udqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12741 fn vcvttph2udq_maskz(&mut self, op0: Xmm, op1: Mem) {
12742 self.emit(VCVTTPH2UDQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12743 }
12744}
12745
12746impl<'a> Vcvttph2udqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
12747 fn vcvttph2udq_maskz(&mut self, op0: Ymm, op1: Xmm) {
12748 self.emit(VCVTTPH2UDQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12749 }
12750}
12751
12752impl<'a> Vcvttph2udqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12753 fn vcvttph2udq_maskz(&mut self, op0: Ymm, op1: Mem) {
12754 self.emit(VCVTTPH2UDQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12755 }
12756}
12757
12758impl<'a> Vcvttph2udqMaskzEmitter<Zmm, Ymm> for Assembler<'a> {
12759 fn vcvttph2udq_maskz(&mut self, op0: Zmm, op1: Ymm) {
12760 self.emit(VCVTTPH2UDQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12761 }
12762}
12763
12764impl<'a> Vcvttph2udqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
12765 fn vcvttph2udq_maskz(&mut self, op0: Zmm, op1: Mem) {
12766 self.emit(VCVTTPH2UDQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12767 }
12768}
12769
12770pub trait Vcvttph2udqMaskzSaeEmitter<A, B> {
12782 fn vcvttph2udq_maskz_sae(&mut self, op0: A, op1: B);
12783}
12784
12785impl<'a> Vcvttph2udqMaskzSaeEmitter<Zmm, Ymm> for Assembler<'a> {
12786 fn vcvttph2udq_maskz_sae(&mut self, op0: Zmm, op1: Ymm) {
12787 self.emit(VCVTTPH2UDQ512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12788 }
12789}
12790
12791pub trait Vcvttph2udqSaeEmitter<A, B> {
12803 fn vcvttph2udq_sae(&mut self, op0: A, op1: B);
12804}
12805
12806impl<'a> Vcvttph2udqSaeEmitter<Zmm, Ymm> for Assembler<'a> {
12807 fn vcvttph2udq_sae(&mut self, op0: Zmm, op1: Ymm) {
12808 self.emit(VCVTTPH2UDQ512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12809 }
12810}
12811
12812pub trait Vcvttph2uqqEmitter<A, B> {
12829 fn vcvttph2uqq(&mut self, op0: A, op1: B);
12830}
12831
12832impl<'a> Vcvttph2uqqEmitter<Xmm, Xmm> for Assembler<'a> {
12833 fn vcvttph2uqq(&mut self, op0: Xmm, op1: Xmm) {
12834 self.emit(VCVTTPH2UQQ128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12835 }
12836}
12837
12838impl<'a> Vcvttph2uqqEmitter<Xmm, Mem> for Assembler<'a> {
12839 fn vcvttph2uqq(&mut self, op0: Xmm, op1: Mem) {
12840 self.emit(VCVTTPH2UQQ128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12841 }
12842}
12843
12844impl<'a> Vcvttph2uqqEmitter<Ymm, Xmm> for Assembler<'a> {
12845 fn vcvttph2uqq(&mut self, op0: Ymm, op1: Xmm) {
12846 self.emit(VCVTTPH2UQQ256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12847 }
12848}
12849
12850impl<'a> Vcvttph2uqqEmitter<Ymm, Mem> for Assembler<'a> {
12851 fn vcvttph2uqq(&mut self, op0: Ymm, op1: Mem) {
12852 self.emit(VCVTTPH2UQQ256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12853 }
12854}
12855
12856impl<'a> Vcvttph2uqqEmitter<Zmm, Xmm> for Assembler<'a> {
12857 fn vcvttph2uqq(&mut self, op0: Zmm, op1: Xmm) {
12858 self.emit(VCVTTPH2UQQ512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12859 }
12860}
12861
12862impl<'a> Vcvttph2uqqEmitter<Zmm, Mem> for Assembler<'a> {
12863 fn vcvttph2uqq(&mut self, op0: Zmm, op1: Mem) {
12864 self.emit(VCVTTPH2UQQ512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12865 }
12866}
12867
12868pub trait Vcvttph2uqqMaskEmitter<A, B> {
12885 fn vcvttph2uqq_mask(&mut self, op0: A, op1: B);
12886}
12887
12888impl<'a> Vcvttph2uqqMaskEmitter<Xmm, Xmm> for Assembler<'a> {
12889 fn vcvttph2uqq_mask(&mut self, op0: Xmm, op1: Xmm) {
12890 self.emit(VCVTTPH2UQQ128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12891 }
12892}
12893
12894impl<'a> Vcvttph2uqqMaskEmitter<Xmm, Mem> for Assembler<'a> {
12895 fn vcvttph2uqq_mask(&mut self, op0: Xmm, op1: Mem) {
12896 self.emit(VCVTTPH2UQQ128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12897 }
12898}
12899
12900impl<'a> Vcvttph2uqqMaskEmitter<Ymm, Xmm> for Assembler<'a> {
12901 fn vcvttph2uqq_mask(&mut self, op0: Ymm, op1: Xmm) {
12902 self.emit(VCVTTPH2UQQ256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12903 }
12904}
12905
12906impl<'a> Vcvttph2uqqMaskEmitter<Ymm, Mem> for Assembler<'a> {
12907 fn vcvttph2uqq_mask(&mut self, op0: Ymm, op1: Mem) {
12908 self.emit(VCVTTPH2UQQ256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12909 }
12910}
12911
12912impl<'a> Vcvttph2uqqMaskEmitter<Zmm, Xmm> for Assembler<'a> {
12913 fn vcvttph2uqq_mask(&mut self, op0: Zmm, op1: Xmm) {
12914 self.emit(VCVTTPH2UQQ512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12915 }
12916}
12917
12918impl<'a> Vcvttph2uqqMaskEmitter<Zmm, Mem> for Assembler<'a> {
12919 fn vcvttph2uqq_mask(&mut self, op0: Zmm, op1: Mem) {
12920 self.emit(VCVTTPH2UQQ512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12921 }
12922}
12923
12924pub trait Vcvttph2uqqMaskSaeEmitter<A, B> {
12936 fn vcvttph2uqq_mask_sae(&mut self, op0: A, op1: B);
12937}
12938
12939impl<'a> Vcvttph2uqqMaskSaeEmitter<Zmm, Xmm> for Assembler<'a> {
12940 fn vcvttph2uqq_mask_sae(&mut self, op0: Zmm, op1: Xmm) {
12941 self.emit(VCVTTPH2UQQ512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12942 }
12943}
12944
12945pub trait Vcvttph2uqqMaskzEmitter<A, B> {
12962 fn vcvttph2uqq_maskz(&mut self, op0: A, op1: B);
12963}
12964
12965impl<'a> Vcvttph2uqqMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
12966 fn vcvttph2uqq_maskz(&mut self, op0: Xmm, op1: Xmm) {
12967 self.emit(VCVTTPH2UQQ128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12968 }
12969}
12970
12971impl<'a> Vcvttph2uqqMaskzEmitter<Xmm, Mem> for Assembler<'a> {
12972 fn vcvttph2uqq_maskz(&mut self, op0: Xmm, op1: Mem) {
12973 self.emit(VCVTTPH2UQQ128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12974 }
12975}
12976
12977impl<'a> Vcvttph2uqqMaskzEmitter<Ymm, Xmm> for Assembler<'a> {
12978 fn vcvttph2uqq_maskz(&mut self, op0: Ymm, op1: Xmm) {
12979 self.emit(VCVTTPH2UQQ256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12980 }
12981}
12982
12983impl<'a> Vcvttph2uqqMaskzEmitter<Ymm, Mem> for Assembler<'a> {
12984 fn vcvttph2uqq_maskz(&mut self, op0: Ymm, op1: Mem) {
12985 self.emit(VCVTTPH2UQQ256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12986 }
12987}
12988
12989impl<'a> Vcvttph2uqqMaskzEmitter<Zmm, Xmm> for Assembler<'a> {
12990 fn vcvttph2uqq_maskz(&mut self, op0: Zmm, op1: Xmm) {
12991 self.emit(VCVTTPH2UQQ512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12992 }
12993}
12994
12995impl<'a> Vcvttph2uqqMaskzEmitter<Zmm, Mem> for Assembler<'a> {
12996 fn vcvttph2uqq_maskz(&mut self, op0: Zmm, op1: Mem) {
12997 self.emit(VCVTTPH2UQQ512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
12998 }
12999}
13000
13001pub trait Vcvttph2uqqMaskzSaeEmitter<A, B> {
13013 fn vcvttph2uqq_maskz_sae(&mut self, op0: A, op1: B);
13014}
13015
13016impl<'a> Vcvttph2uqqMaskzSaeEmitter<Zmm, Xmm> for Assembler<'a> {
13017 fn vcvttph2uqq_maskz_sae(&mut self, op0: Zmm, op1: Xmm) {
13018 self.emit(VCVTTPH2UQQ512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13019 }
13020}
13021
13022pub trait Vcvttph2uqqSaeEmitter<A, B> {
13034 fn vcvttph2uqq_sae(&mut self, op0: A, op1: B);
13035}
13036
13037impl<'a> Vcvttph2uqqSaeEmitter<Zmm, Xmm> for Assembler<'a> {
13038 fn vcvttph2uqq_sae(&mut self, op0: Zmm, op1: Xmm) {
13039 self.emit(VCVTTPH2UQQ512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13040 }
13041}
13042
13043pub trait Vcvttph2uwEmitter<A, B> {
13060 fn vcvttph2uw(&mut self, op0: A, op1: B);
13061}
13062
13063impl<'a> Vcvttph2uwEmitter<Xmm, Xmm> for Assembler<'a> {
13064 fn vcvttph2uw(&mut self, op0: Xmm, op1: Xmm) {
13065 self.emit(VCVTTPH2UW128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13066 }
13067}
13068
13069impl<'a> Vcvttph2uwEmitter<Xmm, Mem> for Assembler<'a> {
13070 fn vcvttph2uw(&mut self, op0: Xmm, op1: Mem) {
13071 self.emit(VCVTTPH2UW128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13072 }
13073}
13074
13075impl<'a> Vcvttph2uwEmitter<Ymm, Ymm> for Assembler<'a> {
13076 fn vcvttph2uw(&mut self, op0: Ymm, op1: Ymm) {
13077 self.emit(VCVTTPH2UW256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13078 }
13079}
13080
13081impl<'a> Vcvttph2uwEmitter<Ymm, Mem> for Assembler<'a> {
13082 fn vcvttph2uw(&mut self, op0: Ymm, op1: Mem) {
13083 self.emit(VCVTTPH2UW256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13084 }
13085}
13086
13087impl<'a> Vcvttph2uwEmitter<Zmm, Zmm> for Assembler<'a> {
13088 fn vcvttph2uw(&mut self, op0: Zmm, op1: Zmm) {
13089 self.emit(VCVTTPH2UW512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13090 }
13091}
13092
13093impl<'a> Vcvttph2uwEmitter<Zmm, Mem> for Assembler<'a> {
13094 fn vcvttph2uw(&mut self, op0: Zmm, op1: Mem) {
13095 self.emit(VCVTTPH2UW512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13096 }
13097}
13098
13099pub trait Vcvttph2uwMaskEmitter<A, B> {
13116 fn vcvttph2uw_mask(&mut self, op0: A, op1: B);
13117}
13118
13119impl<'a> Vcvttph2uwMaskEmitter<Xmm, Xmm> for Assembler<'a> {
13120 fn vcvttph2uw_mask(&mut self, op0: Xmm, op1: Xmm) {
13121 self.emit(VCVTTPH2UW128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13122 }
13123}
13124
13125impl<'a> Vcvttph2uwMaskEmitter<Xmm, Mem> for Assembler<'a> {
13126 fn vcvttph2uw_mask(&mut self, op0: Xmm, op1: Mem) {
13127 self.emit(VCVTTPH2UW128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13128 }
13129}
13130
13131impl<'a> Vcvttph2uwMaskEmitter<Ymm, Ymm> for Assembler<'a> {
13132 fn vcvttph2uw_mask(&mut self, op0: Ymm, op1: Ymm) {
13133 self.emit(VCVTTPH2UW256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13134 }
13135}
13136
13137impl<'a> Vcvttph2uwMaskEmitter<Ymm, Mem> for Assembler<'a> {
13138 fn vcvttph2uw_mask(&mut self, op0: Ymm, op1: Mem) {
13139 self.emit(VCVTTPH2UW256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13140 }
13141}
13142
13143impl<'a> Vcvttph2uwMaskEmitter<Zmm, Zmm> for Assembler<'a> {
13144 fn vcvttph2uw_mask(&mut self, op0: Zmm, op1: Zmm) {
13145 self.emit(VCVTTPH2UW512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13146 }
13147}
13148
13149impl<'a> Vcvttph2uwMaskEmitter<Zmm, Mem> for Assembler<'a> {
13150 fn vcvttph2uw_mask(&mut self, op0: Zmm, op1: Mem) {
13151 self.emit(VCVTTPH2UW512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13152 }
13153}
13154
13155pub trait Vcvttph2uwMaskSaeEmitter<A, B> {
13167 fn vcvttph2uw_mask_sae(&mut self, op0: A, op1: B);
13168}
13169
13170impl<'a> Vcvttph2uwMaskSaeEmitter<Zmm, Zmm> for Assembler<'a> {
13171 fn vcvttph2uw_mask_sae(&mut self, op0: Zmm, op1: Zmm) {
13172 self.emit(VCVTTPH2UW512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13173 }
13174}
13175
13176pub trait Vcvttph2uwMaskzEmitter<A, B> {
13193 fn vcvttph2uw_maskz(&mut self, op0: A, op1: B);
13194}
13195
13196impl<'a> Vcvttph2uwMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
13197 fn vcvttph2uw_maskz(&mut self, op0: Xmm, op1: Xmm) {
13198 self.emit(VCVTTPH2UW128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13199 }
13200}
13201
13202impl<'a> Vcvttph2uwMaskzEmitter<Xmm, Mem> for Assembler<'a> {
13203 fn vcvttph2uw_maskz(&mut self, op0: Xmm, op1: Mem) {
13204 self.emit(VCVTTPH2UW128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13205 }
13206}
13207
13208impl<'a> Vcvttph2uwMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
13209 fn vcvttph2uw_maskz(&mut self, op0: Ymm, op1: Ymm) {
13210 self.emit(VCVTTPH2UW256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13211 }
13212}
13213
13214impl<'a> Vcvttph2uwMaskzEmitter<Ymm, Mem> for Assembler<'a> {
13215 fn vcvttph2uw_maskz(&mut self, op0: Ymm, op1: Mem) {
13216 self.emit(VCVTTPH2UW256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13217 }
13218}
13219
13220impl<'a> Vcvttph2uwMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
13221 fn vcvttph2uw_maskz(&mut self, op0: Zmm, op1: Zmm) {
13222 self.emit(VCVTTPH2UW512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13223 }
13224}
13225
13226impl<'a> Vcvttph2uwMaskzEmitter<Zmm, Mem> for Assembler<'a> {
13227 fn vcvttph2uw_maskz(&mut self, op0: Zmm, op1: Mem) {
13228 self.emit(VCVTTPH2UW512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13229 }
13230}
13231
13232pub trait Vcvttph2uwMaskzSaeEmitter<A, B> {
13244 fn vcvttph2uw_maskz_sae(&mut self, op0: A, op1: B);
13245}
13246
13247impl<'a> Vcvttph2uwMaskzSaeEmitter<Zmm, Zmm> for Assembler<'a> {
13248 fn vcvttph2uw_maskz_sae(&mut self, op0: Zmm, op1: Zmm) {
13249 self.emit(VCVTTPH2UW512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13250 }
13251}
13252
13253pub trait Vcvttph2uwSaeEmitter<A, B> {
13265 fn vcvttph2uw_sae(&mut self, op0: A, op1: B);
13266}
13267
13268impl<'a> Vcvttph2uwSaeEmitter<Zmm, Zmm> for Assembler<'a> {
13269 fn vcvttph2uw_sae(&mut self, op0: Zmm, op1: Zmm) {
13270 self.emit(VCVTTPH2UW512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13271 }
13272}
13273
13274pub trait Vcvttph2wEmitter<A, B> {
13291 fn vcvttph2w(&mut self, op0: A, op1: B);
13292}
13293
13294impl<'a> Vcvttph2wEmitter<Xmm, Xmm> for Assembler<'a> {
13295 fn vcvttph2w(&mut self, op0: Xmm, op1: Xmm) {
13296 self.emit(VCVTTPH2W128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13297 }
13298}
13299
13300impl<'a> Vcvttph2wEmitter<Xmm, Mem> for Assembler<'a> {
13301 fn vcvttph2w(&mut self, op0: Xmm, op1: Mem) {
13302 self.emit(VCVTTPH2W128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13303 }
13304}
13305
13306impl<'a> Vcvttph2wEmitter<Ymm, Ymm> for Assembler<'a> {
13307 fn vcvttph2w(&mut self, op0: Ymm, op1: Ymm) {
13308 self.emit(VCVTTPH2W256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13309 }
13310}
13311
13312impl<'a> Vcvttph2wEmitter<Ymm, Mem> for Assembler<'a> {
13313 fn vcvttph2w(&mut self, op0: Ymm, op1: Mem) {
13314 self.emit(VCVTTPH2W256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13315 }
13316}
13317
13318impl<'a> Vcvttph2wEmitter<Zmm, Zmm> for Assembler<'a> {
13319 fn vcvttph2w(&mut self, op0: Zmm, op1: Zmm) {
13320 self.emit(VCVTTPH2W512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13321 }
13322}
13323
13324impl<'a> Vcvttph2wEmitter<Zmm, Mem> for Assembler<'a> {
13325 fn vcvttph2w(&mut self, op0: Zmm, op1: Mem) {
13326 self.emit(VCVTTPH2W512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13327 }
13328}
13329
13330pub trait Vcvttph2wMaskEmitter<A, B> {
13347 fn vcvttph2w_mask(&mut self, op0: A, op1: B);
13348}
13349
13350impl<'a> Vcvttph2wMaskEmitter<Xmm, Xmm> for Assembler<'a> {
13351 fn vcvttph2w_mask(&mut self, op0: Xmm, op1: Xmm) {
13352 self.emit(VCVTTPH2W128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13353 }
13354}
13355
13356impl<'a> Vcvttph2wMaskEmitter<Xmm, Mem> for Assembler<'a> {
13357 fn vcvttph2w_mask(&mut self, op0: Xmm, op1: Mem) {
13358 self.emit(VCVTTPH2W128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13359 }
13360}
13361
13362impl<'a> Vcvttph2wMaskEmitter<Ymm, Ymm> for Assembler<'a> {
13363 fn vcvttph2w_mask(&mut self, op0: Ymm, op1: Ymm) {
13364 self.emit(VCVTTPH2W256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13365 }
13366}
13367
13368impl<'a> Vcvttph2wMaskEmitter<Ymm, Mem> for Assembler<'a> {
13369 fn vcvttph2w_mask(&mut self, op0: Ymm, op1: Mem) {
13370 self.emit(VCVTTPH2W256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13371 }
13372}
13373
13374impl<'a> Vcvttph2wMaskEmitter<Zmm, Zmm> for Assembler<'a> {
13375 fn vcvttph2w_mask(&mut self, op0: Zmm, op1: Zmm) {
13376 self.emit(VCVTTPH2W512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13377 }
13378}
13379
13380impl<'a> Vcvttph2wMaskEmitter<Zmm, Mem> for Assembler<'a> {
13381 fn vcvttph2w_mask(&mut self, op0: Zmm, op1: Mem) {
13382 self.emit(VCVTTPH2W512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13383 }
13384}
13385
13386pub trait Vcvttph2wMaskSaeEmitter<A, B> {
13398 fn vcvttph2w_mask_sae(&mut self, op0: A, op1: B);
13399}
13400
13401impl<'a> Vcvttph2wMaskSaeEmitter<Zmm, Zmm> for Assembler<'a> {
13402 fn vcvttph2w_mask_sae(&mut self, op0: Zmm, op1: Zmm) {
13403 self.emit(VCVTTPH2W512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13404 }
13405}
13406
13407pub trait Vcvttph2wMaskzEmitter<A, B> {
13424 fn vcvttph2w_maskz(&mut self, op0: A, op1: B);
13425}
13426
13427impl<'a> Vcvttph2wMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
13428 fn vcvttph2w_maskz(&mut self, op0: Xmm, op1: Xmm) {
13429 self.emit(VCVTTPH2W128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13430 }
13431}
13432
13433impl<'a> Vcvttph2wMaskzEmitter<Xmm, Mem> for Assembler<'a> {
13434 fn vcvttph2w_maskz(&mut self, op0: Xmm, op1: Mem) {
13435 self.emit(VCVTTPH2W128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13436 }
13437}
13438
13439impl<'a> Vcvttph2wMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
13440 fn vcvttph2w_maskz(&mut self, op0: Ymm, op1: Ymm) {
13441 self.emit(VCVTTPH2W256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13442 }
13443}
13444
13445impl<'a> Vcvttph2wMaskzEmitter<Ymm, Mem> for Assembler<'a> {
13446 fn vcvttph2w_maskz(&mut self, op0: Ymm, op1: Mem) {
13447 self.emit(VCVTTPH2W256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13448 }
13449}
13450
13451impl<'a> Vcvttph2wMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
13452 fn vcvttph2w_maskz(&mut self, op0: Zmm, op1: Zmm) {
13453 self.emit(VCVTTPH2W512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13454 }
13455}
13456
13457impl<'a> Vcvttph2wMaskzEmitter<Zmm, Mem> for Assembler<'a> {
13458 fn vcvttph2w_maskz(&mut self, op0: Zmm, op1: Mem) {
13459 self.emit(VCVTTPH2W512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13460 }
13461}
13462
13463pub trait Vcvttph2wMaskzSaeEmitter<A, B> {
13475 fn vcvttph2w_maskz_sae(&mut self, op0: A, op1: B);
13476}
13477
13478impl<'a> Vcvttph2wMaskzSaeEmitter<Zmm, Zmm> for Assembler<'a> {
13479 fn vcvttph2w_maskz_sae(&mut self, op0: Zmm, op1: Zmm) {
13480 self.emit(VCVTTPH2W512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13481 }
13482}
13483
13484pub trait Vcvttph2wSaeEmitter<A, B> {
13496 fn vcvttph2w_sae(&mut self, op0: A, op1: B);
13497}
13498
13499impl<'a> Vcvttph2wSaeEmitter<Zmm, Zmm> for Assembler<'a> {
13500 fn vcvttph2w_sae(&mut self, op0: Zmm, op1: Zmm) {
13501 self.emit(VCVTTPH2W512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13502 }
13503}
13504
13505pub trait Vcvttsh2siEmitter<A, B> {
13520 fn vcvttsh2si(&mut self, op0: A, op1: B);
13521}
13522
13523impl<'a> Vcvttsh2siEmitter<Gpd, Xmm> for Assembler<'a> {
13524 fn vcvttsh2si(&mut self, op0: Gpd, op1: Xmm) {
13525 self.emit(VCVTTSH2SI32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13526 }
13527}
13528
13529impl<'a> Vcvttsh2siEmitter<Gpd, Mem> for Assembler<'a> {
13530 fn vcvttsh2si(&mut self, op0: Gpd, op1: Mem) {
13531 self.emit(VCVTTSH2SI32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13532 }
13533}
13534
13535impl<'a> Vcvttsh2siEmitter<Gpq, Xmm> for Assembler<'a> {
13536 fn vcvttsh2si(&mut self, op0: Gpq, op1: Xmm) {
13537 self.emit(VCVTTSH2SI64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13538 }
13539}
13540
13541impl<'a> Vcvttsh2siEmitter<Gpq, Mem> for Assembler<'a> {
13542 fn vcvttsh2si(&mut self, op0: Gpq, op1: Mem) {
13543 self.emit(VCVTTSH2SI64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13544 }
13545}
13546
13547pub trait Vcvttsh2siSaeEmitter<A, B> {
13560 fn vcvttsh2si_sae(&mut self, op0: A, op1: B);
13561}
13562
13563impl<'a> Vcvttsh2siSaeEmitter<Gpd, Xmm> for Assembler<'a> {
13564 fn vcvttsh2si_sae(&mut self, op0: Gpd, op1: Xmm) {
13565 self.emit(VCVTTSH2SI32RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13566 }
13567}
13568
13569impl<'a> Vcvttsh2siSaeEmitter<Gpq, Xmm> for Assembler<'a> {
13570 fn vcvttsh2si_sae(&mut self, op0: Gpq, op1: Xmm) {
13571 self.emit(VCVTTSH2SI64RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13572 }
13573}
13574
13575pub trait Vcvttsh2usiEmitter<A, B> {
13590 fn vcvttsh2usi(&mut self, op0: A, op1: B);
13591}
13592
13593impl<'a> Vcvttsh2usiEmitter<Gpd, Xmm> for Assembler<'a> {
13594 fn vcvttsh2usi(&mut self, op0: Gpd, op1: Xmm) {
13595 self.emit(VCVTTSH2USI32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13596 }
13597}
13598
13599impl<'a> Vcvttsh2usiEmitter<Gpd, Mem> for Assembler<'a> {
13600 fn vcvttsh2usi(&mut self, op0: Gpd, op1: Mem) {
13601 self.emit(VCVTTSH2USI32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13602 }
13603}
13604
13605impl<'a> Vcvttsh2usiEmitter<Gpq, Xmm> for Assembler<'a> {
13606 fn vcvttsh2usi(&mut self, op0: Gpq, op1: Xmm) {
13607 self.emit(VCVTTSH2USI64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13608 }
13609}
13610
13611impl<'a> Vcvttsh2usiEmitter<Gpq, Mem> for Assembler<'a> {
13612 fn vcvttsh2usi(&mut self, op0: Gpq, op1: Mem) {
13613 self.emit(VCVTTSH2USI64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13614 }
13615}
13616
13617pub trait Vcvttsh2usiSaeEmitter<A, B> {
13630 fn vcvttsh2usi_sae(&mut self, op0: A, op1: B);
13631}
13632
13633impl<'a> Vcvttsh2usiSaeEmitter<Gpd, Xmm> for Assembler<'a> {
13634 fn vcvttsh2usi_sae(&mut self, op0: Gpd, op1: Xmm) {
13635 self.emit(VCVTTSH2USI32RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13636 }
13637}
13638
13639impl<'a> Vcvttsh2usiSaeEmitter<Gpq, Xmm> for Assembler<'a> {
13640 fn vcvttsh2usi_sae(&mut self, op0: Gpq, op1: Xmm) {
13641 self.emit(VCVTTSH2USI64RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13642 }
13643}
13644
13645pub trait Vcvtudq2phEmitter<A, B> {
13661 fn vcvtudq2ph(&mut self, op0: A, op1: B);
13662}
13663
13664impl<'a> Vcvtudq2phEmitter<Xmm, Xmm> for Assembler<'a> {
13665 fn vcvtudq2ph(&mut self, op0: Xmm, op1: Xmm) {
13666 self.emit(VCVTUDQ2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13667 }
13668}
13669
13670impl<'a> Vcvtudq2phEmitter<Xmm, Mem> for Assembler<'a> {
13671 fn vcvtudq2ph(&mut self, op0: Xmm, op1: Mem) {
13672 self.emit(VCVTUDQ2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13673 }
13674}
13675
13676impl<'a> Vcvtudq2phEmitter<Xmm, Ymm> for Assembler<'a> {
13677 fn vcvtudq2ph(&mut self, op0: Xmm, op1: Ymm) {
13678 self.emit(VCVTUDQ2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13679 }
13680}
13681
13682impl<'a> Vcvtudq2phEmitter<Ymm, Zmm> for Assembler<'a> {
13683 fn vcvtudq2ph(&mut self, op0: Ymm, op1: Zmm) {
13684 self.emit(VCVTUDQ2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13685 }
13686}
13687
13688impl<'a> Vcvtudq2phEmitter<Ymm, Mem> for Assembler<'a> {
13689 fn vcvtudq2ph(&mut self, op0: Ymm, op1: Mem) {
13690 self.emit(VCVTUDQ2PH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13691 }
13692}
13693
13694pub trait Vcvtudq2phErEmitter<A, B> {
13706 fn vcvtudq2ph_er(&mut self, op0: A, op1: B);
13707}
13708
13709impl<'a> Vcvtudq2phErEmitter<Ymm, Zmm> for Assembler<'a> {
13710 fn vcvtudq2ph_er(&mut self, op0: Ymm, op1: Zmm) {
13711 self.emit(VCVTUDQ2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13712 }
13713}
13714
13715pub trait Vcvtudq2phMaskEmitter<A, B> {
13731 fn vcvtudq2ph_mask(&mut self, op0: A, op1: B);
13732}
13733
13734impl<'a> Vcvtudq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
13735 fn vcvtudq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
13736 self.emit(VCVTUDQ2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13737 }
13738}
13739
13740impl<'a> Vcvtudq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
13741 fn vcvtudq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
13742 self.emit(VCVTUDQ2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13743 }
13744}
13745
13746impl<'a> Vcvtudq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
13747 fn vcvtudq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
13748 self.emit(VCVTUDQ2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13749 }
13750}
13751
13752impl<'a> Vcvtudq2phMaskEmitter<Ymm, Zmm> for Assembler<'a> {
13753 fn vcvtudq2ph_mask(&mut self, op0: Ymm, op1: Zmm) {
13754 self.emit(VCVTUDQ2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13755 }
13756}
13757
13758impl<'a> Vcvtudq2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
13759 fn vcvtudq2ph_mask(&mut self, op0: Ymm, op1: Mem) {
13760 self.emit(VCVTUDQ2PH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13761 }
13762}
13763
13764pub trait Vcvtudq2phMaskErEmitter<A, B> {
13776 fn vcvtudq2ph_mask_er(&mut self, op0: A, op1: B);
13777}
13778
13779impl<'a> Vcvtudq2phMaskErEmitter<Ymm, Zmm> for Assembler<'a> {
13780 fn vcvtudq2ph_mask_er(&mut self, op0: Ymm, op1: Zmm) {
13781 self.emit(VCVTUDQ2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13782 }
13783}
13784
13785pub trait Vcvtudq2phMaskzEmitter<A, B> {
13801 fn vcvtudq2ph_maskz(&mut self, op0: A, op1: B);
13802}
13803
13804impl<'a> Vcvtudq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
13805 fn vcvtudq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
13806 self.emit(VCVTUDQ2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13807 }
13808}
13809
13810impl<'a> Vcvtudq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
13811 fn vcvtudq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
13812 self.emit(VCVTUDQ2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13813 }
13814}
13815
13816impl<'a> Vcvtudq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
13817 fn vcvtudq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
13818 self.emit(VCVTUDQ2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13819 }
13820}
13821
13822impl<'a> Vcvtudq2phMaskzEmitter<Ymm, Zmm> for Assembler<'a> {
13823 fn vcvtudq2ph_maskz(&mut self, op0: Ymm, op1: Zmm) {
13824 self.emit(VCVTUDQ2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13825 }
13826}
13827
13828impl<'a> Vcvtudq2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
13829 fn vcvtudq2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
13830 self.emit(VCVTUDQ2PH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13831 }
13832}
13833
13834pub trait Vcvtudq2phMaskzErEmitter<A, B> {
13846 fn vcvtudq2ph_maskz_er(&mut self, op0: A, op1: B);
13847}
13848
13849impl<'a> Vcvtudq2phMaskzErEmitter<Ymm, Zmm> for Assembler<'a> {
13850 fn vcvtudq2ph_maskz_er(&mut self, op0: Ymm, op1: Zmm) {
13851 self.emit(VCVTUDQ2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13852 }
13853}
13854
13855pub trait Vcvtuqq2phEmitter<A, B> {
13870 fn vcvtuqq2ph(&mut self, op0: A, op1: B);
13871}
13872
13873impl<'a> Vcvtuqq2phEmitter<Xmm, Xmm> for Assembler<'a> {
13874 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Xmm) {
13875 self.emit(VCVTUQQ2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13876 }
13877}
13878
13879impl<'a> Vcvtuqq2phEmitter<Xmm, Mem> for Assembler<'a> {
13880 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Mem) {
13881 self.emit(VCVTUQQ2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13882 }
13883}
13884
13885impl<'a> Vcvtuqq2phEmitter<Xmm, Ymm> for Assembler<'a> {
13886 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Ymm) {
13887 self.emit(VCVTUQQ2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13888 }
13889}
13890
13891impl<'a> Vcvtuqq2phEmitter<Xmm, Zmm> for Assembler<'a> {
13892 fn vcvtuqq2ph(&mut self, op0: Xmm, op1: Zmm) {
13893 self.emit(VCVTUQQ2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13894 }
13895}
13896
13897pub trait Vcvtuqq2phErEmitter<A, B> {
13909 fn vcvtuqq2ph_er(&mut self, op0: A, op1: B);
13910}
13911
13912impl<'a> Vcvtuqq2phErEmitter<Xmm, Zmm> for Assembler<'a> {
13913 fn vcvtuqq2ph_er(&mut self, op0: Xmm, op1: Zmm) {
13914 self.emit(VCVTUQQ2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13915 }
13916}
13917
13918pub trait Vcvtuqq2phMaskEmitter<A, B> {
13933 fn vcvtuqq2ph_mask(&mut self, op0: A, op1: B);
13934}
13935
13936impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
13937 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
13938 self.emit(VCVTUQQ2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13939 }
13940}
13941
13942impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
13943 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Mem) {
13944 self.emit(VCVTUQQ2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13945 }
13946}
13947
13948impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Ymm> for Assembler<'a> {
13949 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Ymm) {
13950 self.emit(VCVTUQQ2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13951 }
13952}
13953
13954impl<'a> Vcvtuqq2phMaskEmitter<Xmm, Zmm> for Assembler<'a> {
13955 fn vcvtuqq2ph_mask(&mut self, op0: Xmm, op1: Zmm) {
13956 self.emit(VCVTUQQ2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13957 }
13958}
13959
13960pub trait Vcvtuqq2phMaskErEmitter<A, B> {
13972 fn vcvtuqq2ph_mask_er(&mut self, op0: A, op1: B);
13973}
13974
13975impl<'a> Vcvtuqq2phMaskErEmitter<Xmm, Zmm> for Assembler<'a> {
13976 fn vcvtuqq2ph_mask_er(&mut self, op0: Xmm, op1: Zmm) {
13977 self.emit(VCVTUQQ2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
13978 }
13979}
13980
13981pub trait Vcvtuqq2phMaskzEmitter<A, B> {
13996 fn vcvtuqq2ph_maskz(&mut self, op0: A, op1: B);
13997}
13998
13999impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
14000 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
14001 self.emit(VCVTUQQ2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14002 }
14003}
14004
14005impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
14006 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
14007 self.emit(VCVTUQQ2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14008 }
14009}
14010
14011impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Ymm> for Assembler<'a> {
14012 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Ymm) {
14013 self.emit(VCVTUQQ2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14014 }
14015}
14016
14017impl<'a> Vcvtuqq2phMaskzEmitter<Xmm, Zmm> for Assembler<'a> {
14018 fn vcvtuqq2ph_maskz(&mut self, op0: Xmm, op1: Zmm) {
14019 self.emit(VCVTUQQ2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14020 }
14021}
14022
14023pub trait Vcvtuqq2phMaskzErEmitter<A, B> {
14035 fn vcvtuqq2ph_maskz_er(&mut self, op0: A, op1: B);
14036}
14037
14038impl<'a> Vcvtuqq2phMaskzErEmitter<Xmm, Zmm> for Assembler<'a> {
14039 fn vcvtuqq2ph_maskz_er(&mut self, op0: Xmm, op1: Zmm) {
14040 self.emit(VCVTUQQ2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14041 }
14042}
14043
14044pub trait Vcvtusi2shEmitter<A, B, C> {
14058 fn vcvtusi2sh(&mut self, op0: A, op1: B, op2: C);
14059}
14060
14061impl<'a> Vcvtusi2shEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
14062 fn vcvtusi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
14063 self.emit(VCVTUSI2SH32RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14064 }
14065}
14066
14067impl<'a> Vcvtusi2shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14068 fn vcvtusi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14069 self.emit(VCVTUSI2SH32RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14070 }
14071}
14072
14073impl<'a> Vcvtusi2shEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
14074 fn vcvtusi2sh(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
14075 self.emit(VCVTUSI2SH64RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14076 }
14077}
14078
14079pub trait Vcvtusi2shErEmitter<A, B, C> {
14092 fn vcvtusi2sh_er(&mut self, op0: A, op1: B, op2: C);
14093}
14094
14095impl<'a> Vcvtusi2shErEmitter<Xmm, Xmm, Gpd> for Assembler<'a> {
14096 fn vcvtusi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpd) {
14097 self.emit(VCVTUSI2SH32RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14098 }
14099}
14100
14101impl<'a> Vcvtusi2shErEmitter<Xmm, Xmm, Gpq> for Assembler<'a> {
14102 fn vcvtusi2sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Gpq) {
14103 self.emit(VCVTUSI2SH64RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14104 }
14105}
14106
14107pub trait Vcvtuw2phEmitter<A, B> {
14124 fn vcvtuw2ph(&mut self, op0: A, op1: B);
14125}
14126
14127impl<'a> Vcvtuw2phEmitter<Xmm, Xmm> for Assembler<'a> {
14128 fn vcvtuw2ph(&mut self, op0: Xmm, op1: Xmm) {
14129 self.emit(VCVTUW2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14130 }
14131}
14132
14133impl<'a> Vcvtuw2phEmitter<Xmm, Mem> for Assembler<'a> {
14134 fn vcvtuw2ph(&mut self, op0: Xmm, op1: Mem) {
14135 self.emit(VCVTUW2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14136 }
14137}
14138
14139impl<'a> Vcvtuw2phEmitter<Ymm, Ymm> for Assembler<'a> {
14140 fn vcvtuw2ph(&mut self, op0: Ymm, op1: Ymm) {
14141 self.emit(VCVTUW2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14142 }
14143}
14144
14145impl<'a> Vcvtuw2phEmitter<Ymm, Mem> for Assembler<'a> {
14146 fn vcvtuw2ph(&mut self, op0: Ymm, op1: Mem) {
14147 self.emit(VCVTUW2PH256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14148 }
14149}
14150
14151impl<'a> Vcvtuw2phEmitter<Zmm, Zmm> for Assembler<'a> {
14152 fn vcvtuw2ph(&mut self, op0: Zmm, op1: Zmm) {
14153 self.emit(VCVTUW2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14154 }
14155}
14156
14157impl<'a> Vcvtuw2phEmitter<Zmm, Mem> for Assembler<'a> {
14158 fn vcvtuw2ph(&mut self, op0: Zmm, op1: Mem) {
14159 self.emit(VCVTUW2PH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14160 }
14161}
14162
14163pub trait Vcvtuw2phErEmitter<A, B> {
14175 fn vcvtuw2ph_er(&mut self, op0: A, op1: B);
14176}
14177
14178impl<'a> Vcvtuw2phErEmitter<Zmm, Zmm> for Assembler<'a> {
14179 fn vcvtuw2ph_er(&mut self, op0: Zmm, op1: Zmm) {
14180 self.emit(VCVTUW2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14181 }
14182}
14183
14184pub trait Vcvtuw2phMaskEmitter<A, B> {
14201 fn vcvtuw2ph_mask(&mut self, op0: A, op1: B);
14202}
14203
14204impl<'a> Vcvtuw2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
14205 fn vcvtuw2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
14206 self.emit(VCVTUW2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14207 }
14208}
14209
14210impl<'a> Vcvtuw2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
14211 fn vcvtuw2ph_mask(&mut self, op0: Xmm, op1: Mem) {
14212 self.emit(VCVTUW2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14213 }
14214}
14215
14216impl<'a> Vcvtuw2phMaskEmitter<Ymm, Ymm> for Assembler<'a> {
14217 fn vcvtuw2ph_mask(&mut self, op0: Ymm, op1: Ymm) {
14218 self.emit(VCVTUW2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14219 }
14220}
14221
14222impl<'a> Vcvtuw2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
14223 fn vcvtuw2ph_mask(&mut self, op0: Ymm, op1: Mem) {
14224 self.emit(VCVTUW2PH256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14225 }
14226}
14227
14228impl<'a> Vcvtuw2phMaskEmitter<Zmm, Zmm> for Assembler<'a> {
14229 fn vcvtuw2ph_mask(&mut self, op0: Zmm, op1: Zmm) {
14230 self.emit(VCVTUW2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14231 }
14232}
14233
14234impl<'a> Vcvtuw2phMaskEmitter<Zmm, Mem> for Assembler<'a> {
14235 fn vcvtuw2ph_mask(&mut self, op0: Zmm, op1: Mem) {
14236 self.emit(VCVTUW2PH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14237 }
14238}
14239
14240pub trait Vcvtuw2phMaskErEmitter<A, B> {
14252 fn vcvtuw2ph_mask_er(&mut self, op0: A, op1: B);
14253}
14254
14255impl<'a> Vcvtuw2phMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
14256 fn vcvtuw2ph_mask_er(&mut self, op0: Zmm, op1: Zmm) {
14257 self.emit(VCVTUW2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14258 }
14259}
14260
14261pub trait Vcvtuw2phMaskzEmitter<A, B> {
14278 fn vcvtuw2ph_maskz(&mut self, op0: A, op1: B);
14279}
14280
14281impl<'a> Vcvtuw2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
14282 fn vcvtuw2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
14283 self.emit(VCVTUW2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14284 }
14285}
14286
14287impl<'a> Vcvtuw2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
14288 fn vcvtuw2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
14289 self.emit(VCVTUW2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14290 }
14291}
14292
14293impl<'a> Vcvtuw2phMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
14294 fn vcvtuw2ph_maskz(&mut self, op0: Ymm, op1: Ymm) {
14295 self.emit(VCVTUW2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14296 }
14297}
14298
14299impl<'a> Vcvtuw2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
14300 fn vcvtuw2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
14301 self.emit(VCVTUW2PH256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14302 }
14303}
14304
14305impl<'a> Vcvtuw2phMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
14306 fn vcvtuw2ph_maskz(&mut self, op0: Zmm, op1: Zmm) {
14307 self.emit(VCVTUW2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14308 }
14309}
14310
14311impl<'a> Vcvtuw2phMaskzEmitter<Zmm, Mem> for Assembler<'a> {
14312 fn vcvtuw2ph_maskz(&mut self, op0: Zmm, op1: Mem) {
14313 self.emit(VCVTUW2PH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14314 }
14315}
14316
14317pub trait Vcvtuw2phMaskzErEmitter<A, B> {
14329 fn vcvtuw2ph_maskz_er(&mut self, op0: A, op1: B);
14330}
14331
14332impl<'a> Vcvtuw2phMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
14333 fn vcvtuw2ph_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
14334 self.emit(VCVTUW2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14335 }
14336}
14337
14338pub trait Vcvtw2phEmitter<A, B> {
14355 fn vcvtw2ph(&mut self, op0: A, op1: B);
14356}
14357
14358impl<'a> Vcvtw2phEmitter<Xmm, Xmm> for Assembler<'a> {
14359 fn vcvtw2ph(&mut self, op0: Xmm, op1: Xmm) {
14360 self.emit(VCVTW2PH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14361 }
14362}
14363
14364impl<'a> Vcvtw2phEmitter<Xmm, Mem> for Assembler<'a> {
14365 fn vcvtw2ph(&mut self, op0: Xmm, op1: Mem) {
14366 self.emit(VCVTW2PH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14367 }
14368}
14369
14370impl<'a> Vcvtw2phEmitter<Ymm, Ymm> for Assembler<'a> {
14371 fn vcvtw2ph(&mut self, op0: Ymm, op1: Ymm) {
14372 self.emit(VCVTW2PH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14373 }
14374}
14375
14376impl<'a> Vcvtw2phEmitter<Ymm, Mem> for Assembler<'a> {
14377 fn vcvtw2ph(&mut self, op0: Ymm, op1: Mem) {
14378 self.emit(VCVTW2PH256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14379 }
14380}
14381
14382impl<'a> Vcvtw2phEmitter<Zmm, Zmm> for Assembler<'a> {
14383 fn vcvtw2ph(&mut self, op0: Zmm, op1: Zmm) {
14384 self.emit(VCVTW2PH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14385 }
14386}
14387
14388impl<'a> Vcvtw2phEmitter<Zmm, Mem> for Assembler<'a> {
14389 fn vcvtw2ph(&mut self, op0: Zmm, op1: Mem) {
14390 self.emit(VCVTW2PH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14391 }
14392}
14393
14394pub trait Vcvtw2phErEmitter<A, B> {
14406 fn vcvtw2ph_er(&mut self, op0: A, op1: B);
14407}
14408
14409impl<'a> Vcvtw2phErEmitter<Zmm, Zmm> for Assembler<'a> {
14410 fn vcvtw2ph_er(&mut self, op0: Zmm, op1: Zmm) {
14411 self.emit(VCVTW2PH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14412 }
14413}
14414
14415pub trait Vcvtw2phMaskEmitter<A, B> {
14432 fn vcvtw2ph_mask(&mut self, op0: A, op1: B);
14433}
14434
14435impl<'a> Vcvtw2phMaskEmitter<Xmm, Xmm> for Assembler<'a> {
14436 fn vcvtw2ph_mask(&mut self, op0: Xmm, op1: Xmm) {
14437 self.emit(VCVTW2PH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14438 }
14439}
14440
14441impl<'a> Vcvtw2phMaskEmitter<Xmm, Mem> for Assembler<'a> {
14442 fn vcvtw2ph_mask(&mut self, op0: Xmm, op1: Mem) {
14443 self.emit(VCVTW2PH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14444 }
14445}
14446
14447impl<'a> Vcvtw2phMaskEmitter<Ymm, Ymm> for Assembler<'a> {
14448 fn vcvtw2ph_mask(&mut self, op0: Ymm, op1: Ymm) {
14449 self.emit(VCVTW2PH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14450 }
14451}
14452
14453impl<'a> Vcvtw2phMaskEmitter<Ymm, Mem> for Assembler<'a> {
14454 fn vcvtw2ph_mask(&mut self, op0: Ymm, op1: Mem) {
14455 self.emit(VCVTW2PH256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14456 }
14457}
14458
14459impl<'a> Vcvtw2phMaskEmitter<Zmm, Zmm> for Assembler<'a> {
14460 fn vcvtw2ph_mask(&mut self, op0: Zmm, op1: Zmm) {
14461 self.emit(VCVTW2PH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14462 }
14463}
14464
14465impl<'a> Vcvtw2phMaskEmitter<Zmm, Mem> for Assembler<'a> {
14466 fn vcvtw2ph_mask(&mut self, op0: Zmm, op1: Mem) {
14467 self.emit(VCVTW2PH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14468 }
14469}
14470
14471pub trait Vcvtw2phMaskErEmitter<A, B> {
14483 fn vcvtw2ph_mask_er(&mut self, op0: A, op1: B);
14484}
14485
14486impl<'a> Vcvtw2phMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
14487 fn vcvtw2ph_mask_er(&mut self, op0: Zmm, op1: Zmm) {
14488 self.emit(VCVTW2PH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14489 }
14490}
14491
14492pub trait Vcvtw2phMaskzEmitter<A, B> {
14509 fn vcvtw2ph_maskz(&mut self, op0: A, op1: B);
14510}
14511
14512impl<'a> Vcvtw2phMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
14513 fn vcvtw2ph_maskz(&mut self, op0: Xmm, op1: Xmm) {
14514 self.emit(VCVTW2PH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14515 }
14516}
14517
14518impl<'a> Vcvtw2phMaskzEmitter<Xmm, Mem> for Assembler<'a> {
14519 fn vcvtw2ph_maskz(&mut self, op0: Xmm, op1: Mem) {
14520 self.emit(VCVTW2PH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14521 }
14522}
14523
14524impl<'a> Vcvtw2phMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
14525 fn vcvtw2ph_maskz(&mut self, op0: Ymm, op1: Ymm) {
14526 self.emit(VCVTW2PH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14527 }
14528}
14529
14530impl<'a> Vcvtw2phMaskzEmitter<Ymm, Mem> for Assembler<'a> {
14531 fn vcvtw2ph_maskz(&mut self, op0: Ymm, op1: Mem) {
14532 self.emit(VCVTW2PH256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14533 }
14534}
14535
14536impl<'a> Vcvtw2phMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
14537 fn vcvtw2ph_maskz(&mut self, op0: Zmm, op1: Zmm) {
14538 self.emit(VCVTW2PH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14539 }
14540}
14541
14542impl<'a> Vcvtw2phMaskzEmitter<Zmm, Mem> for Assembler<'a> {
14543 fn vcvtw2ph_maskz(&mut self, op0: Zmm, op1: Mem) {
14544 self.emit(VCVTW2PH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14545 }
14546}
14547
14548pub trait Vcvtw2phMaskzErEmitter<A, B> {
14560 fn vcvtw2ph_maskz_er(&mut self, op0: A, op1: B);
14561}
14562
14563impl<'a> Vcvtw2phMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
14564 fn vcvtw2ph_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
14565 self.emit(VCVTW2PH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
14566 }
14567}
14568
14569pub trait VdivphEmitter<A, B, C> {
14586 fn vdivph(&mut self, op0: A, op1: B, op2: C);
14587}
14588
14589impl<'a> VdivphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14590 fn vdivph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14591 self.emit(VDIVPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14592 }
14593}
14594
14595impl<'a> VdivphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14596 fn vdivph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14597 self.emit(VDIVPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14598 }
14599}
14600
14601impl<'a> VdivphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
14602 fn vdivph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
14603 self.emit(VDIVPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14604 }
14605}
14606
14607impl<'a> VdivphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
14608 fn vdivph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
14609 self.emit(VDIVPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14610 }
14611}
14612
14613impl<'a> VdivphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
14614 fn vdivph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
14615 self.emit(VDIVPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14616 }
14617}
14618
14619impl<'a> VdivphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
14620 fn vdivph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
14621 self.emit(VDIVPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14622 }
14623}
14624
14625pub trait VdivphErEmitter<A, B, C> {
14637 fn vdivph_er(&mut self, op0: A, op1: B, op2: C);
14638}
14639
14640impl<'a> VdivphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
14641 fn vdivph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
14642 self.emit(VDIVPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14643 }
14644}
14645
14646pub trait VdivphMaskEmitter<A, B, C> {
14663 fn vdivph_mask(&mut self, op0: A, op1: B, op2: C);
14664}
14665
14666impl<'a> VdivphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14667 fn vdivph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14668 self.emit(VDIVPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14669 }
14670}
14671
14672impl<'a> VdivphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14673 fn vdivph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14674 self.emit(VDIVPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14675 }
14676}
14677
14678impl<'a> VdivphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
14679 fn vdivph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
14680 self.emit(VDIVPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14681 }
14682}
14683
14684impl<'a> VdivphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
14685 fn vdivph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
14686 self.emit(VDIVPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14687 }
14688}
14689
14690impl<'a> VdivphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
14691 fn vdivph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
14692 self.emit(VDIVPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14693 }
14694}
14695
14696impl<'a> VdivphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
14697 fn vdivph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
14698 self.emit(VDIVPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14699 }
14700}
14701
14702pub trait VdivphMaskErEmitter<A, B, C> {
14714 fn vdivph_mask_er(&mut self, op0: A, op1: B, op2: C);
14715}
14716
14717impl<'a> VdivphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
14718 fn vdivph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
14719 self.emit(VDIVPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14720 }
14721}
14722
14723pub trait VdivphMaskzEmitter<A, B, C> {
14740 fn vdivph_maskz(&mut self, op0: A, op1: B, op2: C);
14741}
14742
14743impl<'a> VdivphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14744 fn vdivph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14745 self.emit(VDIVPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14746 }
14747}
14748
14749impl<'a> VdivphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14750 fn vdivph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14751 self.emit(VDIVPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14752 }
14753}
14754
14755impl<'a> VdivphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
14756 fn vdivph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
14757 self.emit(VDIVPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14758 }
14759}
14760
14761impl<'a> VdivphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
14762 fn vdivph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
14763 self.emit(VDIVPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14764 }
14765}
14766
14767impl<'a> VdivphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
14768 fn vdivph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
14769 self.emit(VDIVPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14770 }
14771}
14772
14773impl<'a> VdivphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
14774 fn vdivph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
14775 self.emit(VDIVPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14776 }
14777}
14778
14779pub trait VdivphMaskzErEmitter<A, B, C> {
14791 fn vdivph_maskz_er(&mut self, op0: A, op1: B, op2: C);
14792}
14793
14794impl<'a> VdivphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
14795 fn vdivph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
14796 self.emit(VDIVPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14797 }
14798}
14799
14800pub trait VdivshEmitter<A, B, C> {
14813 fn vdivsh(&mut self, op0: A, op1: B, op2: C);
14814}
14815
14816impl<'a> VdivshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14817 fn vdivsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14818 self.emit(VDIVSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14819 }
14820}
14821
14822impl<'a> VdivshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14823 fn vdivsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14824 self.emit(VDIVSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14825 }
14826}
14827
14828pub trait VdivshErEmitter<A, B, C> {
14840 fn vdivsh_er(&mut self, op0: A, op1: B, op2: C);
14841}
14842
14843impl<'a> VdivshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14844 fn vdivsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14845 self.emit(VDIVSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14846 }
14847}
14848
14849pub trait VdivshMaskEmitter<A, B, C> {
14862 fn vdivsh_mask(&mut self, op0: A, op1: B, op2: C);
14863}
14864
14865impl<'a> VdivshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14866 fn vdivsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14867 self.emit(VDIVSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14868 }
14869}
14870
14871impl<'a> VdivshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14872 fn vdivsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14873 self.emit(VDIVSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14874 }
14875}
14876
14877pub trait VdivshMaskErEmitter<A, B, C> {
14889 fn vdivsh_mask_er(&mut self, op0: A, op1: B, op2: C);
14890}
14891
14892impl<'a> VdivshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14893 fn vdivsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14894 self.emit(VDIVSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14895 }
14896}
14897
14898pub trait VdivshMaskzEmitter<A, B, C> {
14911 fn vdivsh_maskz(&mut self, op0: A, op1: B, op2: C);
14912}
14913
14914impl<'a> VdivshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14915 fn vdivsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14916 self.emit(VDIVSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14917 }
14918}
14919
14920impl<'a> VdivshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
14921 fn vdivsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
14922 self.emit(VDIVSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14923 }
14924}
14925
14926pub trait VdivshMaskzErEmitter<A, B, C> {
14938 fn vdivsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
14939}
14940
14941impl<'a> VdivshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
14942 fn vdivsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
14943 self.emit(VDIVSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
14944 }
14945}
14946
14947pub trait VerrEmitter<A> {
14964 fn verr(&mut self, op0: A);
14965}
14966
14967impl<'a> VerrEmitter<Gpd> for Assembler<'a> {
14968 fn verr(&mut self, op0: Gpd) {
14969 self.emit(VERRR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
14970 }
14971}
14972
14973impl<'a> VerrEmitter<Mem> for Assembler<'a> {
14974 fn verr(&mut self, op0: Mem) {
14975 self.emit(VERRM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
14976 }
14977}
14978
14979pub trait VerwEmitter<A> {
14996 fn verw(&mut self, op0: A);
14997}
14998
14999impl<'a> VerwEmitter<Gpd> for Assembler<'a> {
15000 fn verw(&mut self, op0: Gpd) {
15001 self.emit(VERWR, op0.as_operand(), &NOREG, &NOREG, &NOREG);
15002 }
15003}
15004
15005impl<'a> VerwEmitter<Mem> for Assembler<'a> {
15006 fn verw(&mut self, op0: Mem) {
15007 self.emit(VERWM, op0.as_operand(), &NOREG, &NOREG, &NOREG);
15008 }
15009}
15010
15011pub trait VfcmaddcphEmitter<A, B, C> {
15028 fn vfcmaddcph(&mut self, op0: A, op1: B, op2: C);
15029}
15030
15031impl<'a> VfcmaddcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15032 fn vfcmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15033 self.emit(VFCMADDCPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15034 }
15035}
15036
15037impl<'a> VfcmaddcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15038 fn vfcmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15039 self.emit(VFCMADDCPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15040 }
15041}
15042
15043impl<'a> VfcmaddcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15044 fn vfcmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15045 self.emit(VFCMADDCPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15046 }
15047}
15048
15049impl<'a> VfcmaddcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15050 fn vfcmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15051 self.emit(VFCMADDCPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15052 }
15053}
15054
15055impl<'a> VfcmaddcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15056 fn vfcmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15057 self.emit(VFCMADDCPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15058 }
15059}
15060
15061impl<'a> VfcmaddcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15062 fn vfcmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15063 self.emit(VFCMADDCPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15064 }
15065}
15066
15067pub trait VfcmaddcphErEmitter<A, B, C> {
15079 fn vfcmaddcph_er(&mut self, op0: A, op1: B, op2: C);
15080}
15081
15082impl<'a> VfcmaddcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15083 fn vfcmaddcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15084 self.emit(VFCMADDCPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15085 }
15086}
15087
15088pub trait VfcmaddcphMaskEmitter<A, B, C> {
15105 fn vfcmaddcph_mask(&mut self, op0: A, op1: B, op2: C);
15106}
15107
15108impl<'a> VfcmaddcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15109 fn vfcmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15110 self.emit(VFCMADDCPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15111 }
15112}
15113
15114impl<'a> VfcmaddcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15115 fn vfcmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15116 self.emit(VFCMADDCPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15117 }
15118}
15119
15120impl<'a> VfcmaddcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15121 fn vfcmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15122 self.emit(VFCMADDCPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15123 }
15124}
15125
15126impl<'a> VfcmaddcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15127 fn vfcmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15128 self.emit(VFCMADDCPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15129 }
15130}
15131
15132impl<'a> VfcmaddcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15133 fn vfcmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15134 self.emit(VFCMADDCPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15135 }
15136}
15137
15138impl<'a> VfcmaddcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15139 fn vfcmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15140 self.emit(VFCMADDCPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15141 }
15142}
15143
15144pub trait VfcmaddcphMaskErEmitter<A, B, C> {
15156 fn vfcmaddcph_mask_er(&mut self, op0: A, op1: B, op2: C);
15157}
15158
15159impl<'a> VfcmaddcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15160 fn vfcmaddcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15161 self.emit(VFCMADDCPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15162 }
15163}
15164
15165pub trait VfcmaddcphMaskzEmitter<A, B, C> {
15182 fn vfcmaddcph_maskz(&mut self, op0: A, op1: B, op2: C);
15183}
15184
15185impl<'a> VfcmaddcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15186 fn vfcmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15187 self.emit(VFCMADDCPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15188 }
15189}
15190
15191impl<'a> VfcmaddcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15192 fn vfcmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15193 self.emit(VFCMADDCPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15194 }
15195}
15196
15197impl<'a> VfcmaddcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15198 fn vfcmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15199 self.emit(VFCMADDCPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15200 }
15201}
15202
15203impl<'a> VfcmaddcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15204 fn vfcmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15205 self.emit(VFCMADDCPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15206 }
15207}
15208
15209impl<'a> VfcmaddcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15210 fn vfcmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15211 self.emit(VFCMADDCPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15212 }
15213}
15214
15215impl<'a> VfcmaddcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15216 fn vfcmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15217 self.emit(VFCMADDCPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15218 }
15219}
15220
15221pub trait VfcmaddcphMaskzErEmitter<A, B, C> {
15233 fn vfcmaddcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
15234}
15235
15236impl<'a> VfcmaddcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15237 fn vfcmaddcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15238 self.emit(VFCMADDCPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15239 }
15240}
15241
15242pub trait VfcmaddcshEmitter<A, B, C> {
15255 fn vfcmaddcsh(&mut self, op0: A, op1: B, op2: C);
15256}
15257
15258impl<'a> VfcmaddcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15259 fn vfcmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15260 self.emit(VFCMADDCSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15261 }
15262}
15263
15264impl<'a> VfcmaddcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15265 fn vfcmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15266 self.emit(VFCMADDCSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15267 }
15268}
15269
15270pub trait VfcmaddcshErEmitter<A, B, C> {
15282 fn vfcmaddcsh_er(&mut self, op0: A, op1: B, op2: C);
15283}
15284
15285impl<'a> VfcmaddcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15286 fn vfcmaddcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15287 self.emit(VFCMADDCSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15288 }
15289}
15290
15291pub trait VfcmaddcshMaskEmitter<A, B, C> {
15304 fn vfcmaddcsh_mask(&mut self, op0: A, op1: B, op2: C);
15305}
15306
15307impl<'a> VfcmaddcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15308 fn vfcmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15309 self.emit(VFCMADDCSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15310 }
15311}
15312
15313impl<'a> VfcmaddcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15314 fn vfcmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15315 self.emit(VFCMADDCSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15316 }
15317}
15318
15319pub trait VfcmaddcshMaskErEmitter<A, B, C> {
15331 fn vfcmaddcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
15332}
15333
15334impl<'a> VfcmaddcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15335 fn vfcmaddcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15336 self.emit(VFCMADDCSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15337 }
15338}
15339
15340pub trait VfcmaddcshMaskzEmitter<A, B, C> {
15353 fn vfcmaddcsh_maskz(&mut self, op0: A, op1: B, op2: C);
15354}
15355
15356impl<'a> VfcmaddcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15357 fn vfcmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15358 self.emit(VFCMADDCSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15359 }
15360}
15361
15362impl<'a> VfcmaddcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15363 fn vfcmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15364 self.emit(VFCMADDCSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15365 }
15366}
15367
15368pub trait VfcmaddcshMaskzErEmitter<A, B, C> {
15380 fn vfcmaddcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
15381}
15382
15383impl<'a> VfcmaddcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15384 fn vfcmaddcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15385 self.emit(VFCMADDCSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15386 }
15387}
15388
15389pub trait VfcmulcphEmitter<A, B, C> {
15406 fn vfcmulcph(&mut self, op0: A, op1: B, op2: C);
15407}
15408
15409impl<'a> VfcmulcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15410 fn vfcmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15411 self.emit(VFCMULCPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15412 }
15413}
15414
15415impl<'a> VfcmulcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15416 fn vfcmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15417 self.emit(VFCMULCPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15418 }
15419}
15420
15421impl<'a> VfcmulcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15422 fn vfcmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15423 self.emit(VFCMULCPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15424 }
15425}
15426
15427impl<'a> VfcmulcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15428 fn vfcmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15429 self.emit(VFCMULCPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15430 }
15431}
15432
15433impl<'a> VfcmulcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15434 fn vfcmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15435 self.emit(VFCMULCPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15436 }
15437}
15438
15439impl<'a> VfcmulcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15440 fn vfcmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15441 self.emit(VFCMULCPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15442 }
15443}
15444
15445pub trait VfcmulcphErEmitter<A, B, C> {
15457 fn vfcmulcph_er(&mut self, op0: A, op1: B, op2: C);
15458}
15459
15460impl<'a> VfcmulcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15461 fn vfcmulcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15462 self.emit(VFCMULCPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15463 }
15464}
15465
15466pub trait VfcmulcphMaskEmitter<A, B, C> {
15483 fn vfcmulcph_mask(&mut self, op0: A, op1: B, op2: C);
15484}
15485
15486impl<'a> VfcmulcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15487 fn vfcmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15488 self.emit(VFCMULCPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15489 }
15490}
15491
15492impl<'a> VfcmulcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15493 fn vfcmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15494 self.emit(VFCMULCPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15495 }
15496}
15497
15498impl<'a> VfcmulcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15499 fn vfcmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15500 self.emit(VFCMULCPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15501 }
15502}
15503
15504impl<'a> VfcmulcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15505 fn vfcmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15506 self.emit(VFCMULCPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15507 }
15508}
15509
15510impl<'a> VfcmulcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15511 fn vfcmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15512 self.emit(VFCMULCPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15513 }
15514}
15515
15516impl<'a> VfcmulcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15517 fn vfcmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15518 self.emit(VFCMULCPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15519 }
15520}
15521
15522pub trait VfcmulcphMaskErEmitter<A, B, C> {
15534 fn vfcmulcph_mask_er(&mut self, op0: A, op1: B, op2: C);
15535}
15536
15537impl<'a> VfcmulcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15538 fn vfcmulcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15539 self.emit(VFCMULCPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15540 }
15541}
15542
15543pub trait VfcmulcphMaskzEmitter<A, B, C> {
15560 fn vfcmulcph_maskz(&mut self, op0: A, op1: B, op2: C);
15561}
15562
15563impl<'a> VfcmulcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15564 fn vfcmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15565 self.emit(VFCMULCPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15566 }
15567}
15568
15569impl<'a> VfcmulcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15570 fn vfcmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15571 self.emit(VFCMULCPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15572 }
15573}
15574
15575impl<'a> VfcmulcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15576 fn vfcmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15577 self.emit(VFCMULCPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15578 }
15579}
15580
15581impl<'a> VfcmulcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15582 fn vfcmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15583 self.emit(VFCMULCPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15584 }
15585}
15586
15587impl<'a> VfcmulcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15588 fn vfcmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15589 self.emit(VFCMULCPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15590 }
15591}
15592
15593impl<'a> VfcmulcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15594 fn vfcmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15595 self.emit(VFCMULCPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15596 }
15597}
15598
15599pub trait VfcmulcphMaskzErEmitter<A, B, C> {
15611 fn vfcmulcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
15612}
15613
15614impl<'a> VfcmulcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15615 fn vfcmulcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15616 self.emit(VFCMULCPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15617 }
15618}
15619
15620pub trait VfcmulcshEmitter<A, B, C> {
15633 fn vfcmulcsh(&mut self, op0: A, op1: B, op2: C);
15634}
15635
15636impl<'a> VfcmulcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15637 fn vfcmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15638 self.emit(VFCMULCSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15639 }
15640}
15641
15642impl<'a> VfcmulcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15643 fn vfcmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15644 self.emit(VFCMULCSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15645 }
15646}
15647
15648pub trait VfcmulcshErEmitter<A, B, C> {
15660 fn vfcmulcsh_er(&mut self, op0: A, op1: B, op2: C);
15661}
15662
15663impl<'a> VfcmulcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15664 fn vfcmulcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15665 self.emit(VFCMULCSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15666 }
15667}
15668
15669pub trait VfcmulcshMaskEmitter<A, B, C> {
15682 fn vfcmulcsh_mask(&mut self, op0: A, op1: B, op2: C);
15683}
15684
15685impl<'a> VfcmulcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15686 fn vfcmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15687 self.emit(VFCMULCSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15688 }
15689}
15690
15691impl<'a> VfcmulcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15692 fn vfcmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15693 self.emit(VFCMULCSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15694 }
15695}
15696
15697pub trait VfcmulcshMaskErEmitter<A, B, C> {
15709 fn vfcmulcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
15710}
15711
15712impl<'a> VfcmulcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15713 fn vfcmulcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15714 self.emit(VFCMULCSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15715 }
15716}
15717
15718pub trait VfcmulcshMaskzEmitter<A, B, C> {
15731 fn vfcmulcsh_maskz(&mut self, op0: A, op1: B, op2: C);
15732}
15733
15734impl<'a> VfcmulcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15735 fn vfcmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15736 self.emit(VFCMULCSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15737 }
15738}
15739
15740impl<'a> VfcmulcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15741 fn vfcmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15742 self.emit(VFCMULCSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15743 }
15744}
15745
15746pub trait VfcmulcshMaskzErEmitter<A, B, C> {
15758 fn vfcmulcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
15759}
15760
15761impl<'a> VfcmulcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15762 fn vfcmulcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15763 self.emit(VFCMULCSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15764 }
15765}
15766
15767pub trait Vfmadd132phEmitter<A, B, C> {
15784 fn vfmadd132ph(&mut self, op0: A, op1: B, op2: C);
15785}
15786
15787impl<'a> Vfmadd132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15788 fn vfmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15789 self.emit(VFMADD132PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15790 }
15791}
15792
15793impl<'a> Vfmadd132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15794 fn vfmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15795 self.emit(VFMADD132PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15796 }
15797}
15798
15799impl<'a> Vfmadd132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15800 fn vfmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15801 self.emit(VFMADD132PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15802 }
15803}
15804
15805impl<'a> Vfmadd132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15806 fn vfmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15807 self.emit(VFMADD132PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15808 }
15809}
15810
15811impl<'a> Vfmadd132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15812 fn vfmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15813 self.emit(VFMADD132PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15814 }
15815}
15816
15817impl<'a> Vfmadd132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15818 fn vfmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15819 self.emit(VFMADD132PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15820 }
15821}
15822
15823pub trait Vfmadd132phErEmitter<A, B, C> {
15835 fn vfmadd132ph_er(&mut self, op0: A, op1: B, op2: C);
15836}
15837
15838impl<'a> Vfmadd132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15839 fn vfmadd132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15840 self.emit(VFMADD132PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15841 }
15842}
15843
15844pub trait Vfmadd132phMaskEmitter<A, B, C> {
15861 fn vfmadd132ph_mask(&mut self, op0: A, op1: B, op2: C);
15862}
15863
15864impl<'a> Vfmadd132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15865 fn vfmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15866 self.emit(VFMADD132PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15867 }
15868}
15869
15870impl<'a> Vfmadd132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15871 fn vfmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15872 self.emit(VFMADD132PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15873 }
15874}
15875
15876impl<'a> Vfmadd132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15877 fn vfmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15878 self.emit(VFMADD132PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15879 }
15880}
15881
15882impl<'a> Vfmadd132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15883 fn vfmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15884 self.emit(VFMADD132PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15885 }
15886}
15887
15888impl<'a> Vfmadd132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15889 fn vfmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15890 self.emit(VFMADD132PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15891 }
15892}
15893
15894impl<'a> Vfmadd132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15895 fn vfmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15896 self.emit(VFMADD132PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15897 }
15898}
15899
15900pub trait Vfmadd132phMaskErEmitter<A, B, C> {
15912 fn vfmadd132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
15913}
15914
15915impl<'a> Vfmadd132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15916 fn vfmadd132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15917 self.emit(VFMADD132PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15918 }
15919}
15920
15921pub trait Vfmadd132phMaskzEmitter<A, B, C> {
15938 fn vfmadd132ph_maskz(&mut self, op0: A, op1: B, op2: C);
15939}
15940
15941impl<'a> Vfmadd132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
15942 fn vfmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
15943 self.emit(VFMADD132PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15944 }
15945}
15946
15947impl<'a> Vfmadd132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
15948 fn vfmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
15949 self.emit(VFMADD132PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15950 }
15951}
15952
15953impl<'a> Vfmadd132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
15954 fn vfmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
15955 self.emit(VFMADD132PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15956 }
15957}
15958
15959impl<'a> Vfmadd132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
15960 fn vfmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
15961 self.emit(VFMADD132PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15962 }
15963}
15964
15965impl<'a> Vfmadd132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15966 fn vfmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15967 self.emit(VFMADD132PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15968 }
15969}
15970
15971impl<'a> Vfmadd132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
15972 fn vfmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
15973 self.emit(VFMADD132PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15974 }
15975}
15976
15977pub trait Vfmadd132phMaskzErEmitter<A, B, C> {
15989 fn vfmadd132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
15990}
15991
15992impl<'a> Vfmadd132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
15993 fn vfmadd132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
15994 self.emit(VFMADD132PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
15995 }
15996}
15997
15998pub trait Vfmadd132shEmitter<A, B, C> {
16011 fn vfmadd132sh(&mut self, op0: A, op1: B, op2: C);
16012}
16013
16014impl<'a> Vfmadd132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16015 fn vfmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16016 self.emit(VFMADD132SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16017 }
16018}
16019
16020impl<'a> Vfmadd132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16021 fn vfmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16022 self.emit(VFMADD132SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16023 }
16024}
16025
16026pub trait Vfmadd132shErEmitter<A, B, C> {
16038 fn vfmadd132sh_er(&mut self, op0: A, op1: B, op2: C);
16039}
16040
16041impl<'a> Vfmadd132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16042 fn vfmadd132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16043 self.emit(VFMADD132SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16044 }
16045}
16046
16047pub trait Vfmadd132shMaskEmitter<A, B, C> {
16060 fn vfmadd132sh_mask(&mut self, op0: A, op1: B, op2: C);
16061}
16062
16063impl<'a> Vfmadd132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16064 fn vfmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16065 self.emit(VFMADD132SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16066 }
16067}
16068
16069impl<'a> Vfmadd132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16070 fn vfmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16071 self.emit(VFMADD132SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16072 }
16073}
16074
16075pub trait Vfmadd132shMaskErEmitter<A, B, C> {
16087 fn vfmadd132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
16088}
16089
16090impl<'a> Vfmadd132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16091 fn vfmadd132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16092 self.emit(VFMADD132SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16093 }
16094}
16095
16096pub trait Vfmadd132shMaskzEmitter<A, B, C> {
16109 fn vfmadd132sh_maskz(&mut self, op0: A, op1: B, op2: C);
16110}
16111
16112impl<'a> Vfmadd132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16113 fn vfmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16114 self.emit(VFMADD132SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16115 }
16116}
16117
16118impl<'a> Vfmadd132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16119 fn vfmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16120 self.emit(VFMADD132SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16121 }
16122}
16123
16124pub trait Vfmadd132shMaskzErEmitter<A, B, C> {
16136 fn vfmadd132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
16137}
16138
16139impl<'a> Vfmadd132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16140 fn vfmadd132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16141 self.emit(VFMADD132SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16142 }
16143}
16144
16145pub trait Vfmadd213phEmitter<A, B, C> {
16162 fn vfmadd213ph(&mut self, op0: A, op1: B, op2: C);
16163}
16164
16165impl<'a> Vfmadd213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16166 fn vfmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16167 self.emit(VFMADD213PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16168 }
16169}
16170
16171impl<'a> Vfmadd213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16172 fn vfmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16173 self.emit(VFMADD213PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16174 }
16175}
16176
16177impl<'a> Vfmadd213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16178 fn vfmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16179 self.emit(VFMADD213PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16180 }
16181}
16182
16183impl<'a> Vfmadd213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16184 fn vfmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16185 self.emit(VFMADD213PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16186 }
16187}
16188
16189impl<'a> Vfmadd213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16190 fn vfmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16191 self.emit(VFMADD213PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16192 }
16193}
16194
16195impl<'a> Vfmadd213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16196 fn vfmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16197 self.emit(VFMADD213PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16198 }
16199}
16200
16201pub trait Vfmadd213phErEmitter<A, B, C> {
16213 fn vfmadd213ph_er(&mut self, op0: A, op1: B, op2: C);
16214}
16215
16216impl<'a> Vfmadd213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16217 fn vfmadd213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16218 self.emit(VFMADD213PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16219 }
16220}
16221
16222pub trait Vfmadd213phMaskEmitter<A, B, C> {
16239 fn vfmadd213ph_mask(&mut self, op0: A, op1: B, op2: C);
16240}
16241
16242impl<'a> Vfmadd213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16243 fn vfmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16244 self.emit(VFMADD213PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16245 }
16246}
16247
16248impl<'a> Vfmadd213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16249 fn vfmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16250 self.emit(VFMADD213PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16251 }
16252}
16253
16254impl<'a> Vfmadd213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16255 fn vfmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16256 self.emit(VFMADD213PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16257 }
16258}
16259
16260impl<'a> Vfmadd213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16261 fn vfmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16262 self.emit(VFMADD213PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16263 }
16264}
16265
16266impl<'a> Vfmadd213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16267 fn vfmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16268 self.emit(VFMADD213PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16269 }
16270}
16271
16272impl<'a> Vfmadd213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16273 fn vfmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16274 self.emit(VFMADD213PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16275 }
16276}
16277
16278pub trait Vfmadd213phMaskErEmitter<A, B, C> {
16290 fn vfmadd213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
16291}
16292
16293impl<'a> Vfmadd213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16294 fn vfmadd213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16295 self.emit(VFMADD213PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16296 }
16297}
16298
16299pub trait Vfmadd213phMaskzEmitter<A, B, C> {
16316 fn vfmadd213ph_maskz(&mut self, op0: A, op1: B, op2: C);
16317}
16318
16319impl<'a> Vfmadd213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16320 fn vfmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16321 self.emit(VFMADD213PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16322 }
16323}
16324
16325impl<'a> Vfmadd213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16326 fn vfmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16327 self.emit(VFMADD213PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16328 }
16329}
16330
16331impl<'a> Vfmadd213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16332 fn vfmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16333 self.emit(VFMADD213PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16334 }
16335}
16336
16337impl<'a> Vfmadd213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16338 fn vfmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16339 self.emit(VFMADD213PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16340 }
16341}
16342
16343impl<'a> Vfmadd213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16344 fn vfmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16345 self.emit(VFMADD213PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16346 }
16347}
16348
16349impl<'a> Vfmadd213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16350 fn vfmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16351 self.emit(VFMADD213PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16352 }
16353}
16354
16355pub trait Vfmadd213phMaskzErEmitter<A, B, C> {
16367 fn vfmadd213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
16368}
16369
16370impl<'a> Vfmadd213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16371 fn vfmadd213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16372 self.emit(VFMADD213PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16373 }
16374}
16375
16376pub trait Vfmadd213shEmitter<A, B, C> {
16389 fn vfmadd213sh(&mut self, op0: A, op1: B, op2: C);
16390}
16391
16392impl<'a> Vfmadd213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16393 fn vfmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16394 self.emit(VFMADD213SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16395 }
16396}
16397
16398impl<'a> Vfmadd213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16399 fn vfmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16400 self.emit(VFMADD213SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16401 }
16402}
16403
16404pub trait Vfmadd213shErEmitter<A, B, C> {
16416 fn vfmadd213sh_er(&mut self, op0: A, op1: B, op2: C);
16417}
16418
16419impl<'a> Vfmadd213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16420 fn vfmadd213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16421 self.emit(VFMADD213SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16422 }
16423}
16424
16425pub trait Vfmadd213shMaskEmitter<A, B, C> {
16438 fn vfmadd213sh_mask(&mut self, op0: A, op1: B, op2: C);
16439}
16440
16441impl<'a> Vfmadd213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16442 fn vfmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16443 self.emit(VFMADD213SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16444 }
16445}
16446
16447impl<'a> Vfmadd213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16448 fn vfmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16449 self.emit(VFMADD213SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16450 }
16451}
16452
16453pub trait Vfmadd213shMaskErEmitter<A, B, C> {
16465 fn vfmadd213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
16466}
16467
16468impl<'a> Vfmadd213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16469 fn vfmadd213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16470 self.emit(VFMADD213SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16471 }
16472}
16473
16474pub trait Vfmadd213shMaskzEmitter<A, B, C> {
16487 fn vfmadd213sh_maskz(&mut self, op0: A, op1: B, op2: C);
16488}
16489
16490impl<'a> Vfmadd213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16491 fn vfmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16492 self.emit(VFMADD213SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16493 }
16494}
16495
16496impl<'a> Vfmadd213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16497 fn vfmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16498 self.emit(VFMADD213SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16499 }
16500}
16501
16502pub trait Vfmadd213shMaskzErEmitter<A, B, C> {
16514 fn vfmadd213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
16515}
16516
16517impl<'a> Vfmadd213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16518 fn vfmadd213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16519 self.emit(VFMADD213SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16520 }
16521}
16522
16523pub trait Vfmadd231phEmitter<A, B, C> {
16540 fn vfmadd231ph(&mut self, op0: A, op1: B, op2: C);
16541}
16542
16543impl<'a> Vfmadd231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16544 fn vfmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16545 self.emit(VFMADD231PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16546 }
16547}
16548
16549impl<'a> Vfmadd231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16550 fn vfmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16551 self.emit(VFMADD231PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16552 }
16553}
16554
16555impl<'a> Vfmadd231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16556 fn vfmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16557 self.emit(VFMADD231PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16558 }
16559}
16560
16561impl<'a> Vfmadd231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16562 fn vfmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16563 self.emit(VFMADD231PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16564 }
16565}
16566
16567impl<'a> Vfmadd231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16568 fn vfmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16569 self.emit(VFMADD231PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16570 }
16571}
16572
16573impl<'a> Vfmadd231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16574 fn vfmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16575 self.emit(VFMADD231PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16576 }
16577}
16578
16579pub trait Vfmadd231phErEmitter<A, B, C> {
16591 fn vfmadd231ph_er(&mut self, op0: A, op1: B, op2: C);
16592}
16593
16594impl<'a> Vfmadd231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16595 fn vfmadd231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16596 self.emit(VFMADD231PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16597 }
16598}
16599
16600pub trait Vfmadd231phMaskEmitter<A, B, C> {
16617 fn vfmadd231ph_mask(&mut self, op0: A, op1: B, op2: C);
16618}
16619
16620impl<'a> Vfmadd231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16621 fn vfmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16622 self.emit(VFMADD231PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16623 }
16624}
16625
16626impl<'a> Vfmadd231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16627 fn vfmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16628 self.emit(VFMADD231PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16629 }
16630}
16631
16632impl<'a> Vfmadd231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16633 fn vfmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16634 self.emit(VFMADD231PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16635 }
16636}
16637
16638impl<'a> Vfmadd231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16639 fn vfmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16640 self.emit(VFMADD231PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16641 }
16642}
16643
16644impl<'a> Vfmadd231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16645 fn vfmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16646 self.emit(VFMADD231PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16647 }
16648}
16649
16650impl<'a> Vfmadd231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16651 fn vfmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16652 self.emit(VFMADD231PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16653 }
16654}
16655
16656pub trait Vfmadd231phMaskErEmitter<A, B, C> {
16668 fn vfmadd231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
16669}
16670
16671impl<'a> Vfmadd231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16672 fn vfmadd231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16673 self.emit(VFMADD231PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16674 }
16675}
16676
16677pub trait Vfmadd231phMaskzEmitter<A, B, C> {
16694 fn vfmadd231ph_maskz(&mut self, op0: A, op1: B, op2: C);
16695}
16696
16697impl<'a> Vfmadd231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16698 fn vfmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16699 self.emit(VFMADD231PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16700 }
16701}
16702
16703impl<'a> Vfmadd231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16704 fn vfmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16705 self.emit(VFMADD231PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16706 }
16707}
16708
16709impl<'a> Vfmadd231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16710 fn vfmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16711 self.emit(VFMADD231PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16712 }
16713}
16714
16715impl<'a> Vfmadd231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16716 fn vfmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16717 self.emit(VFMADD231PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16718 }
16719}
16720
16721impl<'a> Vfmadd231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16722 fn vfmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16723 self.emit(VFMADD231PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16724 }
16725}
16726
16727impl<'a> Vfmadd231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16728 fn vfmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16729 self.emit(VFMADD231PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16730 }
16731}
16732
16733pub trait Vfmadd231phMaskzErEmitter<A, B, C> {
16745 fn vfmadd231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
16746}
16747
16748impl<'a> Vfmadd231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16749 fn vfmadd231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16750 self.emit(VFMADD231PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16751 }
16752}
16753
16754pub trait Vfmadd231shEmitter<A, B, C> {
16767 fn vfmadd231sh(&mut self, op0: A, op1: B, op2: C);
16768}
16769
16770impl<'a> Vfmadd231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16771 fn vfmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16772 self.emit(VFMADD231SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16773 }
16774}
16775
16776impl<'a> Vfmadd231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16777 fn vfmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16778 self.emit(VFMADD231SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16779 }
16780}
16781
16782pub trait Vfmadd231shErEmitter<A, B, C> {
16794 fn vfmadd231sh_er(&mut self, op0: A, op1: B, op2: C);
16795}
16796
16797impl<'a> Vfmadd231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16798 fn vfmadd231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16799 self.emit(VFMADD231SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16800 }
16801}
16802
16803pub trait Vfmadd231shMaskEmitter<A, B, C> {
16816 fn vfmadd231sh_mask(&mut self, op0: A, op1: B, op2: C);
16817}
16818
16819impl<'a> Vfmadd231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16820 fn vfmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16821 self.emit(VFMADD231SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16822 }
16823}
16824
16825impl<'a> Vfmadd231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16826 fn vfmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16827 self.emit(VFMADD231SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16828 }
16829}
16830
16831pub trait Vfmadd231shMaskErEmitter<A, B, C> {
16843 fn vfmadd231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
16844}
16845
16846impl<'a> Vfmadd231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16847 fn vfmadd231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16848 self.emit(VFMADD231SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16849 }
16850}
16851
16852pub trait Vfmadd231shMaskzEmitter<A, B, C> {
16865 fn vfmadd231sh_maskz(&mut self, op0: A, op1: B, op2: C);
16866}
16867
16868impl<'a> Vfmadd231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16869 fn vfmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16870 self.emit(VFMADD231SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16871 }
16872}
16873
16874impl<'a> Vfmadd231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16875 fn vfmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16876 self.emit(VFMADD231SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16877 }
16878}
16879
16880pub trait Vfmadd231shMaskzErEmitter<A, B, C> {
16892 fn vfmadd231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
16893}
16894
16895impl<'a> Vfmadd231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16896 fn vfmadd231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16897 self.emit(VFMADD231SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16898 }
16899}
16900
16901pub trait VfmaddcphEmitter<A, B, C> {
16918 fn vfmaddcph(&mut self, op0: A, op1: B, op2: C);
16919}
16920
16921impl<'a> VfmaddcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16922 fn vfmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
16923 self.emit(VFMADDCPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16924 }
16925}
16926
16927impl<'a> VfmaddcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
16928 fn vfmaddcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
16929 self.emit(VFMADDCPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16930 }
16931}
16932
16933impl<'a> VfmaddcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
16934 fn vfmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
16935 self.emit(VFMADDCPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16936 }
16937}
16938
16939impl<'a> VfmaddcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
16940 fn vfmaddcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
16941 self.emit(VFMADDCPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16942 }
16943}
16944
16945impl<'a> VfmaddcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16946 fn vfmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16947 self.emit(VFMADDCPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16948 }
16949}
16950
16951impl<'a> VfmaddcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
16952 fn vfmaddcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
16953 self.emit(VFMADDCPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16954 }
16955}
16956
16957pub trait VfmaddcphErEmitter<A, B, C> {
16969 fn vfmaddcph_er(&mut self, op0: A, op1: B, op2: C);
16970}
16971
16972impl<'a> VfmaddcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
16973 fn vfmaddcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
16974 self.emit(VFMADDCPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
16975 }
16976}
16977
16978pub trait VfmaddcphMaskEmitter<A, B, C> {
16995 fn vfmaddcph_mask(&mut self, op0: A, op1: B, op2: C);
16996}
16997
16998impl<'a> VfmaddcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
16999 fn vfmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17000 self.emit(VFMADDCPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17001 }
17002}
17003
17004impl<'a> VfmaddcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17005 fn vfmaddcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17006 self.emit(VFMADDCPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17007 }
17008}
17009
17010impl<'a> VfmaddcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17011 fn vfmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17012 self.emit(VFMADDCPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17013 }
17014}
17015
17016impl<'a> VfmaddcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17017 fn vfmaddcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17018 self.emit(VFMADDCPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17019 }
17020}
17021
17022impl<'a> VfmaddcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17023 fn vfmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17024 self.emit(VFMADDCPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17025 }
17026}
17027
17028impl<'a> VfmaddcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17029 fn vfmaddcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17030 self.emit(VFMADDCPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17031 }
17032}
17033
17034pub trait VfmaddcphMaskErEmitter<A, B, C> {
17046 fn vfmaddcph_mask_er(&mut self, op0: A, op1: B, op2: C);
17047}
17048
17049impl<'a> VfmaddcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17050 fn vfmaddcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17051 self.emit(VFMADDCPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17052 }
17053}
17054
17055pub trait VfmaddcphMaskzEmitter<A, B, C> {
17072 fn vfmaddcph_maskz(&mut self, op0: A, op1: B, op2: C);
17073}
17074
17075impl<'a> VfmaddcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17076 fn vfmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17077 self.emit(VFMADDCPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17078 }
17079}
17080
17081impl<'a> VfmaddcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17082 fn vfmaddcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17083 self.emit(VFMADDCPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17084 }
17085}
17086
17087impl<'a> VfmaddcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17088 fn vfmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17089 self.emit(VFMADDCPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17090 }
17091}
17092
17093impl<'a> VfmaddcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17094 fn vfmaddcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17095 self.emit(VFMADDCPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17096 }
17097}
17098
17099impl<'a> VfmaddcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17100 fn vfmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17101 self.emit(VFMADDCPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17102 }
17103}
17104
17105impl<'a> VfmaddcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17106 fn vfmaddcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17107 self.emit(VFMADDCPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17108 }
17109}
17110
17111pub trait VfmaddcphMaskzErEmitter<A, B, C> {
17123 fn vfmaddcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
17124}
17125
17126impl<'a> VfmaddcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17127 fn vfmaddcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17128 self.emit(VFMADDCPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17129 }
17130}
17131
17132pub trait VfmaddcshEmitter<A, B, C> {
17145 fn vfmaddcsh(&mut self, op0: A, op1: B, op2: C);
17146}
17147
17148impl<'a> VfmaddcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17149 fn vfmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17150 self.emit(VFMADDCSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17151 }
17152}
17153
17154impl<'a> VfmaddcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17155 fn vfmaddcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17156 self.emit(VFMADDCSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17157 }
17158}
17159
17160pub trait VfmaddcshErEmitter<A, B, C> {
17172 fn vfmaddcsh_er(&mut self, op0: A, op1: B, op2: C);
17173}
17174
17175impl<'a> VfmaddcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17176 fn vfmaddcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17177 self.emit(VFMADDCSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17178 }
17179}
17180
17181pub trait VfmaddcshMaskEmitter<A, B, C> {
17194 fn vfmaddcsh_mask(&mut self, op0: A, op1: B, op2: C);
17195}
17196
17197impl<'a> VfmaddcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17198 fn vfmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17199 self.emit(VFMADDCSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17200 }
17201}
17202
17203impl<'a> VfmaddcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17204 fn vfmaddcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17205 self.emit(VFMADDCSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17206 }
17207}
17208
17209pub trait VfmaddcshMaskErEmitter<A, B, C> {
17221 fn vfmaddcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
17222}
17223
17224impl<'a> VfmaddcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17225 fn vfmaddcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17226 self.emit(VFMADDCSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17227 }
17228}
17229
17230pub trait VfmaddcshMaskzEmitter<A, B, C> {
17243 fn vfmaddcsh_maskz(&mut self, op0: A, op1: B, op2: C);
17244}
17245
17246impl<'a> VfmaddcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17247 fn vfmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17248 self.emit(VFMADDCSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17249 }
17250}
17251
17252impl<'a> VfmaddcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17253 fn vfmaddcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17254 self.emit(VFMADDCSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17255 }
17256}
17257
17258pub trait VfmaddcshMaskzErEmitter<A, B, C> {
17270 fn vfmaddcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
17271}
17272
17273impl<'a> VfmaddcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17274 fn vfmaddcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17275 self.emit(VFMADDCSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17276 }
17277}
17278
17279pub trait Vfmaddsub132phEmitter<A, B, C> {
17296 fn vfmaddsub132ph(&mut self, op0: A, op1: B, op2: C);
17297}
17298
17299impl<'a> Vfmaddsub132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17300 fn vfmaddsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17301 self.emit(VFMADDSUB132PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17302 }
17303}
17304
17305impl<'a> Vfmaddsub132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17306 fn vfmaddsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17307 self.emit(VFMADDSUB132PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17308 }
17309}
17310
17311impl<'a> Vfmaddsub132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17312 fn vfmaddsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17313 self.emit(VFMADDSUB132PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17314 }
17315}
17316
17317impl<'a> Vfmaddsub132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17318 fn vfmaddsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17319 self.emit(VFMADDSUB132PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17320 }
17321}
17322
17323impl<'a> Vfmaddsub132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17324 fn vfmaddsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17325 self.emit(VFMADDSUB132PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17326 }
17327}
17328
17329impl<'a> Vfmaddsub132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17330 fn vfmaddsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17331 self.emit(VFMADDSUB132PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17332 }
17333}
17334
17335pub trait Vfmaddsub132phErEmitter<A, B, C> {
17347 fn vfmaddsub132ph_er(&mut self, op0: A, op1: B, op2: C);
17348}
17349
17350impl<'a> Vfmaddsub132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17351 fn vfmaddsub132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17352 self.emit(VFMADDSUB132PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17353 }
17354}
17355
17356pub trait Vfmaddsub132phMaskEmitter<A, B, C> {
17373 fn vfmaddsub132ph_mask(&mut self, op0: A, op1: B, op2: C);
17374}
17375
17376impl<'a> Vfmaddsub132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17377 fn vfmaddsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17378 self.emit(VFMADDSUB132PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17379 }
17380}
17381
17382impl<'a> Vfmaddsub132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17383 fn vfmaddsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17384 self.emit(VFMADDSUB132PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17385 }
17386}
17387
17388impl<'a> Vfmaddsub132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17389 fn vfmaddsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17390 self.emit(VFMADDSUB132PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17391 }
17392}
17393
17394impl<'a> Vfmaddsub132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17395 fn vfmaddsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17396 self.emit(VFMADDSUB132PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17397 }
17398}
17399
17400impl<'a> Vfmaddsub132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17401 fn vfmaddsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17402 self.emit(VFMADDSUB132PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17403 }
17404}
17405
17406impl<'a> Vfmaddsub132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17407 fn vfmaddsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17408 self.emit(VFMADDSUB132PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17409 }
17410}
17411
17412pub trait Vfmaddsub132phMaskErEmitter<A, B, C> {
17424 fn vfmaddsub132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
17425}
17426
17427impl<'a> Vfmaddsub132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17428 fn vfmaddsub132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17429 self.emit(VFMADDSUB132PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17430 }
17431}
17432
17433pub trait Vfmaddsub132phMaskzEmitter<A, B, C> {
17450 fn vfmaddsub132ph_maskz(&mut self, op0: A, op1: B, op2: C);
17451}
17452
17453impl<'a> Vfmaddsub132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17454 fn vfmaddsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17455 self.emit(VFMADDSUB132PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17456 }
17457}
17458
17459impl<'a> Vfmaddsub132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17460 fn vfmaddsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17461 self.emit(VFMADDSUB132PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17462 }
17463}
17464
17465impl<'a> Vfmaddsub132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17466 fn vfmaddsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17467 self.emit(VFMADDSUB132PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17468 }
17469}
17470
17471impl<'a> Vfmaddsub132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17472 fn vfmaddsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17473 self.emit(VFMADDSUB132PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17474 }
17475}
17476
17477impl<'a> Vfmaddsub132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17478 fn vfmaddsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17479 self.emit(VFMADDSUB132PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17480 }
17481}
17482
17483impl<'a> Vfmaddsub132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17484 fn vfmaddsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17485 self.emit(VFMADDSUB132PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17486 }
17487}
17488
17489pub trait Vfmaddsub132phMaskzErEmitter<A, B, C> {
17501 fn vfmaddsub132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
17502}
17503
17504impl<'a> Vfmaddsub132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17505 fn vfmaddsub132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17506 self.emit(VFMADDSUB132PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17507 }
17508}
17509
17510pub trait Vfmaddsub213phEmitter<A, B, C> {
17527 fn vfmaddsub213ph(&mut self, op0: A, op1: B, op2: C);
17528}
17529
17530impl<'a> Vfmaddsub213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17531 fn vfmaddsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17532 self.emit(VFMADDSUB213PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17533 }
17534}
17535
17536impl<'a> Vfmaddsub213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17537 fn vfmaddsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17538 self.emit(VFMADDSUB213PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17539 }
17540}
17541
17542impl<'a> Vfmaddsub213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17543 fn vfmaddsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17544 self.emit(VFMADDSUB213PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17545 }
17546}
17547
17548impl<'a> Vfmaddsub213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17549 fn vfmaddsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17550 self.emit(VFMADDSUB213PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17551 }
17552}
17553
17554impl<'a> Vfmaddsub213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17555 fn vfmaddsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17556 self.emit(VFMADDSUB213PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17557 }
17558}
17559
17560impl<'a> Vfmaddsub213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17561 fn vfmaddsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17562 self.emit(VFMADDSUB213PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17563 }
17564}
17565
17566pub trait Vfmaddsub213phErEmitter<A, B, C> {
17578 fn vfmaddsub213ph_er(&mut self, op0: A, op1: B, op2: C);
17579}
17580
17581impl<'a> Vfmaddsub213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17582 fn vfmaddsub213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17583 self.emit(VFMADDSUB213PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17584 }
17585}
17586
17587pub trait Vfmaddsub213phMaskEmitter<A, B, C> {
17604 fn vfmaddsub213ph_mask(&mut self, op0: A, op1: B, op2: C);
17605}
17606
17607impl<'a> Vfmaddsub213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17608 fn vfmaddsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17609 self.emit(VFMADDSUB213PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17610 }
17611}
17612
17613impl<'a> Vfmaddsub213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17614 fn vfmaddsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17615 self.emit(VFMADDSUB213PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17616 }
17617}
17618
17619impl<'a> Vfmaddsub213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17620 fn vfmaddsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17621 self.emit(VFMADDSUB213PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17622 }
17623}
17624
17625impl<'a> Vfmaddsub213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17626 fn vfmaddsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17627 self.emit(VFMADDSUB213PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17628 }
17629}
17630
17631impl<'a> Vfmaddsub213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17632 fn vfmaddsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17633 self.emit(VFMADDSUB213PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17634 }
17635}
17636
17637impl<'a> Vfmaddsub213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17638 fn vfmaddsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17639 self.emit(VFMADDSUB213PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17640 }
17641}
17642
17643pub trait Vfmaddsub213phMaskErEmitter<A, B, C> {
17655 fn vfmaddsub213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
17656}
17657
17658impl<'a> Vfmaddsub213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17659 fn vfmaddsub213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17660 self.emit(VFMADDSUB213PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17661 }
17662}
17663
17664pub trait Vfmaddsub213phMaskzEmitter<A, B, C> {
17681 fn vfmaddsub213ph_maskz(&mut self, op0: A, op1: B, op2: C);
17682}
17683
17684impl<'a> Vfmaddsub213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17685 fn vfmaddsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17686 self.emit(VFMADDSUB213PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17687 }
17688}
17689
17690impl<'a> Vfmaddsub213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17691 fn vfmaddsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17692 self.emit(VFMADDSUB213PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17693 }
17694}
17695
17696impl<'a> Vfmaddsub213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17697 fn vfmaddsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17698 self.emit(VFMADDSUB213PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17699 }
17700}
17701
17702impl<'a> Vfmaddsub213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17703 fn vfmaddsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17704 self.emit(VFMADDSUB213PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17705 }
17706}
17707
17708impl<'a> Vfmaddsub213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17709 fn vfmaddsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17710 self.emit(VFMADDSUB213PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17711 }
17712}
17713
17714impl<'a> Vfmaddsub213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17715 fn vfmaddsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17716 self.emit(VFMADDSUB213PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17717 }
17718}
17719
17720pub trait Vfmaddsub213phMaskzErEmitter<A, B, C> {
17732 fn vfmaddsub213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
17733}
17734
17735impl<'a> Vfmaddsub213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17736 fn vfmaddsub213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17737 self.emit(VFMADDSUB213PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17738 }
17739}
17740
17741pub trait Vfmaddsub231phEmitter<A, B, C> {
17758 fn vfmaddsub231ph(&mut self, op0: A, op1: B, op2: C);
17759}
17760
17761impl<'a> Vfmaddsub231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17762 fn vfmaddsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17763 self.emit(VFMADDSUB231PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17764 }
17765}
17766
17767impl<'a> Vfmaddsub231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17768 fn vfmaddsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17769 self.emit(VFMADDSUB231PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17770 }
17771}
17772
17773impl<'a> Vfmaddsub231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17774 fn vfmaddsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17775 self.emit(VFMADDSUB231PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17776 }
17777}
17778
17779impl<'a> Vfmaddsub231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17780 fn vfmaddsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17781 self.emit(VFMADDSUB231PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17782 }
17783}
17784
17785impl<'a> Vfmaddsub231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17786 fn vfmaddsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17787 self.emit(VFMADDSUB231PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17788 }
17789}
17790
17791impl<'a> Vfmaddsub231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17792 fn vfmaddsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17793 self.emit(VFMADDSUB231PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17794 }
17795}
17796
17797pub trait Vfmaddsub231phErEmitter<A, B, C> {
17809 fn vfmaddsub231ph_er(&mut self, op0: A, op1: B, op2: C);
17810}
17811
17812impl<'a> Vfmaddsub231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17813 fn vfmaddsub231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17814 self.emit(VFMADDSUB231PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17815 }
17816}
17817
17818pub trait Vfmaddsub231phMaskEmitter<A, B, C> {
17835 fn vfmaddsub231ph_mask(&mut self, op0: A, op1: B, op2: C);
17836}
17837
17838impl<'a> Vfmaddsub231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17839 fn vfmaddsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17840 self.emit(VFMADDSUB231PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17841 }
17842}
17843
17844impl<'a> Vfmaddsub231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17845 fn vfmaddsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17846 self.emit(VFMADDSUB231PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17847 }
17848}
17849
17850impl<'a> Vfmaddsub231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17851 fn vfmaddsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17852 self.emit(VFMADDSUB231PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17853 }
17854}
17855
17856impl<'a> Vfmaddsub231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17857 fn vfmaddsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17858 self.emit(VFMADDSUB231PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17859 }
17860}
17861
17862impl<'a> Vfmaddsub231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17863 fn vfmaddsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17864 self.emit(VFMADDSUB231PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17865 }
17866}
17867
17868impl<'a> Vfmaddsub231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17869 fn vfmaddsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17870 self.emit(VFMADDSUB231PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17871 }
17872}
17873
17874pub trait Vfmaddsub231phMaskErEmitter<A, B, C> {
17886 fn vfmaddsub231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
17887}
17888
17889impl<'a> Vfmaddsub231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17890 fn vfmaddsub231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17891 self.emit(VFMADDSUB231PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17892 }
17893}
17894
17895pub trait Vfmaddsub231phMaskzEmitter<A, B, C> {
17912 fn vfmaddsub231ph_maskz(&mut self, op0: A, op1: B, op2: C);
17913}
17914
17915impl<'a> Vfmaddsub231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17916 fn vfmaddsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17917 self.emit(VFMADDSUB231PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17918 }
17919}
17920
17921impl<'a> Vfmaddsub231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17922 fn vfmaddsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
17923 self.emit(VFMADDSUB231PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17924 }
17925}
17926
17927impl<'a> Vfmaddsub231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
17928 fn vfmaddsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
17929 self.emit(VFMADDSUB231PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17930 }
17931}
17932
17933impl<'a> Vfmaddsub231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
17934 fn vfmaddsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
17935 self.emit(VFMADDSUB231PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17936 }
17937}
17938
17939impl<'a> Vfmaddsub231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17940 fn vfmaddsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17941 self.emit(VFMADDSUB231PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17942 }
17943}
17944
17945impl<'a> Vfmaddsub231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
17946 fn vfmaddsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
17947 self.emit(VFMADDSUB231PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17948 }
17949}
17950
17951pub trait Vfmaddsub231phMaskzErEmitter<A, B, C> {
17963 fn vfmaddsub231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
17964}
17965
17966impl<'a> Vfmaddsub231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
17967 fn vfmaddsub231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
17968 self.emit(VFMADDSUB231PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17969 }
17970}
17971
17972pub trait Vfmsub132phEmitter<A, B, C> {
17989 fn vfmsub132ph(&mut self, op0: A, op1: B, op2: C);
17990}
17991
17992impl<'a> Vfmsub132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
17993 fn vfmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
17994 self.emit(VFMSUB132PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
17995 }
17996}
17997
17998impl<'a> Vfmsub132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
17999 fn vfmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18000 self.emit(VFMSUB132PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18001 }
18002}
18003
18004impl<'a> Vfmsub132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18005 fn vfmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18006 self.emit(VFMSUB132PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18007 }
18008}
18009
18010impl<'a> Vfmsub132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18011 fn vfmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18012 self.emit(VFMSUB132PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18013 }
18014}
18015
18016impl<'a> Vfmsub132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18017 fn vfmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18018 self.emit(VFMSUB132PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18019 }
18020}
18021
18022impl<'a> Vfmsub132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18023 fn vfmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18024 self.emit(VFMSUB132PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18025 }
18026}
18027
18028pub trait Vfmsub132phErEmitter<A, B, C> {
18040 fn vfmsub132ph_er(&mut self, op0: A, op1: B, op2: C);
18041}
18042
18043impl<'a> Vfmsub132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18044 fn vfmsub132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18045 self.emit(VFMSUB132PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18046 }
18047}
18048
18049pub trait Vfmsub132phMaskEmitter<A, B, C> {
18066 fn vfmsub132ph_mask(&mut self, op0: A, op1: B, op2: C);
18067}
18068
18069impl<'a> Vfmsub132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18070 fn vfmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18071 self.emit(VFMSUB132PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18072 }
18073}
18074
18075impl<'a> Vfmsub132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18076 fn vfmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18077 self.emit(VFMSUB132PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18078 }
18079}
18080
18081impl<'a> Vfmsub132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18082 fn vfmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18083 self.emit(VFMSUB132PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18084 }
18085}
18086
18087impl<'a> Vfmsub132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18088 fn vfmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18089 self.emit(VFMSUB132PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18090 }
18091}
18092
18093impl<'a> Vfmsub132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18094 fn vfmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18095 self.emit(VFMSUB132PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18096 }
18097}
18098
18099impl<'a> Vfmsub132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18100 fn vfmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18101 self.emit(VFMSUB132PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18102 }
18103}
18104
18105pub trait Vfmsub132phMaskErEmitter<A, B, C> {
18117 fn vfmsub132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
18118}
18119
18120impl<'a> Vfmsub132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18121 fn vfmsub132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18122 self.emit(VFMSUB132PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18123 }
18124}
18125
18126pub trait Vfmsub132phMaskzEmitter<A, B, C> {
18143 fn vfmsub132ph_maskz(&mut self, op0: A, op1: B, op2: C);
18144}
18145
18146impl<'a> Vfmsub132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18147 fn vfmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18148 self.emit(VFMSUB132PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18149 }
18150}
18151
18152impl<'a> Vfmsub132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18153 fn vfmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18154 self.emit(VFMSUB132PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18155 }
18156}
18157
18158impl<'a> Vfmsub132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18159 fn vfmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18160 self.emit(VFMSUB132PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18161 }
18162}
18163
18164impl<'a> Vfmsub132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18165 fn vfmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18166 self.emit(VFMSUB132PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18167 }
18168}
18169
18170impl<'a> Vfmsub132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18171 fn vfmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18172 self.emit(VFMSUB132PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18173 }
18174}
18175
18176impl<'a> Vfmsub132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18177 fn vfmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18178 self.emit(VFMSUB132PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18179 }
18180}
18181
18182pub trait Vfmsub132phMaskzErEmitter<A, B, C> {
18194 fn vfmsub132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
18195}
18196
18197impl<'a> Vfmsub132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18198 fn vfmsub132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18199 self.emit(VFMSUB132PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18200 }
18201}
18202
18203pub trait Vfmsub132shEmitter<A, B, C> {
18216 fn vfmsub132sh(&mut self, op0: A, op1: B, op2: C);
18217}
18218
18219impl<'a> Vfmsub132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18220 fn vfmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18221 self.emit(VFMSUB132SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18222 }
18223}
18224
18225impl<'a> Vfmsub132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18226 fn vfmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18227 self.emit(VFMSUB132SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18228 }
18229}
18230
18231pub trait Vfmsub132shErEmitter<A, B, C> {
18243 fn vfmsub132sh_er(&mut self, op0: A, op1: B, op2: C);
18244}
18245
18246impl<'a> Vfmsub132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18247 fn vfmsub132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18248 self.emit(VFMSUB132SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18249 }
18250}
18251
18252pub trait Vfmsub132shMaskEmitter<A, B, C> {
18265 fn vfmsub132sh_mask(&mut self, op0: A, op1: B, op2: C);
18266}
18267
18268impl<'a> Vfmsub132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18269 fn vfmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18270 self.emit(VFMSUB132SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18271 }
18272}
18273
18274impl<'a> Vfmsub132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18275 fn vfmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18276 self.emit(VFMSUB132SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18277 }
18278}
18279
18280pub trait Vfmsub132shMaskErEmitter<A, B, C> {
18292 fn vfmsub132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
18293}
18294
18295impl<'a> Vfmsub132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18296 fn vfmsub132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18297 self.emit(VFMSUB132SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18298 }
18299}
18300
18301pub trait Vfmsub132shMaskzEmitter<A, B, C> {
18314 fn vfmsub132sh_maskz(&mut self, op0: A, op1: B, op2: C);
18315}
18316
18317impl<'a> Vfmsub132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18318 fn vfmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18319 self.emit(VFMSUB132SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18320 }
18321}
18322
18323impl<'a> Vfmsub132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18324 fn vfmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18325 self.emit(VFMSUB132SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18326 }
18327}
18328
18329pub trait Vfmsub132shMaskzErEmitter<A, B, C> {
18341 fn vfmsub132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
18342}
18343
18344impl<'a> Vfmsub132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18345 fn vfmsub132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18346 self.emit(VFMSUB132SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18347 }
18348}
18349
18350pub trait Vfmsub213phEmitter<A, B, C> {
18367 fn vfmsub213ph(&mut self, op0: A, op1: B, op2: C);
18368}
18369
18370impl<'a> Vfmsub213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18371 fn vfmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18372 self.emit(VFMSUB213PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18373 }
18374}
18375
18376impl<'a> Vfmsub213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18377 fn vfmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18378 self.emit(VFMSUB213PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18379 }
18380}
18381
18382impl<'a> Vfmsub213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18383 fn vfmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18384 self.emit(VFMSUB213PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18385 }
18386}
18387
18388impl<'a> Vfmsub213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18389 fn vfmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18390 self.emit(VFMSUB213PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18391 }
18392}
18393
18394impl<'a> Vfmsub213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18395 fn vfmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18396 self.emit(VFMSUB213PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18397 }
18398}
18399
18400impl<'a> Vfmsub213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18401 fn vfmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18402 self.emit(VFMSUB213PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18403 }
18404}
18405
18406pub trait Vfmsub213phErEmitter<A, B, C> {
18418 fn vfmsub213ph_er(&mut self, op0: A, op1: B, op2: C);
18419}
18420
18421impl<'a> Vfmsub213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18422 fn vfmsub213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18423 self.emit(VFMSUB213PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18424 }
18425}
18426
18427pub trait Vfmsub213phMaskEmitter<A, B, C> {
18444 fn vfmsub213ph_mask(&mut self, op0: A, op1: B, op2: C);
18445}
18446
18447impl<'a> Vfmsub213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18448 fn vfmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18449 self.emit(VFMSUB213PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18450 }
18451}
18452
18453impl<'a> Vfmsub213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18454 fn vfmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18455 self.emit(VFMSUB213PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18456 }
18457}
18458
18459impl<'a> Vfmsub213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18460 fn vfmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18461 self.emit(VFMSUB213PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18462 }
18463}
18464
18465impl<'a> Vfmsub213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18466 fn vfmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18467 self.emit(VFMSUB213PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18468 }
18469}
18470
18471impl<'a> Vfmsub213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18472 fn vfmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18473 self.emit(VFMSUB213PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18474 }
18475}
18476
18477impl<'a> Vfmsub213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18478 fn vfmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18479 self.emit(VFMSUB213PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18480 }
18481}
18482
18483pub trait Vfmsub213phMaskErEmitter<A, B, C> {
18495 fn vfmsub213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
18496}
18497
18498impl<'a> Vfmsub213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18499 fn vfmsub213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18500 self.emit(VFMSUB213PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18501 }
18502}
18503
18504pub trait Vfmsub213phMaskzEmitter<A, B, C> {
18521 fn vfmsub213ph_maskz(&mut self, op0: A, op1: B, op2: C);
18522}
18523
18524impl<'a> Vfmsub213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18525 fn vfmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18526 self.emit(VFMSUB213PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18527 }
18528}
18529
18530impl<'a> Vfmsub213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18531 fn vfmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18532 self.emit(VFMSUB213PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18533 }
18534}
18535
18536impl<'a> Vfmsub213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18537 fn vfmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18538 self.emit(VFMSUB213PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18539 }
18540}
18541
18542impl<'a> Vfmsub213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18543 fn vfmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18544 self.emit(VFMSUB213PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18545 }
18546}
18547
18548impl<'a> Vfmsub213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18549 fn vfmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18550 self.emit(VFMSUB213PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18551 }
18552}
18553
18554impl<'a> Vfmsub213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18555 fn vfmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18556 self.emit(VFMSUB213PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18557 }
18558}
18559
18560pub trait Vfmsub213phMaskzErEmitter<A, B, C> {
18572 fn vfmsub213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
18573}
18574
18575impl<'a> Vfmsub213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18576 fn vfmsub213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18577 self.emit(VFMSUB213PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18578 }
18579}
18580
18581pub trait Vfmsub213shEmitter<A, B, C> {
18594 fn vfmsub213sh(&mut self, op0: A, op1: B, op2: C);
18595}
18596
18597impl<'a> Vfmsub213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18598 fn vfmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18599 self.emit(VFMSUB213SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18600 }
18601}
18602
18603impl<'a> Vfmsub213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18604 fn vfmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18605 self.emit(VFMSUB213SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18606 }
18607}
18608
18609pub trait Vfmsub213shErEmitter<A, B, C> {
18621 fn vfmsub213sh_er(&mut self, op0: A, op1: B, op2: C);
18622}
18623
18624impl<'a> Vfmsub213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18625 fn vfmsub213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18626 self.emit(VFMSUB213SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18627 }
18628}
18629
18630pub trait Vfmsub213shMaskEmitter<A, B, C> {
18643 fn vfmsub213sh_mask(&mut self, op0: A, op1: B, op2: C);
18644}
18645
18646impl<'a> Vfmsub213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18647 fn vfmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18648 self.emit(VFMSUB213SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18649 }
18650}
18651
18652impl<'a> Vfmsub213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18653 fn vfmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18654 self.emit(VFMSUB213SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18655 }
18656}
18657
18658pub trait Vfmsub213shMaskErEmitter<A, B, C> {
18670 fn vfmsub213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
18671}
18672
18673impl<'a> Vfmsub213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18674 fn vfmsub213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18675 self.emit(VFMSUB213SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18676 }
18677}
18678
18679pub trait Vfmsub213shMaskzEmitter<A, B, C> {
18692 fn vfmsub213sh_maskz(&mut self, op0: A, op1: B, op2: C);
18693}
18694
18695impl<'a> Vfmsub213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18696 fn vfmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18697 self.emit(VFMSUB213SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18698 }
18699}
18700
18701impl<'a> Vfmsub213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18702 fn vfmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18703 self.emit(VFMSUB213SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18704 }
18705}
18706
18707pub trait Vfmsub213shMaskzErEmitter<A, B, C> {
18719 fn vfmsub213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
18720}
18721
18722impl<'a> Vfmsub213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18723 fn vfmsub213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18724 self.emit(VFMSUB213SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18725 }
18726}
18727
18728pub trait Vfmsub231phEmitter<A, B, C> {
18745 fn vfmsub231ph(&mut self, op0: A, op1: B, op2: C);
18746}
18747
18748impl<'a> Vfmsub231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18749 fn vfmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18750 self.emit(VFMSUB231PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18751 }
18752}
18753
18754impl<'a> Vfmsub231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18755 fn vfmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18756 self.emit(VFMSUB231PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18757 }
18758}
18759
18760impl<'a> Vfmsub231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18761 fn vfmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18762 self.emit(VFMSUB231PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18763 }
18764}
18765
18766impl<'a> Vfmsub231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18767 fn vfmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18768 self.emit(VFMSUB231PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18769 }
18770}
18771
18772impl<'a> Vfmsub231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18773 fn vfmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18774 self.emit(VFMSUB231PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18775 }
18776}
18777
18778impl<'a> Vfmsub231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18779 fn vfmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18780 self.emit(VFMSUB231PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18781 }
18782}
18783
18784pub trait Vfmsub231phErEmitter<A, B, C> {
18796 fn vfmsub231ph_er(&mut self, op0: A, op1: B, op2: C);
18797}
18798
18799impl<'a> Vfmsub231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18800 fn vfmsub231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18801 self.emit(VFMSUB231PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18802 }
18803}
18804
18805pub trait Vfmsub231phMaskEmitter<A, B, C> {
18822 fn vfmsub231ph_mask(&mut self, op0: A, op1: B, op2: C);
18823}
18824
18825impl<'a> Vfmsub231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18826 fn vfmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18827 self.emit(VFMSUB231PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18828 }
18829}
18830
18831impl<'a> Vfmsub231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18832 fn vfmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18833 self.emit(VFMSUB231PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18834 }
18835}
18836
18837impl<'a> Vfmsub231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18838 fn vfmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18839 self.emit(VFMSUB231PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18840 }
18841}
18842
18843impl<'a> Vfmsub231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18844 fn vfmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18845 self.emit(VFMSUB231PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18846 }
18847}
18848
18849impl<'a> Vfmsub231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18850 fn vfmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18851 self.emit(VFMSUB231PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18852 }
18853}
18854
18855impl<'a> Vfmsub231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18856 fn vfmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18857 self.emit(VFMSUB231PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18858 }
18859}
18860
18861pub trait Vfmsub231phMaskErEmitter<A, B, C> {
18873 fn vfmsub231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
18874}
18875
18876impl<'a> Vfmsub231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18877 fn vfmsub231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18878 self.emit(VFMSUB231PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18879 }
18880}
18881
18882pub trait Vfmsub231phMaskzEmitter<A, B, C> {
18899 fn vfmsub231ph_maskz(&mut self, op0: A, op1: B, op2: C);
18900}
18901
18902impl<'a> Vfmsub231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18903 fn vfmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18904 self.emit(VFMSUB231PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18905 }
18906}
18907
18908impl<'a> Vfmsub231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18909 fn vfmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18910 self.emit(VFMSUB231PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18911 }
18912}
18913
18914impl<'a> Vfmsub231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
18915 fn vfmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
18916 self.emit(VFMSUB231PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18917 }
18918}
18919
18920impl<'a> Vfmsub231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
18921 fn vfmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
18922 self.emit(VFMSUB231PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18923 }
18924}
18925
18926impl<'a> Vfmsub231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18927 fn vfmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18928 self.emit(VFMSUB231PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18929 }
18930}
18931
18932impl<'a> Vfmsub231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
18933 fn vfmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
18934 self.emit(VFMSUB231PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18935 }
18936}
18937
18938pub trait Vfmsub231phMaskzErEmitter<A, B, C> {
18950 fn vfmsub231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
18951}
18952
18953impl<'a> Vfmsub231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
18954 fn vfmsub231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
18955 self.emit(VFMSUB231PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18956 }
18957}
18958
18959pub trait Vfmsub231shEmitter<A, B, C> {
18972 fn vfmsub231sh(&mut self, op0: A, op1: B, op2: C);
18973}
18974
18975impl<'a> Vfmsub231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
18976 fn vfmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
18977 self.emit(VFMSUB231SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18978 }
18979}
18980
18981impl<'a> Vfmsub231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
18982 fn vfmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
18983 self.emit(VFMSUB231SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
18984 }
18985}
18986
18987pub trait Vfmsub231shErEmitter<A, B, C> {
18999 fn vfmsub231sh_er(&mut self, op0: A, op1: B, op2: C);
19000}
19001
19002impl<'a> Vfmsub231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19003 fn vfmsub231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19004 self.emit(VFMSUB231SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19005 }
19006}
19007
19008pub trait Vfmsub231shMaskEmitter<A, B, C> {
19021 fn vfmsub231sh_mask(&mut self, op0: A, op1: B, op2: C);
19022}
19023
19024impl<'a> Vfmsub231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19025 fn vfmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19026 self.emit(VFMSUB231SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19027 }
19028}
19029
19030impl<'a> Vfmsub231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19031 fn vfmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19032 self.emit(VFMSUB231SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19033 }
19034}
19035
19036pub trait Vfmsub231shMaskErEmitter<A, B, C> {
19048 fn vfmsub231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
19049}
19050
19051impl<'a> Vfmsub231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19052 fn vfmsub231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19053 self.emit(VFMSUB231SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19054 }
19055}
19056
19057pub trait Vfmsub231shMaskzEmitter<A, B, C> {
19070 fn vfmsub231sh_maskz(&mut self, op0: A, op1: B, op2: C);
19071}
19072
19073impl<'a> Vfmsub231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19074 fn vfmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19075 self.emit(VFMSUB231SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19076 }
19077}
19078
19079impl<'a> Vfmsub231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19080 fn vfmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19081 self.emit(VFMSUB231SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19082 }
19083}
19084
19085pub trait Vfmsub231shMaskzErEmitter<A, B, C> {
19097 fn vfmsub231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
19098}
19099
19100impl<'a> Vfmsub231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19101 fn vfmsub231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19102 self.emit(VFMSUB231SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19103 }
19104}
19105
19106pub trait Vfmsubadd132phEmitter<A, B, C> {
19123 fn vfmsubadd132ph(&mut self, op0: A, op1: B, op2: C);
19124}
19125
19126impl<'a> Vfmsubadd132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19127 fn vfmsubadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19128 self.emit(VFMSUBADD132PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19129 }
19130}
19131
19132impl<'a> Vfmsubadd132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19133 fn vfmsubadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19134 self.emit(VFMSUBADD132PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19135 }
19136}
19137
19138impl<'a> Vfmsubadd132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19139 fn vfmsubadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19140 self.emit(VFMSUBADD132PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19141 }
19142}
19143
19144impl<'a> Vfmsubadd132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19145 fn vfmsubadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19146 self.emit(VFMSUBADD132PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19147 }
19148}
19149
19150impl<'a> Vfmsubadd132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19151 fn vfmsubadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19152 self.emit(VFMSUBADD132PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19153 }
19154}
19155
19156impl<'a> Vfmsubadd132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19157 fn vfmsubadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19158 self.emit(VFMSUBADD132PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19159 }
19160}
19161
19162pub trait Vfmsubadd132phErEmitter<A, B, C> {
19174 fn vfmsubadd132ph_er(&mut self, op0: A, op1: B, op2: C);
19175}
19176
19177impl<'a> Vfmsubadd132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19178 fn vfmsubadd132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19179 self.emit(VFMSUBADD132PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19180 }
19181}
19182
19183pub trait Vfmsubadd132phMaskEmitter<A, B, C> {
19200 fn vfmsubadd132ph_mask(&mut self, op0: A, op1: B, op2: C);
19201}
19202
19203impl<'a> Vfmsubadd132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19204 fn vfmsubadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19205 self.emit(VFMSUBADD132PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19206 }
19207}
19208
19209impl<'a> Vfmsubadd132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19210 fn vfmsubadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19211 self.emit(VFMSUBADD132PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19212 }
19213}
19214
19215impl<'a> Vfmsubadd132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19216 fn vfmsubadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19217 self.emit(VFMSUBADD132PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19218 }
19219}
19220
19221impl<'a> Vfmsubadd132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19222 fn vfmsubadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19223 self.emit(VFMSUBADD132PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19224 }
19225}
19226
19227impl<'a> Vfmsubadd132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19228 fn vfmsubadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19229 self.emit(VFMSUBADD132PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19230 }
19231}
19232
19233impl<'a> Vfmsubadd132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19234 fn vfmsubadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19235 self.emit(VFMSUBADD132PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19236 }
19237}
19238
19239pub trait Vfmsubadd132phMaskErEmitter<A, B, C> {
19251 fn vfmsubadd132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
19252}
19253
19254impl<'a> Vfmsubadd132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19255 fn vfmsubadd132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19256 self.emit(VFMSUBADD132PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19257 }
19258}
19259
19260pub trait Vfmsubadd132phMaskzEmitter<A, B, C> {
19277 fn vfmsubadd132ph_maskz(&mut self, op0: A, op1: B, op2: C);
19278}
19279
19280impl<'a> Vfmsubadd132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19281 fn vfmsubadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19282 self.emit(VFMSUBADD132PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19283 }
19284}
19285
19286impl<'a> Vfmsubadd132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19287 fn vfmsubadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19288 self.emit(VFMSUBADD132PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19289 }
19290}
19291
19292impl<'a> Vfmsubadd132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19293 fn vfmsubadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19294 self.emit(VFMSUBADD132PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19295 }
19296}
19297
19298impl<'a> Vfmsubadd132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19299 fn vfmsubadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19300 self.emit(VFMSUBADD132PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19301 }
19302}
19303
19304impl<'a> Vfmsubadd132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19305 fn vfmsubadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19306 self.emit(VFMSUBADD132PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19307 }
19308}
19309
19310impl<'a> Vfmsubadd132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19311 fn vfmsubadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19312 self.emit(VFMSUBADD132PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19313 }
19314}
19315
19316pub trait Vfmsubadd132phMaskzErEmitter<A, B, C> {
19328 fn vfmsubadd132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
19329}
19330
19331impl<'a> Vfmsubadd132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19332 fn vfmsubadd132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19333 self.emit(VFMSUBADD132PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19334 }
19335}
19336
19337pub trait Vfmsubadd213phEmitter<A, B, C> {
19354 fn vfmsubadd213ph(&mut self, op0: A, op1: B, op2: C);
19355}
19356
19357impl<'a> Vfmsubadd213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19358 fn vfmsubadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19359 self.emit(VFMSUBADD213PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19360 }
19361}
19362
19363impl<'a> Vfmsubadd213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19364 fn vfmsubadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19365 self.emit(VFMSUBADD213PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19366 }
19367}
19368
19369impl<'a> Vfmsubadd213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19370 fn vfmsubadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19371 self.emit(VFMSUBADD213PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19372 }
19373}
19374
19375impl<'a> Vfmsubadd213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19376 fn vfmsubadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19377 self.emit(VFMSUBADD213PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19378 }
19379}
19380
19381impl<'a> Vfmsubadd213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19382 fn vfmsubadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19383 self.emit(VFMSUBADD213PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19384 }
19385}
19386
19387impl<'a> Vfmsubadd213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19388 fn vfmsubadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19389 self.emit(VFMSUBADD213PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19390 }
19391}
19392
19393pub trait Vfmsubadd213phErEmitter<A, B, C> {
19405 fn vfmsubadd213ph_er(&mut self, op0: A, op1: B, op2: C);
19406}
19407
19408impl<'a> Vfmsubadd213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19409 fn vfmsubadd213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19410 self.emit(VFMSUBADD213PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19411 }
19412}
19413
19414pub trait Vfmsubadd213phMaskEmitter<A, B, C> {
19431 fn vfmsubadd213ph_mask(&mut self, op0: A, op1: B, op2: C);
19432}
19433
19434impl<'a> Vfmsubadd213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19435 fn vfmsubadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19436 self.emit(VFMSUBADD213PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19437 }
19438}
19439
19440impl<'a> Vfmsubadd213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19441 fn vfmsubadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19442 self.emit(VFMSUBADD213PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19443 }
19444}
19445
19446impl<'a> Vfmsubadd213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19447 fn vfmsubadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19448 self.emit(VFMSUBADD213PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19449 }
19450}
19451
19452impl<'a> Vfmsubadd213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19453 fn vfmsubadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19454 self.emit(VFMSUBADD213PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19455 }
19456}
19457
19458impl<'a> Vfmsubadd213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19459 fn vfmsubadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19460 self.emit(VFMSUBADD213PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19461 }
19462}
19463
19464impl<'a> Vfmsubadd213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19465 fn vfmsubadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19466 self.emit(VFMSUBADD213PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19467 }
19468}
19469
19470pub trait Vfmsubadd213phMaskErEmitter<A, B, C> {
19482 fn vfmsubadd213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
19483}
19484
19485impl<'a> Vfmsubadd213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19486 fn vfmsubadd213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19487 self.emit(VFMSUBADD213PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19488 }
19489}
19490
19491pub trait Vfmsubadd213phMaskzEmitter<A, B, C> {
19508 fn vfmsubadd213ph_maskz(&mut self, op0: A, op1: B, op2: C);
19509}
19510
19511impl<'a> Vfmsubadd213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19512 fn vfmsubadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19513 self.emit(VFMSUBADD213PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19514 }
19515}
19516
19517impl<'a> Vfmsubadd213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19518 fn vfmsubadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19519 self.emit(VFMSUBADD213PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19520 }
19521}
19522
19523impl<'a> Vfmsubadd213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19524 fn vfmsubadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19525 self.emit(VFMSUBADD213PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19526 }
19527}
19528
19529impl<'a> Vfmsubadd213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19530 fn vfmsubadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19531 self.emit(VFMSUBADD213PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19532 }
19533}
19534
19535impl<'a> Vfmsubadd213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19536 fn vfmsubadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19537 self.emit(VFMSUBADD213PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19538 }
19539}
19540
19541impl<'a> Vfmsubadd213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19542 fn vfmsubadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19543 self.emit(VFMSUBADD213PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19544 }
19545}
19546
19547pub trait Vfmsubadd213phMaskzErEmitter<A, B, C> {
19559 fn vfmsubadd213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
19560}
19561
19562impl<'a> Vfmsubadd213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19563 fn vfmsubadd213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19564 self.emit(VFMSUBADD213PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19565 }
19566}
19567
19568pub trait Vfmsubadd231phEmitter<A, B, C> {
19585 fn vfmsubadd231ph(&mut self, op0: A, op1: B, op2: C);
19586}
19587
19588impl<'a> Vfmsubadd231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19589 fn vfmsubadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19590 self.emit(VFMSUBADD231PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19591 }
19592}
19593
19594impl<'a> Vfmsubadd231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19595 fn vfmsubadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19596 self.emit(VFMSUBADD231PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19597 }
19598}
19599
19600impl<'a> Vfmsubadd231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19601 fn vfmsubadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19602 self.emit(VFMSUBADD231PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19603 }
19604}
19605
19606impl<'a> Vfmsubadd231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19607 fn vfmsubadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19608 self.emit(VFMSUBADD231PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19609 }
19610}
19611
19612impl<'a> Vfmsubadd231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19613 fn vfmsubadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19614 self.emit(VFMSUBADD231PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19615 }
19616}
19617
19618impl<'a> Vfmsubadd231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19619 fn vfmsubadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19620 self.emit(VFMSUBADD231PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19621 }
19622}
19623
19624pub trait Vfmsubadd231phErEmitter<A, B, C> {
19636 fn vfmsubadd231ph_er(&mut self, op0: A, op1: B, op2: C);
19637}
19638
19639impl<'a> Vfmsubadd231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19640 fn vfmsubadd231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19641 self.emit(VFMSUBADD231PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19642 }
19643}
19644
19645pub trait Vfmsubadd231phMaskEmitter<A, B, C> {
19662 fn vfmsubadd231ph_mask(&mut self, op0: A, op1: B, op2: C);
19663}
19664
19665impl<'a> Vfmsubadd231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19666 fn vfmsubadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19667 self.emit(VFMSUBADD231PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19668 }
19669}
19670
19671impl<'a> Vfmsubadd231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19672 fn vfmsubadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19673 self.emit(VFMSUBADD231PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19674 }
19675}
19676
19677impl<'a> Vfmsubadd231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19678 fn vfmsubadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19679 self.emit(VFMSUBADD231PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19680 }
19681}
19682
19683impl<'a> Vfmsubadd231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19684 fn vfmsubadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19685 self.emit(VFMSUBADD231PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19686 }
19687}
19688
19689impl<'a> Vfmsubadd231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19690 fn vfmsubadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19691 self.emit(VFMSUBADD231PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19692 }
19693}
19694
19695impl<'a> Vfmsubadd231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19696 fn vfmsubadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19697 self.emit(VFMSUBADD231PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19698 }
19699}
19700
19701pub trait Vfmsubadd231phMaskErEmitter<A, B, C> {
19713 fn vfmsubadd231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
19714}
19715
19716impl<'a> Vfmsubadd231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19717 fn vfmsubadd231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19718 self.emit(VFMSUBADD231PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19719 }
19720}
19721
19722pub trait Vfmsubadd231phMaskzEmitter<A, B, C> {
19739 fn vfmsubadd231ph_maskz(&mut self, op0: A, op1: B, op2: C);
19740}
19741
19742impl<'a> Vfmsubadd231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19743 fn vfmsubadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19744 self.emit(VFMSUBADD231PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19745 }
19746}
19747
19748impl<'a> Vfmsubadd231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19749 fn vfmsubadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19750 self.emit(VFMSUBADD231PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19751 }
19752}
19753
19754impl<'a> Vfmsubadd231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19755 fn vfmsubadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19756 self.emit(VFMSUBADD231PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19757 }
19758}
19759
19760impl<'a> Vfmsubadd231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19761 fn vfmsubadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19762 self.emit(VFMSUBADD231PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19763 }
19764}
19765
19766impl<'a> Vfmsubadd231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19767 fn vfmsubadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19768 self.emit(VFMSUBADD231PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19769 }
19770}
19771
19772impl<'a> Vfmsubadd231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19773 fn vfmsubadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19774 self.emit(VFMSUBADD231PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19775 }
19776}
19777
19778pub trait Vfmsubadd231phMaskzErEmitter<A, B, C> {
19790 fn vfmsubadd231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
19791}
19792
19793impl<'a> Vfmsubadd231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19794 fn vfmsubadd231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19795 self.emit(VFMSUBADD231PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19796 }
19797}
19798
19799pub trait VfmulcphEmitter<A, B, C> {
19816 fn vfmulcph(&mut self, op0: A, op1: B, op2: C);
19817}
19818
19819impl<'a> VfmulcphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19820 fn vfmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19821 self.emit(VFMULCPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19822 }
19823}
19824
19825impl<'a> VfmulcphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19826 fn vfmulcph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19827 self.emit(VFMULCPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19828 }
19829}
19830
19831impl<'a> VfmulcphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19832 fn vfmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19833 self.emit(VFMULCPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19834 }
19835}
19836
19837impl<'a> VfmulcphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19838 fn vfmulcph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19839 self.emit(VFMULCPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19840 }
19841}
19842
19843impl<'a> VfmulcphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19844 fn vfmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19845 self.emit(VFMULCPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19846 }
19847}
19848
19849impl<'a> VfmulcphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19850 fn vfmulcph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19851 self.emit(VFMULCPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19852 }
19853}
19854
19855pub trait VfmulcphErEmitter<A, B, C> {
19867 fn vfmulcph_er(&mut self, op0: A, op1: B, op2: C);
19868}
19869
19870impl<'a> VfmulcphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19871 fn vfmulcph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19872 self.emit(VFMULCPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19873 }
19874}
19875
19876pub trait VfmulcphMaskEmitter<A, B, C> {
19893 fn vfmulcph_mask(&mut self, op0: A, op1: B, op2: C);
19894}
19895
19896impl<'a> VfmulcphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19897 fn vfmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19898 self.emit(VFMULCPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19899 }
19900}
19901
19902impl<'a> VfmulcphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19903 fn vfmulcph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19904 self.emit(VFMULCPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19905 }
19906}
19907
19908impl<'a> VfmulcphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19909 fn vfmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19910 self.emit(VFMULCPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19911 }
19912}
19913
19914impl<'a> VfmulcphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19915 fn vfmulcph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19916 self.emit(VFMULCPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19917 }
19918}
19919
19920impl<'a> VfmulcphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19921 fn vfmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19922 self.emit(VFMULCPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19923 }
19924}
19925
19926impl<'a> VfmulcphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
19927 fn vfmulcph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
19928 self.emit(VFMULCPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19929 }
19930}
19931
19932pub trait VfmulcphMaskErEmitter<A, B, C> {
19944 fn vfmulcph_mask_er(&mut self, op0: A, op1: B, op2: C);
19945}
19946
19947impl<'a> VfmulcphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19948 fn vfmulcph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19949 self.emit(VFMULCPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19950 }
19951}
19952
19953pub trait VfmulcphMaskzEmitter<A, B, C> {
19970 fn vfmulcph_maskz(&mut self, op0: A, op1: B, op2: C);
19971}
19972
19973impl<'a> VfmulcphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
19974 fn vfmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
19975 self.emit(VFMULCPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19976 }
19977}
19978
19979impl<'a> VfmulcphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
19980 fn vfmulcph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
19981 self.emit(VFMULCPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19982 }
19983}
19984
19985impl<'a> VfmulcphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
19986 fn vfmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
19987 self.emit(VFMULCPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19988 }
19989}
19990
19991impl<'a> VfmulcphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
19992 fn vfmulcph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
19993 self.emit(VFMULCPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
19994 }
19995}
19996
19997impl<'a> VfmulcphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
19998 fn vfmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
19999 self.emit(VFMULCPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20000 }
20001}
20002
20003impl<'a> VfmulcphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20004 fn vfmulcph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20005 self.emit(VFMULCPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20006 }
20007}
20008
20009pub trait VfmulcphMaskzErEmitter<A, B, C> {
20021 fn vfmulcph_maskz_er(&mut self, op0: A, op1: B, op2: C);
20022}
20023
20024impl<'a> VfmulcphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20025 fn vfmulcph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20026 self.emit(VFMULCPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20027 }
20028}
20029
20030pub trait VfmulcshEmitter<A, B, C> {
20043 fn vfmulcsh(&mut self, op0: A, op1: B, op2: C);
20044}
20045
20046impl<'a> VfmulcshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20047 fn vfmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20048 self.emit(VFMULCSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20049 }
20050}
20051
20052impl<'a> VfmulcshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20053 fn vfmulcsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20054 self.emit(VFMULCSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20055 }
20056}
20057
20058pub trait VfmulcshErEmitter<A, B, C> {
20070 fn vfmulcsh_er(&mut self, op0: A, op1: B, op2: C);
20071}
20072
20073impl<'a> VfmulcshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20074 fn vfmulcsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20075 self.emit(VFMULCSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20076 }
20077}
20078
20079pub trait VfmulcshMaskEmitter<A, B, C> {
20092 fn vfmulcsh_mask(&mut self, op0: A, op1: B, op2: C);
20093}
20094
20095impl<'a> VfmulcshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20096 fn vfmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20097 self.emit(VFMULCSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20098 }
20099}
20100
20101impl<'a> VfmulcshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20102 fn vfmulcsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20103 self.emit(VFMULCSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20104 }
20105}
20106
20107pub trait VfmulcshMaskErEmitter<A, B, C> {
20119 fn vfmulcsh_mask_er(&mut self, op0: A, op1: B, op2: C);
20120}
20121
20122impl<'a> VfmulcshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20123 fn vfmulcsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20124 self.emit(VFMULCSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20125 }
20126}
20127
20128pub trait VfmulcshMaskzEmitter<A, B, C> {
20141 fn vfmulcsh_maskz(&mut self, op0: A, op1: B, op2: C);
20142}
20143
20144impl<'a> VfmulcshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20145 fn vfmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20146 self.emit(VFMULCSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20147 }
20148}
20149
20150impl<'a> VfmulcshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20151 fn vfmulcsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20152 self.emit(VFMULCSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20153 }
20154}
20155
20156pub trait VfmulcshMaskzErEmitter<A, B, C> {
20168 fn vfmulcsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
20169}
20170
20171impl<'a> VfmulcshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20172 fn vfmulcsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20173 self.emit(VFMULCSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20174 }
20175}
20176
20177pub trait Vfnmadd132phEmitter<A, B, C> {
20194 fn vfnmadd132ph(&mut self, op0: A, op1: B, op2: C);
20195}
20196
20197impl<'a> Vfnmadd132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20198 fn vfnmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20199 self.emit(VFNMADD132PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20200 }
20201}
20202
20203impl<'a> Vfnmadd132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20204 fn vfnmadd132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20205 self.emit(VFNMADD132PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20206 }
20207}
20208
20209impl<'a> Vfnmadd132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20210 fn vfnmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20211 self.emit(VFNMADD132PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20212 }
20213}
20214
20215impl<'a> Vfnmadd132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20216 fn vfnmadd132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20217 self.emit(VFNMADD132PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20218 }
20219}
20220
20221impl<'a> Vfnmadd132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20222 fn vfnmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20223 self.emit(VFNMADD132PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20224 }
20225}
20226
20227impl<'a> Vfnmadd132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20228 fn vfnmadd132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20229 self.emit(VFNMADD132PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20230 }
20231}
20232
20233pub trait Vfnmadd132phErEmitter<A, B, C> {
20245 fn vfnmadd132ph_er(&mut self, op0: A, op1: B, op2: C);
20246}
20247
20248impl<'a> Vfnmadd132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20249 fn vfnmadd132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20250 self.emit(VFNMADD132PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20251 }
20252}
20253
20254pub trait Vfnmadd132phMaskEmitter<A, B, C> {
20271 fn vfnmadd132ph_mask(&mut self, op0: A, op1: B, op2: C);
20272}
20273
20274impl<'a> Vfnmadd132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20275 fn vfnmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20276 self.emit(VFNMADD132PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20277 }
20278}
20279
20280impl<'a> Vfnmadd132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20281 fn vfnmadd132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20282 self.emit(VFNMADD132PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20283 }
20284}
20285
20286impl<'a> Vfnmadd132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20287 fn vfnmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20288 self.emit(VFNMADD132PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20289 }
20290}
20291
20292impl<'a> Vfnmadd132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20293 fn vfnmadd132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20294 self.emit(VFNMADD132PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20295 }
20296}
20297
20298impl<'a> Vfnmadd132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20299 fn vfnmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20300 self.emit(VFNMADD132PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20301 }
20302}
20303
20304impl<'a> Vfnmadd132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20305 fn vfnmadd132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20306 self.emit(VFNMADD132PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20307 }
20308}
20309
20310pub trait Vfnmadd132phMaskErEmitter<A, B, C> {
20322 fn vfnmadd132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
20323}
20324
20325impl<'a> Vfnmadd132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20326 fn vfnmadd132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20327 self.emit(VFNMADD132PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20328 }
20329}
20330
20331pub trait Vfnmadd132phMaskzEmitter<A, B, C> {
20348 fn vfnmadd132ph_maskz(&mut self, op0: A, op1: B, op2: C);
20349}
20350
20351impl<'a> Vfnmadd132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20352 fn vfnmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20353 self.emit(VFNMADD132PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20354 }
20355}
20356
20357impl<'a> Vfnmadd132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20358 fn vfnmadd132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20359 self.emit(VFNMADD132PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20360 }
20361}
20362
20363impl<'a> Vfnmadd132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20364 fn vfnmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20365 self.emit(VFNMADD132PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20366 }
20367}
20368
20369impl<'a> Vfnmadd132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20370 fn vfnmadd132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20371 self.emit(VFNMADD132PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20372 }
20373}
20374
20375impl<'a> Vfnmadd132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20376 fn vfnmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20377 self.emit(VFNMADD132PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20378 }
20379}
20380
20381impl<'a> Vfnmadd132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20382 fn vfnmadd132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20383 self.emit(VFNMADD132PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20384 }
20385}
20386
20387pub trait Vfnmadd132phMaskzErEmitter<A, B, C> {
20399 fn vfnmadd132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
20400}
20401
20402impl<'a> Vfnmadd132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20403 fn vfnmadd132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20404 self.emit(VFNMADD132PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20405 }
20406}
20407
20408pub trait Vfnmadd132shEmitter<A, B, C> {
20421 fn vfnmadd132sh(&mut self, op0: A, op1: B, op2: C);
20422}
20423
20424impl<'a> Vfnmadd132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20425 fn vfnmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20426 self.emit(VFNMADD132SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20427 }
20428}
20429
20430impl<'a> Vfnmadd132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20431 fn vfnmadd132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20432 self.emit(VFNMADD132SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20433 }
20434}
20435
20436pub trait Vfnmadd132shErEmitter<A, B, C> {
20448 fn vfnmadd132sh_er(&mut self, op0: A, op1: B, op2: C);
20449}
20450
20451impl<'a> Vfnmadd132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20452 fn vfnmadd132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20453 self.emit(VFNMADD132SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20454 }
20455}
20456
20457pub trait Vfnmadd132shMaskEmitter<A, B, C> {
20470 fn vfnmadd132sh_mask(&mut self, op0: A, op1: B, op2: C);
20471}
20472
20473impl<'a> Vfnmadd132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20474 fn vfnmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20475 self.emit(VFNMADD132SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20476 }
20477}
20478
20479impl<'a> Vfnmadd132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20480 fn vfnmadd132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20481 self.emit(VFNMADD132SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20482 }
20483}
20484
20485pub trait Vfnmadd132shMaskErEmitter<A, B, C> {
20497 fn vfnmadd132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
20498}
20499
20500impl<'a> Vfnmadd132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20501 fn vfnmadd132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20502 self.emit(VFNMADD132SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20503 }
20504}
20505
20506pub trait Vfnmadd132shMaskzEmitter<A, B, C> {
20519 fn vfnmadd132sh_maskz(&mut self, op0: A, op1: B, op2: C);
20520}
20521
20522impl<'a> Vfnmadd132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20523 fn vfnmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20524 self.emit(VFNMADD132SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20525 }
20526}
20527
20528impl<'a> Vfnmadd132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20529 fn vfnmadd132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20530 self.emit(VFNMADD132SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20531 }
20532}
20533
20534pub trait Vfnmadd132shMaskzErEmitter<A, B, C> {
20546 fn vfnmadd132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
20547}
20548
20549impl<'a> Vfnmadd132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20550 fn vfnmadd132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20551 self.emit(VFNMADD132SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20552 }
20553}
20554
20555pub trait Vfnmadd213phEmitter<A, B, C> {
20572 fn vfnmadd213ph(&mut self, op0: A, op1: B, op2: C);
20573}
20574
20575impl<'a> Vfnmadd213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20576 fn vfnmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20577 self.emit(VFNMADD213PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20578 }
20579}
20580
20581impl<'a> Vfnmadd213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20582 fn vfnmadd213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20583 self.emit(VFNMADD213PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20584 }
20585}
20586
20587impl<'a> Vfnmadd213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20588 fn vfnmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20589 self.emit(VFNMADD213PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20590 }
20591}
20592
20593impl<'a> Vfnmadd213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20594 fn vfnmadd213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20595 self.emit(VFNMADD213PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20596 }
20597}
20598
20599impl<'a> Vfnmadd213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20600 fn vfnmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20601 self.emit(VFNMADD213PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20602 }
20603}
20604
20605impl<'a> Vfnmadd213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20606 fn vfnmadd213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20607 self.emit(VFNMADD213PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20608 }
20609}
20610
20611pub trait Vfnmadd213phErEmitter<A, B, C> {
20623 fn vfnmadd213ph_er(&mut self, op0: A, op1: B, op2: C);
20624}
20625
20626impl<'a> Vfnmadd213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20627 fn vfnmadd213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20628 self.emit(VFNMADD213PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20629 }
20630}
20631
20632pub trait Vfnmadd213phMaskEmitter<A, B, C> {
20649 fn vfnmadd213ph_mask(&mut self, op0: A, op1: B, op2: C);
20650}
20651
20652impl<'a> Vfnmadd213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20653 fn vfnmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20654 self.emit(VFNMADD213PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20655 }
20656}
20657
20658impl<'a> Vfnmadd213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20659 fn vfnmadd213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20660 self.emit(VFNMADD213PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20661 }
20662}
20663
20664impl<'a> Vfnmadd213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20665 fn vfnmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20666 self.emit(VFNMADD213PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20667 }
20668}
20669
20670impl<'a> Vfnmadd213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20671 fn vfnmadd213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20672 self.emit(VFNMADD213PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20673 }
20674}
20675
20676impl<'a> Vfnmadd213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20677 fn vfnmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20678 self.emit(VFNMADD213PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20679 }
20680}
20681
20682impl<'a> Vfnmadd213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20683 fn vfnmadd213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20684 self.emit(VFNMADD213PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20685 }
20686}
20687
20688pub trait Vfnmadd213phMaskErEmitter<A, B, C> {
20700 fn vfnmadd213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
20701}
20702
20703impl<'a> Vfnmadd213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20704 fn vfnmadd213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20705 self.emit(VFNMADD213PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20706 }
20707}
20708
20709pub trait Vfnmadd213phMaskzEmitter<A, B, C> {
20726 fn vfnmadd213ph_maskz(&mut self, op0: A, op1: B, op2: C);
20727}
20728
20729impl<'a> Vfnmadd213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20730 fn vfnmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20731 self.emit(VFNMADD213PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20732 }
20733}
20734
20735impl<'a> Vfnmadd213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20736 fn vfnmadd213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20737 self.emit(VFNMADD213PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20738 }
20739}
20740
20741impl<'a> Vfnmadd213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20742 fn vfnmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20743 self.emit(VFNMADD213PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20744 }
20745}
20746
20747impl<'a> Vfnmadd213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20748 fn vfnmadd213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20749 self.emit(VFNMADD213PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20750 }
20751}
20752
20753impl<'a> Vfnmadd213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20754 fn vfnmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20755 self.emit(VFNMADD213PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20756 }
20757}
20758
20759impl<'a> Vfnmadd213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20760 fn vfnmadd213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20761 self.emit(VFNMADD213PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20762 }
20763}
20764
20765pub trait Vfnmadd213phMaskzErEmitter<A, B, C> {
20777 fn vfnmadd213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
20778}
20779
20780impl<'a> Vfnmadd213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20781 fn vfnmadd213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20782 self.emit(VFNMADD213PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20783 }
20784}
20785
20786pub trait Vfnmadd213shEmitter<A, B, C> {
20799 fn vfnmadd213sh(&mut self, op0: A, op1: B, op2: C);
20800}
20801
20802impl<'a> Vfnmadd213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20803 fn vfnmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20804 self.emit(VFNMADD213SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20805 }
20806}
20807
20808impl<'a> Vfnmadd213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20809 fn vfnmadd213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20810 self.emit(VFNMADD213SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20811 }
20812}
20813
20814pub trait Vfnmadd213shErEmitter<A, B, C> {
20826 fn vfnmadd213sh_er(&mut self, op0: A, op1: B, op2: C);
20827}
20828
20829impl<'a> Vfnmadd213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20830 fn vfnmadd213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20831 self.emit(VFNMADD213SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20832 }
20833}
20834
20835pub trait Vfnmadd213shMaskEmitter<A, B, C> {
20848 fn vfnmadd213sh_mask(&mut self, op0: A, op1: B, op2: C);
20849}
20850
20851impl<'a> Vfnmadd213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20852 fn vfnmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20853 self.emit(VFNMADD213SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20854 }
20855}
20856
20857impl<'a> Vfnmadd213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20858 fn vfnmadd213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20859 self.emit(VFNMADD213SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20860 }
20861}
20862
20863pub trait Vfnmadd213shMaskErEmitter<A, B, C> {
20875 fn vfnmadd213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
20876}
20877
20878impl<'a> Vfnmadd213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20879 fn vfnmadd213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20880 self.emit(VFNMADD213SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20881 }
20882}
20883
20884pub trait Vfnmadd213shMaskzEmitter<A, B, C> {
20897 fn vfnmadd213sh_maskz(&mut self, op0: A, op1: B, op2: C);
20898}
20899
20900impl<'a> Vfnmadd213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20901 fn vfnmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20902 self.emit(VFNMADD213SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20903 }
20904}
20905
20906impl<'a> Vfnmadd213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20907 fn vfnmadd213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20908 self.emit(VFNMADD213SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20909 }
20910}
20911
20912pub trait Vfnmadd213shMaskzErEmitter<A, B, C> {
20924 fn vfnmadd213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
20925}
20926
20927impl<'a> Vfnmadd213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20928 fn vfnmadd213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20929 self.emit(VFNMADD213SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20930 }
20931}
20932
20933pub trait Vfnmadd231phEmitter<A, B, C> {
20950 fn vfnmadd231ph(&mut self, op0: A, op1: B, op2: C);
20951}
20952
20953impl<'a> Vfnmadd231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
20954 fn vfnmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
20955 self.emit(VFNMADD231PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20956 }
20957}
20958
20959impl<'a> Vfnmadd231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
20960 fn vfnmadd231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
20961 self.emit(VFNMADD231PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20962 }
20963}
20964
20965impl<'a> Vfnmadd231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
20966 fn vfnmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
20967 self.emit(VFNMADD231PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20968 }
20969}
20970
20971impl<'a> Vfnmadd231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
20972 fn vfnmadd231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
20973 self.emit(VFNMADD231PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20974 }
20975}
20976
20977impl<'a> Vfnmadd231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
20978 fn vfnmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
20979 self.emit(VFNMADD231PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20980 }
20981}
20982
20983impl<'a> Vfnmadd231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
20984 fn vfnmadd231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
20985 self.emit(VFNMADD231PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
20986 }
20987}
20988
20989pub trait Vfnmadd231phErEmitter<A, B, C> {
21001 fn vfnmadd231ph_er(&mut self, op0: A, op1: B, op2: C);
21002}
21003
21004impl<'a> Vfnmadd231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21005 fn vfnmadd231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21006 self.emit(VFNMADD231PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21007 }
21008}
21009
21010pub trait Vfnmadd231phMaskEmitter<A, B, C> {
21027 fn vfnmadd231ph_mask(&mut self, op0: A, op1: B, op2: C);
21028}
21029
21030impl<'a> Vfnmadd231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21031 fn vfnmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21032 self.emit(VFNMADD231PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21033 }
21034}
21035
21036impl<'a> Vfnmadd231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21037 fn vfnmadd231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21038 self.emit(VFNMADD231PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21039 }
21040}
21041
21042impl<'a> Vfnmadd231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21043 fn vfnmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21044 self.emit(VFNMADD231PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21045 }
21046}
21047
21048impl<'a> Vfnmadd231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21049 fn vfnmadd231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21050 self.emit(VFNMADD231PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21051 }
21052}
21053
21054impl<'a> Vfnmadd231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21055 fn vfnmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21056 self.emit(VFNMADD231PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21057 }
21058}
21059
21060impl<'a> Vfnmadd231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21061 fn vfnmadd231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21062 self.emit(VFNMADD231PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21063 }
21064}
21065
21066pub trait Vfnmadd231phMaskErEmitter<A, B, C> {
21078 fn vfnmadd231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
21079}
21080
21081impl<'a> Vfnmadd231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21082 fn vfnmadd231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21083 self.emit(VFNMADD231PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21084 }
21085}
21086
21087pub trait Vfnmadd231phMaskzEmitter<A, B, C> {
21104 fn vfnmadd231ph_maskz(&mut self, op0: A, op1: B, op2: C);
21105}
21106
21107impl<'a> Vfnmadd231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21108 fn vfnmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21109 self.emit(VFNMADD231PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21110 }
21111}
21112
21113impl<'a> Vfnmadd231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21114 fn vfnmadd231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21115 self.emit(VFNMADD231PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21116 }
21117}
21118
21119impl<'a> Vfnmadd231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21120 fn vfnmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21121 self.emit(VFNMADD231PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21122 }
21123}
21124
21125impl<'a> Vfnmadd231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21126 fn vfnmadd231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21127 self.emit(VFNMADD231PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21128 }
21129}
21130
21131impl<'a> Vfnmadd231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21132 fn vfnmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21133 self.emit(VFNMADD231PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21134 }
21135}
21136
21137impl<'a> Vfnmadd231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21138 fn vfnmadd231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21139 self.emit(VFNMADD231PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21140 }
21141}
21142
21143pub trait Vfnmadd231phMaskzErEmitter<A, B, C> {
21155 fn vfnmadd231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
21156}
21157
21158impl<'a> Vfnmadd231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21159 fn vfnmadd231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21160 self.emit(VFNMADD231PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21161 }
21162}
21163
21164pub trait Vfnmadd231shEmitter<A, B, C> {
21177 fn vfnmadd231sh(&mut self, op0: A, op1: B, op2: C);
21178}
21179
21180impl<'a> Vfnmadd231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21181 fn vfnmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21182 self.emit(VFNMADD231SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21183 }
21184}
21185
21186impl<'a> Vfnmadd231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21187 fn vfnmadd231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21188 self.emit(VFNMADD231SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21189 }
21190}
21191
21192pub trait Vfnmadd231shErEmitter<A, B, C> {
21204 fn vfnmadd231sh_er(&mut self, op0: A, op1: B, op2: C);
21205}
21206
21207impl<'a> Vfnmadd231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21208 fn vfnmadd231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21209 self.emit(VFNMADD231SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21210 }
21211}
21212
21213pub trait Vfnmadd231shMaskEmitter<A, B, C> {
21226 fn vfnmadd231sh_mask(&mut self, op0: A, op1: B, op2: C);
21227}
21228
21229impl<'a> Vfnmadd231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21230 fn vfnmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21231 self.emit(VFNMADD231SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21232 }
21233}
21234
21235impl<'a> Vfnmadd231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21236 fn vfnmadd231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21237 self.emit(VFNMADD231SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21238 }
21239}
21240
21241pub trait Vfnmadd231shMaskErEmitter<A, B, C> {
21253 fn vfnmadd231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
21254}
21255
21256impl<'a> Vfnmadd231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21257 fn vfnmadd231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21258 self.emit(VFNMADD231SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21259 }
21260}
21261
21262pub trait Vfnmadd231shMaskzEmitter<A, B, C> {
21275 fn vfnmadd231sh_maskz(&mut self, op0: A, op1: B, op2: C);
21276}
21277
21278impl<'a> Vfnmadd231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21279 fn vfnmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21280 self.emit(VFNMADD231SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21281 }
21282}
21283
21284impl<'a> Vfnmadd231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21285 fn vfnmadd231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21286 self.emit(VFNMADD231SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21287 }
21288}
21289
21290pub trait Vfnmadd231shMaskzErEmitter<A, B, C> {
21302 fn vfnmadd231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
21303}
21304
21305impl<'a> Vfnmadd231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21306 fn vfnmadd231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21307 self.emit(VFNMADD231SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21308 }
21309}
21310
21311pub trait Vfnmsub132phEmitter<A, B, C> {
21328 fn vfnmsub132ph(&mut self, op0: A, op1: B, op2: C);
21329}
21330
21331impl<'a> Vfnmsub132phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21332 fn vfnmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21333 self.emit(VFNMSUB132PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21334 }
21335}
21336
21337impl<'a> Vfnmsub132phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21338 fn vfnmsub132ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21339 self.emit(VFNMSUB132PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21340 }
21341}
21342
21343impl<'a> Vfnmsub132phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21344 fn vfnmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21345 self.emit(VFNMSUB132PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21346 }
21347}
21348
21349impl<'a> Vfnmsub132phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21350 fn vfnmsub132ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21351 self.emit(VFNMSUB132PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21352 }
21353}
21354
21355impl<'a> Vfnmsub132phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21356 fn vfnmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21357 self.emit(VFNMSUB132PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21358 }
21359}
21360
21361impl<'a> Vfnmsub132phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21362 fn vfnmsub132ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21363 self.emit(VFNMSUB132PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21364 }
21365}
21366
21367pub trait Vfnmsub132phErEmitter<A, B, C> {
21379 fn vfnmsub132ph_er(&mut self, op0: A, op1: B, op2: C);
21380}
21381
21382impl<'a> Vfnmsub132phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21383 fn vfnmsub132ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21384 self.emit(VFNMSUB132PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21385 }
21386}
21387
21388pub trait Vfnmsub132phMaskEmitter<A, B, C> {
21405 fn vfnmsub132ph_mask(&mut self, op0: A, op1: B, op2: C);
21406}
21407
21408impl<'a> Vfnmsub132phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21409 fn vfnmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21410 self.emit(VFNMSUB132PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21411 }
21412}
21413
21414impl<'a> Vfnmsub132phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21415 fn vfnmsub132ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21416 self.emit(VFNMSUB132PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21417 }
21418}
21419
21420impl<'a> Vfnmsub132phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21421 fn vfnmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21422 self.emit(VFNMSUB132PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21423 }
21424}
21425
21426impl<'a> Vfnmsub132phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21427 fn vfnmsub132ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21428 self.emit(VFNMSUB132PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21429 }
21430}
21431
21432impl<'a> Vfnmsub132phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21433 fn vfnmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21434 self.emit(VFNMSUB132PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21435 }
21436}
21437
21438impl<'a> Vfnmsub132phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21439 fn vfnmsub132ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21440 self.emit(VFNMSUB132PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21441 }
21442}
21443
21444pub trait Vfnmsub132phMaskErEmitter<A, B, C> {
21456 fn vfnmsub132ph_mask_er(&mut self, op0: A, op1: B, op2: C);
21457}
21458
21459impl<'a> Vfnmsub132phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21460 fn vfnmsub132ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21461 self.emit(VFNMSUB132PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21462 }
21463}
21464
21465pub trait Vfnmsub132phMaskzEmitter<A, B, C> {
21482 fn vfnmsub132ph_maskz(&mut self, op0: A, op1: B, op2: C);
21483}
21484
21485impl<'a> Vfnmsub132phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21486 fn vfnmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21487 self.emit(VFNMSUB132PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21488 }
21489}
21490
21491impl<'a> Vfnmsub132phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21492 fn vfnmsub132ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21493 self.emit(VFNMSUB132PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21494 }
21495}
21496
21497impl<'a> Vfnmsub132phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21498 fn vfnmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21499 self.emit(VFNMSUB132PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21500 }
21501}
21502
21503impl<'a> Vfnmsub132phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21504 fn vfnmsub132ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21505 self.emit(VFNMSUB132PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21506 }
21507}
21508
21509impl<'a> Vfnmsub132phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21510 fn vfnmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21511 self.emit(VFNMSUB132PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21512 }
21513}
21514
21515impl<'a> Vfnmsub132phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21516 fn vfnmsub132ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21517 self.emit(VFNMSUB132PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21518 }
21519}
21520
21521pub trait Vfnmsub132phMaskzErEmitter<A, B, C> {
21533 fn vfnmsub132ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
21534}
21535
21536impl<'a> Vfnmsub132phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21537 fn vfnmsub132ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21538 self.emit(VFNMSUB132PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21539 }
21540}
21541
21542pub trait Vfnmsub132shEmitter<A, B, C> {
21555 fn vfnmsub132sh(&mut self, op0: A, op1: B, op2: C);
21556}
21557
21558impl<'a> Vfnmsub132shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21559 fn vfnmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21560 self.emit(VFNMSUB132SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21561 }
21562}
21563
21564impl<'a> Vfnmsub132shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21565 fn vfnmsub132sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21566 self.emit(VFNMSUB132SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21567 }
21568}
21569
21570pub trait Vfnmsub132shErEmitter<A, B, C> {
21582 fn vfnmsub132sh_er(&mut self, op0: A, op1: B, op2: C);
21583}
21584
21585impl<'a> Vfnmsub132shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21586 fn vfnmsub132sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21587 self.emit(VFNMSUB132SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21588 }
21589}
21590
21591pub trait Vfnmsub132shMaskEmitter<A, B, C> {
21604 fn vfnmsub132sh_mask(&mut self, op0: A, op1: B, op2: C);
21605}
21606
21607impl<'a> Vfnmsub132shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21608 fn vfnmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21609 self.emit(VFNMSUB132SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21610 }
21611}
21612
21613impl<'a> Vfnmsub132shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21614 fn vfnmsub132sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21615 self.emit(VFNMSUB132SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21616 }
21617}
21618
21619pub trait Vfnmsub132shMaskErEmitter<A, B, C> {
21631 fn vfnmsub132sh_mask_er(&mut self, op0: A, op1: B, op2: C);
21632}
21633
21634impl<'a> Vfnmsub132shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21635 fn vfnmsub132sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21636 self.emit(VFNMSUB132SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21637 }
21638}
21639
21640pub trait Vfnmsub132shMaskzEmitter<A, B, C> {
21653 fn vfnmsub132sh_maskz(&mut self, op0: A, op1: B, op2: C);
21654}
21655
21656impl<'a> Vfnmsub132shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21657 fn vfnmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21658 self.emit(VFNMSUB132SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21659 }
21660}
21661
21662impl<'a> Vfnmsub132shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21663 fn vfnmsub132sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21664 self.emit(VFNMSUB132SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21665 }
21666}
21667
21668pub trait Vfnmsub132shMaskzErEmitter<A, B, C> {
21680 fn vfnmsub132sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
21681}
21682
21683impl<'a> Vfnmsub132shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21684 fn vfnmsub132sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21685 self.emit(VFNMSUB132SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21686 }
21687}
21688
21689pub trait Vfnmsub213phEmitter<A, B, C> {
21706 fn vfnmsub213ph(&mut self, op0: A, op1: B, op2: C);
21707}
21708
21709impl<'a> Vfnmsub213phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21710 fn vfnmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21711 self.emit(VFNMSUB213PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21712 }
21713}
21714
21715impl<'a> Vfnmsub213phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21716 fn vfnmsub213ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21717 self.emit(VFNMSUB213PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21718 }
21719}
21720
21721impl<'a> Vfnmsub213phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21722 fn vfnmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21723 self.emit(VFNMSUB213PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21724 }
21725}
21726
21727impl<'a> Vfnmsub213phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21728 fn vfnmsub213ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21729 self.emit(VFNMSUB213PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21730 }
21731}
21732
21733impl<'a> Vfnmsub213phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21734 fn vfnmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21735 self.emit(VFNMSUB213PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21736 }
21737}
21738
21739impl<'a> Vfnmsub213phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21740 fn vfnmsub213ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21741 self.emit(VFNMSUB213PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21742 }
21743}
21744
21745pub trait Vfnmsub213phErEmitter<A, B, C> {
21757 fn vfnmsub213ph_er(&mut self, op0: A, op1: B, op2: C);
21758}
21759
21760impl<'a> Vfnmsub213phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21761 fn vfnmsub213ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21762 self.emit(VFNMSUB213PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21763 }
21764}
21765
21766pub trait Vfnmsub213phMaskEmitter<A, B, C> {
21783 fn vfnmsub213ph_mask(&mut self, op0: A, op1: B, op2: C);
21784}
21785
21786impl<'a> Vfnmsub213phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21787 fn vfnmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21788 self.emit(VFNMSUB213PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21789 }
21790}
21791
21792impl<'a> Vfnmsub213phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21793 fn vfnmsub213ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21794 self.emit(VFNMSUB213PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21795 }
21796}
21797
21798impl<'a> Vfnmsub213phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21799 fn vfnmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21800 self.emit(VFNMSUB213PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21801 }
21802}
21803
21804impl<'a> Vfnmsub213phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21805 fn vfnmsub213ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21806 self.emit(VFNMSUB213PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21807 }
21808}
21809
21810impl<'a> Vfnmsub213phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21811 fn vfnmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21812 self.emit(VFNMSUB213PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21813 }
21814}
21815
21816impl<'a> Vfnmsub213phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21817 fn vfnmsub213ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21818 self.emit(VFNMSUB213PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21819 }
21820}
21821
21822pub trait Vfnmsub213phMaskErEmitter<A, B, C> {
21834 fn vfnmsub213ph_mask_er(&mut self, op0: A, op1: B, op2: C);
21835}
21836
21837impl<'a> Vfnmsub213phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21838 fn vfnmsub213ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21839 self.emit(VFNMSUB213PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21840 }
21841}
21842
21843pub trait Vfnmsub213phMaskzEmitter<A, B, C> {
21860 fn vfnmsub213ph_maskz(&mut self, op0: A, op1: B, op2: C);
21861}
21862
21863impl<'a> Vfnmsub213phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21864 fn vfnmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21865 self.emit(VFNMSUB213PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21866 }
21867}
21868
21869impl<'a> Vfnmsub213phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21870 fn vfnmsub213ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21871 self.emit(VFNMSUB213PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21872 }
21873}
21874
21875impl<'a> Vfnmsub213phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
21876 fn vfnmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
21877 self.emit(VFNMSUB213PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21878 }
21879}
21880
21881impl<'a> Vfnmsub213phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
21882 fn vfnmsub213ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
21883 self.emit(VFNMSUB213PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21884 }
21885}
21886
21887impl<'a> Vfnmsub213phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21888 fn vfnmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21889 self.emit(VFNMSUB213PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21890 }
21891}
21892
21893impl<'a> Vfnmsub213phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
21894 fn vfnmsub213ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
21895 self.emit(VFNMSUB213PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21896 }
21897}
21898
21899pub trait Vfnmsub213phMaskzErEmitter<A, B, C> {
21911 fn vfnmsub213ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
21912}
21913
21914impl<'a> Vfnmsub213phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
21915 fn vfnmsub213ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
21916 self.emit(VFNMSUB213PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21917 }
21918}
21919
21920pub trait Vfnmsub213shEmitter<A, B, C> {
21933 fn vfnmsub213sh(&mut self, op0: A, op1: B, op2: C);
21934}
21935
21936impl<'a> Vfnmsub213shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21937 fn vfnmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21938 self.emit(VFNMSUB213SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21939 }
21940}
21941
21942impl<'a> Vfnmsub213shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21943 fn vfnmsub213sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21944 self.emit(VFNMSUB213SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21945 }
21946}
21947
21948pub trait Vfnmsub213shErEmitter<A, B, C> {
21960 fn vfnmsub213sh_er(&mut self, op0: A, op1: B, op2: C);
21961}
21962
21963impl<'a> Vfnmsub213shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21964 fn vfnmsub213sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21965 self.emit(VFNMSUB213SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21966 }
21967}
21968
21969pub trait Vfnmsub213shMaskEmitter<A, B, C> {
21982 fn vfnmsub213sh_mask(&mut self, op0: A, op1: B, op2: C);
21983}
21984
21985impl<'a> Vfnmsub213shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
21986 fn vfnmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
21987 self.emit(VFNMSUB213SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21988 }
21989}
21990
21991impl<'a> Vfnmsub213shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
21992 fn vfnmsub213sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
21993 self.emit(VFNMSUB213SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
21994 }
21995}
21996
21997pub trait Vfnmsub213shMaskErEmitter<A, B, C> {
22009 fn vfnmsub213sh_mask_er(&mut self, op0: A, op1: B, op2: C);
22010}
22011
22012impl<'a> Vfnmsub213shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22013 fn vfnmsub213sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22014 self.emit(VFNMSUB213SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22015 }
22016}
22017
22018pub trait Vfnmsub213shMaskzEmitter<A, B, C> {
22031 fn vfnmsub213sh_maskz(&mut self, op0: A, op1: B, op2: C);
22032}
22033
22034impl<'a> Vfnmsub213shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22035 fn vfnmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22036 self.emit(VFNMSUB213SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22037 }
22038}
22039
22040impl<'a> Vfnmsub213shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22041 fn vfnmsub213sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22042 self.emit(VFNMSUB213SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22043 }
22044}
22045
22046pub trait Vfnmsub213shMaskzErEmitter<A, B, C> {
22058 fn vfnmsub213sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
22059}
22060
22061impl<'a> Vfnmsub213shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22062 fn vfnmsub213sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22063 self.emit(VFNMSUB213SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22064 }
22065}
22066
22067pub trait Vfnmsub231phEmitter<A, B, C> {
22084 fn vfnmsub231ph(&mut self, op0: A, op1: B, op2: C);
22085}
22086
22087impl<'a> Vfnmsub231phEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22088 fn vfnmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22089 self.emit(VFNMSUB231PH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22090 }
22091}
22092
22093impl<'a> Vfnmsub231phEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22094 fn vfnmsub231ph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22095 self.emit(VFNMSUB231PH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22096 }
22097}
22098
22099impl<'a> Vfnmsub231phEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22100 fn vfnmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22101 self.emit(VFNMSUB231PH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22102 }
22103}
22104
22105impl<'a> Vfnmsub231phEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22106 fn vfnmsub231ph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22107 self.emit(VFNMSUB231PH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22108 }
22109}
22110
22111impl<'a> Vfnmsub231phEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22112 fn vfnmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22113 self.emit(VFNMSUB231PH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22114 }
22115}
22116
22117impl<'a> Vfnmsub231phEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22118 fn vfnmsub231ph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22119 self.emit(VFNMSUB231PH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22120 }
22121}
22122
22123pub trait Vfnmsub231phErEmitter<A, B, C> {
22135 fn vfnmsub231ph_er(&mut self, op0: A, op1: B, op2: C);
22136}
22137
22138impl<'a> Vfnmsub231phErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22139 fn vfnmsub231ph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22140 self.emit(VFNMSUB231PH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22141 }
22142}
22143
22144pub trait Vfnmsub231phMaskEmitter<A, B, C> {
22161 fn vfnmsub231ph_mask(&mut self, op0: A, op1: B, op2: C);
22162}
22163
22164impl<'a> Vfnmsub231phMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22165 fn vfnmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22166 self.emit(VFNMSUB231PH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22167 }
22168}
22169
22170impl<'a> Vfnmsub231phMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22171 fn vfnmsub231ph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22172 self.emit(VFNMSUB231PH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22173 }
22174}
22175
22176impl<'a> Vfnmsub231phMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22177 fn vfnmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22178 self.emit(VFNMSUB231PH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22179 }
22180}
22181
22182impl<'a> Vfnmsub231phMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22183 fn vfnmsub231ph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22184 self.emit(VFNMSUB231PH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22185 }
22186}
22187
22188impl<'a> Vfnmsub231phMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22189 fn vfnmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22190 self.emit(VFNMSUB231PH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22191 }
22192}
22193
22194impl<'a> Vfnmsub231phMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22195 fn vfnmsub231ph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22196 self.emit(VFNMSUB231PH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22197 }
22198}
22199
22200pub trait Vfnmsub231phMaskErEmitter<A, B, C> {
22212 fn vfnmsub231ph_mask_er(&mut self, op0: A, op1: B, op2: C);
22213}
22214
22215impl<'a> Vfnmsub231phMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22216 fn vfnmsub231ph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22217 self.emit(VFNMSUB231PH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22218 }
22219}
22220
22221pub trait Vfnmsub231phMaskzEmitter<A, B, C> {
22238 fn vfnmsub231ph_maskz(&mut self, op0: A, op1: B, op2: C);
22239}
22240
22241impl<'a> Vfnmsub231phMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22242 fn vfnmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22243 self.emit(VFNMSUB231PH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22244 }
22245}
22246
22247impl<'a> Vfnmsub231phMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22248 fn vfnmsub231ph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22249 self.emit(VFNMSUB231PH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22250 }
22251}
22252
22253impl<'a> Vfnmsub231phMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
22254 fn vfnmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
22255 self.emit(VFNMSUB231PH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22256 }
22257}
22258
22259impl<'a> Vfnmsub231phMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
22260 fn vfnmsub231ph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
22261 self.emit(VFNMSUB231PH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22262 }
22263}
22264
22265impl<'a> Vfnmsub231phMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22266 fn vfnmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22267 self.emit(VFNMSUB231PH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22268 }
22269}
22270
22271impl<'a> Vfnmsub231phMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
22272 fn vfnmsub231ph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
22273 self.emit(VFNMSUB231PH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22274 }
22275}
22276
22277pub trait Vfnmsub231phMaskzErEmitter<A, B, C> {
22289 fn vfnmsub231ph_maskz_er(&mut self, op0: A, op1: B, op2: C);
22290}
22291
22292impl<'a> Vfnmsub231phMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
22293 fn vfnmsub231ph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
22294 self.emit(VFNMSUB231PH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22295 }
22296}
22297
22298pub trait Vfnmsub231shEmitter<A, B, C> {
22311 fn vfnmsub231sh(&mut self, op0: A, op1: B, op2: C);
22312}
22313
22314impl<'a> Vfnmsub231shEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22315 fn vfnmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22316 self.emit(VFNMSUB231SHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22317 }
22318}
22319
22320impl<'a> Vfnmsub231shEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22321 fn vfnmsub231sh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22322 self.emit(VFNMSUB231SHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22323 }
22324}
22325
22326pub trait Vfnmsub231shErEmitter<A, B, C> {
22338 fn vfnmsub231sh_er(&mut self, op0: A, op1: B, op2: C);
22339}
22340
22341impl<'a> Vfnmsub231shErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22342 fn vfnmsub231sh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22343 self.emit(VFNMSUB231SHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22344 }
22345}
22346
22347pub trait Vfnmsub231shMaskEmitter<A, B, C> {
22360 fn vfnmsub231sh_mask(&mut self, op0: A, op1: B, op2: C);
22361}
22362
22363impl<'a> Vfnmsub231shMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22364 fn vfnmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22365 self.emit(VFNMSUB231SHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22366 }
22367}
22368
22369impl<'a> Vfnmsub231shMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22370 fn vfnmsub231sh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22371 self.emit(VFNMSUB231SHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22372 }
22373}
22374
22375pub trait Vfnmsub231shMaskErEmitter<A, B, C> {
22387 fn vfnmsub231sh_mask_er(&mut self, op0: A, op1: B, op2: C);
22388}
22389
22390impl<'a> Vfnmsub231shMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22391 fn vfnmsub231sh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22392 self.emit(VFNMSUB231SHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22393 }
22394}
22395
22396pub trait Vfnmsub231shMaskzEmitter<A, B, C> {
22409 fn vfnmsub231sh_maskz(&mut self, op0: A, op1: B, op2: C);
22410}
22411
22412impl<'a> Vfnmsub231shMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22413 fn vfnmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22414 self.emit(VFNMSUB231SHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22415 }
22416}
22417
22418impl<'a> Vfnmsub231shMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22419 fn vfnmsub231sh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22420 self.emit(VFNMSUB231SHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22421 }
22422}
22423
22424pub trait Vfnmsub231shMaskzErEmitter<A, B, C> {
22436 fn vfnmsub231sh_maskz_er(&mut self, op0: A, op1: B, op2: C);
22437}
22438
22439impl<'a> Vfnmsub231shMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22440 fn vfnmsub231sh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22441 self.emit(VFNMSUB231SHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22442 }
22443}
22444
22445pub trait VfpclassphEmitter<A, B, C> {
22460 fn vfpclassph(&mut self, op0: A, op1: B, op2: C);
22461}
22462
22463impl<'a> VfpclassphEmitter<KReg, Xmm, Imm> for Assembler<'a> {
22464 fn vfpclassph(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
22465 self.emit(VFPCLASSPH128KRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22466 }
22467}
22468
22469impl<'a> VfpclassphEmitter<KReg, Mem, Imm> for Assembler<'a> {
22470 fn vfpclassph(&mut self, op0: KReg, op1: Mem, op2: Imm) {
22471 self.emit(VFPCLASSPH128KMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22472 }
22473}
22474
22475impl<'a> VfpclassphEmitter<KReg, Ymm, Imm> for Assembler<'a> {
22476 fn vfpclassph(&mut self, op0: KReg, op1: Ymm, op2: Imm) {
22477 self.emit(VFPCLASSPH256KRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22478 }
22479}
22480
22481impl<'a> VfpclassphEmitter<KReg, Zmm, Imm> for Assembler<'a> {
22482 fn vfpclassph(&mut self, op0: KReg, op1: Zmm, op2: Imm) {
22483 self.emit(VFPCLASSPH512KRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22484 }
22485}
22486
22487pub trait VfpclassphMaskEmitter<A, B, C> {
22502 fn vfpclassph_mask(&mut self, op0: A, op1: B, op2: C);
22503}
22504
22505impl<'a> VfpclassphMaskEmitter<KReg, Xmm, Imm> for Assembler<'a> {
22506 fn vfpclassph_mask(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
22507 self.emit(VFPCLASSPH128KRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22508 }
22509}
22510
22511impl<'a> VfpclassphMaskEmitter<KReg, Mem, Imm> for Assembler<'a> {
22512 fn vfpclassph_mask(&mut self, op0: KReg, op1: Mem, op2: Imm) {
22513 self.emit(VFPCLASSPH128KMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22514 }
22515}
22516
22517impl<'a> VfpclassphMaskEmitter<KReg, Ymm, Imm> for Assembler<'a> {
22518 fn vfpclassph_mask(&mut self, op0: KReg, op1: Ymm, op2: Imm) {
22519 self.emit(VFPCLASSPH256KRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22520 }
22521}
22522
22523impl<'a> VfpclassphMaskEmitter<KReg, Zmm, Imm> for Assembler<'a> {
22524 fn vfpclassph_mask(&mut self, op0: KReg, op1: Zmm, op2: Imm) {
22525 self.emit(VFPCLASSPH512KRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22526 }
22527}
22528
22529pub trait VfpclassshEmitter<A, B, C> {
22542 fn vfpclasssh(&mut self, op0: A, op1: B, op2: C);
22543}
22544
22545impl<'a> VfpclassshEmitter<KReg, Xmm, Imm> for Assembler<'a> {
22546 fn vfpclasssh(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
22547 self.emit(VFPCLASSSHKRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22548 }
22549}
22550
22551impl<'a> VfpclassshEmitter<KReg, Mem, Imm> for Assembler<'a> {
22552 fn vfpclasssh(&mut self, op0: KReg, op1: Mem, op2: Imm) {
22553 self.emit(VFPCLASSSHKMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22554 }
22555}
22556
22557pub trait VfpclassshMaskEmitter<A, B, C> {
22570 fn vfpclasssh_mask(&mut self, op0: A, op1: B, op2: C);
22571}
22572
22573impl<'a> VfpclassshMaskEmitter<KReg, Xmm, Imm> for Assembler<'a> {
22574 fn vfpclasssh_mask(&mut self, op0: KReg, op1: Xmm, op2: Imm) {
22575 self.emit(VFPCLASSSHKRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22576 }
22577}
22578
22579impl<'a> VfpclassshMaskEmitter<KReg, Mem, Imm> for Assembler<'a> {
22580 fn vfpclasssh_mask(&mut self, op0: KReg, op1: Mem, op2: Imm) {
22581 self.emit(VFPCLASSSHKMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22582 }
22583}
22584
22585pub trait VgetexpphEmitter<A, B> {
22602 fn vgetexpph(&mut self, op0: A, op1: B);
22603}
22604
22605impl<'a> VgetexpphEmitter<Xmm, Xmm> for Assembler<'a> {
22606 fn vgetexpph(&mut self, op0: Xmm, op1: Xmm) {
22607 self.emit(VGETEXPPH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22608 }
22609}
22610
22611impl<'a> VgetexpphEmitter<Xmm, Mem> for Assembler<'a> {
22612 fn vgetexpph(&mut self, op0: Xmm, op1: Mem) {
22613 self.emit(VGETEXPPH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22614 }
22615}
22616
22617impl<'a> VgetexpphEmitter<Ymm, Ymm> for Assembler<'a> {
22618 fn vgetexpph(&mut self, op0: Ymm, op1: Ymm) {
22619 self.emit(VGETEXPPH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22620 }
22621}
22622
22623impl<'a> VgetexpphEmitter<Ymm, Mem> for Assembler<'a> {
22624 fn vgetexpph(&mut self, op0: Ymm, op1: Mem) {
22625 self.emit(VGETEXPPH256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22626 }
22627}
22628
22629impl<'a> VgetexpphEmitter<Zmm, Zmm> for Assembler<'a> {
22630 fn vgetexpph(&mut self, op0: Zmm, op1: Zmm) {
22631 self.emit(VGETEXPPH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22632 }
22633}
22634
22635impl<'a> VgetexpphEmitter<Zmm, Mem> for Assembler<'a> {
22636 fn vgetexpph(&mut self, op0: Zmm, op1: Mem) {
22637 self.emit(VGETEXPPH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22638 }
22639}
22640
22641pub trait VgetexpphMaskEmitter<A, B> {
22658 fn vgetexpph_mask(&mut self, op0: A, op1: B);
22659}
22660
22661impl<'a> VgetexpphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
22662 fn vgetexpph_mask(&mut self, op0: Xmm, op1: Xmm) {
22663 self.emit(VGETEXPPH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22664 }
22665}
22666
22667impl<'a> VgetexpphMaskEmitter<Xmm, Mem> for Assembler<'a> {
22668 fn vgetexpph_mask(&mut self, op0: Xmm, op1: Mem) {
22669 self.emit(VGETEXPPH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22670 }
22671}
22672
22673impl<'a> VgetexpphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
22674 fn vgetexpph_mask(&mut self, op0: Ymm, op1: Ymm) {
22675 self.emit(VGETEXPPH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22676 }
22677}
22678
22679impl<'a> VgetexpphMaskEmitter<Ymm, Mem> for Assembler<'a> {
22680 fn vgetexpph_mask(&mut self, op0: Ymm, op1: Mem) {
22681 self.emit(VGETEXPPH256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22682 }
22683}
22684
22685impl<'a> VgetexpphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
22686 fn vgetexpph_mask(&mut self, op0: Zmm, op1: Zmm) {
22687 self.emit(VGETEXPPH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22688 }
22689}
22690
22691impl<'a> VgetexpphMaskEmitter<Zmm, Mem> for Assembler<'a> {
22692 fn vgetexpph_mask(&mut self, op0: Zmm, op1: Mem) {
22693 self.emit(VGETEXPPH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22694 }
22695}
22696
22697pub trait VgetexpphMaskSaeEmitter<A, B> {
22709 fn vgetexpph_mask_sae(&mut self, op0: A, op1: B);
22710}
22711
22712impl<'a> VgetexpphMaskSaeEmitter<Zmm, Zmm> for Assembler<'a> {
22713 fn vgetexpph_mask_sae(&mut self, op0: Zmm, op1: Zmm) {
22714 self.emit(VGETEXPPH512RR_MASK_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22715 }
22716}
22717
22718pub trait VgetexpphMaskzEmitter<A, B> {
22735 fn vgetexpph_maskz(&mut self, op0: A, op1: B);
22736}
22737
22738impl<'a> VgetexpphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
22739 fn vgetexpph_maskz(&mut self, op0: Xmm, op1: Xmm) {
22740 self.emit(VGETEXPPH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22741 }
22742}
22743
22744impl<'a> VgetexpphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
22745 fn vgetexpph_maskz(&mut self, op0: Xmm, op1: Mem) {
22746 self.emit(VGETEXPPH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22747 }
22748}
22749
22750impl<'a> VgetexpphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
22751 fn vgetexpph_maskz(&mut self, op0: Ymm, op1: Ymm) {
22752 self.emit(VGETEXPPH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22753 }
22754}
22755
22756impl<'a> VgetexpphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
22757 fn vgetexpph_maskz(&mut self, op0: Ymm, op1: Mem) {
22758 self.emit(VGETEXPPH256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22759 }
22760}
22761
22762impl<'a> VgetexpphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
22763 fn vgetexpph_maskz(&mut self, op0: Zmm, op1: Zmm) {
22764 self.emit(VGETEXPPH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22765 }
22766}
22767
22768impl<'a> VgetexpphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
22769 fn vgetexpph_maskz(&mut self, op0: Zmm, op1: Mem) {
22770 self.emit(VGETEXPPH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22771 }
22772}
22773
22774pub trait VgetexpphMaskzSaeEmitter<A, B> {
22786 fn vgetexpph_maskz_sae(&mut self, op0: A, op1: B);
22787}
22788
22789impl<'a> VgetexpphMaskzSaeEmitter<Zmm, Zmm> for Assembler<'a> {
22790 fn vgetexpph_maskz_sae(&mut self, op0: Zmm, op1: Zmm) {
22791 self.emit(VGETEXPPH512RR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22792 }
22793}
22794
22795pub trait VgetexpphSaeEmitter<A, B> {
22807 fn vgetexpph_sae(&mut self, op0: A, op1: B);
22808}
22809
22810impl<'a> VgetexpphSaeEmitter<Zmm, Zmm> for Assembler<'a> {
22811 fn vgetexpph_sae(&mut self, op0: Zmm, op1: Zmm) {
22812 self.emit(VGETEXPPH512RR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
22813 }
22814}
22815
22816pub trait VgetexpshEmitter<A, B, C> {
22829 fn vgetexpsh(&mut self, op0: A, op1: B, op2: C);
22830}
22831
22832impl<'a> VgetexpshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22833 fn vgetexpsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22834 self.emit(VGETEXPSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22835 }
22836}
22837
22838impl<'a> VgetexpshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22839 fn vgetexpsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22840 self.emit(VGETEXPSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22841 }
22842}
22843
22844pub trait VgetexpshMaskEmitter<A, B, C> {
22857 fn vgetexpsh_mask(&mut self, op0: A, op1: B, op2: C);
22858}
22859
22860impl<'a> VgetexpshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22861 fn vgetexpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22862 self.emit(VGETEXPSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22863 }
22864}
22865
22866impl<'a> VgetexpshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22867 fn vgetexpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22868 self.emit(VGETEXPSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22869 }
22870}
22871
22872pub trait VgetexpshMaskSaeEmitter<A, B, C> {
22884 fn vgetexpsh_mask_sae(&mut self, op0: A, op1: B, op2: C);
22885}
22886
22887impl<'a> VgetexpshMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22888 fn vgetexpsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22889 self.emit(VGETEXPSHRRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22890 }
22891}
22892
22893pub trait VgetexpshMaskzEmitter<A, B, C> {
22906 fn vgetexpsh_maskz(&mut self, op0: A, op1: B, op2: C);
22907}
22908
22909impl<'a> VgetexpshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22910 fn vgetexpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22911 self.emit(VGETEXPSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22912 }
22913}
22914
22915impl<'a> VgetexpshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
22916 fn vgetexpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
22917 self.emit(VGETEXPSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22918 }
22919}
22920
22921pub trait VgetexpshMaskzSaeEmitter<A, B, C> {
22933 fn vgetexpsh_maskz_sae(&mut self, op0: A, op1: B, op2: C);
22934}
22935
22936impl<'a> VgetexpshMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22937 fn vgetexpsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22938 self.emit(VGETEXPSHRRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22939 }
22940}
22941
22942pub trait VgetexpshSaeEmitter<A, B, C> {
22954 fn vgetexpsh_sae(&mut self, op0: A, op1: B, op2: C);
22955}
22956
22957impl<'a> VgetexpshSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
22958 fn vgetexpsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
22959 self.emit(VGETEXPSHRRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22960 }
22961}
22962
22963pub trait VgetmantphEmitter<A, B, C> {
22980 fn vgetmantph(&mut self, op0: A, op1: B, op2: C);
22981}
22982
22983impl<'a> VgetmantphEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
22984 fn vgetmantph(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
22985 self.emit(VGETMANTPH128RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22986 }
22987}
22988
22989impl<'a> VgetmantphEmitter<Xmm, Mem, Imm> for Assembler<'a> {
22990 fn vgetmantph(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
22991 self.emit(VGETMANTPH128RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22992 }
22993}
22994
22995impl<'a> VgetmantphEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
22996 fn vgetmantph(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
22997 self.emit(VGETMANTPH256RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
22998 }
22999}
23000
23001impl<'a> VgetmantphEmitter<Ymm, Mem, Imm> for Assembler<'a> {
23002 fn vgetmantph(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
23003 self.emit(VGETMANTPH256RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23004 }
23005}
23006
23007impl<'a> VgetmantphEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
23008 fn vgetmantph(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
23009 self.emit(VGETMANTPH512RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23010 }
23011}
23012
23013impl<'a> VgetmantphEmitter<Zmm, Mem, Imm> for Assembler<'a> {
23014 fn vgetmantph(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
23015 self.emit(VGETMANTPH512RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23016 }
23017}
23018
23019pub trait VgetmantphMaskEmitter<A, B, C> {
23036 fn vgetmantph_mask(&mut self, op0: A, op1: B, op2: C);
23037}
23038
23039impl<'a> VgetmantphMaskEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
23040 fn vgetmantph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
23041 self.emit(VGETMANTPH128RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23042 }
23043}
23044
23045impl<'a> VgetmantphMaskEmitter<Xmm, Mem, Imm> for Assembler<'a> {
23046 fn vgetmantph_mask(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
23047 self.emit(VGETMANTPH128RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23048 }
23049}
23050
23051impl<'a> VgetmantphMaskEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
23052 fn vgetmantph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
23053 self.emit(VGETMANTPH256RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23054 }
23055}
23056
23057impl<'a> VgetmantphMaskEmitter<Ymm, Mem, Imm> for Assembler<'a> {
23058 fn vgetmantph_mask(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
23059 self.emit(VGETMANTPH256RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23060 }
23061}
23062
23063impl<'a> VgetmantphMaskEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
23064 fn vgetmantph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
23065 self.emit(VGETMANTPH512RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23066 }
23067}
23068
23069impl<'a> VgetmantphMaskEmitter<Zmm, Mem, Imm> for Assembler<'a> {
23070 fn vgetmantph_mask(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
23071 self.emit(VGETMANTPH512RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23072 }
23073}
23074
23075pub trait VgetmantphMaskSaeEmitter<A, B, C> {
23087 fn vgetmantph_mask_sae(&mut self, op0: A, op1: B, op2: C);
23088}
23089
23090impl<'a> VgetmantphMaskSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
23091 fn vgetmantph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
23092 self.emit(VGETMANTPH512RRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23093 }
23094}
23095
23096pub trait VgetmantphMaskzEmitter<A, B, C> {
23113 fn vgetmantph_maskz(&mut self, op0: A, op1: B, op2: C);
23114}
23115
23116impl<'a> VgetmantphMaskzEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
23117 fn vgetmantph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
23118 self.emit(VGETMANTPH128RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23119 }
23120}
23121
23122impl<'a> VgetmantphMaskzEmitter<Xmm, Mem, Imm> for Assembler<'a> {
23123 fn vgetmantph_maskz(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
23124 self.emit(VGETMANTPH128RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23125 }
23126}
23127
23128impl<'a> VgetmantphMaskzEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
23129 fn vgetmantph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
23130 self.emit(VGETMANTPH256RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23131 }
23132}
23133
23134impl<'a> VgetmantphMaskzEmitter<Ymm, Mem, Imm> for Assembler<'a> {
23135 fn vgetmantph_maskz(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
23136 self.emit(VGETMANTPH256RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23137 }
23138}
23139
23140impl<'a> VgetmantphMaskzEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
23141 fn vgetmantph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
23142 self.emit(VGETMANTPH512RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23143 }
23144}
23145
23146impl<'a> VgetmantphMaskzEmitter<Zmm, Mem, Imm> for Assembler<'a> {
23147 fn vgetmantph_maskz(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
23148 self.emit(VGETMANTPH512RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23149 }
23150}
23151
23152pub trait VgetmantphMaskzSaeEmitter<A, B, C> {
23164 fn vgetmantph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
23165}
23166
23167impl<'a> VgetmantphMaskzSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
23168 fn vgetmantph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
23169 self.emit(VGETMANTPH512RRI_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23170 }
23171}
23172
23173pub trait VgetmantphSaeEmitter<A, B, C> {
23185 fn vgetmantph_sae(&mut self, op0: A, op1: B, op2: C);
23186}
23187
23188impl<'a> VgetmantphSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
23189 fn vgetmantph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
23190 self.emit(VGETMANTPH512RRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23191 }
23192}
23193
23194pub trait VgetmantshEmitter<A, B, C, D> {
23207 fn vgetmantsh(&mut self, op0: A, op1: B, op2: C, op3: D);
23208}
23209
23210impl<'a> VgetmantshEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23211 fn vgetmantsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23212 self.emit(VGETMANTSHRRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23213 }
23214}
23215
23216impl<'a> VgetmantshEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23217 fn vgetmantsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23218 self.emit(VGETMANTSHRRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23219 }
23220}
23221
23222pub trait VgetmantshMaskEmitter<A, B, C, D> {
23235 fn vgetmantsh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
23236}
23237
23238impl<'a> VgetmantshMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23239 fn vgetmantsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23240 self.emit(VGETMANTSHRRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23241 }
23242}
23243
23244impl<'a> VgetmantshMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23245 fn vgetmantsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23246 self.emit(VGETMANTSHRRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23247 }
23248}
23249
23250pub trait VgetmantshMaskSaeEmitter<A, B, C, D> {
23262 fn vgetmantsh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
23263}
23264
23265impl<'a> VgetmantshMaskSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23266 fn vgetmantsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23267 self.emit(VGETMANTSHRRRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23268 }
23269}
23270
23271pub trait VgetmantshMaskzEmitter<A, B, C, D> {
23284 fn vgetmantsh_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
23285}
23286
23287impl<'a> VgetmantshMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23288 fn vgetmantsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23289 self.emit(VGETMANTSHRRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23290 }
23291}
23292
23293impl<'a> VgetmantshMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23294 fn vgetmantsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23295 self.emit(VGETMANTSHRRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23296 }
23297}
23298
23299pub trait VgetmantshMaskzSaeEmitter<A, B, C, D> {
23311 fn vgetmantsh_maskz_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
23312}
23313
23314impl<'a> VgetmantshMaskzSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23315 fn vgetmantsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23316 self.emit(VGETMANTSHRRRI_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23317 }
23318}
23319
23320pub trait VgetmantshSaeEmitter<A, B, C, D> {
23332 fn vgetmantsh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
23333}
23334
23335impl<'a> VgetmantshSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23336 fn vgetmantsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23337 self.emit(VGETMANTSHRRRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23338 }
23339}
23340
23341pub trait Vgf2p8affineinvqbEmitter<A, B, C, D> {
23362 fn vgf2p8affineinvqb(&mut self, op0: A, op1: B, op2: C, op3: D);
23363}
23364
23365impl<'a> Vgf2p8affineinvqbEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23366 fn vgf2p8affineinvqb(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23367 self.emit(VGF2P8AFFINEINVQB128RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23368 }
23369}
23370
23371impl<'a> Vgf2p8affineinvqbEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23372 fn vgf2p8affineinvqb(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23373 self.emit(VGF2P8AFFINEINVQB128RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23374 }
23375}
23376
23377impl<'a> Vgf2p8affineinvqbEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
23378 fn vgf2p8affineinvqb(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
23379 self.emit(VGF2P8AFFINEINVQB256RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23380 }
23381}
23382
23383impl<'a> Vgf2p8affineinvqbEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
23384 fn vgf2p8affineinvqb(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
23385 self.emit(VGF2P8AFFINEINVQB256RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23386 }
23387}
23388
23389impl<'a> Vgf2p8affineinvqbEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
23390 fn vgf2p8affineinvqb(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
23391 self.emit(VGF2P8AFFINEINVQB512RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23392 }
23393}
23394
23395impl<'a> Vgf2p8affineinvqbEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
23396 fn vgf2p8affineinvqb(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
23397 self.emit(VGF2P8AFFINEINVQB512RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23398 }
23399}
23400
23401pub trait Vgf2p8affineinvqbMaskEmitter<A, B, C, D> {
23422 fn vgf2p8affineinvqb_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
23423}
23424
23425impl<'a> Vgf2p8affineinvqbMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23426 fn vgf2p8affineinvqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23427 self.emit(VGF2P8AFFINEINVQB128RRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23428 }
23429}
23430
23431impl<'a> Vgf2p8affineinvqbMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23432 fn vgf2p8affineinvqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23433 self.emit(VGF2P8AFFINEINVQB128RRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23434 }
23435}
23436
23437impl<'a> Vgf2p8affineinvqbMaskEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
23438 fn vgf2p8affineinvqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
23439 self.emit(VGF2P8AFFINEINVQB256RRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23440 }
23441}
23442
23443impl<'a> Vgf2p8affineinvqbMaskEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
23444 fn vgf2p8affineinvqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
23445 self.emit(VGF2P8AFFINEINVQB256RRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23446 }
23447}
23448
23449impl<'a> Vgf2p8affineinvqbMaskEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
23450 fn vgf2p8affineinvqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
23451 self.emit(VGF2P8AFFINEINVQB512RRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23452 }
23453}
23454
23455impl<'a> Vgf2p8affineinvqbMaskEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
23456 fn vgf2p8affineinvqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
23457 self.emit(VGF2P8AFFINEINVQB512RRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23458 }
23459}
23460
23461pub trait Vgf2p8affineinvqbMaskzEmitter<A, B, C, D> {
23482 fn vgf2p8affineinvqb_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
23483}
23484
23485impl<'a> Vgf2p8affineinvqbMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23486 fn vgf2p8affineinvqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23487 self.emit(VGF2P8AFFINEINVQB128RRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23488 }
23489}
23490
23491impl<'a> Vgf2p8affineinvqbMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23492 fn vgf2p8affineinvqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23493 self.emit(VGF2P8AFFINEINVQB128RRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23494 }
23495}
23496
23497impl<'a> Vgf2p8affineinvqbMaskzEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
23498 fn vgf2p8affineinvqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
23499 self.emit(VGF2P8AFFINEINVQB256RRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23500 }
23501}
23502
23503impl<'a> Vgf2p8affineinvqbMaskzEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
23504 fn vgf2p8affineinvqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
23505 self.emit(VGF2P8AFFINEINVQB256RRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23506 }
23507}
23508
23509impl<'a> Vgf2p8affineinvqbMaskzEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
23510 fn vgf2p8affineinvqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
23511 self.emit(VGF2P8AFFINEINVQB512RRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23512 }
23513}
23514
23515impl<'a> Vgf2p8affineinvqbMaskzEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
23516 fn vgf2p8affineinvqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
23517 self.emit(VGF2P8AFFINEINVQB512RRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23518 }
23519}
23520
23521pub trait Vgf2p8affineqbEmitter<A, B, C, D> {
23542 fn vgf2p8affineqb(&mut self, op0: A, op1: B, op2: C, op3: D);
23543}
23544
23545impl<'a> Vgf2p8affineqbEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23546 fn vgf2p8affineqb(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23547 self.emit(VGF2P8AFFINEQB128RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23548 }
23549}
23550
23551impl<'a> Vgf2p8affineqbEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23552 fn vgf2p8affineqb(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23553 self.emit(VGF2P8AFFINEQB128RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23554 }
23555}
23556
23557impl<'a> Vgf2p8affineqbEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
23558 fn vgf2p8affineqb(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
23559 self.emit(VGF2P8AFFINEQB256RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23560 }
23561}
23562
23563impl<'a> Vgf2p8affineqbEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
23564 fn vgf2p8affineqb(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
23565 self.emit(VGF2P8AFFINEQB256RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23566 }
23567}
23568
23569impl<'a> Vgf2p8affineqbEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
23570 fn vgf2p8affineqb(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
23571 self.emit(VGF2P8AFFINEQB512RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23572 }
23573}
23574
23575impl<'a> Vgf2p8affineqbEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
23576 fn vgf2p8affineqb(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
23577 self.emit(VGF2P8AFFINEQB512RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23578 }
23579}
23580
23581pub trait Vgf2p8affineqbMaskEmitter<A, B, C, D> {
23602 fn vgf2p8affineqb_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
23603}
23604
23605impl<'a> Vgf2p8affineqbMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23606 fn vgf2p8affineqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23607 self.emit(VGF2P8AFFINEQB128RRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23608 }
23609}
23610
23611impl<'a> Vgf2p8affineqbMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23612 fn vgf2p8affineqb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23613 self.emit(VGF2P8AFFINEQB128RRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23614 }
23615}
23616
23617impl<'a> Vgf2p8affineqbMaskEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
23618 fn vgf2p8affineqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
23619 self.emit(VGF2P8AFFINEQB256RRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23620 }
23621}
23622
23623impl<'a> Vgf2p8affineqbMaskEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
23624 fn vgf2p8affineqb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
23625 self.emit(VGF2P8AFFINEQB256RRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23626 }
23627}
23628
23629impl<'a> Vgf2p8affineqbMaskEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
23630 fn vgf2p8affineqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
23631 self.emit(VGF2P8AFFINEQB512RRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23632 }
23633}
23634
23635impl<'a> Vgf2p8affineqbMaskEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
23636 fn vgf2p8affineqb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
23637 self.emit(VGF2P8AFFINEQB512RRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23638 }
23639}
23640
23641pub trait Vgf2p8affineqbMaskzEmitter<A, B, C, D> {
23662 fn vgf2p8affineqb_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
23663}
23664
23665impl<'a> Vgf2p8affineqbMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
23666 fn vgf2p8affineqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
23667 self.emit(VGF2P8AFFINEQB128RRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23668 }
23669}
23670
23671impl<'a> Vgf2p8affineqbMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
23672 fn vgf2p8affineqb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
23673 self.emit(VGF2P8AFFINEQB128RRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23674 }
23675}
23676
23677impl<'a> Vgf2p8affineqbMaskzEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
23678 fn vgf2p8affineqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
23679 self.emit(VGF2P8AFFINEQB256RRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23680 }
23681}
23682
23683impl<'a> Vgf2p8affineqbMaskzEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
23684 fn vgf2p8affineqb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
23685 self.emit(VGF2P8AFFINEQB256RRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23686 }
23687}
23688
23689impl<'a> Vgf2p8affineqbMaskzEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
23690 fn vgf2p8affineqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
23691 self.emit(VGF2P8AFFINEQB512RRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23692 }
23693}
23694
23695impl<'a> Vgf2p8affineqbMaskzEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
23696 fn vgf2p8affineqb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
23697 self.emit(VGF2P8AFFINEQB512RRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
23698 }
23699}
23700
23701pub trait Vgf2p8mulbEmitter<A, B, C> {
23722 fn vgf2p8mulb(&mut self, op0: A, op1: B, op2: C);
23723}
23724
23725impl<'a> Vgf2p8mulbEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23726 fn vgf2p8mulb(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23727 self.emit(VGF2P8MULB128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23728 }
23729}
23730
23731impl<'a> Vgf2p8mulbEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23732 fn vgf2p8mulb(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23733 self.emit(VGF2P8MULB128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23734 }
23735}
23736
23737impl<'a> Vgf2p8mulbEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23738 fn vgf2p8mulb(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23739 self.emit(VGF2P8MULB256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23740 }
23741}
23742
23743impl<'a> Vgf2p8mulbEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23744 fn vgf2p8mulb(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23745 self.emit(VGF2P8MULB256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23746 }
23747}
23748
23749impl<'a> Vgf2p8mulbEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23750 fn vgf2p8mulb(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23751 self.emit(VGF2P8MULB512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23752 }
23753}
23754
23755impl<'a> Vgf2p8mulbEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23756 fn vgf2p8mulb(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23757 self.emit(VGF2P8MULB512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23758 }
23759}
23760
23761pub trait Vgf2p8mulbMaskEmitter<A, B, C> {
23782 fn vgf2p8mulb_mask(&mut self, op0: A, op1: B, op2: C);
23783}
23784
23785impl<'a> Vgf2p8mulbMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23786 fn vgf2p8mulb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23787 self.emit(VGF2P8MULB128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23788 }
23789}
23790
23791impl<'a> Vgf2p8mulbMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23792 fn vgf2p8mulb_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23793 self.emit(VGF2P8MULB128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23794 }
23795}
23796
23797impl<'a> Vgf2p8mulbMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23798 fn vgf2p8mulb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23799 self.emit(VGF2P8MULB256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23800 }
23801}
23802
23803impl<'a> Vgf2p8mulbMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23804 fn vgf2p8mulb_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23805 self.emit(VGF2P8MULB256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23806 }
23807}
23808
23809impl<'a> Vgf2p8mulbMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23810 fn vgf2p8mulb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23811 self.emit(VGF2P8MULB512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23812 }
23813}
23814
23815impl<'a> Vgf2p8mulbMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23816 fn vgf2p8mulb_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23817 self.emit(VGF2P8MULB512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23818 }
23819}
23820
23821pub trait Vgf2p8mulbMaskzEmitter<A, B, C> {
23842 fn vgf2p8mulb_maskz(&mut self, op0: A, op1: B, op2: C);
23843}
23844
23845impl<'a> Vgf2p8mulbMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23846 fn vgf2p8mulb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23847 self.emit(VGF2P8MULB128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23848 }
23849}
23850
23851impl<'a> Vgf2p8mulbMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23852 fn vgf2p8mulb_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23853 self.emit(VGF2P8MULB128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23854 }
23855}
23856
23857impl<'a> Vgf2p8mulbMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23858 fn vgf2p8mulb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23859 self.emit(VGF2P8MULB256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23860 }
23861}
23862
23863impl<'a> Vgf2p8mulbMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23864 fn vgf2p8mulb_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23865 self.emit(VGF2P8MULB256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23866 }
23867}
23868
23869impl<'a> Vgf2p8mulbMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23870 fn vgf2p8mulb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23871 self.emit(VGF2P8MULB512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23872 }
23873}
23874
23875impl<'a> Vgf2p8mulbMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23876 fn vgf2p8mulb_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23877 self.emit(VGF2P8MULB512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23878 }
23879}
23880
23881pub trait VmaxphEmitter<A, B, C> {
23898 fn vmaxph(&mut self, op0: A, op1: B, op2: C);
23899}
23900
23901impl<'a> VmaxphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23902 fn vmaxph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23903 self.emit(VMAXPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23904 }
23905}
23906
23907impl<'a> VmaxphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23908 fn vmaxph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23909 self.emit(VMAXPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23910 }
23911}
23912
23913impl<'a> VmaxphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23914 fn vmaxph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23915 self.emit(VMAXPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23916 }
23917}
23918
23919impl<'a> VmaxphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23920 fn vmaxph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23921 self.emit(VMAXPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23922 }
23923}
23924
23925impl<'a> VmaxphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23926 fn vmaxph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23927 self.emit(VMAXPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23928 }
23929}
23930
23931impl<'a> VmaxphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23932 fn vmaxph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23933 self.emit(VMAXPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23934 }
23935}
23936
23937pub trait VmaxphMaskEmitter<A, B, C> {
23954 fn vmaxph_mask(&mut self, op0: A, op1: B, op2: C);
23955}
23956
23957impl<'a> VmaxphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
23958 fn vmaxph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
23959 self.emit(VMAXPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23960 }
23961}
23962
23963impl<'a> VmaxphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
23964 fn vmaxph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
23965 self.emit(VMAXPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23966 }
23967}
23968
23969impl<'a> VmaxphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
23970 fn vmaxph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
23971 self.emit(VMAXPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23972 }
23973}
23974
23975impl<'a> VmaxphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
23976 fn vmaxph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
23977 self.emit(VMAXPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23978 }
23979}
23980
23981impl<'a> VmaxphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
23982 fn vmaxph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
23983 self.emit(VMAXPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23984 }
23985}
23986
23987impl<'a> VmaxphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
23988 fn vmaxph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
23989 self.emit(VMAXPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
23990 }
23991}
23992
23993pub trait VmaxphMaskSaeEmitter<A, B, C> {
24005 fn vmaxph_mask_sae(&mut self, op0: A, op1: B, op2: C);
24006}
24007
24008impl<'a> VmaxphMaskSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24009 fn vmaxph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24010 self.emit(VMAXPH512RRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24011 }
24012}
24013
24014pub trait VmaxphMaskzEmitter<A, B, C> {
24031 fn vmaxph_maskz(&mut self, op0: A, op1: B, op2: C);
24032}
24033
24034impl<'a> VmaxphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24035 fn vmaxph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24036 self.emit(VMAXPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24037 }
24038}
24039
24040impl<'a> VmaxphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24041 fn vmaxph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24042 self.emit(VMAXPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24043 }
24044}
24045
24046impl<'a> VmaxphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24047 fn vmaxph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24048 self.emit(VMAXPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24049 }
24050}
24051
24052impl<'a> VmaxphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24053 fn vmaxph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24054 self.emit(VMAXPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24055 }
24056}
24057
24058impl<'a> VmaxphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24059 fn vmaxph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24060 self.emit(VMAXPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24061 }
24062}
24063
24064impl<'a> VmaxphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24065 fn vmaxph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24066 self.emit(VMAXPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24067 }
24068}
24069
24070pub trait VmaxphMaskzSaeEmitter<A, B, C> {
24082 fn vmaxph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
24083}
24084
24085impl<'a> VmaxphMaskzSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24086 fn vmaxph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24087 self.emit(VMAXPH512RRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24088 }
24089}
24090
24091pub trait VmaxphSaeEmitter<A, B, C> {
24103 fn vmaxph_sae(&mut self, op0: A, op1: B, op2: C);
24104}
24105
24106impl<'a> VmaxphSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24107 fn vmaxph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24108 self.emit(VMAXPH512RRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24109 }
24110}
24111
24112pub trait VmaxshEmitter<A, B, C> {
24125 fn vmaxsh(&mut self, op0: A, op1: B, op2: C);
24126}
24127
24128impl<'a> VmaxshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24129 fn vmaxsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24130 self.emit(VMAXSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24131 }
24132}
24133
24134impl<'a> VmaxshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24135 fn vmaxsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24136 self.emit(VMAXSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24137 }
24138}
24139
24140pub trait VmaxshMaskEmitter<A, B, C> {
24153 fn vmaxsh_mask(&mut self, op0: A, op1: B, op2: C);
24154}
24155
24156impl<'a> VmaxshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24157 fn vmaxsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24158 self.emit(VMAXSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24159 }
24160}
24161
24162impl<'a> VmaxshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24163 fn vmaxsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24164 self.emit(VMAXSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24165 }
24166}
24167
24168pub trait VmaxshMaskSaeEmitter<A, B, C> {
24180 fn vmaxsh_mask_sae(&mut self, op0: A, op1: B, op2: C);
24181}
24182
24183impl<'a> VmaxshMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24184 fn vmaxsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24185 self.emit(VMAXSHRRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24186 }
24187}
24188
24189pub trait VmaxshMaskzEmitter<A, B, C> {
24202 fn vmaxsh_maskz(&mut self, op0: A, op1: B, op2: C);
24203}
24204
24205impl<'a> VmaxshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24206 fn vmaxsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24207 self.emit(VMAXSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24208 }
24209}
24210
24211impl<'a> VmaxshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24212 fn vmaxsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24213 self.emit(VMAXSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24214 }
24215}
24216
24217pub trait VmaxshMaskzSaeEmitter<A, B, C> {
24229 fn vmaxsh_maskz_sae(&mut self, op0: A, op1: B, op2: C);
24230}
24231
24232impl<'a> VmaxshMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24233 fn vmaxsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24234 self.emit(VMAXSHRRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24235 }
24236}
24237
24238pub trait VmaxshSaeEmitter<A, B, C> {
24250 fn vmaxsh_sae(&mut self, op0: A, op1: B, op2: C);
24251}
24252
24253impl<'a> VmaxshSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24254 fn vmaxsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24255 self.emit(VMAXSHRRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24256 }
24257}
24258
24259pub trait VminphEmitter<A, B, C> {
24276 fn vminph(&mut self, op0: A, op1: B, op2: C);
24277}
24278
24279impl<'a> VminphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24280 fn vminph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24281 self.emit(VMINPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24282 }
24283}
24284
24285impl<'a> VminphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24286 fn vminph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24287 self.emit(VMINPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24288 }
24289}
24290
24291impl<'a> VminphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24292 fn vminph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24293 self.emit(VMINPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24294 }
24295}
24296
24297impl<'a> VminphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24298 fn vminph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24299 self.emit(VMINPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24300 }
24301}
24302
24303impl<'a> VminphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24304 fn vminph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24305 self.emit(VMINPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24306 }
24307}
24308
24309impl<'a> VminphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24310 fn vminph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24311 self.emit(VMINPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24312 }
24313}
24314
24315pub trait VminphMaskEmitter<A, B, C> {
24332 fn vminph_mask(&mut self, op0: A, op1: B, op2: C);
24333}
24334
24335impl<'a> VminphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24336 fn vminph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24337 self.emit(VMINPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24338 }
24339}
24340
24341impl<'a> VminphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24342 fn vminph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24343 self.emit(VMINPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24344 }
24345}
24346
24347impl<'a> VminphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24348 fn vminph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24349 self.emit(VMINPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24350 }
24351}
24352
24353impl<'a> VminphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24354 fn vminph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24355 self.emit(VMINPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24356 }
24357}
24358
24359impl<'a> VminphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24360 fn vminph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24361 self.emit(VMINPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24362 }
24363}
24364
24365impl<'a> VminphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24366 fn vminph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24367 self.emit(VMINPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24368 }
24369}
24370
24371pub trait VminphMaskSaeEmitter<A, B, C> {
24383 fn vminph_mask_sae(&mut self, op0: A, op1: B, op2: C);
24384}
24385
24386impl<'a> VminphMaskSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24387 fn vminph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24388 self.emit(VMINPH512RRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24389 }
24390}
24391
24392pub trait VminphMaskzEmitter<A, B, C> {
24409 fn vminph_maskz(&mut self, op0: A, op1: B, op2: C);
24410}
24411
24412impl<'a> VminphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24413 fn vminph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24414 self.emit(VMINPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24415 }
24416}
24417
24418impl<'a> VminphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24419 fn vminph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24420 self.emit(VMINPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24421 }
24422}
24423
24424impl<'a> VminphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24425 fn vminph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24426 self.emit(VMINPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24427 }
24428}
24429
24430impl<'a> VminphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24431 fn vminph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24432 self.emit(VMINPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24433 }
24434}
24435
24436impl<'a> VminphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24437 fn vminph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24438 self.emit(VMINPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24439 }
24440}
24441
24442impl<'a> VminphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24443 fn vminph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24444 self.emit(VMINPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24445 }
24446}
24447
24448pub trait VminphMaskzSaeEmitter<A, B, C> {
24460 fn vminph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
24461}
24462
24463impl<'a> VminphMaskzSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24464 fn vminph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24465 self.emit(VMINPH512RRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24466 }
24467}
24468
24469pub trait VminphSaeEmitter<A, B, C> {
24481 fn vminph_sae(&mut self, op0: A, op1: B, op2: C);
24482}
24483
24484impl<'a> VminphSaeEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24485 fn vminph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24486 self.emit(VMINPH512RRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24487 }
24488}
24489
24490pub trait VminshEmitter<A, B, C> {
24503 fn vminsh(&mut self, op0: A, op1: B, op2: C);
24504}
24505
24506impl<'a> VminshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24507 fn vminsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24508 self.emit(VMINSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24509 }
24510}
24511
24512impl<'a> VminshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24513 fn vminsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24514 self.emit(VMINSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24515 }
24516}
24517
24518pub trait VminshMaskEmitter<A, B, C> {
24531 fn vminsh_mask(&mut self, op0: A, op1: B, op2: C);
24532}
24533
24534impl<'a> VminshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24535 fn vminsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24536 self.emit(VMINSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24537 }
24538}
24539
24540impl<'a> VminshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24541 fn vminsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24542 self.emit(VMINSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24543 }
24544}
24545
24546pub trait VminshMaskSaeEmitter<A, B, C> {
24558 fn vminsh_mask_sae(&mut self, op0: A, op1: B, op2: C);
24559}
24560
24561impl<'a> VminshMaskSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24562 fn vminsh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24563 self.emit(VMINSHRRR_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24564 }
24565}
24566
24567pub trait VminshMaskzEmitter<A, B, C> {
24580 fn vminsh_maskz(&mut self, op0: A, op1: B, op2: C);
24581}
24582
24583impl<'a> VminshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24584 fn vminsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24585 self.emit(VMINSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24586 }
24587}
24588
24589impl<'a> VminshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24590 fn vminsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24591 self.emit(VMINSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24592 }
24593}
24594
24595pub trait VminshMaskzSaeEmitter<A, B, C> {
24607 fn vminsh_maskz_sae(&mut self, op0: A, op1: B, op2: C);
24608}
24609
24610impl<'a> VminshMaskzSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24611 fn vminsh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24612 self.emit(VMINSHRRR_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24613 }
24614}
24615
24616pub trait VminshSaeEmitter<A, B, C> {
24628 fn vminsh_sae(&mut self, op0: A, op1: B, op2: C);
24629}
24630
24631impl<'a> VminshSaeEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24632 fn vminsh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24633 self.emit(VMINSHRRR_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24634 }
24635}
24636
24637pub trait VmovshEmitter_2<A, B> {
24650 fn vmovsh_2(&mut self, op0: A, op1: B);
24651}
24652
24653impl<'a> VmovshEmitter_2<Xmm, Mem> for Assembler<'a> {
24654 fn vmovsh_2(&mut self, op0: Xmm, op1: Mem) {
24655 self.emit(VMOVSHRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24656 }
24657}
24658
24659impl<'a> VmovshEmitter_2<Mem, Xmm> for Assembler<'a> {
24660 fn vmovsh_2(&mut self, op0: Mem, op1: Xmm) {
24661 self.emit(VMOVSHMR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24662 }
24663}
24664
24665pub trait VmovshEmitter_3<A, B, C> {
24677 fn vmovsh_3(&mut self, op0: A, op1: B, op2: C);
24678}
24679
24680impl<'a> VmovshEmitter_3<Xmm, Xmm, Xmm> for Assembler<'a> {
24681 fn vmovsh_3(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24682 self.emit(VMOVSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24683 }
24684}
24685
24686pub trait VmovshMaskEmitter_2<A, B> {
24699 fn vmovsh_mask_2(&mut self, op0: A, op1: B);
24700}
24701
24702impl<'a> VmovshMaskEmitter_2<Xmm, Mem> for Assembler<'a> {
24703 fn vmovsh_mask_2(&mut self, op0: Xmm, op1: Mem) {
24704 self.emit(VMOVSHRM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24705 }
24706}
24707
24708impl<'a> VmovshMaskEmitter_2<Mem, Xmm> for Assembler<'a> {
24709 fn vmovsh_mask_2(&mut self, op0: Mem, op1: Xmm) {
24710 self.emit(VMOVSHMR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24711 }
24712}
24713
24714pub trait VmovshMaskEmitter_3<A, B, C> {
24726 fn vmovsh_mask_3(&mut self, op0: A, op1: B, op2: C);
24727}
24728
24729impl<'a> VmovshMaskEmitter_3<Xmm, Xmm, Xmm> for Assembler<'a> {
24730 fn vmovsh_mask_3(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24731 self.emit(VMOVSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24732 }
24733}
24734
24735pub trait VmovshMaskzEmitter_2<A, B> {
24747 fn vmovsh_maskz_2(&mut self, op0: A, op1: B);
24748}
24749
24750impl<'a> VmovshMaskzEmitter_2<Xmm, Mem> for Assembler<'a> {
24751 fn vmovsh_maskz_2(&mut self, op0: Xmm, op1: Mem) {
24752 self.emit(VMOVSHRM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24753 }
24754}
24755
24756pub trait VmovshMaskzEmitter_3<A, B, C> {
24768 fn vmovsh_maskz_3(&mut self, op0: A, op1: B, op2: C);
24769}
24770
24771impl<'a> VmovshMaskzEmitter_3<Xmm, Xmm, Xmm> for Assembler<'a> {
24772 fn vmovsh_maskz_3(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24773 self.emit(VMOVSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24774 }
24775}
24776
24777pub trait VmovwG2xEmitter<A, B> {
24790 fn vmovw_g2x(&mut self, op0: A, op1: B);
24791}
24792
24793impl<'a> VmovwG2xEmitter<Xmm, Gpd> for Assembler<'a> {
24794 fn vmovw_g2x(&mut self, op0: Xmm, op1: Gpd) {
24795 self.emit(VMOVW_G2XRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24796 }
24797}
24798
24799impl<'a> VmovwG2xEmitter<Xmm, Mem> for Assembler<'a> {
24800 fn vmovw_g2x(&mut self, op0: Xmm, op1: Mem) {
24801 self.emit(VMOVW_G2XRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24802 }
24803}
24804
24805pub trait VmovwX2gEmitter<A, B> {
24818 fn vmovw_x2g(&mut self, op0: A, op1: B);
24819}
24820
24821impl<'a> VmovwX2gEmitter<Gpd, Xmm> for Assembler<'a> {
24822 fn vmovw_x2g(&mut self, op0: Gpd, op1: Xmm) {
24823 self.emit(VMOVW_X2GRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24824 }
24825}
24826
24827impl<'a> VmovwX2gEmitter<Mem, Xmm> for Assembler<'a> {
24828 fn vmovw_x2g(&mut self, op0: Mem, op1: Xmm) {
24829 self.emit(VMOVW_X2GMR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
24830 }
24831}
24832
24833pub trait VmulphEmitter<A, B, C> {
24850 fn vmulph(&mut self, op0: A, op1: B, op2: C);
24851}
24852
24853impl<'a> VmulphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24854 fn vmulph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24855 self.emit(VMULPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24856 }
24857}
24858
24859impl<'a> VmulphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24860 fn vmulph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24861 self.emit(VMULPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24862 }
24863}
24864
24865impl<'a> VmulphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24866 fn vmulph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24867 self.emit(VMULPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24868 }
24869}
24870
24871impl<'a> VmulphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24872 fn vmulph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24873 self.emit(VMULPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24874 }
24875}
24876
24877impl<'a> VmulphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24878 fn vmulph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24879 self.emit(VMULPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24880 }
24881}
24882
24883impl<'a> VmulphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24884 fn vmulph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24885 self.emit(VMULPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24886 }
24887}
24888
24889pub trait VmulphErEmitter<A, B, C> {
24901 fn vmulph_er(&mut self, op0: A, op1: B, op2: C);
24902}
24903
24904impl<'a> VmulphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24905 fn vmulph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24906 self.emit(VMULPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24907 }
24908}
24909
24910pub trait VmulphMaskEmitter<A, B, C> {
24927 fn vmulph_mask(&mut self, op0: A, op1: B, op2: C);
24928}
24929
24930impl<'a> VmulphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
24931 fn vmulph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
24932 self.emit(VMULPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24933 }
24934}
24935
24936impl<'a> VmulphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
24937 fn vmulph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
24938 self.emit(VMULPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24939 }
24940}
24941
24942impl<'a> VmulphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
24943 fn vmulph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
24944 self.emit(VMULPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24945 }
24946}
24947
24948impl<'a> VmulphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
24949 fn vmulph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
24950 self.emit(VMULPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24951 }
24952}
24953
24954impl<'a> VmulphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24955 fn vmulph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24956 self.emit(VMULPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24957 }
24958}
24959
24960impl<'a> VmulphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
24961 fn vmulph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
24962 self.emit(VMULPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24963 }
24964}
24965
24966pub trait VmulphMaskErEmitter<A, B, C> {
24978 fn vmulph_mask_er(&mut self, op0: A, op1: B, op2: C);
24979}
24980
24981impl<'a> VmulphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
24982 fn vmulph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
24983 self.emit(VMULPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
24984 }
24985}
24986
24987pub trait VmulphMaskzEmitter<A, B, C> {
25004 fn vmulph_maskz(&mut self, op0: A, op1: B, op2: C);
25005}
25006
25007impl<'a> VmulphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25008 fn vmulph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25009 self.emit(VMULPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25010 }
25011}
25012
25013impl<'a> VmulphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25014 fn vmulph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25015 self.emit(VMULPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25016 }
25017}
25018
25019impl<'a> VmulphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25020 fn vmulph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25021 self.emit(VMULPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25022 }
25023}
25024
25025impl<'a> VmulphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25026 fn vmulph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25027 self.emit(VMULPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25028 }
25029}
25030
25031impl<'a> VmulphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25032 fn vmulph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25033 self.emit(VMULPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25034 }
25035}
25036
25037impl<'a> VmulphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
25038 fn vmulph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
25039 self.emit(VMULPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25040 }
25041}
25042
25043pub trait VmulphMaskzErEmitter<A, B, C> {
25055 fn vmulph_maskz_er(&mut self, op0: A, op1: B, op2: C);
25056}
25057
25058impl<'a> VmulphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
25059 fn vmulph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
25060 self.emit(VMULPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25061 }
25062}
25063
25064pub trait VmulshEmitter<A, B, C> {
25077 fn vmulsh(&mut self, op0: A, op1: B, op2: C);
25078}
25079
25080impl<'a> VmulshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25081 fn vmulsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25082 self.emit(VMULSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25083 }
25084}
25085
25086impl<'a> VmulshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25087 fn vmulsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25088 self.emit(VMULSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25089 }
25090}
25091
25092pub trait VmulshErEmitter<A, B, C> {
25104 fn vmulsh_er(&mut self, op0: A, op1: B, op2: C);
25105}
25106
25107impl<'a> VmulshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25108 fn vmulsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25109 self.emit(VMULSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25110 }
25111}
25112
25113pub trait VmulshMaskEmitter<A, B, C> {
25126 fn vmulsh_mask(&mut self, op0: A, op1: B, op2: C);
25127}
25128
25129impl<'a> VmulshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25130 fn vmulsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25131 self.emit(VMULSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25132 }
25133}
25134
25135impl<'a> VmulshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25136 fn vmulsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25137 self.emit(VMULSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25138 }
25139}
25140
25141pub trait VmulshMaskErEmitter<A, B, C> {
25153 fn vmulsh_mask_er(&mut self, op0: A, op1: B, op2: C);
25154}
25155
25156impl<'a> VmulshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25157 fn vmulsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25158 self.emit(VMULSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25159 }
25160}
25161
25162pub trait VmulshMaskzEmitter<A, B, C> {
25175 fn vmulsh_maskz(&mut self, op0: A, op1: B, op2: C);
25176}
25177
25178impl<'a> VmulshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25179 fn vmulsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25180 self.emit(VMULSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25181 }
25182}
25183
25184impl<'a> VmulshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25185 fn vmulsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25186 self.emit(VMULSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25187 }
25188}
25189
25190pub trait VmulshMaskzErEmitter<A, B, C> {
25202 fn vmulsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
25203}
25204
25205impl<'a> VmulshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25206 fn vmulsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25207 self.emit(VMULSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25208 }
25209}
25210
25211pub trait VpclmulqdqEmitter<A, B, C, D> {
25232 fn vpclmulqdq(&mut self, op0: A, op1: B, op2: C, op3: D);
25233}
25234
25235impl<'a> VpclmulqdqEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
25236 fn vpclmulqdq(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
25237 self.emit(VPCLMULQDQ128RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
25238 }
25239}
25240
25241impl<'a> VpclmulqdqEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
25242 fn vpclmulqdq(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
25243 self.emit(VPCLMULQDQ128RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
25244 }
25245}
25246
25247impl<'a> VpclmulqdqEmitter<Ymm, Ymm, Ymm, Imm> for Assembler<'a> {
25248 fn vpclmulqdq(&mut self, op0: Ymm, op1: Ymm, op2: Ymm, op3: Imm) {
25249 self.emit(VPCLMULQDQ256RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
25250 }
25251}
25252
25253impl<'a> VpclmulqdqEmitter<Ymm, Ymm, Mem, Imm> for Assembler<'a> {
25254 fn vpclmulqdq(&mut self, op0: Ymm, op1: Ymm, op2: Mem, op3: Imm) {
25255 self.emit(VPCLMULQDQ256RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
25256 }
25257}
25258
25259impl<'a> VpclmulqdqEmitter<Zmm, Zmm, Zmm, Imm> for Assembler<'a> {
25260 fn vpclmulqdq(&mut self, op0: Zmm, op1: Zmm, op2: Zmm, op3: Imm) {
25261 self.emit(VPCLMULQDQ512RRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
25262 }
25263}
25264
25265impl<'a> VpclmulqdqEmitter<Zmm, Zmm, Mem, Imm> for Assembler<'a> {
25266 fn vpclmulqdq(&mut self, op0: Zmm, op1: Zmm, op2: Mem, op3: Imm) {
25267 self.emit(VPCLMULQDQ512RRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
25268 }
25269}
25270
25271pub trait VpdpbssdEmitter<A, B, C> {
25286 fn vpdpbssd(&mut self, op0: A, op1: B, op2: C);
25287}
25288
25289impl<'a> VpdpbssdEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25290 fn vpdpbssd(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25291 self.emit(VPDPBSSD128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25292 }
25293}
25294
25295impl<'a> VpdpbssdEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25296 fn vpdpbssd(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25297 self.emit(VPDPBSSD128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25298 }
25299}
25300
25301impl<'a> VpdpbssdEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25302 fn vpdpbssd(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25303 self.emit(VPDPBSSD256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25304 }
25305}
25306
25307impl<'a> VpdpbssdEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25308 fn vpdpbssd(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25309 self.emit(VPDPBSSD256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25310 }
25311}
25312
25313pub trait VpdpbssdsEmitter<A, B, C> {
25328 fn vpdpbssds(&mut self, op0: A, op1: B, op2: C);
25329}
25330
25331impl<'a> VpdpbssdsEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25332 fn vpdpbssds(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25333 self.emit(VPDPBSSDS128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25334 }
25335}
25336
25337impl<'a> VpdpbssdsEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25338 fn vpdpbssds(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25339 self.emit(VPDPBSSDS128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25340 }
25341}
25342
25343impl<'a> VpdpbssdsEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25344 fn vpdpbssds(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25345 self.emit(VPDPBSSDS256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25346 }
25347}
25348
25349impl<'a> VpdpbssdsEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25350 fn vpdpbssds(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25351 self.emit(VPDPBSSDS256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25352 }
25353}
25354
25355pub trait VpdpbsudEmitter<A, B, C> {
25370 fn vpdpbsud(&mut self, op0: A, op1: B, op2: C);
25371}
25372
25373impl<'a> VpdpbsudEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25374 fn vpdpbsud(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25375 self.emit(VPDPBSUD128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25376 }
25377}
25378
25379impl<'a> VpdpbsudEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25380 fn vpdpbsud(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25381 self.emit(VPDPBSUD128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25382 }
25383}
25384
25385impl<'a> VpdpbsudEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25386 fn vpdpbsud(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25387 self.emit(VPDPBSUD256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25388 }
25389}
25390
25391impl<'a> VpdpbsudEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25392 fn vpdpbsud(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25393 self.emit(VPDPBSUD256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25394 }
25395}
25396
25397pub trait VpdpbsudsEmitter<A, B, C> {
25412 fn vpdpbsuds(&mut self, op0: A, op1: B, op2: C);
25413}
25414
25415impl<'a> VpdpbsudsEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25416 fn vpdpbsuds(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25417 self.emit(VPDPBSUDS128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25418 }
25419}
25420
25421impl<'a> VpdpbsudsEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25422 fn vpdpbsuds(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25423 self.emit(VPDPBSUDS128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25424 }
25425}
25426
25427impl<'a> VpdpbsudsEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25428 fn vpdpbsuds(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25429 self.emit(VPDPBSUDS256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25430 }
25431}
25432
25433impl<'a> VpdpbsudsEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25434 fn vpdpbsuds(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25435 self.emit(VPDPBSUDS256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25436 }
25437}
25438
25439pub trait VpdpbuudEmitter<A, B, C> {
25454 fn vpdpbuud(&mut self, op0: A, op1: B, op2: C);
25455}
25456
25457impl<'a> VpdpbuudEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25458 fn vpdpbuud(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25459 self.emit(VPDPBUUD128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25460 }
25461}
25462
25463impl<'a> VpdpbuudEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25464 fn vpdpbuud(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25465 self.emit(VPDPBUUD128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25466 }
25467}
25468
25469impl<'a> VpdpbuudEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25470 fn vpdpbuud(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25471 self.emit(VPDPBUUD256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25472 }
25473}
25474
25475impl<'a> VpdpbuudEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25476 fn vpdpbuud(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25477 self.emit(VPDPBUUD256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25478 }
25479}
25480
25481pub trait VpdpbuudsEmitter<A, B, C> {
25496 fn vpdpbuuds(&mut self, op0: A, op1: B, op2: C);
25497}
25498
25499impl<'a> VpdpbuudsEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25500 fn vpdpbuuds(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25501 self.emit(VPDPBUUDS128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25502 }
25503}
25504
25505impl<'a> VpdpbuudsEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25506 fn vpdpbuuds(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25507 self.emit(VPDPBUUDS128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25508 }
25509}
25510
25511impl<'a> VpdpbuudsEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
25512 fn vpdpbuuds(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
25513 self.emit(VPDPBUUDS256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25514 }
25515}
25516
25517impl<'a> VpdpbuudsEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
25518 fn vpdpbuuds(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
25519 self.emit(VPDPBUUDS256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25520 }
25521}
25522
25523pub trait VrcpphEmitter<A, B> {
25540 fn vrcpph(&mut self, op0: A, op1: B);
25541}
25542
25543impl<'a> VrcpphEmitter<Xmm, Xmm> for Assembler<'a> {
25544 fn vrcpph(&mut self, op0: Xmm, op1: Xmm) {
25545 self.emit(VRCPPH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25546 }
25547}
25548
25549impl<'a> VrcpphEmitter<Xmm, Mem> for Assembler<'a> {
25550 fn vrcpph(&mut self, op0: Xmm, op1: Mem) {
25551 self.emit(VRCPPH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25552 }
25553}
25554
25555impl<'a> VrcpphEmitter<Ymm, Ymm> for Assembler<'a> {
25556 fn vrcpph(&mut self, op0: Ymm, op1: Ymm) {
25557 self.emit(VRCPPH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25558 }
25559}
25560
25561impl<'a> VrcpphEmitter<Ymm, Mem> for Assembler<'a> {
25562 fn vrcpph(&mut self, op0: Ymm, op1: Mem) {
25563 self.emit(VRCPPH256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25564 }
25565}
25566
25567impl<'a> VrcpphEmitter<Zmm, Zmm> for Assembler<'a> {
25568 fn vrcpph(&mut self, op0: Zmm, op1: Zmm) {
25569 self.emit(VRCPPH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25570 }
25571}
25572
25573impl<'a> VrcpphEmitter<Zmm, Mem> for Assembler<'a> {
25574 fn vrcpph(&mut self, op0: Zmm, op1: Mem) {
25575 self.emit(VRCPPH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25576 }
25577}
25578
25579pub trait VrcpphMaskEmitter<A, B> {
25596 fn vrcpph_mask(&mut self, op0: A, op1: B);
25597}
25598
25599impl<'a> VrcpphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
25600 fn vrcpph_mask(&mut self, op0: Xmm, op1: Xmm) {
25601 self.emit(VRCPPH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25602 }
25603}
25604
25605impl<'a> VrcpphMaskEmitter<Xmm, Mem> for Assembler<'a> {
25606 fn vrcpph_mask(&mut self, op0: Xmm, op1: Mem) {
25607 self.emit(VRCPPH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25608 }
25609}
25610
25611impl<'a> VrcpphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
25612 fn vrcpph_mask(&mut self, op0: Ymm, op1: Ymm) {
25613 self.emit(VRCPPH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25614 }
25615}
25616
25617impl<'a> VrcpphMaskEmitter<Ymm, Mem> for Assembler<'a> {
25618 fn vrcpph_mask(&mut self, op0: Ymm, op1: Mem) {
25619 self.emit(VRCPPH256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25620 }
25621}
25622
25623impl<'a> VrcpphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
25624 fn vrcpph_mask(&mut self, op0: Zmm, op1: Zmm) {
25625 self.emit(VRCPPH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25626 }
25627}
25628
25629impl<'a> VrcpphMaskEmitter<Zmm, Mem> for Assembler<'a> {
25630 fn vrcpph_mask(&mut self, op0: Zmm, op1: Mem) {
25631 self.emit(VRCPPH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25632 }
25633}
25634
25635pub trait VrcpphMaskzEmitter<A, B> {
25652 fn vrcpph_maskz(&mut self, op0: A, op1: B);
25653}
25654
25655impl<'a> VrcpphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
25656 fn vrcpph_maskz(&mut self, op0: Xmm, op1: Xmm) {
25657 self.emit(VRCPPH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25658 }
25659}
25660
25661impl<'a> VrcpphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
25662 fn vrcpph_maskz(&mut self, op0: Xmm, op1: Mem) {
25663 self.emit(VRCPPH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25664 }
25665}
25666
25667impl<'a> VrcpphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
25668 fn vrcpph_maskz(&mut self, op0: Ymm, op1: Ymm) {
25669 self.emit(VRCPPH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25670 }
25671}
25672
25673impl<'a> VrcpphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
25674 fn vrcpph_maskz(&mut self, op0: Ymm, op1: Mem) {
25675 self.emit(VRCPPH256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25676 }
25677}
25678
25679impl<'a> VrcpphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
25680 fn vrcpph_maskz(&mut self, op0: Zmm, op1: Zmm) {
25681 self.emit(VRCPPH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25682 }
25683}
25684
25685impl<'a> VrcpphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
25686 fn vrcpph_maskz(&mut self, op0: Zmm, op1: Mem) {
25687 self.emit(VRCPPH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
25688 }
25689}
25690
25691pub trait VrcpshEmitter<A, B, C> {
25704 fn vrcpsh(&mut self, op0: A, op1: B, op2: C);
25705}
25706
25707impl<'a> VrcpshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25708 fn vrcpsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25709 self.emit(VRCPSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25710 }
25711}
25712
25713impl<'a> VrcpshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25714 fn vrcpsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25715 self.emit(VRCPSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25716 }
25717}
25718
25719pub trait VrcpshMaskEmitter<A, B, C> {
25732 fn vrcpsh_mask(&mut self, op0: A, op1: B, op2: C);
25733}
25734
25735impl<'a> VrcpshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25736 fn vrcpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25737 self.emit(VRCPSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25738 }
25739}
25740
25741impl<'a> VrcpshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25742 fn vrcpsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25743 self.emit(VRCPSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25744 }
25745}
25746
25747pub trait VrcpshMaskzEmitter<A, B, C> {
25760 fn vrcpsh_maskz(&mut self, op0: A, op1: B, op2: C);
25761}
25762
25763impl<'a> VrcpshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
25764 fn vrcpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
25765 self.emit(VRCPSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25766 }
25767}
25768
25769impl<'a> VrcpshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
25770 fn vrcpsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
25771 self.emit(VRCPSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25772 }
25773}
25774
25775pub trait VreducephEmitter<A, B, C> {
25792 fn vreduceph(&mut self, op0: A, op1: B, op2: C);
25793}
25794
25795impl<'a> VreducephEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
25796 fn vreduceph(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
25797 self.emit(VREDUCEPH128RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25798 }
25799}
25800
25801impl<'a> VreducephEmitter<Xmm, Mem, Imm> for Assembler<'a> {
25802 fn vreduceph(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
25803 self.emit(VREDUCEPH128RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25804 }
25805}
25806
25807impl<'a> VreducephEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
25808 fn vreduceph(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
25809 self.emit(VREDUCEPH256RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25810 }
25811}
25812
25813impl<'a> VreducephEmitter<Ymm, Mem, Imm> for Assembler<'a> {
25814 fn vreduceph(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
25815 self.emit(VREDUCEPH256RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25816 }
25817}
25818
25819impl<'a> VreducephEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
25820 fn vreduceph(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
25821 self.emit(VREDUCEPH512RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25822 }
25823}
25824
25825impl<'a> VreducephEmitter<Zmm, Mem, Imm> for Assembler<'a> {
25826 fn vreduceph(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
25827 self.emit(VREDUCEPH512RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25828 }
25829}
25830
25831pub trait VreducephMaskEmitter<A, B, C> {
25848 fn vreduceph_mask(&mut self, op0: A, op1: B, op2: C);
25849}
25850
25851impl<'a> VreducephMaskEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
25852 fn vreduceph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
25853 self.emit(VREDUCEPH128RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25854 }
25855}
25856
25857impl<'a> VreducephMaskEmitter<Xmm, Mem, Imm> for Assembler<'a> {
25858 fn vreduceph_mask(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
25859 self.emit(VREDUCEPH128RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25860 }
25861}
25862
25863impl<'a> VreducephMaskEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
25864 fn vreduceph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
25865 self.emit(VREDUCEPH256RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25866 }
25867}
25868
25869impl<'a> VreducephMaskEmitter<Ymm, Mem, Imm> for Assembler<'a> {
25870 fn vreduceph_mask(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
25871 self.emit(VREDUCEPH256RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25872 }
25873}
25874
25875impl<'a> VreducephMaskEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
25876 fn vreduceph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
25877 self.emit(VREDUCEPH512RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25878 }
25879}
25880
25881impl<'a> VreducephMaskEmitter<Zmm, Mem, Imm> for Assembler<'a> {
25882 fn vreduceph_mask(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
25883 self.emit(VREDUCEPH512RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25884 }
25885}
25886
25887pub trait VreducephMaskSaeEmitter<A, B, C> {
25899 fn vreduceph_mask_sae(&mut self, op0: A, op1: B, op2: C);
25900}
25901
25902impl<'a> VreducephMaskSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
25903 fn vreduceph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
25904 self.emit(VREDUCEPH512RRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25905 }
25906}
25907
25908pub trait VreducephMaskzEmitter<A, B, C> {
25925 fn vreduceph_maskz(&mut self, op0: A, op1: B, op2: C);
25926}
25927
25928impl<'a> VreducephMaskzEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
25929 fn vreduceph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
25930 self.emit(VREDUCEPH128RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25931 }
25932}
25933
25934impl<'a> VreducephMaskzEmitter<Xmm, Mem, Imm> for Assembler<'a> {
25935 fn vreduceph_maskz(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
25936 self.emit(VREDUCEPH128RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25937 }
25938}
25939
25940impl<'a> VreducephMaskzEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
25941 fn vreduceph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
25942 self.emit(VREDUCEPH256RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25943 }
25944}
25945
25946impl<'a> VreducephMaskzEmitter<Ymm, Mem, Imm> for Assembler<'a> {
25947 fn vreduceph_maskz(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
25948 self.emit(VREDUCEPH256RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25949 }
25950}
25951
25952impl<'a> VreducephMaskzEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
25953 fn vreduceph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
25954 self.emit(VREDUCEPH512RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25955 }
25956}
25957
25958impl<'a> VreducephMaskzEmitter<Zmm, Mem, Imm> for Assembler<'a> {
25959 fn vreduceph_maskz(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
25960 self.emit(VREDUCEPH512RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25961 }
25962}
25963
25964pub trait VreducephMaskzSaeEmitter<A, B, C> {
25976 fn vreduceph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
25977}
25978
25979impl<'a> VreducephMaskzSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
25980 fn vreduceph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
25981 self.emit(VREDUCEPH512RRI_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
25982 }
25983}
25984
25985pub trait VreducephSaeEmitter<A, B, C> {
25997 fn vreduceph_sae(&mut self, op0: A, op1: B, op2: C);
25998}
25999
26000impl<'a> VreducephSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26001 fn vreduceph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26002 self.emit(VREDUCEPH512RRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26003 }
26004}
26005
26006pub trait VreduceshEmitter<A, B, C, D> {
26019 fn vreducesh(&mut self, op0: A, op1: B, op2: C, op3: D);
26020}
26021
26022impl<'a> VreduceshEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26023 fn vreducesh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26024 self.emit(VREDUCESHRRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26025 }
26026}
26027
26028impl<'a> VreduceshEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
26029 fn vreducesh(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
26030 self.emit(VREDUCESHRRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26031 }
26032}
26033
26034pub trait VreduceshMaskEmitter<A, B, C, D> {
26047 fn vreducesh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
26048}
26049
26050impl<'a> VreduceshMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26051 fn vreducesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26052 self.emit(VREDUCESHRRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26053 }
26054}
26055
26056impl<'a> VreduceshMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
26057 fn vreducesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
26058 self.emit(VREDUCESHRRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26059 }
26060}
26061
26062pub trait VreduceshMaskSaeEmitter<A, B, C, D> {
26074 fn vreducesh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
26075}
26076
26077impl<'a> VreduceshMaskSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26078 fn vreducesh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26079 self.emit(VREDUCESHRRRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26080 }
26081}
26082
26083pub trait VreduceshMaskzEmitter<A, B, C, D> {
26096 fn vreducesh_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
26097}
26098
26099impl<'a> VreduceshMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26100 fn vreducesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26101 self.emit(VREDUCESHRRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26102 }
26103}
26104
26105impl<'a> VreduceshMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
26106 fn vreducesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
26107 self.emit(VREDUCESHRRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26108 }
26109}
26110
26111pub trait VreduceshMaskzSaeEmitter<A, B, C, D> {
26123 fn vreducesh_maskz_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
26124}
26125
26126impl<'a> VreduceshMaskzSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26127 fn vreducesh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26128 self.emit(VREDUCESHRRRI_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26129 }
26130}
26131
26132pub trait VreduceshSaeEmitter<A, B, C, D> {
26144 fn vreducesh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
26145}
26146
26147impl<'a> VreduceshSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26148 fn vreducesh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26149 self.emit(VREDUCESHRRRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26150 }
26151}
26152
26153pub trait VrndscalephEmitter<A, B, C> {
26170 fn vrndscaleph(&mut self, op0: A, op1: B, op2: C);
26171}
26172
26173impl<'a> VrndscalephEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
26174 fn vrndscaleph(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
26175 self.emit(VRNDSCALEPH128RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26176 }
26177}
26178
26179impl<'a> VrndscalephEmitter<Xmm, Mem, Imm> for Assembler<'a> {
26180 fn vrndscaleph(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
26181 self.emit(VRNDSCALEPH128RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26182 }
26183}
26184
26185impl<'a> VrndscalephEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
26186 fn vrndscaleph(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
26187 self.emit(VRNDSCALEPH256RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26188 }
26189}
26190
26191impl<'a> VrndscalephEmitter<Ymm, Mem, Imm> for Assembler<'a> {
26192 fn vrndscaleph(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
26193 self.emit(VRNDSCALEPH256RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26194 }
26195}
26196
26197impl<'a> VrndscalephEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26198 fn vrndscaleph(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26199 self.emit(VRNDSCALEPH512RRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26200 }
26201}
26202
26203impl<'a> VrndscalephEmitter<Zmm, Mem, Imm> for Assembler<'a> {
26204 fn vrndscaleph(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
26205 self.emit(VRNDSCALEPH512RMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26206 }
26207}
26208
26209pub trait VrndscalephMaskEmitter<A, B, C> {
26226 fn vrndscaleph_mask(&mut self, op0: A, op1: B, op2: C);
26227}
26228
26229impl<'a> VrndscalephMaskEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
26230 fn vrndscaleph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
26231 self.emit(VRNDSCALEPH128RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26232 }
26233}
26234
26235impl<'a> VrndscalephMaskEmitter<Xmm, Mem, Imm> for Assembler<'a> {
26236 fn vrndscaleph_mask(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
26237 self.emit(VRNDSCALEPH128RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26238 }
26239}
26240
26241impl<'a> VrndscalephMaskEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
26242 fn vrndscaleph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
26243 self.emit(VRNDSCALEPH256RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26244 }
26245}
26246
26247impl<'a> VrndscalephMaskEmitter<Ymm, Mem, Imm> for Assembler<'a> {
26248 fn vrndscaleph_mask(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
26249 self.emit(VRNDSCALEPH256RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26250 }
26251}
26252
26253impl<'a> VrndscalephMaskEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26254 fn vrndscaleph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26255 self.emit(VRNDSCALEPH512RRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26256 }
26257}
26258
26259impl<'a> VrndscalephMaskEmitter<Zmm, Mem, Imm> for Assembler<'a> {
26260 fn vrndscaleph_mask(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
26261 self.emit(VRNDSCALEPH512RMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26262 }
26263}
26264
26265pub trait VrndscalephMaskSaeEmitter<A, B, C> {
26277 fn vrndscaleph_mask_sae(&mut self, op0: A, op1: B, op2: C);
26278}
26279
26280impl<'a> VrndscalephMaskSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26281 fn vrndscaleph_mask_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26282 self.emit(VRNDSCALEPH512RRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26283 }
26284}
26285
26286pub trait VrndscalephMaskzEmitter<A, B, C> {
26303 fn vrndscaleph_maskz(&mut self, op0: A, op1: B, op2: C);
26304}
26305
26306impl<'a> VrndscalephMaskzEmitter<Xmm, Xmm, Imm> for Assembler<'a> {
26307 fn vrndscaleph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Imm) {
26308 self.emit(VRNDSCALEPH128RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26309 }
26310}
26311
26312impl<'a> VrndscalephMaskzEmitter<Xmm, Mem, Imm> for Assembler<'a> {
26313 fn vrndscaleph_maskz(&mut self, op0: Xmm, op1: Mem, op2: Imm) {
26314 self.emit(VRNDSCALEPH128RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26315 }
26316}
26317
26318impl<'a> VrndscalephMaskzEmitter<Ymm, Ymm, Imm> for Assembler<'a> {
26319 fn vrndscaleph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Imm) {
26320 self.emit(VRNDSCALEPH256RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26321 }
26322}
26323
26324impl<'a> VrndscalephMaskzEmitter<Ymm, Mem, Imm> for Assembler<'a> {
26325 fn vrndscaleph_maskz(&mut self, op0: Ymm, op1: Mem, op2: Imm) {
26326 self.emit(VRNDSCALEPH256RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26327 }
26328}
26329
26330impl<'a> VrndscalephMaskzEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26331 fn vrndscaleph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26332 self.emit(VRNDSCALEPH512RRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26333 }
26334}
26335
26336impl<'a> VrndscalephMaskzEmitter<Zmm, Mem, Imm> for Assembler<'a> {
26337 fn vrndscaleph_maskz(&mut self, op0: Zmm, op1: Mem, op2: Imm) {
26338 self.emit(VRNDSCALEPH512RMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26339 }
26340}
26341
26342pub trait VrndscalephMaskzSaeEmitter<A, B, C> {
26354 fn vrndscaleph_maskz_sae(&mut self, op0: A, op1: B, op2: C);
26355}
26356
26357impl<'a> VrndscalephMaskzSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26358 fn vrndscaleph_maskz_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26359 self.emit(VRNDSCALEPH512RRI_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26360 }
26361}
26362
26363pub trait VrndscalephSaeEmitter<A, B, C> {
26375 fn vrndscaleph_sae(&mut self, op0: A, op1: B, op2: C);
26376}
26377
26378impl<'a> VrndscalephSaeEmitter<Zmm, Zmm, Imm> for Assembler<'a> {
26379 fn vrndscaleph_sae(&mut self, op0: Zmm, op1: Zmm, op2: Imm) {
26380 self.emit(VRNDSCALEPH512RRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26381 }
26382}
26383
26384pub trait VrndscaleshEmitter<A, B, C, D> {
26397 fn vrndscalesh(&mut self, op0: A, op1: B, op2: C, op3: D);
26398}
26399
26400impl<'a> VrndscaleshEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26401 fn vrndscalesh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26402 self.emit(VRNDSCALESHRRRI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26403 }
26404}
26405
26406impl<'a> VrndscaleshEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
26407 fn vrndscalesh(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
26408 self.emit(VRNDSCALESHRRMI, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26409 }
26410}
26411
26412pub trait VrndscaleshMaskEmitter<A, B, C, D> {
26425 fn vrndscalesh_mask(&mut self, op0: A, op1: B, op2: C, op3: D);
26426}
26427
26428impl<'a> VrndscaleshMaskEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26429 fn vrndscalesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26430 self.emit(VRNDSCALESHRRRI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26431 }
26432}
26433
26434impl<'a> VrndscaleshMaskEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
26435 fn vrndscalesh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
26436 self.emit(VRNDSCALESHRRMI_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26437 }
26438}
26439
26440pub trait VrndscaleshMaskSaeEmitter<A, B, C, D> {
26452 fn vrndscalesh_mask_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
26453}
26454
26455impl<'a> VrndscaleshMaskSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26456 fn vrndscalesh_mask_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26457 self.emit(VRNDSCALESHRRRI_MASK_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26458 }
26459}
26460
26461pub trait VrndscaleshMaskzEmitter<A, B, C, D> {
26474 fn vrndscalesh_maskz(&mut self, op0: A, op1: B, op2: C, op3: D);
26475}
26476
26477impl<'a> VrndscaleshMaskzEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26478 fn vrndscalesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26479 self.emit(VRNDSCALESHRRRI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26480 }
26481}
26482
26483impl<'a> VrndscaleshMaskzEmitter<Xmm, Xmm, Mem, Imm> for Assembler<'a> {
26484 fn vrndscalesh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem, op3: Imm) {
26485 self.emit(VRNDSCALESHRRMI_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26486 }
26487}
26488
26489pub trait VrndscaleshMaskzSaeEmitter<A, B, C, D> {
26501 fn vrndscalesh_maskz_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
26502}
26503
26504impl<'a> VrndscaleshMaskzSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26505 fn vrndscalesh_maskz_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26506 self.emit(VRNDSCALESHRRRI_MASKZ_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26507 }
26508}
26509
26510pub trait VrndscaleshSaeEmitter<A, B, C, D> {
26522 fn vrndscalesh_sae(&mut self, op0: A, op1: B, op2: C, op3: D);
26523}
26524
26525impl<'a> VrndscaleshSaeEmitter<Xmm, Xmm, Xmm, Imm> for Assembler<'a> {
26526 fn vrndscalesh_sae(&mut self, op0: Xmm, op1: Xmm, op2: Xmm, op3: Imm) {
26527 self.emit(VRNDSCALESHRRRI_SAE, op0.as_operand(), op1.as_operand(), op2.as_operand(), op3.as_operand());
26528 }
26529}
26530
26531pub trait VrsqrtphEmitter<A, B> {
26548 fn vrsqrtph(&mut self, op0: A, op1: B);
26549}
26550
26551impl<'a> VrsqrtphEmitter<Xmm, Xmm> for Assembler<'a> {
26552 fn vrsqrtph(&mut self, op0: Xmm, op1: Xmm) {
26553 self.emit(VRSQRTPH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26554 }
26555}
26556
26557impl<'a> VrsqrtphEmitter<Xmm, Mem> for Assembler<'a> {
26558 fn vrsqrtph(&mut self, op0: Xmm, op1: Mem) {
26559 self.emit(VRSQRTPH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26560 }
26561}
26562
26563impl<'a> VrsqrtphEmitter<Ymm, Ymm> for Assembler<'a> {
26564 fn vrsqrtph(&mut self, op0: Ymm, op1: Ymm) {
26565 self.emit(VRSQRTPH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26566 }
26567}
26568
26569impl<'a> VrsqrtphEmitter<Ymm, Mem> for Assembler<'a> {
26570 fn vrsqrtph(&mut self, op0: Ymm, op1: Mem) {
26571 self.emit(VRSQRTPH256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26572 }
26573}
26574
26575impl<'a> VrsqrtphEmitter<Zmm, Zmm> for Assembler<'a> {
26576 fn vrsqrtph(&mut self, op0: Zmm, op1: Zmm) {
26577 self.emit(VRSQRTPH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26578 }
26579}
26580
26581impl<'a> VrsqrtphEmitter<Zmm, Mem> for Assembler<'a> {
26582 fn vrsqrtph(&mut self, op0: Zmm, op1: Mem) {
26583 self.emit(VRSQRTPH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26584 }
26585}
26586
26587pub trait VrsqrtphMaskEmitter<A, B> {
26604 fn vrsqrtph_mask(&mut self, op0: A, op1: B);
26605}
26606
26607impl<'a> VrsqrtphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
26608 fn vrsqrtph_mask(&mut self, op0: Xmm, op1: Xmm) {
26609 self.emit(VRSQRTPH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26610 }
26611}
26612
26613impl<'a> VrsqrtphMaskEmitter<Xmm, Mem> for Assembler<'a> {
26614 fn vrsqrtph_mask(&mut self, op0: Xmm, op1: Mem) {
26615 self.emit(VRSQRTPH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26616 }
26617}
26618
26619impl<'a> VrsqrtphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
26620 fn vrsqrtph_mask(&mut self, op0: Ymm, op1: Ymm) {
26621 self.emit(VRSQRTPH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26622 }
26623}
26624
26625impl<'a> VrsqrtphMaskEmitter<Ymm, Mem> for Assembler<'a> {
26626 fn vrsqrtph_mask(&mut self, op0: Ymm, op1: Mem) {
26627 self.emit(VRSQRTPH256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26628 }
26629}
26630
26631impl<'a> VrsqrtphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
26632 fn vrsqrtph_mask(&mut self, op0: Zmm, op1: Zmm) {
26633 self.emit(VRSQRTPH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26634 }
26635}
26636
26637impl<'a> VrsqrtphMaskEmitter<Zmm, Mem> for Assembler<'a> {
26638 fn vrsqrtph_mask(&mut self, op0: Zmm, op1: Mem) {
26639 self.emit(VRSQRTPH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26640 }
26641}
26642
26643pub trait VrsqrtphMaskzEmitter<A, B> {
26660 fn vrsqrtph_maskz(&mut self, op0: A, op1: B);
26661}
26662
26663impl<'a> VrsqrtphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
26664 fn vrsqrtph_maskz(&mut self, op0: Xmm, op1: Xmm) {
26665 self.emit(VRSQRTPH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26666 }
26667}
26668
26669impl<'a> VrsqrtphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
26670 fn vrsqrtph_maskz(&mut self, op0: Xmm, op1: Mem) {
26671 self.emit(VRSQRTPH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26672 }
26673}
26674
26675impl<'a> VrsqrtphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
26676 fn vrsqrtph_maskz(&mut self, op0: Ymm, op1: Ymm) {
26677 self.emit(VRSQRTPH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26678 }
26679}
26680
26681impl<'a> VrsqrtphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
26682 fn vrsqrtph_maskz(&mut self, op0: Ymm, op1: Mem) {
26683 self.emit(VRSQRTPH256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26684 }
26685}
26686
26687impl<'a> VrsqrtphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
26688 fn vrsqrtph_maskz(&mut self, op0: Zmm, op1: Zmm) {
26689 self.emit(VRSQRTPH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26690 }
26691}
26692
26693impl<'a> VrsqrtphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
26694 fn vrsqrtph_maskz(&mut self, op0: Zmm, op1: Mem) {
26695 self.emit(VRSQRTPH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
26696 }
26697}
26698
26699pub trait VrsqrtshEmitter<A, B, C> {
26712 fn vrsqrtsh(&mut self, op0: A, op1: B, op2: C);
26713}
26714
26715impl<'a> VrsqrtshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26716 fn vrsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26717 self.emit(VRSQRTSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26718 }
26719}
26720
26721impl<'a> VrsqrtshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26722 fn vrsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26723 self.emit(VRSQRTSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26724 }
26725}
26726
26727pub trait VrsqrtshMaskEmitter<A, B, C> {
26740 fn vrsqrtsh_mask(&mut self, op0: A, op1: B, op2: C);
26741}
26742
26743impl<'a> VrsqrtshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26744 fn vrsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26745 self.emit(VRSQRTSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26746 }
26747}
26748
26749impl<'a> VrsqrtshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26750 fn vrsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26751 self.emit(VRSQRTSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26752 }
26753}
26754
26755pub trait VrsqrtshMaskzEmitter<A, B, C> {
26768 fn vrsqrtsh_maskz(&mut self, op0: A, op1: B, op2: C);
26769}
26770
26771impl<'a> VrsqrtshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26772 fn vrsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26773 self.emit(VRSQRTSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26774 }
26775}
26776
26777impl<'a> VrsqrtshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26778 fn vrsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26779 self.emit(VRSQRTSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26780 }
26781}
26782
26783pub trait VscalefphEmitter<A, B, C> {
26800 fn vscalefph(&mut self, op0: A, op1: B, op2: C);
26801}
26802
26803impl<'a> VscalefphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26804 fn vscalefph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26805 self.emit(VSCALEFPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26806 }
26807}
26808
26809impl<'a> VscalefphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26810 fn vscalefph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26811 self.emit(VSCALEFPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26812 }
26813}
26814
26815impl<'a> VscalefphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26816 fn vscalefph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26817 self.emit(VSCALEFPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26818 }
26819}
26820
26821impl<'a> VscalefphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26822 fn vscalefph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26823 self.emit(VSCALEFPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26824 }
26825}
26826
26827impl<'a> VscalefphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26828 fn vscalefph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26829 self.emit(VSCALEFPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26830 }
26831}
26832
26833impl<'a> VscalefphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26834 fn vscalefph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26835 self.emit(VSCALEFPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26836 }
26837}
26838
26839pub trait VscalefphErEmitter<A, B, C> {
26851 fn vscalefph_er(&mut self, op0: A, op1: B, op2: C);
26852}
26853
26854impl<'a> VscalefphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26855 fn vscalefph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26856 self.emit(VSCALEFPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26857 }
26858}
26859
26860pub trait VscalefphMaskEmitter<A, B, C> {
26877 fn vscalefph_mask(&mut self, op0: A, op1: B, op2: C);
26878}
26879
26880impl<'a> VscalefphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26881 fn vscalefph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26882 self.emit(VSCALEFPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26883 }
26884}
26885
26886impl<'a> VscalefphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26887 fn vscalefph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26888 self.emit(VSCALEFPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26889 }
26890}
26891
26892impl<'a> VscalefphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26893 fn vscalefph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26894 self.emit(VSCALEFPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26895 }
26896}
26897
26898impl<'a> VscalefphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26899 fn vscalefph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26900 self.emit(VSCALEFPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26901 }
26902}
26903
26904impl<'a> VscalefphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26905 fn vscalefph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26906 self.emit(VSCALEFPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26907 }
26908}
26909
26910impl<'a> VscalefphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26911 fn vscalefph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26912 self.emit(VSCALEFPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26913 }
26914}
26915
26916pub trait VscalefphMaskErEmitter<A, B, C> {
26928 fn vscalefph_mask_er(&mut self, op0: A, op1: B, op2: C);
26929}
26930
26931impl<'a> VscalefphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26932 fn vscalefph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26933 self.emit(VSCALEFPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26934 }
26935}
26936
26937pub trait VscalefphMaskzEmitter<A, B, C> {
26954 fn vscalefph_maskz(&mut self, op0: A, op1: B, op2: C);
26955}
26956
26957impl<'a> VscalefphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
26958 fn vscalefph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
26959 self.emit(VSCALEFPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26960 }
26961}
26962
26963impl<'a> VscalefphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
26964 fn vscalefph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
26965 self.emit(VSCALEFPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26966 }
26967}
26968
26969impl<'a> VscalefphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
26970 fn vscalefph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
26971 self.emit(VSCALEFPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26972 }
26973}
26974
26975impl<'a> VscalefphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
26976 fn vscalefph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
26977 self.emit(VSCALEFPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26978 }
26979}
26980
26981impl<'a> VscalefphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
26982 fn vscalefph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
26983 self.emit(VSCALEFPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26984 }
26985}
26986
26987impl<'a> VscalefphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
26988 fn vscalefph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
26989 self.emit(VSCALEFPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
26990 }
26991}
26992
26993pub trait VscalefphMaskzErEmitter<A, B, C> {
27005 fn vscalefph_maskz_er(&mut self, op0: A, op1: B, op2: C);
27006}
27007
27008impl<'a> VscalefphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27009 fn vscalefph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27010 self.emit(VSCALEFPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27011 }
27012}
27013
27014pub trait VscalefshEmitter<A, B, C> {
27027 fn vscalefsh(&mut self, op0: A, op1: B, op2: C);
27028}
27029
27030impl<'a> VscalefshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27031 fn vscalefsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27032 self.emit(VSCALEFSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27033 }
27034}
27035
27036impl<'a> VscalefshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27037 fn vscalefsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27038 self.emit(VSCALEFSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27039 }
27040}
27041
27042pub trait VscalefshErEmitter<A, B, C> {
27054 fn vscalefsh_er(&mut self, op0: A, op1: B, op2: C);
27055}
27056
27057impl<'a> VscalefshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27058 fn vscalefsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27059 self.emit(VSCALEFSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27060 }
27061}
27062
27063pub trait VscalefshMaskEmitter<A, B, C> {
27076 fn vscalefsh_mask(&mut self, op0: A, op1: B, op2: C);
27077}
27078
27079impl<'a> VscalefshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27080 fn vscalefsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27081 self.emit(VSCALEFSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27082 }
27083}
27084
27085impl<'a> VscalefshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27086 fn vscalefsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27087 self.emit(VSCALEFSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27088 }
27089}
27090
27091pub trait VscalefshMaskErEmitter<A, B, C> {
27103 fn vscalefsh_mask_er(&mut self, op0: A, op1: B, op2: C);
27104}
27105
27106impl<'a> VscalefshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27107 fn vscalefsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27108 self.emit(VSCALEFSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27109 }
27110}
27111
27112pub trait VscalefshMaskzEmitter<A, B, C> {
27125 fn vscalefsh_maskz(&mut self, op0: A, op1: B, op2: C);
27126}
27127
27128impl<'a> VscalefshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27129 fn vscalefsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27130 self.emit(VSCALEFSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27131 }
27132}
27133
27134impl<'a> VscalefshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27135 fn vscalefsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27136 self.emit(VSCALEFSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27137 }
27138}
27139
27140pub trait VscalefshMaskzErEmitter<A, B, C> {
27152 fn vscalefsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
27153}
27154
27155impl<'a> VscalefshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27156 fn vscalefsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27157 self.emit(VSCALEFSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27158 }
27159}
27160
27161pub trait Vsm4key4Emitter<A, B, C> {
27178 fn vsm4key4(&mut self, op0: A, op1: B, op2: C);
27179}
27180
27181impl<'a> Vsm4key4Emitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27182 fn vsm4key4(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27183 self.emit(VSM4KEY4_128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27184 }
27185}
27186
27187impl<'a> Vsm4key4Emitter<Xmm, Xmm, Mem> for Assembler<'a> {
27188 fn vsm4key4(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27189 self.emit(VSM4KEY4_128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27190 }
27191}
27192
27193impl<'a> Vsm4key4Emitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27194 fn vsm4key4(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27195 self.emit(VSM4KEY4_256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27196 }
27197}
27198
27199impl<'a> Vsm4key4Emitter<Ymm, Ymm, Mem> for Assembler<'a> {
27200 fn vsm4key4(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27201 self.emit(VSM4KEY4_256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27202 }
27203}
27204
27205impl<'a> Vsm4key4Emitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27206 fn vsm4key4(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27207 self.emit(VSM4KEY4_512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27208 }
27209}
27210
27211impl<'a> Vsm4key4Emitter<Zmm, Zmm, Mem> for Assembler<'a> {
27212 fn vsm4key4(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27213 self.emit(VSM4KEY4_512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27214 }
27215}
27216
27217pub trait Vsm4rnds4Emitter<A, B, C> {
27234 fn vsm4rnds4(&mut self, op0: A, op1: B, op2: C);
27235}
27236
27237impl<'a> Vsm4rnds4Emitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27238 fn vsm4rnds4(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27239 self.emit(VSM4RNDS4_128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27240 }
27241}
27242
27243impl<'a> Vsm4rnds4Emitter<Xmm, Xmm, Mem> for Assembler<'a> {
27244 fn vsm4rnds4(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27245 self.emit(VSM4RNDS4_128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27246 }
27247}
27248
27249impl<'a> Vsm4rnds4Emitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27250 fn vsm4rnds4(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27251 self.emit(VSM4RNDS4_256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27252 }
27253}
27254
27255impl<'a> Vsm4rnds4Emitter<Ymm, Ymm, Mem> for Assembler<'a> {
27256 fn vsm4rnds4(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27257 self.emit(VSM4RNDS4_256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27258 }
27259}
27260
27261impl<'a> Vsm4rnds4Emitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27262 fn vsm4rnds4(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27263 self.emit(VSM4RNDS4_512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27264 }
27265}
27266
27267impl<'a> Vsm4rnds4Emitter<Zmm, Zmm, Mem> for Assembler<'a> {
27268 fn vsm4rnds4(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27269 self.emit(VSM4RNDS4_512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27270 }
27271}
27272
27273pub trait VsqrtphEmitter<A, B> {
27290 fn vsqrtph(&mut self, op0: A, op1: B);
27291}
27292
27293impl<'a> VsqrtphEmitter<Xmm, Xmm> for Assembler<'a> {
27294 fn vsqrtph(&mut self, op0: Xmm, op1: Xmm) {
27295 self.emit(VSQRTPH128RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27296 }
27297}
27298
27299impl<'a> VsqrtphEmitter<Xmm, Mem> for Assembler<'a> {
27300 fn vsqrtph(&mut self, op0: Xmm, op1: Mem) {
27301 self.emit(VSQRTPH128RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27302 }
27303}
27304
27305impl<'a> VsqrtphEmitter<Ymm, Ymm> for Assembler<'a> {
27306 fn vsqrtph(&mut self, op0: Ymm, op1: Ymm) {
27307 self.emit(VSQRTPH256RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27308 }
27309}
27310
27311impl<'a> VsqrtphEmitter<Ymm, Mem> for Assembler<'a> {
27312 fn vsqrtph(&mut self, op0: Ymm, op1: Mem) {
27313 self.emit(VSQRTPH256RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27314 }
27315}
27316
27317impl<'a> VsqrtphEmitter<Zmm, Zmm> for Assembler<'a> {
27318 fn vsqrtph(&mut self, op0: Zmm, op1: Zmm) {
27319 self.emit(VSQRTPH512RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27320 }
27321}
27322
27323impl<'a> VsqrtphEmitter<Zmm, Mem> for Assembler<'a> {
27324 fn vsqrtph(&mut self, op0: Zmm, op1: Mem) {
27325 self.emit(VSQRTPH512RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27326 }
27327}
27328
27329pub trait VsqrtphErEmitter<A, B> {
27341 fn vsqrtph_er(&mut self, op0: A, op1: B);
27342}
27343
27344impl<'a> VsqrtphErEmitter<Zmm, Zmm> for Assembler<'a> {
27345 fn vsqrtph_er(&mut self, op0: Zmm, op1: Zmm) {
27346 self.emit(VSQRTPH512RR_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27347 }
27348}
27349
27350pub trait VsqrtphMaskEmitter<A, B> {
27367 fn vsqrtph_mask(&mut self, op0: A, op1: B);
27368}
27369
27370impl<'a> VsqrtphMaskEmitter<Xmm, Xmm> for Assembler<'a> {
27371 fn vsqrtph_mask(&mut self, op0: Xmm, op1: Xmm) {
27372 self.emit(VSQRTPH128RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27373 }
27374}
27375
27376impl<'a> VsqrtphMaskEmitter<Xmm, Mem> for Assembler<'a> {
27377 fn vsqrtph_mask(&mut self, op0: Xmm, op1: Mem) {
27378 self.emit(VSQRTPH128RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27379 }
27380}
27381
27382impl<'a> VsqrtphMaskEmitter<Ymm, Ymm> for Assembler<'a> {
27383 fn vsqrtph_mask(&mut self, op0: Ymm, op1: Ymm) {
27384 self.emit(VSQRTPH256RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27385 }
27386}
27387
27388impl<'a> VsqrtphMaskEmitter<Ymm, Mem> for Assembler<'a> {
27389 fn vsqrtph_mask(&mut self, op0: Ymm, op1: Mem) {
27390 self.emit(VSQRTPH256RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27391 }
27392}
27393
27394impl<'a> VsqrtphMaskEmitter<Zmm, Zmm> for Assembler<'a> {
27395 fn vsqrtph_mask(&mut self, op0: Zmm, op1: Zmm) {
27396 self.emit(VSQRTPH512RR_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27397 }
27398}
27399
27400impl<'a> VsqrtphMaskEmitter<Zmm, Mem> for Assembler<'a> {
27401 fn vsqrtph_mask(&mut self, op0: Zmm, op1: Mem) {
27402 self.emit(VSQRTPH512RM_MASK, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27403 }
27404}
27405
27406pub trait VsqrtphMaskErEmitter<A, B> {
27418 fn vsqrtph_mask_er(&mut self, op0: A, op1: B);
27419}
27420
27421impl<'a> VsqrtphMaskErEmitter<Zmm, Zmm> for Assembler<'a> {
27422 fn vsqrtph_mask_er(&mut self, op0: Zmm, op1: Zmm) {
27423 self.emit(VSQRTPH512RR_MASK_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27424 }
27425}
27426
27427pub trait VsqrtphMaskzEmitter<A, B> {
27444 fn vsqrtph_maskz(&mut self, op0: A, op1: B);
27445}
27446
27447impl<'a> VsqrtphMaskzEmitter<Xmm, Xmm> for Assembler<'a> {
27448 fn vsqrtph_maskz(&mut self, op0: Xmm, op1: Xmm) {
27449 self.emit(VSQRTPH128RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27450 }
27451}
27452
27453impl<'a> VsqrtphMaskzEmitter<Xmm, Mem> for Assembler<'a> {
27454 fn vsqrtph_maskz(&mut self, op0: Xmm, op1: Mem) {
27455 self.emit(VSQRTPH128RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27456 }
27457}
27458
27459impl<'a> VsqrtphMaskzEmitter<Ymm, Ymm> for Assembler<'a> {
27460 fn vsqrtph_maskz(&mut self, op0: Ymm, op1: Ymm) {
27461 self.emit(VSQRTPH256RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27462 }
27463}
27464
27465impl<'a> VsqrtphMaskzEmitter<Ymm, Mem> for Assembler<'a> {
27466 fn vsqrtph_maskz(&mut self, op0: Ymm, op1: Mem) {
27467 self.emit(VSQRTPH256RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27468 }
27469}
27470
27471impl<'a> VsqrtphMaskzEmitter<Zmm, Zmm> for Assembler<'a> {
27472 fn vsqrtph_maskz(&mut self, op0: Zmm, op1: Zmm) {
27473 self.emit(VSQRTPH512RR_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27474 }
27475}
27476
27477impl<'a> VsqrtphMaskzEmitter<Zmm, Mem> for Assembler<'a> {
27478 fn vsqrtph_maskz(&mut self, op0: Zmm, op1: Mem) {
27479 self.emit(VSQRTPH512RM_MASKZ, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27480 }
27481}
27482
27483pub trait VsqrtphMaskzErEmitter<A, B> {
27495 fn vsqrtph_maskz_er(&mut self, op0: A, op1: B);
27496}
27497
27498impl<'a> VsqrtphMaskzErEmitter<Zmm, Zmm> for Assembler<'a> {
27499 fn vsqrtph_maskz_er(&mut self, op0: Zmm, op1: Zmm) {
27500 self.emit(VSQRTPH512RR_MASKZ_ER, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
27501 }
27502}
27503
27504pub trait VsqrtshEmitter<A, B, C> {
27517 fn vsqrtsh(&mut self, op0: A, op1: B, op2: C);
27518}
27519
27520impl<'a> VsqrtshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27521 fn vsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27522 self.emit(VSQRTSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27523 }
27524}
27525
27526impl<'a> VsqrtshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27527 fn vsqrtsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27528 self.emit(VSQRTSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27529 }
27530}
27531
27532pub trait VsqrtshErEmitter<A, B, C> {
27544 fn vsqrtsh_er(&mut self, op0: A, op1: B, op2: C);
27545}
27546
27547impl<'a> VsqrtshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27548 fn vsqrtsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27549 self.emit(VSQRTSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27550 }
27551}
27552
27553pub trait VsqrtshMaskEmitter<A, B, C> {
27566 fn vsqrtsh_mask(&mut self, op0: A, op1: B, op2: C);
27567}
27568
27569impl<'a> VsqrtshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27570 fn vsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27571 self.emit(VSQRTSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27572 }
27573}
27574
27575impl<'a> VsqrtshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27576 fn vsqrtsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27577 self.emit(VSQRTSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27578 }
27579}
27580
27581pub trait VsqrtshMaskErEmitter<A, B, C> {
27593 fn vsqrtsh_mask_er(&mut self, op0: A, op1: B, op2: C);
27594}
27595
27596impl<'a> VsqrtshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27597 fn vsqrtsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27598 self.emit(VSQRTSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27599 }
27600}
27601
27602pub trait VsqrtshMaskzEmitter<A, B, C> {
27615 fn vsqrtsh_maskz(&mut self, op0: A, op1: B, op2: C);
27616}
27617
27618impl<'a> VsqrtshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27619 fn vsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27620 self.emit(VSQRTSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27621 }
27622}
27623
27624impl<'a> VsqrtshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27625 fn vsqrtsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27626 self.emit(VSQRTSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27627 }
27628}
27629
27630pub trait VsqrtshMaskzErEmitter<A, B, C> {
27642 fn vsqrtsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
27643}
27644
27645impl<'a> VsqrtshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27646 fn vsqrtsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27647 self.emit(VSQRTSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27648 }
27649}
27650
27651pub trait VsubphEmitter<A, B, C> {
27668 fn vsubph(&mut self, op0: A, op1: B, op2: C);
27669}
27670
27671impl<'a> VsubphEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27672 fn vsubph(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27673 self.emit(VSUBPH128RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27674 }
27675}
27676
27677impl<'a> VsubphEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27678 fn vsubph(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27679 self.emit(VSUBPH128RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27680 }
27681}
27682
27683impl<'a> VsubphEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27684 fn vsubph(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27685 self.emit(VSUBPH256RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27686 }
27687}
27688
27689impl<'a> VsubphEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27690 fn vsubph(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27691 self.emit(VSUBPH256RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27692 }
27693}
27694
27695impl<'a> VsubphEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27696 fn vsubph(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27697 self.emit(VSUBPH512RRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27698 }
27699}
27700
27701impl<'a> VsubphEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27702 fn vsubph(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27703 self.emit(VSUBPH512RRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27704 }
27705}
27706
27707pub trait VsubphErEmitter<A, B, C> {
27719 fn vsubph_er(&mut self, op0: A, op1: B, op2: C);
27720}
27721
27722impl<'a> VsubphErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27723 fn vsubph_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27724 self.emit(VSUBPH512RRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27725 }
27726}
27727
27728pub trait VsubphMaskEmitter<A, B, C> {
27745 fn vsubph_mask(&mut self, op0: A, op1: B, op2: C);
27746}
27747
27748impl<'a> VsubphMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27749 fn vsubph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27750 self.emit(VSUBPH128RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27751 }
27752}
27753
27754impl<'a> VsubphMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27755 fn vsubph_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27756 self.emit(VSUBPH128RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27757 }
27758}
27759
27760impl<'a> VsubphMaskEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27761 fn vsubph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27762 self.emit(VSUBPH256RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27763 }
27764}
27765
27766impl<'a> VsubphMaskEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27767 fn vsubph_mask(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27768 self.emit(VSUBPH256RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27769 }
27770}
27771
27772impl<'a> VsubphMaskEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27773 fn vsubph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27774 self.emit(VSUBPH512RRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27775 }
27776}
27777
27778impl<'a> VsubphMaskEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27779 fn vsubph_mask(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27780 self.emit(VSUBPH512RRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27781 }
27782}
27783
27784pub trait VsubphMaskErEmitter<A, B, C> {
27796 fn vsubph_mask_er(&mut self, op0: A, op1: B, op2: C);
27797}
27798
27799impl<'a> VsubphMaskErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27800 fn vsubph_mask_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27801 self.emit(VSUBPH512RRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27802 }
27803}
27804
27805pub trait VsubphMaskzEmitter<A, B, C> {
27822 fn vsubph_maskz(&mut self, op0: A, op1: B, op2: C);
27823}
27824
27825impl<'a> VsubphMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27826 fn vsubph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27827 self.emit(VSUBPH128RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27828 }
27829}
27830
27831impl<'a> VsubphMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27832 fn vsubph_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27833 self.emit(VSUBPH128RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27834 }
27835}
27836
27837impl<'a> VsubphMaskzEmitter<Ymm, Ymm, Ymm> for Assembler<'a> {
27838 fn vsubph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Ymm) {
27839 self.emit(VSUBPH256RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27840 }
27841}
27842
27843impl<'a> VsubphMaskzEmitter<Ymm, Ymm, Mem> for Assembler<'a> {
27844 fn vsubph_maskz(&mut self, op0: Ymm, op1: Ymm, op2: Mem) {
27845 self.emit(VSUBPH256RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27846 }
27847}
27848
27849impl<'a> VsubphMaskzEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27850 fn vsubph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27851 self.emit(VSUBPH512RRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27852 }
27853}
27854
27855impl<'a> VsubphMaskzEmitter<Zmm, Zmm, Mem> for Assembler<'a> {
27856 fn vsubph_maskz(&mut self, op0: Zmm, op1: Zmm, op2: Mem) {
27857 self.emit(VSUBPH512RRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27858 }
27859}
27860
27861pub trait VsubphMaskzErEmitter<A, B, C> {
27873 fn vsubph_maskz_er(&mut self, op0: A, op1: B, op2: C);
27874}
27875
27876impl<'a> VsubphMaskzErEmitter<Zmm, Zmm, Zmm> for Assembler<'a> {
27877 fn vsubph_maskz_er(&mut self, op0: Zmm, op1: Zmm, op2: Zmm) {
27878 self.emit(VSUBPH512RRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27879 }
27880}
27881
27882pub trait VsubshEmitter<A, B, C> {
27895 fn vsubsh(&mut self, op0: A, op1: B, op2: C);
27896}
27897
27898impl<'a> VsubshEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27899 fn vsubsh(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27900 self.emit(VSUBSHRRR, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27901 }
27902}
27903
27904impl<'a> VsubshEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27905 fn vsubsh(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27906 self.emit(VSUBSHRRM, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27907 }
27908}
27909
27910pub trait VsubshErEmitter<A, B, C> {
27922 fn vsubsh_er(&mut self, op0: A, op1: B, op2: C);
27923}
27924
27925impl<'a> VsubshErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27926 fn vsubsh_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27927 self.emit(VSUBSHRRR_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27928 }
27929}
27930
27931pub trait VsubshMaskEmitter<A, B, C> {
27944 fn vsubsh_mask(&mut self, op0: A, op1: B, op2: C);
27945}
27946
27947impl<'a> VsubshMaskEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27948 fn vsubsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27949 self.emit(VSUBSHRRR_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27950 }
27951}
27952
27953impl<'a> VsubshMaskEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
27954 fn vsubsh_mask(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
27955 self.emit(VSUBSHRRM_MASK, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27956 }
27957}
27958
27959pub trait VsubshMaskErEmitter<A, B, C> {
27971 fn vsubsh_mask_er(&mut self, op0: A, op1: B, op2: C);
27972}
27973
27974impl<'a> VsubshMaskErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27975 fn vsubsh_mask_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27976 self.emit(VSUBSHRRR_MASK_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27977 }
27978}
27979
27980pub trait VsubshMaskzEmitter<A, B, C> {
27993 fn vsubsh_maskz(&mut self, op0: A, op1: B, op2: C);
27994}
27995
27996impl<'a> VsubshMaskzEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
27997 fn vsubsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
27998 self.emit(VSUBSHRRR_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
27999 }
28000}
28001
28002impl<'a> VsubshMaskzEmitter<Xmm, Xmm, Mem> for Assembler<'a> {
28003 fn vsubsh_maskz(&mut self, op0: Xmm, op1: Xmm, op2: Mem) {
28004 self.emit(VSUBSHRRM_MASKZ, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
28005 }
28006}
28007
28008pub trait VsubshMaskzErEmitter<A, B, C> {
28020 fn vsubsh_maskz_er(&mut self, op0: A, op1: B, op2: C);
28021}
28022
28023impl<'a> VsubshMaskzErEmitter<Xmm, Xmm, Xmm> for Assembler<'a> {
28024 fn vsubsh_maskz_er(&mut self, op0: Xmm, op1: Xmm, op2: Xmm) {
28025 self.emit(VSUBSHRRR_MASKZ_ER, op0.as_operand(), op1.as_operand(), op2.as_operand(), &NOREG);
28026 }
28027}
28028
28029pub trait VucomishEmitter<A, B> {
28042 fn vucomish(&mut self, op0: A, op1: B);
28043}
28044
28045impl<'a> VucomishEmitter<Xmm, Xmm> for Assembler<'a> {
28046 fn vucomish(&mut self, op0: Xmm, op1: Xmm) {
28047 self.emit(VUCOMISHRR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28048 }
28049}
28050
28051impl<'a> VucomishEmitter<Xmm, Mem> for Assembler<'a> {
28052 fn vucomish(&mut self, op0: Xmm, op1: Mem) {
28053 self.emit(VUCOMISHRM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28054 }
28055}
28056
28057pub trait VucomishSaeEmitter<A, B> {
28069 fn vucomish_sae(&mut self, op0: A, op1: B);
28070}
28071
28072impl<'a> VucomishSaeEmitter<Xmm, Xmm> for Assembler<'a> {
28073 fn vucomish_sae(&mut self, op0: Xmm, op1: Xmm) {
28074 self.emit(VUCOMISHRR_SAE, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28075 }
28076}
28077
28078pub trait XchgEmitter<A, B> {
28101 fn xchg(&mut self, op0: A, op1: B);
28102}
28103
28104impl<'a> XchgEmitter<GpbLo, GpbLo> for Assembler<'a> {
28105 fn xchg(&mut self, op0: GpbLo, op1: GpbLo) {
28106 self.emit(XCHG8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28107 }
28108}
28109
28110impl<'a> XchgEmitter<Mem, GpbLo> for Assembler<'a> {
28111 fn xchg(&mut self, op0: Mem, op1: GpbLo) {
28112 self.emit(XCHG8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28113 }
28114}
28115
28116impl<'a> XchgEmitter<Gpw, Gpw> for Assembler<'a> {
28117 fn xchg(&mut self, op0: Gpw, op1: Gpw) {
28118 self.emit(XCHG16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28119 }
28120}
28121
28122impl<'a> XchgEmitter<Mem, Gpw> for Assembler<'a> {
28123 fn xchg(&mut self, op0: Mem, op1: Gpw) {
28124 self.emit(XCHG16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28125 }
28126}
28127
28128impl<'a> XchgEmitter<Gpd, Gpd> for Assembler<'a> {
28129 fn xchg(&mut self, op0: Gpd, op1: Gpd) {
28130 self.emit(XCHG32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28131 }
28132}
28133
28134impl<'a> XchgEmitter<Mem, Gpd> for Assembler<'a> {
28135 fn xchg(&mut self, op0: Mem, op1: Gpd) {
28136 self.emit(XCHG32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28137 }
28138}
28139
28140impl<'a> XchgEmitter<Gpq, Gpq> for Assembler<'a> {
28141 fn xchg(&mut self, op0: Gpq, op1: Gpq) {
28142 self.emit(XCHG64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28143 }
28144}
28145
28146impl<'a> XchgEmitter<Mem, Gpq> for Assembler<'a> {
28147 fn xchg(&mut self, op0: Mem, op1: Gpq) {
28148 self.emit(XCHG64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28149 }
28150}
28151
28152pub trait XlatbEmitter {
28168 fn xlatb(&mut self);
28169}
28170
28171impl<'a> XlatbEmitter for Assembler<'a> {
28172 fn xlatb(&mut self) {
28173 self.emit(XLATB, &NOREG, &NOREG, &NOREG, &NOREG);
28174 }
28175}
28176
28177pub trait XorEmitter<A, B> {
28209 fn xor(&mut self, op0: A, op1: B);
28210}
28211
28212impl<'a> XorEmitter<GpbLo, GpbLo> for Assembler<'a> {
28213 fn xor(&mut self, op0: GpbLo, op1: GpbLo) {
28214 self.emit(XOR8RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28215 }
28216}
28217
28218impl<'a> XorEmitter<Mem, GpbLo> for Assembler<'a> {
28219 fn xor(&mut self, op0: Mem, op1: GpbLo) {
28220 self.emit(XOR8MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28221 }
28222}
28223
28224impl<'a> XorEmitter<Gpw, Gpw> for Assembler<'a> {
28225 fn xor(&mut self, op0: Gpw, op1: Gpw) {
28226 self.emit(XOR16RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28227 }
28228}
28229
28230impl<'a> XorEmitter<Mem, Gpw> for Assembler<'a> {
28231 fn xor(&mut self, op0: Mem, op1: Gpw) {
28232 self.emit(XOR16MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28233 }
28234}
28235
28236impl<'a> XorEmitter<Gpd, Gpd> for Assembler<'a> {
28237 fn xor(&mut self, op0: Gpd, op1: Gpd) {
28238 self.emit(XOR32RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28239 }
28240}
28241
28242impl<'a> XorEmitter<Mem, Gpd> for Assembler<'a> {
28243 fn xor(&mut self, op0: Mem, op1: Gpd) {
28244 self.emit(XOR32MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28245 }
28246}
28247
28248impl<'a> XorEmitter<Gpq, Gpq> for Assembler<'a> {
28249 fn xor(&mut self, op0: Gpq, op1: Gpq) {
28250 self.emit(XOR64RR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28251 }
28252}
28253
28254impl<'a> XorEmitter<Mem, Gpq> for Assembler<'a> {
28255 fn xor(&mut self, op0: Mem, op1: Gpq) {
28256 self.emit(XOR64MR, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28257 }
28258}
28259
28260impl<'a> XorEmitter<GpbLo, Mem> for Assembler<'a> {
28261 fn xor(&mut self, op0: GpbLo, op1: Mem) {
28262 self.emit(XOR8RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28263 }
28264}
28265
28266impl<'a> XorEmitter<Gpw, Mem> for Assembler<'a> {
28267 fn xor(&mut self, op0: Gpw, op1: Mem) {
28268 self.emit(XOR16RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28269 }
28270}
28271
28272impl<'a> XorEmitter<Gpd, Mem> for Assembler<'a> {
28273 fn xor(&mut self, op0: Gpd, op1: Mem) {
28274 self.emit(XOR32RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28275 }
28276}
28277
28278impl<'a> XorEmitter<Gpq, Mem> for Assembler<'a> {
28279 fn xor(&mut self, op0: Gpq, op1: Mem) {
28280 self.emit(XOR64RM, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28281 }
28282}
28283
28284impl<'a> XorEmitter<GpbLo, Imm> for Assembler<'a> {
28285 fn xor(&mut self, op0: GpbLo, op1: Imm) {
28286 self.emit(XOR8RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28287 }
28288}
28289
28290impl<'a> XorEmitter<Gpw, Imm> for Assembler<'a> {
28291 fn xor(&mut self, op0: Gpw, op1: Imm) {
28292 self.emit(XOR16RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28293 }
28294}
28295
28296impl<'a> XorEmitter<Gpd, Imm> for Assembler<'a> {
28297 fn xor(&mut self, op0: Gpd, op1: Imm) {
28298 self.emit(XOR32RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28299 }
28300}
28301
28302impl<'a> XorEmitter<Gpq, Imm> for Assembler<'a> {
28303 fn xor(&mut self, op0: Gpq, op1: Imm) {
28304 self.emit(XOR64RI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28305 }
28306}
28307
28308impl<'a> XorEmitter<Mem, Imm> for Assembler<'a> {
28309 fn xor(&mut self, op0: Mem, op1: Imm) {
28310 self.emit(XOR8MI, op0.as_operand(), op1.as_operand(), &NOREG, &NOREG);
28311 }
28312}
28313
28314
28315impl<'a> Assembler<'a> {
28316 #[inline]
28329 pub fn aadd<A, B>(&mut self, op0: A, op1: B)
28330 where Assembler<'a>: AaddEmitter<A, B> {
28331 <Self as AaddEmitter<A, B>>::aadd(self, op0, op1);
28332 }
28333 #[inline]
28346 pub fn aand<A, B>(&mut self, op0: A, op1: B)
28347 where Assembler<'a>: AandEmitter<A, B> {
28348 <Self as AandEmitter<A, B>>::aand(self, op0, op1);
28349 }
28350 #[inline]
28382 pub fn adc<A, B>(&mut self, op0: A, op1: B)
28383 where Assembler<'a>: AdcEmitter<A, B> {
28384 <Self as AdcEmitter<A, B>>::adc(self, op0, op1);
28385 }
28386 #[inline]
28418 pub fn add<A, B>(&mut self, op0: A, op1: B)
28419 where Assembler<'a>: AddEmitter<A, B> {
28420 <Self as AddEmitter<A, B>>::add(self, op0, op1);
28421 }
28422 #[inline]
28454 pub fn and<A, B>(&mut self, op0: A, op1: B)
28455 where Assembler<'a>: AndEmitter<A, B> {
28456 <Self as AndEmitter<A, B>>::and(self, op0, op1);
28457 }
28458 #[inline]
28471 pub fn aor<A, B>(&mut self, op0: A, op1: B)
28472 where Assembler<'a>: AorEmitter<A, B> {
28473 <Self as AorEmitter<A, B>>::aor(self, op0, op1);
28474 }
28475 #[inline]
28488 pub fn axor<A, B>(&mut self, op0: A, op1: B)
28489 where Assembler<'a>: AxorEmitter<A, B> {
28490 <Self as AxorEmitter<A, B>>::axor(self, op0, op1);
28491 }
28492 #[inline]
28513 pub fn bsf<A, B>(&mut self, op0: A, op1: B)
28514 where Assembler<'a>: BsfEmitter<A, B> {
28515 <Self as BsfEmitter<A, B>>::bsf(self, op0, op1);
28516 }
28517 #[inline]
28538 pub fn bsr<A, B>(&mut self, op0: A, op1: B)
28539 where Assembler<'a>: BsrEmitter<A, B> {
28540 <Self as BsrEmitter<A, B>>::bsr(self, op0, op1);
28541 }
28542 #[inline]
28567 pub fn bt<A, B>(&mut self, op0: A, op1: B)
28568 where Assembler<'a>: BtEmitter<A, B> {
28569 <Self as BtEmitter<A, B>>::bt(self, op0, op1);
28570 }
28571 #[inline]
28596 pub fn btc<A, B>(&mut self, op0: A, op1: B)
28597 where Assembler<'a>: BtcEmitter<A, B> {
28598 <Self as BtcEmitter<A, B>>::btc(self, op0, op1);
28599 }
28600 #[inline]
28625 pub fn btr<A, B>(&mut self, op0: A, op1: B)
28626 where Assembler<'a>: BtrEmitter<A, B> {
28627 <Self as BtrEmitter<A, B>>::btr(self, op0, op1);
28628 }
28629 #[inline]
28654 pub fn bts<A, B>(&mut self, op0: A, op1: B)
28655 where Assembler<'a>: BtsEmitter<A, B> {
28656 <Self as BtsEmitter<A, B>>::bts(self, op0, op1);
28657 }
28658 #[inline]
28678 pub fn call<A>(&mut self, op0: A)
28679 where Assembler<'a>: CallEmitter<A> {
28680 <Self as CallEmitter<A>>::call(self, op0);
28681 }
28682 #[inline]
28694 pub fn callf<A>(&mut self, op0: A)
28695 where Assembler<'a>: CallfEmitter<A> {
28696 <Self as CallfEmitter<A>>::callf(self, op0);
28697 }
28698 #[inline]
28710 pub fn cbw(&mut self)
28711 where Assembler<'a>: CbwEmitter {
28712 <Self as CbwEmitter>::cbw(self);
28713 }
28714 #[inline]
28726 pub fn cdq(&mut self)
28727 where Assembler<'a>: CdqEmitter {
28728 <Self as CdqEmitter>::cdq(self);
28729 }
28730 #[inline]
28742 pub fn cdqe(&mut self)
28743 where Assembler<'a>: CdqeEmitter {
28744 <Self as CdqeEmitter>::cdqe(self);
28745 }
28746 #[inline]
28762 pub fn clc(&mut self)
28763 where Assembler<'a>: ClcEmitter {
28764 <Self as ClcEmitter>::clc(self);
28765 }
28766 #[inline]
28782 pub fn cld(&mut self)
28783 where Assembler<'a>: CldEmitter {
28784 <Self as CldEmitter>::cld(self);
28785 }
28786 #[inline]
28802 pub fn clflush<A>(&mut self, op0: A)
28803 where Assembler<'a>: ClflushEmitter<A> {
28804 <Self as ClflushEmitter<A>>::clflush(self, op0);
28805 }
28806 #[inline]
28822 pub fn cli(&mut self)
28823 where Assembler<'a>: CliEmitter {
28824 <Self as CliEmitter>::cli(self);
28825 }
28826 #[inline]
28842 pub fn clts(&mut self)
28843 where Assembler<'a>: CltsEmitter {
28844 <Self as CltsEmitter>::clts(self);
28845 }
28846 #[inline]
28862 pub fn cmc(&mut self)
28863 where Assembler<'a>: CmcEmitter {
28864 <Self as CmcEmitter>::cmc(self);
28865 }
28866 #[inline]
28898 pub fn cmp<A, B>(&mut self, op0: A, op1: B)
28899 where Assembler<'a>: CmpEmitter<A, B> {
28900 <Self as CmpEmitter<A, B>>::cmp(self, op0, op1);
28901 }
28902 #[inline]
28918 pub fn cmps(&mut self)
28919 where Assembler<'a>: CmpsEmitter {
28920 <Self as CmpsEmitter>::cmps(self);
28921 }
28922 #[inline]
28934 pub fn cqo(&mut self)
28935 where Assembler<'a>: CqoEmitter {
28936 <Self as CqoEmitter>::cqo(self);
28937 }
28938 #[inline]
28950 pub fn cwd(&mut self)
28951 where Assembler<'a>: CwdEmitter {
28952 <Self as CwdEmitter>::cwd(self);
28953 }
28954 #[inline]
28966 pub fn cwde(&mut self)
28967 where Assembler<'a>: CwdeEmitter {
28968 <Self as CwdeEmitter>::cwde(self);
28969 }
28970 #[inline]
28982 pub fn c_ex(&mut self)
28983 where Assembler<'a>: CExEmitter {
28984 <Self as CExEmitter>::c_ex(self);
28985 }
28986 #[inline]
28998 pub fn c_sep(&mut self)
28999 where Assembler<'a>: CSepEmitter {
29000 <Self as CSepEmitter>::c_sep(self);
29001 }
29002 #[inline]
29022 pub fn dec<A>(&mut self, op0: A)
29023 where Assembler<'a>: DecEmitter<A> {
29024 <Self as DecEmitter<A>>::dec(self, op0);
29025 }
29026 #[inline]
29046 pub fn div<A>(&mut self, op0: A)
29047 where Assembler<'a>: DivEmitter<A> {
29048 <Self as DivEmitter<A>>::div(self, op0);
29049 }
29050 #[inline]
29066 pub fn enter<A>(&mut self, op0: A)
29067 where Assembler<'a>: EnterEmitter<A> {
29068 <Self as EnterEmitter<A>>::enter(self, op0);
29069 }
29070 #[inline]
29086 pub fn fwait(&mut self)
29087 where Assembler<'a>: FwaitEmitter {
29088 <Self as FwaitEmitter>::fwait(self);
29089 }
29090 #[inline]
29106 pub fn hlt(&mut self)
29107 where Assembler<'a>: HltEmitter {
29108 <Self as HltEmitter>::hlt(self);
29109 }
29110 #[inline]
29130 pub fn idiv<A>(&mut self, op0: A)
29131 where Assembler<'a>: IdivEmitter<A> {
29132 <Self as IdivEmitter<A>>::idiv(self, op0);
29133 }
29134 #[inline]
29154 pub fn imul_1<A>(&mut self, op0: A)
29155 where Assembler<'a>: ImulEmitter_1<A> {
29156 <Self as ImulEmitter_1<A>>::imul_1(self, op0);
29157 }
29158 #[inline]
29179 pub fn imul_2<A, B>(&mut self, op0: A, op1: B)
29180 where Assembler<'a>: ImulEmitter_2<A, B> {
29181 <Self as ImulEmitter_2<A, B>>::imul_2(self, op0, op1);
29182 }
29183 #[inline]
29204 pub fn imul_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
29205 where Assembler<'a>: ImulEmitter_3<A, B, C> {
29206 <Self as ImulEmitter_3<A, B, C>>::imul_3(self, op0, op1, op2);
29207 }
29208 #[inline]
29224 pub fn r#in(&mut self)
29225 where Assembler<'a>: InEmitter {
29226 <Self as InEmitter>::r#in(self);
29227 }
29228 #[inline]
29247 pub fn r#in_2<A, B>(&mut self, op0: A, op1: B)
29248 where Assembler<'a>: InEmitter_2<A, B> {
29249 <Self as InEmitter_2<A, B>>::r#in_2(self, op0, op1);
29250 }
29251 #[inline]
29271 pub fn inc<A>(&mut self, op0: A)
29272 where Assembler<'a>: IncEmitter<A> {
29273 <Self as IncEmitter<A>>::inc(self, op0);
29274 }
29275 #[inline]
29291 pub fn ins(&mut self)
29292 where Assembler<'a>: InsEmitter {
29293 <Self as InsEmitter>::ins(self);
29294 }
29295 #[inline]
29311 pub fn int<A>(&mut self, op0: A)
29312 where Assembler<'a>: IntEmitter<A> {
29313 <Self as IntEmitter<A>>::int(self, op0);
29314 }
29315 #[inline]
29331 pub fn int1(&mut self)
29332 where Assembler<'a>: Int1Emitter {
29333 <Self as Int1Emitter>::int1(self);
29334 }
29335 #[inline]
29351 pub fn int3(&mut self)
29352 where Assembler<'a>: Int3Emitter {
29353 <Self as Int3Emitter>::int3(self);
29354 }
29355 #[inline]
29371 pub fn iret(&mut self)
29372 where Assembler<'a>: IretEmitter {
29373 <Self as IretEmitter>::iret(self);
29374 }
29375 #[inline]
29393 pub fn ja<A>(&mut self, op0: A)
29394 where Assembler<'a>: JaEmitter<A> {
29395 <Self as JaEmitter<A>>::ja(self, op0);
29396 }
29397 #[inline]
29415 pub fn jbe<A>(&mut self, op0: A)
29416 where Assembler<'a>: JbeEmitter<A> {
29417 <Self as JbeEmitter<A>>::jbe(self, op0);
29418 }
29419 #[inline]
29437 pub fn jc<A>(&mut self, op0: A)
29438 where Assembler<'a>: JcEmitter<A> {
29439 <Self as JcEmitter<A>>::jc(self, op0);
29440 }
29441 #[inline]
29459 pub fn jcxz<A>(&mut self, op0: A)
29460 where Assembler<'a>: JcxzEmitter<A> {
29461 <Self as JcxzEmitter<A>>::jcxz(self, op0);
29462 }
29463 #[inline]
29481 pub fn jg<A>(&mut self, op0: A)
29482 where Assembler<'a>: JgEmitter<A> {
29483 <Self as JgEmitter<A>>::jg(self, op0);
29484 }
29485 #[inline]
29503 pub fn jge<A>(&mut self, op0: A)
29504 where Assembler<'a>: JgeEmitter<A> {
29505 <Self as JgeEmitter<A>>::jge(self, op0);
29506 }
29507 #[inline]
29525 pub fn jl<A>(&mut self, op0: A)
29526 where Assembler<'a>: JlEmitter<A> {
29527 <Self as JlEmitter<A>>::jl(self, op0);
29528 }
29529 #[inline]
29547 pub fn jle<A>(&mut self, op0: A)
29548 where Assembler<'a>: JleEmitter<A> {
29549 <Self as JleEmitter<A>>::jle(self, op0);
29550 }
29551 #[inline]
29571 pub fn jmp<A>(&mut self, op0: A)
29572 where Assembler<'a>: JmpEmitter<A> {
29573 <Self as JmpEmitter<A>>::jmp(self, op0);
29574 }
29575 #[inline]
29587 pub fn jmpf<A>(&mut self, op0: A)
29588 where Assembler<'a>: JmpfEmitter<A> {
29589 <Self as JmpfEmitter<A>>::jmpf(self, op0);
29590 }
29591 #[inline]
29609 pub fn jnc<A>(&mut self, op0: A)
29610 where Assembler<'a>: JncEmitter<A> {
29611 <Self as JncEmitter<A>>::jnc(self, op0);
29612 }
29613 #[inline]
29631 pub fn jno<A>(&mut self, op0: A)
29632 where Assembler<'a>: JnoEmitter<A> {
29633 <Self as JnoEmitter<A>>::jno(self, op0);
29634 }
29635 #[inline]
29653 pub fn jnp<A>(&mut self, op0: A)
29654 where Assembler<'a>: JnpEmitter<A> {
29655 <Self as JnpEmitter<A>>::jnp(self, op0);
29656 }
29657 #[inline]
29675 pub fn jns<A>(&mut self, op0: A)
29676 where Assembler<'a>: JnsEmitter<A> {
29677 <Self as JnsEmitter<A>>::jns(self, op0);
29678 }
29679 #[inline]
29697 pub fn jnz<A>(&mut self, op0: A)
29698 where Assembler<'a>: JnzEmitter<A> {
29699 <Self as JnzEmitter<A>>::jnz(self, op0);
29700 }
29701 #[inline]
29719 pub fn jo<A>(&mut self, op0: A)
29720 where Assembler<'a>: JoEmitter<A> {
29721 <Self as JoEmitter<A>>::jo(self, op0);
29722 }
29723 #[inline]
29741 pub fn jp<A>(&mut self, op0: A)
29742 where Assembler<'a>: JpEmitter<A> {
29743 <Self as JpEmitter<A>>::jp(self, op0);
29744 }
29745 #[inline]
29763 pub fn js<A>(&mut self, op0: A)
29764 where Assembler<'a>: JsEmitter<A> {
29765 <Self as JsEmitter<A>>::js(self, op0);
29766 }
29767 #[inline]
29785 pub fn jz<A>(&mut self, op0: A)
29786 where Assembler<'a>: JzEmitter<A> {
29787 <Self as JzEmitter<A>>::jz(self, op0);
29788 }
29789 #[inline]
29807 pub fn jcc<A>(&mut self, op0: A)
29808 where Assembler<'a>: JccEmitter<A> {
29809 <Self as JccEmitter<A>>::jcc(self, op0);
29810 }
29811 #[inline]
29823 pub fn lahf(&mut self)
29824 where Assembler<'a>: LahfEmitter {
29825 <Self as LahfEmitter>::lahf(self);
29826 }
29827 #[inline]
29848 pub fn lar<A, B>(&mut self, op0: A, op1: B)
29849 where Assembler<'a>: LarEmitter<A, B> {
29850 <Self as LarEmitter<A, B>>::lar(self, op0, op1);
29851 }
29852 #[inline]
29864 pub fn ldtilecfg<A>(&mut self, op0: A)
29865 where Assembler<'a>: LdtilecfgEmitter<A> {
29866 <Self as LdtilecfgEmitter<A>>::ldtilecfg(self, op0);
29867 }
29868 #[inline]
29886 pub fn lea<A, B>(&mut self, op0: A, op1: B)
29887 where Assembler<'a>: LeaEmitter<A, B> {
29888 <Self as LeaEmitter<A, B>>::lea(self, op0, op1);
29889 }
29890 #[inline]
29906 pub fn leave(&mut self)
29907 where Assembler<'a>: LeaveEmitter {
29908 <Self as LeaveEmitter>::leave(self);
29909 }
29910 #[inline]
29928 pub fn lfs<A, B>(&mut self, op0: A, op1: B)
29929 where Assembler<'a>: LfsEmitter<A, B> {
29930 <Self as LfsEmitter<A, B>>::lfs(self, op0, op1);
29931 }
29932 #[inline]
29948 pub fn lgdt<A>(&mut self, op0: A)
29949 where Assembler<'a>: LgdtEmitter<A> {
29950 <Self as LgdtEmitter<A>>::lgdt(self, op0);
29951 }
29952 #[inline]
29970 pub fn lgs<A, B>(&mut self, op0: A, op1: B)
29971 where Assembler<'a>: LgsEmitter<A, B> {
29972 <Self as LgsEmitter<A, B>>::lgs(self, op0, op1);
29973 }
29974 #[inline]
29990 pub fn lidt<A>(&mut self, op0: A)
29991 where Assembler<'a>: LidtEmitter<A> {
29992 <Self as LidtEmitter<A>>::lidt(self, op0);
29993 }
29994 #[inline]
30011 pub fn lldt<A>(&mut self, op0: A)
30012 where Assembler<'a>: LldtEmitter<A> {
30013 <Self as LldtEmitter<A>>::lldt(self, op0);
30014 }
30015 #[inline]
30032 pub fn lmsw<A>(&mut self, op0: A)
30033 where Assembler<'a>: LmswEmitter<A> {
30034 <Self as LmswEmitter<A>>::lmsw(self, op0);
30035 }
30036 #[inline]
30052 pub fn lods(&mut self)
30053 where Assembler<'a>: LodsEmitter {
30054 <Self as LodsEmitter>::lods(self);
30055 }
30056 #[inline]
30074 pub fn r#loop<A>(&mut self, op0: A)
30075 where Assembler<'a>: LoopEmitter<A> {
30076 <Self as LoopEmitter<A>>::r#loop(self, op0);
30077 }
30078 #[inline]
30092 pub fn loopnz<A>(&mut self, op0: A)
30093 where Assembler<'a>: LoopnzEmitter<A> {
30094 <Self as LoopnzEmitter<A>>::loopnz(self, op0);
30095 }
30096 #[inline]
30110 pub fn loopz<A>(&mut self, op0: A)
30111 where Assembler<'a>: LoopzEmitter<A> {
30112 <Self as LoopzEmitter<A>>::loopz(self, op0);
30113 }
30114 #[inline]
30135 pub fn lsl<A, B>(&mut self, op0: A, op1: B)
30136 where Assembler<'a>: LslEmitter<A, B> {
30137 <Self as LslEmitter<A, B>>::lsl(self, op0, op1);
30138 }
30139 #[inline]
30157 pub fn lss<A, B>(&mut self, op0: A, op1: B)
30158 where Assembler<'a>: LssEmitter<A, B> {
30159 <Self as LssEmitter<A, B>>::lss(self, op0, op1);
30160 }
30161 #[inline]
30178 pub fn ltr<A>(&mut self, op0: A)
30179 where Assembler<'a>: LtrEmitter<A> {
30180 <Self as LtrEmitter<A>>::ltr(self, op0);
30181 }
30182 #[inline]
30222 pub fn mov<A, B>(&mut self, op0: A, op1: B)
30223 where Assembler<'a>: MovEmitter<A, B> {
30224 <Self as MovEmitter<A, B>>::mov(self, op0, op1);
30225 }
30226 #[inline]
30242 pub fn movs(&mut self)
30243 where Assembler<'a>: MovsEmitter {
30244 <Self as MovsEmitter>::movs(self);
30245 }
30246 #[inline]
30273 pub fn movsx<A, B>(&mut self, op0: A, op1: B)
30274 where Assembler<'a>: MovsxEmitter<A, B> {
30275 <Self as MovsxEmitter<A, B>>::movsx(self, op0, op1);
30276 }
30277 #[inline]
30301 pub fn movzx<A, B>(&mut self, op0: A, op1: B)
30302 where Assembler<'a>: MovzxEmitter<A, B> {
30303 <Self as MovzxEmitter<A, B>>::movzx(self, op0, op1);
30304 }
30305 #[inline]
30317 pub fn mov_cr2g<A, B>(&mut self, op0: A, op1: B)
30318 where Assembler<'a>: MovCr2gEmitter<A, B> {
30319 <Self as MovCr2gEmitter<A, B>>::mov_cr2g(self, op0, op1);
30320 }
30321 #[inline]
30333 pub fn mov_dr2g<A, B>(&mut self, op0: A, op1: B)
30334 where Assembler<'a>: MovDr2gEmitter<A, B> {
30335 <Self as MovDr2gEmitter<A, B>>::mov_dr2g(self, op0, op1);
30336 }
30337 #[inline]
30349 pub fn mov_g2cr<A, B>(&mut self, op0: A, op1: B)
30350 where Assembler<'a>: MovG2crEmitter<A, B> {
30351 <Self as MovG2crEmitter<A, B>>::mov_g2cr(self, op0, op1);
30352 }
30353 #[inline]
30365 pub fn mov_g2dr<A, B>(&mut self, op0: A, op1: B)
30366 where Assembler<'a>: MovG2drEmitter<A, B> {
30367 <Self as MovG2drEmitter<A, B>>::mov_g2dr(self, op0, op1);
30368 }
30369 #[inline]
30386 pub fn mov_g2s<A, B>(&mut self, op0: A, op1: B)
30387 where Assembler<'a>: MovG2sEmitter<A, B> {
30388 <Self as MovG2sEmitter<A, B>>::mov_g2s(self, op0, op1);
30389 }
30390 #[inline]
30407 pub fn mov_s2g<A, B>(&mut self, op0: A, op1: B)
30408 where Assembler<'a>: MovS2gEmitter<A, B> {
30409 <Self as MovS2gEmitter<A, B>>::mov_s2g(self, op0, op1);
30410 }
30411 #[inline]
30431 pub fn mul<A>(&mut self, op0: A)
30432 where Assembler<'a>: MulEmitter<A> {
30433 <Self as MulEmitter<A>>::mul(self, op0);
30434 }
30435 #[inline]
30455 pub fn neg<A>(&mut self, op0: A)
30456 where Assembler<'a>: NegEmitter<A> {
30457 <Self as NegEmitter<A>>::neg(self, op0);
30458 }
30459 #[inline]
30475 pub fn nop(&mut self)
30476 where Assembler<'a>: NopEmitter {
30477 <Self as NopEmitter>::nop(self);
30478 }
30479 #[inline]
30498 pub fn nop_1<A>(&mut self, op0: A)
30499 where Assembler<'a>: NopEmitter_1<A> {
30500 <Self as NopEmitter_1<A>>::nop_1(self, op0);
30501 }
30502 #[inline]
30522 pub fn not<A>(&mut self, op0: A)
30523 where Assembler<'a>: NotEmitter<A> {
30524 <Self as NotEmitter<A>>::not(self, op0);
30525 }
30526 #[inline]
30558 pub fn or<A, B>(&mut self, op0: A, op1: B)
30559 where Assembler<'a>: OrEmitter<A, B> {
30560 <Self as OrEmitter<A, B>>::or(self, op0, op1);
30561 }
30562 #[inline]
30578 pub fn r#out(&mut self)
30579 where Assembler<'a>: OutEmitter {
30580 <Self as OutEmitter>::r#out(self);
30581 }
30582 #[inline]
30601 pub fn r#out_2<A, B>(&mut self, op0: A, op1: B)
30602 where Assembler<'a>: OutEmitter_2<A, B> {
30603 <Self as OutEmitter_2<A, B>>::r#out_2(self, op0, op1);
30604 }
30605 #[inline]
30621 pub fn outs(&mut self)
30622 where Assembler<'a>: OutsEmitter {
30623 <Self as OutsEmitter>::outs(self);
30624 }
30625 #[inline]
30641 pub fn pause(&mut self)
30642 where Assembler<'a>: PauseEmitter {
30643 <Self as PauseEmitter>::pause(self);
30644 }
30645 #[inline]
30663 pub fn pop<A>(&mut self, op0: A)
30664 where Assembler<'a>: PopEmitter<A> {
30665 <Self as PopEmitter<A>>::pop(self, op0);
30666 }
30667 #[inline]
30683 pub fn popf(&mut self)
30684 where Assembler<'a>: PopfEmitter {
30685 <Self as PopfEmitter>::popf(self);
30686 }
30687 #[inline]
30699 pub fn pop_seg<A>(&mut self, op0: A)
30700 where Assembler<'a>: PopSegEmitter<A> {
30701 <Self as PopSegEmitter<A>>::pop_seg(self, op0);
30702 }
30703 #[inline]
30722 pub fn push<A>(&mut self, op0: A)
30723 where Assembler<'a>: PushEmitter<A> {
30724 <Self as PushEmitter<A>>::push(self, op0);
30725 }
30726 #[inline]
30742 pub fn pushf(&mut self)
30743 where Assembler<'a>: PushfEmitter {
30744 <Self as PushfEmitter>::pushf(self);
30745 }
30746 #[inline]
30758 pub fn push_seg<A>(&mut self, op0: A)
30759 where Assembler<'a>: PushSegEmitter<A> {
30760 <Self as PushSegEmitter<A>>::push_seg(self, op0);
30761 }
30762 #[inline]
30787 pub fn rcl<A, B>(&mut self, op0: A, op1: B)
30788 where Assembler<'a>: RclEmitter<A, B> {
30789 <Self as RclEmitter<A, B>>::rcl(self, op0, op1);
30790 }
30791 #[inline]
30816 pub fn rcr<A, B>(&mut self, op0: A, op1: B)
30817 where Assembler<'a>: RcrEmitter<A, B> {
30818 <Self as RcrEmitter<A, B>>::rcr(self, op0, op1);
30819 }
30820 #[inline]
30836 pub fn ret(&mut self)
30837 where Assembler<'a>: RetEmitter {
30838 <Self as RetEmitter>::ret(self);
30839 }
30840 #[inline]
30856 pub fn ret_1<A>(&mut self, op0: A)
30857 where Assembler<'a>: RetEmitter_1<A> {
30858 <Self as RetEmitter_1<A>>::ret_1(self, op0);
30859 }
30860 #[inline]
30872 pub fn retf(&mut self)
30873 where Assembler<'a>: RetfEmitter {
30874 <Self as RetfEmitter>::retf(self);
30875 }
30876 #[inline]
30888 pub fn retf_1<A>(&mut self, op0: A)
30889 where Assembler<'a>: RetfEmitter_1<A> {
30890 <Self as RetfEmitter_1<A>>::retf_1(self, op0);
30891 }
30892 #[inline]
30917 pub fn rol<A, B>(&mut self, op0: A, op1: B)
30918 where Assembler<'a>: RolEmitter<A, B> {
30919 <Self as RolEmitter<A, B>>::rol(self, op0, op1);
30920 }
30921 #[inline]
30946 pub fn ror<A, B>(&mut self, op0: A, op1: B)
30947 where Assembler<'a>: RorEmitter<A, B> {
30948 <Self as RorEmitter<A, B>>::ror(self, op0, op1);
30949 }
30950 #[inline]
30966 pub fn sahf(&mut self)
30967 where Assembler<'a>: SahfEmitter {
30968 <Self as SahfEmitter>::sahf(self);
30969 }
30970 #[inline]
30995 pub fn sar<A, B>(&mut self, op0: A, op1: B)
30996 where Assembler<'a>: SarEmitter<A, B> {
30997 <Self as SarEmitter<A, B>>::sar(self, op0, op1);
30998 }
30999 #[inline]
31031 pub fn sbb<A, B>(&mut self, op0: A, op1: B)
31032 where Assembler<'a>: SbbEmitter<A, B> {
31033 <Self as SbbEmitter<A, B>>::sbb(self, op0, op1);
31034 }
31035 #[inline]
31051 pub fn scas(&mut self)
31052 where Assembler<'a>: ScasEmitter {
31053 <Self as ScasEmitter>::scas(self);
31054 }
31055 #[inline]
31072 pub fn seta<A>(&mut self, op0: A)
31073 where Assembler<'a>: SetaEmitter<A> {
31074 <Self as SetaEmitter<A>>::seta(self, op0);
31075 }
31076 #[inline]
31093 pub fn setbe<A>(&mut self, op0: A)
31094 where Assembler<'a>: SetbeEmitter<A> {
31095 <Self as SetbeEmitter<A>>::setbe(self, op0);
31096 }
31097 #[inline]
31114 pub fn setc<A>(&mut self, op0: A)
31115 where Assembler<'a>: SetcEmitter<A> {
31116 <Self as SetcEmitter<A>>::setc(self, op0);
31117 }
31118 #[inline]
31135 pub fn setg<A>(&mut self, op0: A)
31136 where Assembler<'a>: SetgEmitter<A> {
31137 <Self as SetgEmitter<A>>::setg(self, op0);
31138 }
31139 #[inline]
31156 pub fn setge<A>(&mut self, op0: A)
31157 where Assembler<'a>: SetgeEmitter<A> {
31158 <Self as SetgeEmitter<A>>::setge(self, op0);
31159 }
31160 #[inline]
31177 pub fn setl<A>(&mut self, op0: A)
31178 where Assembler<'a>: SetlEmitter<A> {
31179 <Self as SetlEmitter<A>>::setl(self, op0);
31180 }
31181 #[inline]
31198 pub fn setle<A>(&mut self, op0: A)
31199 where Assembler<'a>: SetleEmitter<A> {
31200 <Self as SetleEmitter<A>>::setle(self, op0);
31201 }
31202 #[inline]
31219 pub fn setnc<A>(&mut self, op0: A)
31220 where Assembler<'a>: SetncEmitter<A> {
31221 <Self as SetncEmitter<A>>::setnc(self, op0);
31222 }
31223 #[inline]
31240 pub fn setno<A>(&mut self, op0: A)
31241 where Assembler<'a>: SetnoEmitter<A> {
31242 <Self as SetnoEmitter<A>>::setno(self, op0);
31243 }
31244 #[inline]
31261 pub fn setnp<A>(&mut self, op0: A)
31262 where Assembler<'a>: SetnpEmitter<A> {
31263 <Self as SetnpEmitter<A>>::setnp(self, op0);
31264 }
31265 #[inline]
31282 pub fn setns<A>(&mut self, op0: A)
31283 where Assembler<'a>: SetnsEmitter<A> {
31284 <Self as SetnsEmitter<A>>::setns(self, op0);
31285 }
31286 #[inline]
31303 pub fn setnz<A>(&mut self, op0: A)
31304 where Assembler<'a>: SetnzEmitter<A> {
31305 <Self as SetnzEmitter<A>>::setnz(self, op0);
31306 }
31307 #[inline]
31324 pub fn seto<A>(&mut self, op0: A)
31325 where Assembler<'a>: SetoEmitter<A> {
31326 <Self as SetoEmitter<A>>::seto(self, op0);
31327 }
31328 #[inline]
31345 pub fn setp<A>(&mut self, op0: A)
31346 where Assembler<'a>: SetpEmitter<A> {
31347 <Self as SetpEmitter<A>>::setp(self, op0);
31348 }
31349 #[inline]
31366 pub fn sets<A>(&mut self, op0: A)
31367 where Assembler<'a>: SetsEmitter<A> {
31368 <Self as SetsEmitter<A>>::sets(self, op0);
31369 }
31370 #[inline]
31387 pub fn setz<A>(&mut self, op0: A)
31388 where Assembler<'a>: SetzEmitter<A> {
31389 <Self as SetzEmitter<A>>::setz(self, op0);
31390 }
31391 #[inline]
31408 pub fn setcc<A>(&mut self, op0: A)
31409 where Assembler<'a>: SetccEmitter<A> {
31410 <Self as SetccEmitter<A>>::setcc(self, op0);
31411 }
31412 #[inline]
31424 pub fn sgdt<A>(&mut self, op0: A)
31425 where Assembler<'a>: SgdtEmitter<A> {
31426 <Self as SgdtEmitter<A>>::sgdt(self, op0);
31427 }
31428 #[inline]
31453 pub fn shl<A, B>(&mut self, op0: A, op1: B)
31454 where Assembler<'a>: ShlEmitter<A, B> {
31455 <Self as ShlEmitter<A, B>>::shl(self, op0, op1);
31456 }
31457 #[inline]
31484 pub fn shld<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31485 where Assembler<'a>: ShldEmitter<A, B, C> {
31486 <Self as ShldEmitter<A, B, C>>::shld(self, op0, op1, op2);
31487 }
31488 #[inline]
31513 pub fn shr<A, B>(&mut self, op0: A, op1: B)
31514 where Assembler<'a>: ShrEmitter<A, B> {
31515 <Self as ShrEmitter<A, B>>::shr(self, op0, op1);
31516 }
31517 #[inline]
31544 pub fn shrd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31545 where Assembler<'a>: ShrdEmitter<A, B, C> {
31546 <Self as ShrdEmitter<A, B, C>>::shrd(self, op0, op1, op2);
31547 }
31548 #[inline]
31560 pub fn sidt<A>(&mut self, op0: A)
31561 where Assembler<'a>: SidtEmitter<A> {
31562 <Self as SidtEmitter<A>>::sidt(self, op0);
31563 }
31564 #[inline]
31581 pub fn sldt<A>(&mut self, op0: A)
31582 where Assembler<'a>: SldtEmitter<A> {
31583 <Self as SldtEmitter<A>>::sldt(self, op0);
31584 }
31585 #[inline]
31604 pub fn smsw<A>(&mut self, op0: A)
31605 where Assembler<'a>: SmswEmitter<A> {
31606 <Self as SmswEmitter<A>>::smsw(self, op0);
31607 }
31608 #[inline]
31624 pub fn stc(&mut self)
31625 where Assembler<'a>: StcEmitter {
31626 <Self as StcEmitter>::stc(self);
31627 }
31628 #[inline]
31644 pub fn std(&mut self)
31645 where Assembler<'a>: StdEmitter {
31646 <Self as StdEmitter>::std(self);
31647 }
31648 #[inline]
31664 pub fn sti(&mut self)
31665 where Assembler<'a>: StiEmitter {
31666 <Self as StiEmitter>::sti(self);
31667 }
31668 #[inline]
31684 pub fn stos(&mut self)
31685 where Assembler<'a>: StosEmitter {
31686 <Self as StosEmitter>::stos(self);
31687 }
31688 #[inline]
31705 pub fn str<A>(&mut self, op0: A)
31706 where Assembler<'a>: StrEmitter<A> {
31707 <Self as StrEmitter<A>>::str(self, op0);
31708 }
31709 #[inline]
31721 pub fn sttilecfg<A>(&mut self, op0: A)
31722 where Assembler<'a>: SttilecfgEmitter<A> {
31723 <Self as SttilecfgEmitter<A>>::sttilecfg(self, op0);
31724 }
31725 #[inline]
31757 pub fn sub<A, B>(&mut self, op0: A, op1: B)
31758 where Assembler<'a>: SubEmitter<A, B> {
31759 <Self as SubEmitter<A, B>>::sub(self, op0, op1);
31760 }
31761 #[inline]
31777 pub fn swapgs(&mut self)
31778 where Assembler<'a>: SwapgsEmitter {
31779 <Self as SwapgsEmitter>::swapgs(self);
31780 }
31781 #[inline]
31797 pub fn syscall(&mut self)
31798 where Assembler<'a>: SyscallEmitter {
31799 <Self as SyscallEmitter>::syscall(self);
31800 }
31801 #[inline]
31817 pub fn sysret(&mut self)
31818 where Assembler<'a>: SysretEmitter {
31819 <Self as SysretEmitter>::sysret(self);
31820 }
31821 #[inline]
31833 pub fn tcmmimfp16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31834 where Assembler<'a>: Tcmmimfp16psEmitter<A, B, C> {
31835 <Self as Tcmmimfp16psEmitter<A, B, C>>::tcmmimfp16ps(self, op0, op1, op2);
31836 }
31837 #[inline]
31849 pub fn tcmmrlfp16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31850 where Assembler<'a>: Tcmmrlfp16psEmitter<A, B, C> {
31851 <Self as Tcmmrlfp16psEmitter<A, B, C>>::tcmmrlfp16ps(self, op0, op1, op2);
31852 }
31853 #[inline]
31865 pub fn tdpbf16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31866 where Assembler<'a>: Tdpbf16psEmitter<A, B, C> {
31867 <Self as Tdpbf16psEmitter<A, B, C>>::tdpbf16ps(self, op0, op1, op2);
31868 }
31869 #[inline]
31881 pub fn tdpbssd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31882 where Assembler<'a>: TdpbssdEmitter<A, B, C> {
31883 <Self as TdpbssdEmitter<A, B, C>>::tdpbssd(self, op0, op1, op2);
31884 }
31885 #[inline]
31897 pub fn tdpbsud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31898 where Assembler<'a>: TdpbsudEmitter<A, B, C> {
31899 <Self as TdpbsudEmitter<A, B, C>>::tdpbsud(self, op0, op1, op2);
31900 }
31901 #[inline]
31913 pub fn tdpbusd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31914 where Assembler<'a>: TdpbusdEmitter<A, B, C> {
31915 <Self as TdpbusdEmitter<A, B, C>>::tdpbusd(self, op0, op1, op2);
31916 }
31917 #[inline]
31929 pub fn tdpbuud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31930 where Assembler<'a>: TdpbuudEmitter<A, B, C> {
31931 <Self as TdpbuudEmitter<A, B, C>>::tdpbuud(self, op0, op1, op2);
31932 }
31933 #[inline]
31945 pub fn tdpfp16ps<A, B, C>(&mut self, op0: A, op1: B, op2: C)
31946 where Assembler<'a>: Tdpfp16psEmitter<A, B, C> {
31947 <Self as Tdpfp16psEmitter<A, B, C>>::tdpfp16ps(self, op0, op1, op2);
31948 }
31949 #[inline]
31977 pub fn test<A, B>(&mut self, op0: A, op1: B)
31978 where Assembler<'a>: TestEmitter<A, B> {
31979 <Self as TestEmitter<A, B>>::test(self, op0, op1);
31980 }
31981 #[inline]
31993 pub fn tileloadd<A, B>(&mut self, op0: A, op1: B)
31994 where Assembler<'a>: TileloaddEmitter<A, B> {
31995 <Self as TileloaddEmitter<A, B>>::tileloadd(self, op0, op1);
31996 }
31997 #[inline]
32009 pub fn tileloaddt1<A, B>(&mut self, op0: A, op1: B)
32010 where Assembler<'a>: Tileloaddt1Emitter<A, B> {
32011 <Self as Tileloaddt1Emitter<A, B>>::tileloaddt1(self, op0, op1);
32012 }
32013 #[inline]
32029 pub fn tilerelease(&mut self)
32030 where Assembler<'a>: TilereleaseEmitter {
32031 <Self as TilereleaseEmitter>::tilerelease(self);
32032 }
32033 #[inline]
32045 pub fn tilestored<A, B>(&mut self, op0: A, op1: B)
32046 where Assembler<'a>: TilestoredEmitter<A, B> {
32047 <Self as TilestoredEmitter<A, B>>::tilestored(self, op0, op1);
32048 }
32049 #[inline]
32061 pub fn tilezero<A>(&mut self, op0: A)
32062 where Assembler<'a>: TilezeroEmitter<A> {
32063 <Self as TilezeroEmitter<A>>::tilezero(self, op0);
32064 }
32065 #[inline]
32082 pub fn ud0<A, B>(&mut self, op0: A, op1: B)
32083 where Assembler<'a>: Ud0Emitter<A, B> {
32084 <Self as Ud0Emitter<A, B>>::ud0(self, op0, op1);
32085 }
32086 #[inline]
32107 pub fn ud1<A, B>(&mut self, op0: A, op1: B)
32108 where Assembler<'a>: Ud1Emitter<A, B> {
32109 <Self as Ud1Emitter<A, B>>::ud1(self, op0, op1);
32110 }
32111 #[inline]
32127 pub fn ud2(&mut self)
32128 where Assembler<'a>: Ud2Emitter {
32129 <Self as Ud2Emitter>::ud2(self);
32130 }
32131 #[inline]
32148 pub fn vaddph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32149 where Assembler<'a>: VaddphEmitter<A, B, C> {
32150 <Self as VaddphEmitter<A, B, C>>::vaddph(self, op0, op1, op2);
32151 }
32152 #[inline]
32164 pub fn vaddph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32165 where Assembler<'a>: VaddphErEmitter<A, B, C> {
32166 <Self as VaddphErEmitter<A, B, C>>::vaddph_er(self, op0, op1, op2);
32167 }
32168 #[inline]
32185 pub fn vaddph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32186 where Assembler<'a>: VaddphMaskEmitter<A, B, C> {
32187 <Self as VaddphMaskEmitter<A, B, C>>::vaddph_mask(self, op0, op1, op2);
32188 }
32189 #[inline]
32201 pub fn vaddph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32202 where Assembler<'a>: VaddphMaskErEmitter<A, B, C> {
32203 <Self as VaddphMaskErEmitter<A, B, C>>::vaddph_mask_er(self, op0, op1, op2);
32204 }
32205 #[inline]
32222 pub fn vaddph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32223 where Assembler<'a>: VaddphMaskzEmitter<A, B, C> {
32224 <Self as VaddphMaskzEmitter<A, B, C>>::vaddph_maskz(self, op0, op1, op2);
32225 }
32226 #[inline]
32238 pub fn vaddph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32239 where Assembler<'a>: VaddphMaskzErEmitter<A, B, C> {
32240 <Self as VaddphMaskzErEmitter<A, B, C>>::vaddph_maskz_er(self, op0, op1, op2);
32241 }
32242 #[inline]
32255 pub fn vaddsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32256 where Assembler<'a>: VaddshEmitter<A, B, C> {
32257 <Self as VaddshEmitter<A, B, C>>::vaddsh(self, op0, op1, op2);
32258 }
32259 #[inline]
32271 pub fn vaddsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32272 where Assembler<'a>: VaddshErEmitter<A, B, C> {
32273 <Self as VaddshErEmitter<A, B, C>>::vaddsh_er(self, op0, op1, op2);
32274 }
32275 #[inline]
32288 pub fn vaddsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32289 where Assembler<'a>: VaddshMaskEmitter<A, B, C> {
32290 <Self as VaddshMaskEmitter<A, B, C>>::vaddsh_mask(self, op0, op1, op2);
32291 }
32292 #[inline]
32304 pub fn vaddsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32305 where Assembler<'a>: VaddshMaskErEmitter<A, B, C> {
32306 <Self as VaddshMaskErEmitter<A, B, C>>::vaddsh_mask_er(self, op0, op1, op2);
32307 }
32308 #[inline]
32321 pub fn vaddsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32322 where Assembler<'a>: VaddshMaskzEmitter<A, B, C> {
32323 <Self as VaddshMaskzEmitter<A, B, C>>::vaddsh_maskz(self, op0, op1, op2);
32324 }
32325 #[inline]
32337 pub fn vaddsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32338 where Assembler<'a>: VaddshMaskzErEmitter<A, B, C> {
32339 <Self as VaddshMaskzErEmitter<A, B, C>>::vaddsh_maskz_er(self, op0, op1, op2);
32340 }
32341 #[inline]
32362 pub fn vaesdec<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32363 where Assembler<'a>: VaesdecEmitter<A, B, C> {
32364 <Self as VaesdecEmitter<A, B, C>>::vaesdec(self, op0, op1, op2);
32365 }
32366 #[inline]
32387 pub fn vaesdeclast<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32388 where Assembler<'a>: VaesdeclastEmitter<A, B, C> {
32389 <Self as VaesdeclastEmitter<A, B, C>>::vaesdeclast(self, op0, op1, op2);
32390 }
32391 #[inline]
32412 pub fn vaesenc<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32413 where Assembler<'a>: VaesencEmitter<A, B, C> {
32414 <Self as VaesencEmitter<A, B, C>>::vaesenc(self, op0, op1, op2);
32415 }
32416 #[inline]
32437 pub fn vaesenclast<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32438 where Assembler<'a>: VaesenclastEmitter<A, B, C> {
32439 <Self as VaesenclastEmitter<A, B, C>>::vaesenclast(self, op0, op1, op2);
32440 }
32441 #[inline]
32458 pub fn vaesimc<A, B>(&mut self, op0: A, op1: B)
32459 where Assembler<'a>: VaesimcEmitter<A, B> {
32460 <Self as VaesimcEmitter<A, B>>::vaesimc(self, op0, op1);
32461 }
32462 #[inline]
32479 pub fn vaeskeygenassist<A, B, C>(&mut self, op0: A, op1: B, op2: C)
32480 where Assembler<'a>: VaeskeygenassistEmitter<A, B, C> {
32481 <Self as VaeskeygenassistEmitter<A, B, C>>::vaeskeygenassist(self, op0, op1, op2);
32482 }
32483 #[inline]
32496 pub fn vbcstnebf162ps<A, B>(&mut self, op0: A, op1: B)
32497 where Assembler<'a>: Vbcstnebf162psEmitter<A, B> {
32498 <Self as Vbcstnebf162psEmitter<A, B>>::vbcstnebf162ps(self, op0, op1);
32499 }
32500 #[inline]
32513 pub fn vbcstnesh2ps<A, B>(&mut self, op0: A, op1: B)
32514 where Assembler<'a>: Vbcstnesh2psEmitter<A, B> {
32515 <Self as Vbcstnesh2psEmitter<A, B>>::vbcstnesh2ps(self, op0, op1);
32516 }
32517 #[inline]
32534 pub fn vcmpph<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32535 where Assembler<'a>: VcmpphEmitter<A, B, C, D> {
32536 <Self as VcmpphEmitter<A, B, C, D>>::vcmpph(self, op0, op1, op2, op3);
32537 }
32538 #[inline]
32555 pub fn vcmpph_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32556 where Assembler<'a>: VcmpphMaskEmitter<A, B, C, D> {
32557 <Self as VcmpphMaskEmitter<A, B, C, D>>::vcmpph_mask(self, op0, op1, op2, op3);
32558 }
32559 #[inline]
32571 pub fn vcmpph_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32572 where Assembler<'a>: VcmpphMaskSaeEmitter<A, B, C, D> {
32573 <Self as VcmpphMaskSaeEmitter<A, B, C, D>>::vcmpph_mask_sae(self, op0, op1, op2, op3);
32574 }
32575 #[inline]
32587 pub fn vcmpph_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32588 where Assembler<'a>: VcmpphSaeEmitter<A, B, C, D> {
32589 <Self as VcmpphSaeEmitter<A, B, C, D>>::vcmpph_sae(self, op0, op1, op2, op3);
32590 }
32591 #[inline]
32604 pub fn vcmpsh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32605 where Assembler<'a>: VcmpshEmitter<A, B, C, D> {
32606 <Self as VcmpshEmitter<A, B, C, D>>::vcmpsh(self, op0, op1, op2, op3);
32607 }
32608 #[inline]
32621 pub fn vcmpsh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32622 where Assembler<'a>: VcmpshMaskEmitter<A, B, C, D> {
32623 <Self as VcmpshMaskEmitter<A, B, C, D>>::vcmpsh_mask(self, op0, op1, op2, op3);
32624 }
32625 #[inline]
32637 pub fn vcmpsh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32638 where Assembler<'a>: VcmpshMaskSaeEmitter<A, B, C, D> {
32639 <Self as VcmpshMaskSaeEmitter<A, B, C, D>>::vcmpsh_mask_sae(self, op0, op1, op2, op3);
32640 }
32641 #[inline]
32653 pub fn vcmpsh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
32654 where Assembler<'a>: VcmpshSaeEmitter<A, B, C, D> {
32655 <Self as VcmpshSaeEmitter<A, B, C, D>>::vcmpsh_sae(self, op0, op1, op2, op3);
32656 }
32657 #[inline]
32670 pub fn vcomish<A, B>(&mut self, op0: A, op1: B)
32671 where Assembler<'a>: VcomishEmitter<A, B> {
32672 <Self as VcomishEmitter<A, B>>::vcomish(self, op0, op1);
32673 }
32674 #[inline]
32686 pub fn vcomish_sae<A, B>(&mut self, op0: A, op1: B)
32687 where Assembler<'a>: VcomishSaeEmitter<A, B> {
32688 <Self as VcomishSaeEmitter<A, B>>::vcomish_sae(self, op0, op1);
32689 }
32690 #[inline]
32706 pub fn vcvtdq2ph<A, B>(&mut self, op0: A, op1: B)
32707 where Assembler<'a>: Vcvtdq2phEmitter<A, B> {
32708 <Self as Vcvtdq2phEmitter<A, B>>::vcvtdq2ph(self, op0, op1);
32709 }
32710 #[inline]
32722 pub fn vcvtdq2ph_er<A, B>(&mut self, op0: A, op1: B)
32723 where Assembler<'a>: Vcvtdq2phErEmitter<A, B> {
32724 <Self as Vcvtdq2phErEmitter<A, B>>::vcvtdq2ph_er(self, op0, op1);
32725 }
32726 #[inline]
32742 pub fn vcvtdq2ph_mask<A, B>(&mut self, op0: A, op1: B)
32743 where Assembler<'a>: Vcvtdq2phMaskEmitter<A, B> {
32744 <Self as Vcvtdq2phMaskEmitter<A, B>>::vcvtdq2ph_mask(self, op0, op1);
32745 }
32746 #[inline]
32758 pub fn vcvtdq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
32759 where Assembler<'a>: Vcvtdq2phMaskErEmitter<A, B> {
32760 <Self as Vcvtdq2phMaskErEmitter<A, B>>::vcvtdq2ph_mask_er(self, op0, op1);
32761 }
32762 #[inline]
32778 pub fn vcvtdq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
32779 where Assembler<'a>: Vcvtdq2phMaskzEmitter<A, B> {
32780 <Self as Vcvtdq2phMaskzEmitter<A, B>>::vcvtdq2ph_maskz(self, op0, op1);
32781 }
32782 #[inline]
32794 pub fn vcvtdq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
32795 where Assembler<'a>: Vcvtdq2phMaskzErEmitter<A, B> {
32796 <Self as Vcvtdq2phMaskzErEmitter<A, B>>::vcvtdq2ph_maskz_er(self, op0, op1);
32797 }
32798 #[inline]
32811 pub fn vcvtneebf162ps<A, B>(&mut self, op0: A, op1: B)
32812 where Assembler<'a>: Vcvtneebf162psEmitter<A, B> {
32813 <Self as Vcvtneebf162psEmitter<A, B>>::vcvtneebf162ps(self, op0, op1);
32814 }
32815 #[inline]
32828 pub fn vcvtneeph2ps<A, B>(&mut self, op0: A, op1: B)
32829 where Assembler<'a>: Vcvtneeph2psEmitter<A, B> {
32830 <Self as Vcvtneeph2psEmitter<A, B>>::vcvtneeph2ps(self, op0, op1);
32831 }
32832 #[inline]
32845 pub fn vcvtneobf162ps<A, B>(&mut self, op0: A, op1: B)
32846 where Assembler<'a>: Vcvtneobf162psEmitter<A, B> {
32847 <Self as Vcvtneobf162psEmitter<A, B>>::vcvtneobf162ps(self, op0, op1);
32848 }
32849 #[inline]
32862 pub fn vcvtneoph2ps<A, B>(&mut self, op0: A, op1: B)
32863 where Assembler<'a>: Vcvtneoph2psEmitter<A, B> {
32864 <Self as Vcvtneoph2psEmitter<A, B>>::vcvtneoph2ps(self, op0, op1);
32865 }
32866 #[inline]
32881 pub fn vcvtpd2ph<A, B>(&mut self, op0: A, op1: B)
32882 where Assembler<'a>: Vcvtpd2phEmitter<A, B> {
32883 <Self as Vcvtpd2phEmitter<A, B>>::vcvtpd2ph(self, op0, op1);
32884 }
32885 #[inline]
32897 pub fn vcvtpd2ph_er<A, B>(&mut self, op0: A, op1: B)
32898 where Assembler<'a>: Vcvtpd2phErEmitter<A, B> {
32899 <Self as Vcvtpd2phErEmitter<A, B>>::vcvtpd2ph_er(self, op0, op1);
32900 }
32901 #[inline]
32916 pub fn vcvtpd2ph_mask<A, B>(&mut self, op0: A, op1: B)
32917 where Assembler<'a>: Vcvtpd2phMaskEmitter<A, B> {
32918 <Self as Vcvtpd2phMaskEmitter<A, B>>::vcvtpd2ph_mask(self, op0, op1);
32919 }
32920 #[inline]
32932 pub fn vcvtpd2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
32933 where Assembler<'a>: Vcvtpd2phMaskErEmitter<A, B> {
32934 <Self as Vcvtpd2phMaskErEmitter<A, B>>::vcvtpd2ph_mask_er(self, op0, op1);
32935 }
32936 #[inline]
32951 pub fn vcvtpd2ph_maskz<A, B>(&mut self, op0: A, op1: B)
32952 where Assembler<'a>: Vcvtpd2phMaskzEmitter<A, B> {
32953 <Self as Vcvtpd2phMaskzEmitter<A, B>>::vcvtpd2ph_maskz(self, op0, op1);
32954 }
32955 #[inline]
32967 pub fn vcvtpd2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
32968 where Assembler<'a>: Vcvtpd2phMaskzErEmitter<A, B> {
32969 <Self as Vcvtpd2phMaskzErEmitter<A, B>>::vcvtpd2ph_maskz_er(self, op0, op1);
32970 }
32971 #[inline]
32988 pub fn vcvtph2dq<A, B>(&mut self, op0: A, op1: B)
32989 where Assembler<'a>: Vcvtph2dqEmitter<A, B> {
32990 <Self as Vcvtph2dqEmitter<A, B>>::vcvtph2dq(self, op0, op1);
32991 }
32992 #[inline]
33004 pub fn vcvtph2dq_er<A, B>(&mut self, op0: A, op1: B)
33005 where Assembler<'a>: Vcvtph2dqErEmitter<A, B> {
33006 <Self as Vcvtph2dqErEmitter<A, B>>::vcvtph2dq_er(self, op0, op1);
33007 }
33008 #[inline]
33025 pub fn vcvtph2dq_mask<A, B>(&mut self, op0: A, op1: B)
33026 where Assembler<'a>: Vcvtph2dqMaskEmitter<A, B> {
33027 <Self as Vcvtph2dqMaskEmitter<A, B>>::vcvtph2dq_mask(self, op0, op1);
33028 }
33029 #[inline]
33041 pub fn vcvtph2dq_mask_er<A, B>(&mut self, op0: A, op1: B)
33042 where Assembler<'a>: Vcvtph2dqMaskErEmitter<A, B> {
33043 <Self as Vcvtph2dqMaskErEmitter<A, B>>::vcvtph2dq_mask_er(self, op0, op1);
33044 }
33045 #[inline]
33062 pub fn vcvtph2dq_maskz<A, B>(&mut self, op0: A, op1: B)
33063 where Assembler<'a>: Vcvtph2dqMaskzEmitter<A, B> {
33064 <Self as Vcvtph2dqMaskzEmitter<A, B>>::vcvtph2dq_maskz(self, op0, op1);
33065 }
33066 #[inline]
33078 pub fn vcvtph2dq_maskz_er<A, B>(&mut self, op0: A, op1: B)
33079 where Assembler<'a>: Vcvtph2dqMaskzErEmitter<A, B> {
33080 <Self as Vcvtph2dqMaskzErEmitter<A, B>>::vcvtph2dq_maskz_er(self, op0, op1);
33081 }
33082 #[inline]
33099 pub fn vcvtph2pd<A, B>(&mut self, op0: A, op1: B)
33100 where Assembler<'a>: Vcvtph2pdEmitter<A, B> {
33101 <Self as Vcvtph2pdEmitter<A, B>>::vcvtph2pd(self, op0, op1);
33102 }
33103 #[inline]
33120 pub fn vcvtph2pd_mask<A, B>(&mut self, op0: A, op1: B)
33121 where Assembler<'a>: Vcvtph2pdMaskEmitter<A, B> {
33122 <Self as Vcvtph2pdMaskEmitter<A, B>>::vcvtph2pd_mask(self, op0, op1);
33123 }
33124 #[inline]
33136 pub fn vcvtph2pd_mask_sae<A, B>(&mut self, op0: A, op1: B)
33137 where Assembler<'a>: Vcvtph2pdMaskSaeEmitter<A, B> {
33138 <Self as Vcvtph2pdMaskSaeEmitter<A, B>>::vcvtph2pd_mask_sae(self, op0, op1);
33139 }
33140 #[inline]
33157 pub fn vcvtph2pd_maskz<A, B>(&mut self, op0: A, op1: B)
33158 where Assembler<'a>: Vcvtph2pdMaskzEmitter<A, B> {
33159 <Self as Vcvtph2pdMaskzEmitter<A, B>>::vcvtph2pd_maskz(self, op0, op1);
33160 }
33161 #[inline]
33173 pub fn vcvtph2pd_maskz_sae<A, B>(&mut self, op0: A, op1: B)
33174 where Assembler<'a>: Vcvtph2pdMaskzSaeEmitter<A, B> {
33175 <Self as Vcvtph2pdMaskzSaeEmitter<A, B>>::vcvtph2pd_maskz_sae(self, op0, op1);
33176 }
33177 #[inline]
33189 pub fn vcvtph2pd_sae<A, B>(&mut self, op0: A, op1: B)
33190 where Assembler<'a>: Vcvtph2pdSaeEmitter<A, B> {
33191 <Self as Vcvtph2pdSaeEmitter<A, B>>::vcvtph2pd_sae(self, op0, op1);
33192 }
33193 #[inline]
33214 pub fn vcvtph2psx<A, B>(&mut self, op0: A, op1: B)
33215 where Assembler<'a>: Vcvtph2psxEmitter<A, B> {
33216 <Self as Vcvtph2psxEmitter<A, B>>::vcvtph2psx(self, op0, op1);
33217 }
33218 #[inline]
33239 pub fn vcvtph2psx_mask<A, B>(&mut self, op0: A, op1: B)
33240 where Assembler<'a>: Vcvtph2psxMaskEmitter<A, B> {
33241 <Self as Vcvtph2psxMaskEmitter<A, B>>::vcvtph2psx_mask(self, op0, op1);
33242 }
33243 #[inline]
33259 pub fn vcvtph2psx_mask_sae<A, B>(&mut self, op0: A, op1: B)
33260 where Assembler<'a>: Vcvtph2psxMaskSaeEmitter<A, B> {
33261 <Self as Vcvtph2psxMaskSaeEmitter<A, B>>::vcvtph2psx_mask_sae(self, op0, op1);
33262 }
33263 #[inline]
33284 pub fn vcvtph2psx_maskz<A, B>(&mut self, op0: A, op1: B)
33285 where Assembler<'a>: Vcvtph2psxMaskzEmitter<A, B> {
33286 <Self as Vcvtph2psxMaskzEmitter<A, B>>::vcvtph2psx_maskz(self, op0, op1);
33287 }
33288 #[inline]
33304 pub fn vcvtph2psx_maskz_sae<A, B>(&mut self, op0: A, op1: B)
33305 where Assembler<'a>: Vcvtph2psxMaskzSaeEmitter<A, B> {
33306 <Self as Vcvtph2psxMaskzSaeEmitter<A, B>>::vcvtph2psx_maskz_sae(self, op0, op1);
33307 }
33308 #[inline]
33324 pub fn vcvtph2psx_sae<A, B>(&mut self, op0: A, op1: B)
33325 where Assembler<'a>: Vcvtph2psxSaeEmitter<A, B> {
33326 <Self as Vcvtph2psxSaeEmitter<A, B>>::vcvtph2psx_sae(self, op0, op1);
33327 }
33328 #[inline]
33345 pub fn vcvtph2qq<A, B>(&mut self, op0: A, op1: B)
33346 where Assembler<'a>: Vcvtph2qqEmitter<A, B> {
33347 <Self as Vcvtph2qqEmitter<A, B>>::vcvtph2qq(self, op0, op1);
33348 }
33349 #[inline]
33361 pub fn vcvtph2qq_er<A, B>(&mut self, op0: A, op1: B)
33362 where Assembler<'a>: Vcvtph2qqErEmitter<A, B> {
33363 <Self as Vcvtph2qqErEmitter<A, B>>::vcvtph2qq_er(self, op0, op1);
33364 }
33365 #[inline]
33382 pub fn vcvtph2qq_mask<A, B>(&mut self, op0: A, op1: B)
33383 where Assembler<'a>: Vcvtph2qqMaskEmitter<A, B> {
33384 <Self as Vcvtph2qqMaskEmitter<A, B>>::vcvtph2qq_mask(self, op0, op1);
33385 }
33386 #[inline]
33398 pub fn vcvtph2qq_mask_er<A, B>(&mut self, op0: A, op1: B)
33399 where Assembler<'a>: Vcvtph2qqMaskErEmitter<A, B> {
33400 <Self as Vcvtph2qqMaskErEmitter<A, B>>::vcvtph2qq_mask_er(self, op0, op1);
33401 }
33402 #[inline]
33419 pub fn vcvtph2qq_maskz<A, B>(&mut self, op0: A, op1: B)
33420 where Assembler<'a>: Vcvtph2qqMaskzEmitter<A, B> {
33421 <Self as Vcvtph2qqMaskzEmitter<A, B>>::vcvtph2qq_maskz(self, op0, op1);
33422 }
33423 #[inline]
33435 pub fn vcvtph2qq_maskz_er<A, B>(&mut self, op0: A, op1: B)
33436 where Assembler<'a>: Vcvtph2qqMaskzErEmitter<A, B> {
33437 <Self as Vcvtph2qqMaskzErEmitter<A, B>>::vcvtph2qq_maskz_er(self, op0, op1);
33438 }
33439 #[inline]
33456 pub fn vcvtph2udq<A, B>(&mut self, op0: A, op1: B)
33457 where Assembler<'a>: Vcvtph2udqEmitter<A, B> {
33458 <Self as Vcvtph2udqEmitter<A, B>>::vcvtph2udq(self, op0, op1);
33459 }
33460 #[inline]
33472 pub fn vcvtph2udq_er<A, B>(&mut self, op0: A, op1: B)
33473 where Assembler<'a>: Vcvtph2udqErEmitter<A, B> {
33474 <Self as Vcvtph2udqErEmitter<A, B>>::vcvtph2udq_er(self, op0, op1);
33475 }
33476 #[inline]
33493 pub fn vcvtph2udq_mask<A, B>(&mut self, op0: A, op1: B)
33494 where Assembler<'a>: Vcvtph2udqMaskEmitter<A, B> {
33495 <Self as Vcvtph2udqMaskEmitter<A, B>>::vcvtph2udq_mask(self, op0, op1);
33496 }
33497 #[inline]
33509 pub fn vcvtph2udq_mask_er<A, B>(&mut self, op0: A, op1: B)
33510 where Assembler<'a>: Vcvtph2udqMaskErEmitter<A, B> {
33511 <Self as Vcvtph2udqMaskErEmitter<A, B>>::vcvtph2udq_mask_er(self, op0, op1);
33512 }
33513 #[inline]
33530 pub fn vcvtph2udq_maskz<A, B>(&mut self, op0: A, op1: B)
33531 where Assembler<'a>: Vcvtph2udqMaskzEmitter<A, B> {
33532 <Self as Vcvtph2udqMaskzEmitter<A, B>>::vcvtph2udq_maskz(self, op0, op1);
33533 }
33534 #[inline]
33546 pub fn vcvtph2udq_maskz_er<A, B>(&mut self, op0: A, op1: B)
33547 where Assembler<'a>: Vcvtph2udqMaskzErEmitter<A, B> {
33548 <Self as Vcvtph2udqMaskzErEmitter<A, B>>::vcvtph2udq_maskz_er(self, op0, op1);
33549 }
33550 #[inline]
33567 pub fn vcvtph2uqq<A, B>(&mut self, op0: A, op1: B)
33568 where Assembler<'a>: Vcvtph2uqqEmitter<A, B> {
33569 <Self as Vcvtph2uqqEmitter<A, B>>::vcvtph2uqq(self, op0, op1);
33570 }
33571 #[inline]
33583 pub fn vcvtph2uqq_er<A, B>(&mut self, op0: A, op1: B)
33584 where Assembler<'a>: Vcvtph2uqqErEmitter<A, B> {
33585 <Self as Vcvtph2uqqErEmitter<A, B>>::vcvtph2uqq_er(self, op0, op1);
33586 }
33587 #[inline]
33604 pub fn vcvtph2uqq_mask<A, B>(&mut self, op0: A, op1: B)
33605 where Assembler<'a>: Vcvtph2uqqMaskEmitter<A, B> {
33606 <Self as Vcvtph2uqqMaskEmitter<A, B>>::vcvtph2uqq_mask(self, op0, op1);
33607 }
33608 #[inline]
33620 pub fn vcvtph2uqq_mask_er<A, B>(&mut self, op0: A, op1: B)
33621 where Assembler<'a>: Vcvtph2uqqMaskErEmitter<A, B> {
33622 <Self as Vcvtph2uqqMaskErEmitter<A, B>>::vcvtph2uqq_mask_er(self, op0, op1);
33623 }
33624 #[inline]
33641 pub fn vcvtph2uqq_maskz<A, B>(&mut self, op0: A, op1: B)
33642 where Assembler<'a>: Vcvtph2uqqMaskzEmitter<A, B> {
33643 <Self as Vcvtph2uqqMaskzEmitter<A, B>>::vcvtph2uqq_maskz(self, op0, op1);
33644 }
33645 #[inline]
33657 pub fn vcvtph2uqq_maskz_er<A, B>(&mut self, op0: A, op1: B)
33658 where Assembler<'a>: Vcvtph2uqqMaskzErEmitter<A, B> {
33659 <Self as Vcvtph2uqqMaskzErEmitter<A, B>>::vcvtph2uqq_maskz_er(self, op0, op1);
33660 }
33661 #[inline]
33678 pub fn vcvtph2uw<A, B>(&mut self, op0: A, op1: B)
33679 where Assembler<'a>: Vcvtph2uwEmitter<A, B> {
33680 <Self as Vcvtph2uwEmitter<A, B>>::vcvtph2uw(self, op0, op1);
33681 }
33682 #[inline]
33694 pub fn vcvtph2uw_er<A, B>(&mut self, op0: A, op1: B)
33695 where Assembler<'a>: Vcvtph2uwErEmitter<A, B> {
33696 <Self as Vcvtph2uwErEmitter<A, B>>::vcvtph2uw_er(self, op0, op1);
33697 }
33698 #[inline]
33715 pub fn vcvtph2uw_mask<A, B>(&mut self, op0: A, op1: B)
33716 where Assembler<'a>: Vcvtph2uwMaskEmitter<A, B> {
33717 <Self as Vcvtph2uwMaskEmitter<A, B>>::vcvtph2uw_mask(self, op0, op1);
33718 }
33719 #[inline]
33731 pub fn vcvtph2uw_mask_er<A, B>(&mut self, op0: A, op1: B)
33732 where Assembler<'a>: Vcvtph2uwMaskErEmitter<A, B> {
33733 <Self as Vcvtph2uwMaskErEmitter<A, B>>::vcvtph2uw_mask_er(self, op0, op1);
33734 }
33735 #[inline]
33752 pub fn vcvtph2uw_maskz<A, B>(&mut self, op0: A, op1: B)
33753 where Assembler<'a>: Vcvtph2uwMaskzEmitter<A, B> {
33754 <Self as Vcvtph2uwMaskzEmitter<A, B>>::vcvtph2uw_maskz(self, op0, op1);
33755 }
33756 #[inline]
33768 pub fn vcvtph2uw_maskz_er<A, B>(&mut self, op0: A, op1: B)
33769 where Assembler<'a>: Vcvtph2uwMaskzErEmitter<A, B> {
33770 <Self as Vcvtph2uwMaskzErEmitter<A, B>>::vcvtph2uw_maskz_er(self, op0, op1);
33771 }
33772 #[inline]
33789 pub fn vcvtph2w<A, B>(&mut self, op0: A, op1: B)
33790 where Assembler<'a>: Vcvtph2wEmitter<A, B> {
33791 <Self as Vcvtph2wEmitter<A, B>>::vcvtph2w(self, op0, op1);
33792 }
33793 #[inline]
33805 pub fn vcvtph2w_er<A, B>(&mut self, op0: A, op1: B)
33806 where Assembler<'a>: Vcvtph2wErEmitter<A, B> {
33807 <Self as Vcvtph2wErEmitter<A, B>>::vcvtph2w_er(self, op0, op1);
33808 }
33809 #[inline]
33826 pub fn vcvtph2w_mask<A, B>(&mut self, op0: A, op1: B)
33827 where Assembler<'a>: Vcvtph2wMaskEmitter<A, B> {
33828 <Self as Vcvtph2wMaskEmitter<A, B>>::vcvtph2w_mask(self, op0, op1);
33829 }
33830 #[inline]
33842 pub fn vcvtph2w_mask_er<A, B>(&mut self, op0: A, op1: B)
33843 where Assembler<'a>: Vcvtph2wMaskErEmitter<A, B> {
33844 <Self as Vcvtph2wMaskErEmitter<A, B>>::vcvtph2w_mask_er(self, op0, op1);
33845 }
33846 #[inline]
33863 pub fn vcvtph2w_maskz<A, B>(&mut self, op0: A, op1: B)
33864 where Assembler<'a>: Vcvtph2wMaskzEmitter<A, B> {
33865 <Self as Vcvtph2wMaskzEmitter<A, B>>::vcvtph2w_maskz(self, op0, op1);
33866 }
33867 #[inline]
33879 pub fn vcvtph2w_maskz_er<A, B>(&mut self, op0: A, op1: B)
33880 where Assembler<'a>: Vcvtph2wMaskzErEmitter<A, B> {
33881 <Self as Vcvtph2wMaskzErEmitter<A, B>>::vcvtph2w_maskz_er(self, op0, op1);
33882 }
33883 #[inline]
33903 pub fn vcvtps2phx<A, B>(&mut self, op0: A, op1: B)
33904 where Assembler<'a>: Vcvtps2phxEmitter<A, B> {
33905 <Self as Vcvtps2phxEmitter<A, B>>::vcvtps2phx(self, op0, op1);
33906 }
33907 #[inline]
33923 pub fn vcvtps2phx_er<A, B>(&mut self, op0: A, op1: B)
33924 where Assembler<'a>: Vcvtps2phxErEmitter<A, B> {
33925 <Self as Vcvtps2phxErEmitter<A, B>>::vcvtps2phx_er(self, op0, op1);
33926 }
33927 #[inline]
33947 pub fn vcvtps2phx_mask<A, B>(&mut self, op0: A, op1: B)
33948 where Assembler<'a>: Vcvtps2phxMaskEmitter<A, B> {
33949 <Self as Vcvtps2phxMaskEmitter<A, B>>::vcvtps2phx_mask(self, op0, op1);
33950 }
33951 #[inline]
33967 pub fn vcvtps2phx_mask_er<A, B>(&mut self, op0: A, op1: B)
33968 where Assembler<'a>: Vcvtps2phxMaskErEmitter<A, B> {
33969 <Self as Vcvtps2phxMaskErEmitter<A, B>>::vcvtps2phx_mask_er(self, op0, op1);
33970 }
33971 #[inline]
33991 pub fn vcvtps2phx_maskz<A, B>(&mut self, op0: A, op1: B)
33992 where Assembler<'a>: Vcvtps2phxMaskzEmitter<A, B> {
33993 <Self as Vcvtps2phxMaskzEmitter<A, B>>::vcvtps2phx_maskz(self, op0, op1);
33994 }
33995 #[inline]
34011 pub fn vcvtps2phx_maskz_er<A, B>(&mut self, op0: A, op1: B)
34012 where Assembler<'a>: Vcvtps2phxMaskzErEmitter<A, B> {
34013 <Self as Vcvtps2phxMaskzErEmitter<A, B>>::vcvtps2phx_maskz_er(self, op0, op1);
34014 }
34015 #[inline]
34030 pub fn vcvtqq2ph<A, B>(&mut self, op0: A, op1: B)
34031 where Assembler<'a>: Vcvtqq2phEmitter<A, B> {
34032 <Self as Vcvtqq2phEmitter<A, B>>::vcvtqq2ph(self, op0, op1);
34033 }
34034 #[inline]
34046 pub fn vcvtqq2ph_er<A, B>(&mut self, op0: A, op1: B)
34047 where Assembler<'a>: Vcvtqq2phErEmitter<A, B> {
34048 <Self as Vcvtqq2phErEmitter<A, B>>::vcvtqq2ph_er(self, op0, op1);
34049 }
34050 #[inline]
34065 pub fn vcvtqq2ph_mask<A, B>(&mut self, op0: A, op1: B)
34066 where Assembler<'a>: Vcvtqq2phMaskEmitter<A, B> {
34067 <Self as Vcvtqq2phMaskEmitter<A, B>>::vcvtqq2ph_mask(self, op0, op1);
34068 }
34069 #[inline]
34081 pub fn vcvtqq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
34082 where Assembler<'a>: Vcvtqq2phMaskErEmitter<A, B> {
34083 <Self as Vcvtqq2phMaskErEmitter<A, B>>::vcvtqq2ph_mask_er(self, op0, op1);
34084 }
34085 #[inline]
34100 pub fn vcvtqq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
34101 where Assembler<'a>: Vcvtqq2phMaskzEmitter<A, B> {
34102 <Self as Vcvtqq2phMaskzEmitter<A, B>>::vcvtqq2ph_maskz(self, op0, op1);
34103 }
34104 #[inline]
34116 pub fn vcvtqq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
34117 where Assembler<'a>: Vcvtqq2phMaskzErEmitter<A, B> {
34118 <Self as Vcvtqq2phMaskzErEmitter<A, B>>::vcvtqq2ph_maskz_er(self, op0, op1);
34119 }
34120 #[inline]
34133 pub fn vcvtsd2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34134 where Assembler<'a>: Vcvtsd2shEmitter<A, B, C> {
34135 <Self as Vcvtsd2shEmitter<A, B, C>>::vcvtsd2sh(self, op0, op1, op2);
34136 }
34137 #[inline]
34149 pub fn vcvtsd2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34150 where Assembler<'a>: Vcvtsd2shErEmitter<A, B, C> {
34151 <Self as Vcvtsd2shErEmitter<A, B, C>>::vcvtsd2sh_er(self, op0, op1, op2);
34152 }
34153 #[inline]
34166 pub fn vcvtsd2sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34167 where Assembler<'a>: Vcvtsd2shMaskEmitter<A, B, C> {
34168 <Self as Vcvtsd2shMaskEmitter<A, B, C>>::vcvtsd2sh_mask(self, op0, op1, op2);
34169 }
34170 #[inline]
34182 pub fn vcvtsd2sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34183 where Assembler<'a>: Vcvtsd2shMaskErEmitter<A, B, C> {
34184 <Self as Vcvtsd2shMaskErEmitter<A, B, C>>::vcvtsd2sh_mask_er(self, op0, op1, op2);
34185 }
34186 #[inline]
34199 pub fn vcvtsd2sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34200 where Assembler<'a>: Vcvtsd2shMaskzEmitter<A, B, C> {
34201 <Self as Vcvtsd2shMaskzEmitter<A, B, C>>::vcvtsd2sh_maskz(self, op0, op1, op2);
34202 }
34203 #[inline]
34215 pub fn vcvtsd2sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34216 where Assembler<'a>: Vcvtsd2shMaskzErEmitter<A, B, C> {
34217 <Self as Vcvtsd2shMaskzErEmitter<A, B, C>>::vcvtsd2sh_maskz_er(self, op0, op1, op2);
34218 }
34219 #[inline]
34232 pub fn vcvtsh2sd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34233 where Assembler<'a>: Vcvtsh2sdEmitter<A, B, C> {
34234 <Self as Vcvtsh2sdEmitter<A, B, C>>::vcvtsh2sd(self, op0, op1, op2);
34235 }
34236 #[inline]
34249 pub fn vcvtsh2sd_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34250 where Assembler<'a>: Vcvtsh2sdMaskEmitter<A, B, C> {
34251 <Self as Vcvtsh2sdMaskEmitter<A, B, C>>::vcvtsh2sd_mask(self, op0, op1, op2);
34252 }
34253 #[inline]
34265 pub fn vcvtsh2sd_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34266 where Assembler<'a>: Vcvtsh2sdMaskSaeEmitter<A, B, C> {
34267 <Self as Vcvtsh2sdMaskSaeEmitter<A, B, C>>::vcvtsh2sd_mask_sae(self, op0, op1, op2);
34268 }
34269 #[inline]
34282 pub fn vcvtsh2sd_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34283 where Assembler<'a>: Vcvtsh2sdMaskzEmitter<A, B, C> {
34284 <Self as Vcvtsh2sdMaskzEmitter<A, B, C>>::vcvtsh2sd_maskz(self, op0, op1, op2);
34285 }
34286 #[inline]
34298 pub fn vcvtsh2sd_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34299 where Assembler<'a>: Vcvtsh2sdMaskzSaeEmitter<A, B, C> {
34300 <Self as Vcvtsh2sdMaskzSaeEmitter<A, B, C>>::vcvtsh2sd_maskz_sae(self, op0, op1, op2);
34301 }
34302 #[inline]
34314 pub fn vcvtsh2sd_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34315 where Assembler<'a>: Vcvtsh2sdSaeEmitter<A, B, C> {
34316 <Self as Vcvtsh2sdSaeEmitter<A, B, C>>::vcvtsh2sd_sae(self, op0, op1, op2);
34317 }
34318 #[inline]
34333 pub fn vcvtsh2si<A, B>(&mut self, op0: A, op1: B)
34334 where Assembler<'a>: Vcvtsh2siEmitter<A, B> {
34335 <Self as Vcvtsh2siEmitter<A, B>>::vcvtsh2si(self, op0, op1);
34336 }
34337 #[inline]
34350 pub fn vcvtsh2si_er<A, B>(&mut self, op0: A, op1: B)
34351 where Assembler<'a>: Vcvtsh2siErEmitter<A, B> {
34352 <Self as Vcvtsh2siErEmitter<A, B>>::vcvtsh2si_er(self, op0, op1);
34353 }
34354 #[inline]
34367 pub fn vcvtsh2ss<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34368 where Assembler<'a>: Vcvtsh2ssEmitter<A, B, C> {
34369 <Self as Vcvtsh2ssEmitter<A, B, C>>::vcvtsh2ss(self, op0, op1, op2);
34370 }
34371 #[inline]
34384 pub fn vcvtsh2ss_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34385 where Assembler<'a>: Vcvtsh2ssMaskEmitter<A, B, C> {
34386 <Self as Vcvtsh2ssMaskEmitter<A, B, C>>::vcvtsh2ss_mask(self, op0, op1, op2);
34387 }
34388 #[inline]
34400 pub fn vcvtsh2ss_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34401 where Assembler<'a>: Vcvtsh2ssMaskSaeEmitter<A, B, C> {
34402 <Self as Vcvtsh2ssMaskSaeEmitter<A, B, C>>::vcvtsh2ss_mask_sae(self, op0, op1, op2);
34403 }
34404 #[inline]
34417 pub fn vcvtsh2ss_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34418 where Assembler<'a>: Vcvtsh2ssMaskzEmitter<A, B, C> {
34419 <Self as Vcvtsh2ssMaskzEmitter<A, B, C>>::vcvtsh2ss_maskz(self, op0, op1, op2);
34420 }
34421 #[inline]
34433 pub fn vcvtsh2ss_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34434 where Assembler<'a>: Vcvtsh2ssMaskzSaeEmitter<A, B, C> {
34435 <Self as Vcvtsh2ssMaskzSaeEmitter<A, B, C>>::vcvtsh2ss_maskz_sae(self, op0, op1, op2);
34436 }
34437 #[inline]
34449 pub fn vcvtsh2ss_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34450 where Assembler<'a>: Vcvtsh2ssSaeEmitter<A, B, C> {
34451 <Self as Vcvtsh2ssSaeEmitter<A, B, C>>::vcvtsh2ss_sae(self, op0, op1, op2);
34452 }
34453 #[inline]
34468 pub fn vcvtsh2usi<A, B>(&mut self, op0: A, op1: B)
34469 where Assembler<'a>: Vcvtsh2usiEmitter<A, B> {
34470 <Self as Vcvtsh2usiEmitter<A, B>>::vcvtsh2usi(self, op0, op1);
34471 }
34472 #[inline]
34485 pub fn vcvtsh2usi_er<A, B>(&mut self, op0: A, op1: B)
34486 where Assembler<'a>: Vcvtsh2usiErEmitter<A, B> {
34487 <Self as Vcvtsh2usiErEmitter<A, B>>::vcvtsh2usi_er(self, op0, op1);
34488 }
34489 #[inline]
34503 pub fn vcvtsi2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34504 where Assembler<'a>: Vcvtsi2shEmitter<A, B, C> {
34505 <Self as Vcvtsi2shEmitter<A, B, C>>::vcvtsi2sh(self, op0, op1, op2);
34506 }
34507 #[inline]
34520 pub fn vcvtsi2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34521 where Assembler<'a>: Vcvtsi2shErEmitter<A, B, C> {
34522 <Self as Vcvtsi2shErEmitter<A, B, C>>::vcvtsi2sh_er(self, op0, op1, op2);
34523 }
34524 #[inline]
34537 pub fn vcvtss2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34538 where Assembler<'a>: Vcvtss2shEmitter<A, B, C> {
34539 <Self as Vcvtss2shEmitter<A, B, C>>::vcvtss2sh(self, op0, op1, op2);
34540 }
34541 #[inline]
34553 pub fn vcvtss2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34554 where Assembler<'a>: Vcvtss2shErEmitter<A, B, C> {
34555 <Self as Vcvtss2shErEmitter<A, B, C>>::vcvtss2sh_er(self, op0, op1, op2);
34556 }
34557 #[inline]
34570 pub fn vcvtss2sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34571 where Assembler<'a>: Vcvtss2shMaskEmitter<A, B, C> {
34572 <Self as Vcvtss2shMaskEmitter<A, B, C>>::vcvtss2sh_mask(self, op0, op1, op2);
34573 }
34574 #[inline]
34586 pub fn vcvtss2sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34587 where Assembler<'a>: Vcvtss2shMaskErEmitter<A, B, C> {
34588 <Self as Vcvtss2shMaskErEmitter<A, B, C>>::vcvtss2sh_mask_er(self, op0, op1, op2);
34589 }
34590 #[inline]
34603 pub fn vcvtss2sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34604 where Assembler<'a>: Vcvtss2shMaskzEmitter<A, B, C> {
34605 <Self as Vcvtss2shMaskzEmitter<A, B, C>>::vcvtss2sh_maskz(self, op0, op1, op2);
34606 }
34607 #[inline]
34619 pub fn vcvtss2sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
34620 where Assembler<'a>: Vcvtss2shMaskzErEmitter<A, B, C> {
34621 <Self as Vcvtss2shMaskzErEmitter<A, B, C>>::vcvtss2sh_maskz_er(self, op0, op1, op2);
34622 }
34623 #[inline]
34640 pub fn vcvttph2dq<A, B>(&mut self, op0: A, op1: B)
34641 where Assembler<'a>: Vcvttph2dqEmitter<A, B> {
34642 <Self as Vcvttph2dqEmitter<A, B>>::vcvttph2dq(self, op0, op1);
34643 }
34644 #[inline]
34661 pub fn vcvttph2dq_mask<A, B>(&mut self, op0: A, op1: B)
34662 where Assembler<'a>: Vcvttph2dqMaskEmitter<A, B> {
34663 <Self as Vcvttph2dqMaskEmitter<A, B>>::vcvttph2dq_mask(self, op0, op1);
34664 }
34665 #[inline]
34677 pub fn vcvttph2dq_mask_sae<A, B>(&mut self, op0: A, op1: B)
34678 where Assembler<'a>: Vcvttph2dqMaskSaeEmitter<A, B> {
34679 <Self as Vcvttph2dqMaskSaeEmitter<A, B>>::vcvttph2dq_mask_sae(self, op0, op1);
34680 }
34681 #[inline]
34698 pub fn vcvttph2dq_maskz<A, B>(&mut self, op0: A, op1: B)
34699 where Assembler<'a>: Vcvttph2dqMaskzEmitter<A, B> {
34700 <Self as Vcvttph2dqMaskzEmitter<A, B>>::vcvttph2dq_maskz(self, op0, op1);
34701 }
34702 #[inline]
34714 pub fn vcvttph2dq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
34715 where Assembler<'a>: Vcvttph2dqMaskzSaeEmitter<A, B> {
34716 <Self as Vcvttph2dqMaskzSaeEmitter<A, B>>::vcvttph2dq_maskz_sae(self, op0, op1);
34717 }
34718 #[inline]
34730 pub fn vcvttph2dq_sae<A, B>(&mut self, op0: A, op1: B)
34731 where Assembler<'a>: Vcvttph2dqSaeEmitter<A, B> {
34732 <Self as Vcvttph2dqSaeEmitter<A, B>>::vcvttph2dq_sae(self, op0, op1);
34733 }
34734 #[inline]
34751 pub fn vcvttph2qq<A, B>(&mut self, op0: A, op1: B)
34752 where Assembler<'a>: Vcvttph2qqEmitter<A, B> {
34753 <Self as Vcvttph2qqEmitter<A, B>>::vcvttph2qq(self, op0, op1);
34754 }
34755 #[inline]
34772 pub fn vcvttph2qq_mask<A, B>(&mut self, op0: A, op1: B)
34773 where Assembler<'a>: Vcvttph2qqMaskEmitter<A, B> {
34774 <Self as Vcvttph2qqMaskEmitter<A, B>>::vcvttph2qq_mask(self, op0, op1);
34775 }
34776 #[inline]
34788 pub fn vcvttph2qq_mask_sae<A, B>(&mut self, op0: A, op1: B)
34789 where Assembler<'a>: Vcvttph2qqMaskSaeEmitter<A, B> {
34790 <Self as Vcvttph2qqMaskSaeEmitter<A, B>>::vcvttph2qq_mask_sae(self, op0, op1);
34791 }
34792 #[inline]
34809 pub fn vcvttph2qq_maskz<A, B>(&mut self, op0: A, op1: B)
34810 where Assembler<'a>: Vcvttph2qqMaskzEmitter<A, B> {
34811 <Self as Vcvttph2qqMaskzEmitter<A, B>>::vcvttph2qq_maskz(self, op0, op1);
34812 }
34813 #[inline]
34825 pub fn vcvttph2qq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
34826 where Assembler<'a>: Vcvttph2qqMaskzSaeEmitter<A, B> {
34827 <Self as Vcvttph2qqMaskzSaeEmitter<A, B>>::vcvttph2qq_maskz_sae(self, op0, op1);
34828 }
34829 #[inline]
34841 pub fn vcvttph2qq_sae<A, B>(&mut self, op0: A, op1: B)
34842 where Assembler<'a>: Vcvttph2qqSaeEmitter<A, B> {
34843 <Self as Vcvttph2qqSaeEmitter<A, B>>::vcvttph2qq_sae(self, op0, op1);
34844 }
34845 #[inline]
34862 pub fn vcvttph2udq<A, B>(&mut self, op0: A, op1: B)
34863 where Assembler<'a>: Vcvttph2udqEmitter<A, B> {
34864 <Self as Vcvttph2udqEmitter<A, B>>::vcvttph2udq(self, op0, op1);
34865 }
34866 #[inline]
34883 pub fn vcvttph2udq_mask<A, B>(&mut self, op0: A, op1: B)
34884 where Assembler<'a>: Vcvttph2udqMaskEmitter<A, B> {
34885 <Self as Vcvttph2udqMaskEmitter<A, B>>::vcvttph2udq_mask(self, op0, op1);
34886 }
34887 #[inline]
34899 pub fn vcvttph2udq_mask_sae<A, B>(&mut self, op0: A, op1: B)
34900 where Assembler<'a>: Vcvttph2udqMaskSaeEmitter<A, B> {
34901 <Self as Vcvttph2udqMaskSaeEmitter<A, B>>::vcvttph2udq_mask_sae(self, op0, op1);
34902 }
34903 #[inline]
34920 pub fn vcvttph2udq_maskz<A, B>(&mut self, op0: A, op1: B)
34921 where Assembler<'a>: Vcvttph2udqMaskzEmitter<A, B> {
34922 <Self as Vcvttph2udqMaskzEmitter<A, B>>::vcvttph2udq_maskz(self, op0, op1);
34923 }
34924 #[inline]
34936 pub fn vcvttph2udq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
34937 where Assembler<'a>: Vcvttph2udqMaskzSaeEmitter<A, B> {
34938 <Self as Vcvttph2udqMaskzSaeEmitter<A, B>>::vcvttph2udq_maskz_sae(self, op0, op1);
34939 }
34940 #[inline]
34952 pub fn vcvttph2udq_sae<A, B>(&mut self, op0: A, op1: B)
34953 where Assembler<'a>: Vcvttph2udqSaeEmitter<A, B> {
34954 <Self as Vcvttph2udqSaeEmitter<A, B>>::vcvttph2udq_sae(self, op0, op1);
34955 }
34956 #[inline]
34973 pub fn vcvttph2uqq<A, B>(&mut self, op0: A, op1: B)
34974 where Assembler<'a>: Vcvttph2uqqEmitter<A, B> {
34975 <Self as Vcvttph2uqqEmitter<A, B>>::vcvttph2uqq(self, op0, op1);
34976 }
34977 #[inline]
34994 pub fn vcvttph2uqq_mask<A, B>(&mut self, op0: A, op1: B)
34995 where Assembler<'a>: Vcvttph2uqqMaskEmitter<A, B> {
34996 <Self as Vcvttph2uqqMaskEmitter<A, B>>::vcvttph2uqq_mask(self, op0, op1);
34997 }
34998 #[inline]
35010 pub fn vcvttph2uqq_mask_sae<A, B>(&mut self, op0: A, op1: B)
35011 where Assembler<'a>: Vcvttph2uqqMaskSaeEmitter<A, B> {
35012 <Self as Vcvttph2uqqMaskSaeEmitter<A, B>>::vcvttph2uqq_mask_sae(self, op0, op1);
35013 }
35014 #[inline]
35031 pub fn vcvttph2uqq_maskz<A, B>(&mut self, op0: A, op1: B)
35032 where Assembler<'a>: Vcvttph2uqqMaskzEmitter<A, B> {
35033 <Self as Vcvttph2uqqMaskzEmitter<A, B>>::vcvttph2uqq_maskz(self, op0, op1);
35034 }
35035 #[inline]
35047 pub fn vcvttph2uqq_maskz_sae<A, B>(&mut self, op0: A, op1: B)
35048 where Assembler<'a>: Vcvttph2uqqMaskzSaeEmitter<A, B> {
35049 <Self as Vcvttph2uqqMaskzSaeEmitter<A, B>>::vcvttph2uqq_maskz_sae(self, op0, op1);
35050 }
35051 #[inline]
35063 pub fn vcvttph2uqq_sae<A, B>(&mut self, op0: A, op1: B)
35064 where Assembler<'a>: Vcvttph2uqqSaeEmitter<A, B> {
35065 <Self as Vcvttph2uqqSaeEmitter<A, B>>::vcvttph2uqq_sae(self, op0, op1);
35066 }
35067 #[inline]
35084 pub fn vcvttph2uw<A, B>(&mut self, op0: A, op1: B)
35085 where Assembler<'a>: Vcvttph2uwEmitter<A, B> {
35086 <Self as Vcvttph2uwEmitter<A, B>>::vcvttph2uw(self, op0, op1);
35087 }
35088 #[inline]
35105 pub fn vcvttph2uw_mask<A, B>(&mut self, op0: A, op1: B)
35106 where Assembler<'a>: Vcvttph2uwMaskEmitter<A, B> {
35107 <Self as Vcvttph2uwMaskEmitter<A, B>>::vcvttph2uw_mask(self, op0, op1);
35108 }
35109 #[inline]
35121 pub fn vcvttph2uw_mask_sae<A, B>(&mut self, op0: A, op1: B)
35122 where Assembler<'a>: Vcvttph2uwMaskSaeEmitter<A, B> {
35123 <Self as Vcvttph2uwMaskSaeEmitter<A, B>>::vcvttph2uw_mask_sae(self, op0, op1);
35124 }
35125 #[inline]
35142 pub fn vcvttph2uw_maskz<A, B>(&mut self, op0: A, op1: B)
35143 where Assembler<'a>: Vcvttph2uwMaskzEmitter<A, B> {
35144 <Self as Vcvttph2uwMaskzEmitter<A, B>>::vcvttph2uw_maskz(self, op0, op1);
35145 }
35146 #[inline]
35158 pub fn vcvttph2uw_maskz_sae<A, B>(&mut self, op0: A, op1: B)
35159 where Assembler<'a>: Vcvttph2uwMaskzSaeEmitter<A, B> {
35160 <Self as Vcvttph2uwMaskzSaeEmitter<A, B>>::vcvttph2uw_maskz_sae(self, op0, op1);
35161 }
35162 #[inline]
35174 pub fn vcvttph2uw_sae<A, B>(&mut self, op0: A, op1: B)
35175 where Assembler<'a>: Vcvttph2uwSaeEmitter<A, B> {
35176 <Self as Vcvttph2uwSaeEmitter<A, B>>::vcvttph2uw_sae(self, op0, op1);
35177 }
35178 #[inline]
35195 pub fn vcvttph2w<A, B>(&mut self, op0: A, op1: B)
35196 where Assembler<'a>: Vcvttph2wEmitter<A, B> {
35197 <Self as Vcvttph2wEmitter<A, B>>::vcvttph2w(self, op0, op1);
35198 }
35199 #[inline]
35216 pub fn vcvttph2w_mask<A, B>(&mut self, op0: A, op1: B)
35217 where Assembler<'a>: Vcvttph2wMaskEmitter<A, B> {
35218 <Self as Vcvttph2wMaskEmitter<A, B>>::vcvttph2w_mask(self, op0, op1);
35219 }
35220 #[inline]
35232 pub fn vcvttph2w_mask_sae<A, B>(&mut self, op0: A, op1: B)
35233 where Assembler<'a>: Vcvttph2wMaskSaeEmitter<A, B> {
35234 <Self as Vcvttph2wMaskSaeEmitter<A, B>>::vcvttph2w_mask_sae(self, op0, op1);
35235 }
35236 #[inline]
35253 pub fn vcvttph2w_maskz<A, B>(&mut self, op0: A, op1: B)
35254 where Assembler<'a>: Vcvttph2wMaskzEmitter<A, B> {
35255 <Self as Vcvttph2wMaskzEmitter<A, B>>::vcvttph2w_maskz(self, op0, op1);
35256 }
35257 #[inline]
35269 pub fn vcvttph2w_maskz_sae<A, B>(&mut self, op0: A, op1: B)
35270 where Assembler<'a>: Vcvttph2wMaskzSaeEmitter<A, B> {
35271 <Self as Vcvttph2wMaskzSaeEmitter<A, B>>::vcvttph2w_maskz_sae(self, op0, op1);
35272 }
35273 #[inline]
35285 pub fn vcvttph2w_sae<A, B>(&mut self, op0: A, op1: B)
35286 where Assembler<'a>: Vcvttph2wSaeEmitter<A, B> {
35287 <Self as Vcvttph2wSaeEmitter<A, B>>::vcvttph2w_sae(self, op0, op1);
35288 }
35289 #[inline]
35304 pub fn vcvttsh2si<A, B>(&mut self, op0: A, op1: B)
35305 where Assembler<'a>: Vcvttsh2siEmitter<A, B> {
35306 <Self as Vcvttsh2siEmitter<A, B>>::vcvttsh2si(self, op0, op1);
35307 }
35308 #[inline]
35321 pub fn vcvttsh2si_sae<A, B>(&mut self, op0: A, op1: B)
35322 where Assembler<'a>: Vcvttsh2siSaeEmitter<A, B> {
35323 <Self as Vcvttsh2siSaeEmitter<A, B>>::vcvttsh2si_sae(self, op0, op1);
35324 }
35325 #[inline]
35340 pub fn vcvttsh2usi<A, B>(&mut self, op0: A, op1: B)
35341 where Assembler<'a>: Vcvttsh2usiEmitter<A, B> {
35342 <Self as Vcvttsh2usiEmitter<A, B>>::vcvttsh2usi(self, op0, op1);
35343 }
35344 #[inline]
35357 pub fn vcvttsh2usi_sae<A, B>(&mut self, op0: A, op1: B)
35358 where Assembler<'a>: Vcvttsh2usiSaeEmitter<A, B> {
35359 <Self as Vcvttsh2usiSaeEmitter<A, B>>::vcvttsh2usi_sae(self, op0, op1);
35360 }
35361 #[inline]
35377 pub fn vcvtudq2ph<A, B>(&mut self, op0: A, op1: B)
35378 where Assembler<'a>: Vcvtudq2phEmitter<A, B> {
35379 <Self as Vcvtudq2phEmitter<A, B>>::vcvtudq2ph(self, op0, op1);
35380 }
35381 #[inline]
35393 pub fn vcvtudq2ph_er<A, B>(&mut self, op0: A, op1: B)
35394 where Assembler<'a>: Vcvtudq2phErEmitter<A, B> {
35395 <Self as Vcvtudq2phErEmitter<A, B>>::vcvtudq2ph_er(self, op0, op1);
35396 }
35397 #[inline]
35413 pub fn vcvtudq2ph_mask<A, B>(&mut self, op0: A, op1: B)
35414 where Assembler<'a>: Vcvtudq2phMaskEmitter<A, B> {
35415 <Self as Vcvtudq2phMaskEmitter<A, B>>::vcvtudq2ph_mask(self, op0, op1);
35416 }
35417 #[inline]
35429 pub fn vcvtudq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
35430 where Assembler<'a>: Vcvtudq2phMaskErEmitter<A, B> {
35431 <Self as Vcvtudq2phMaskErEmitter<A, B>>::vcvtudq2ph_mask_er(self, op0, op1);
35432 }
35433 #[inline]
35449 pub fn vcvtudq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
35450 where Assembler<'a>: Vcvtudq2phMaskzEmitter<A, B> {
35451 <Self as Vcvtudq2phMaskzEmitter<A, B>>::vcvtudq2ph_maskz(self, op0, op1);
35452 }
35453 #[inline]
35465 pub fn vcvtudq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
35466 where Assembler<'a>: Vcvtudq2phMaskzErEmitter<A, B> {
35467 <Self as Vcvtudq2phMaskzErEmitter<A, B>>::vcvtudq2ph_maskz_er(self, op0, op1);
35468 }
35469 #[inline]
35484 pub fn vcvtuqq2ph<A, B>(&mut self, op0: A, op1: B)
35485 where Assembler<'a>: Vcvtuqq2phEmitter<A, B> {
35486 <Self as Vcvtuqq2phEmitter<A, B>>::vcvtuqq2ph(self, op0, op1);
35487 }
35488 #[inline]
35500 pub fn vcvtuqq2ph_er<A, B>(&mut self, op0: A, op1: B)
35501 where Assembler<'a>: Vcvtuqq2phErEmitter<A, B> {
35502 <Self as Vcvtuqq2phErEmitter<A, B>>::vcvtuqq2ph_er(self, op0, op1);
35503 }
35504 #[inline]
35519 pub fn vcvtuqq2ph_mask<A, B>(&mut self, op0: A, op1: B)
35520 where Assembler<'a>: Vcvtuqq2phMaskEmitter<A, B> {
35521 <Self as Vcvtuqq2phMaskEmitter<A, B>>::vcvtuqq2ph_mask(self, op0, op1);
35522 }
35523 #[inline]
35535 pub fn vcvtuqq2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
35536 where Assembler<'a>: Vcvtuqq2phMaskErEmitter<A, B> {
35537 <Self as Vcvtuqq2phMaskErEmitter<A, B>>::vcvtuqq2ph_mask_er(self, op0, op1);
35538 }
35539 #[inline]
35554 pub fn vcvtuqq2ph_maskz<A, B>(&mut self, op0: A, op1: B)
35555 where Assembler<'a>: Vcvtuqq2phMaskzEmitter<A, B> {
35556 <Self as Vcvtuqq2phMaskzEmitter<A, B>>::vcvtuqq2ph_maskz(self, op0, op1);
35557 }
35558 #[inline]
35570 pub fn vcvtuqq2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
35571 where Assembler<'a>: Vcvtuqq2phMaskzErEmitter<A, B> {
35572 <Self as Vcvtuqq2phMaskzErEmitter<A, B>>::vcvtuqq2ph_maskz_er(self, op0, op1);
35573 }
35574 #[inline]
35588 pub fn vcvtusi2sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35589 where Assembler<'a>: Vcvtusi2shEmitter<A, B, C> {
35590 <Self as Vcvtusi2shEmitter<A, B, C>>::vcvtusi2sh(self, op0, op1, op2);
35591 }
35592 #[inline]
35605 pub fn vcvtusi2sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35606 where Assembler<'a>: Vcvtusi2shErEmitter<A, B, C> {
35607 <Self as Vcvtusi2shErEmitter<A, B, C>>::vcvtusi2sh_er(self, op0, op1, op2);
35608 }
35609 #[inline]
35626 pub fn vcvtuw2ph<A, B>(&mut self, op0: A, op1: B)
35627 where Assembler<'a>: Vcvtuw2phEmitter<A, B> {
35628 <Self as Vcvtuw2phEmitter<A, B>>::vcvtuw2ph(self, op0, op1);
35629 }
35630 #[inline]
35642 pub fn vcvtuw2ph_er<A, B>(&mut self, op0: A, op1: B)
35643 where Assembler<'a>: Vcvtuw2phErEmitter<A, B> {
35644 <Self as Vcvtuw2phErEmitter<A, B>>::vcvtuw2ph_er(self, op0, op1);
35645 }
35646 #[inline]
35663 pub fn vcvtuw2ph_mask<A, B>(&mut self, op0: A, op1: B)
35664 where Assembler<'a>: Vcvtuw2phMaskEmitter<A, B> {
35665 <Self as Vcvtuw2phMaskEmitter<A, B>>::vcvtuw2ph_mask(self, op0, op1);
35666 }
35667 #[inline]
35679 pub fn vcvtuw2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
35680 where Assembler<'a>: Vcvtuw2phMaskErEmitter<A, B> {
35681 <Self as Vcvtuw2phMaskErEmitter<A, B>>::vcvtuw2ph_mask_er(self, op0, op1);
35682 }
35683 #[inline]
35700 pub fn vcvtuw2ph_maskz<A, B>(&mut self, op0: A, op1: B)
35701 where Assembler<'a>: Vcvtuw2phMaskzEmitter<A, B> {
35702 <Self as Vcvtuw2phMaskzEmitter<A, B>>::vcvtuw2ph_maskz(self, op0, op1);
35703 }
35704 #[inline]
35716 pub fn vcvtuw2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
35717 where Assembler<'a>: Vcvtuw2phMaskzErEmitter<A, B> {
35718 <Self as Vcvtuw2phMaskzErEmitter<A, B>>::vcvtuw2ph_maskz_er(self, op0, op1);
35719 }
35720 #[inline]
35737 pub fn vcvtw2ph<A, B>(&mut self, op0: A, op1: B)
35738 where Assembler<'a>: Vcvtw2phEmitter<A, B> {
35739 <Self as Vcvtw2phEmitter<A, B>>::vcvtw2ph(self, op0, op1);
35740 }
35741 #[inline]
35753 pub fn vcvtw2ph_er<A, B>(&mut self, op0: A, op1: B)
35754 where Assembler<'a>: Vcvtw2phErEmitter<A, B> {
35755 <Self as Vcvtw2phErEmitter<A, B>>::vcvtw2ph_er(self, op0, op1);
35756 }
35757 #[inline]
35774 pub fn vcvtw2ph_mask<A, B>(&mut self, op0: A, op1: B)
35775 where Assembler<'a>: Vcvtw2phMaskEmitter<A, B> {
35776 <Self as Vcvtw2phMaskEmitter<A, B>>::vcvtw2ph_mask(self, op0, op1);
35777 }
35778 #[inline]
35790 pub fn vcvtw2ph_mask_er<A, B>(&mut self, op0: A, op1: B)
35791 where Assembler<'a>: Vcvtw2phMaskErEmitter<A, B> {
35792 <Self as Vcvtw2phMaskErEmitter<A, B>>::vcvtw2ph_mask_er(self, op0, op1);
35793 }
35794 #[inline]
35811 pub fn vcvtw2ph_maskz<A, B>(&mut self, op0: A, op1: B)
35812 where Assembler<'a>: Vcvtw2phMaskzEmitter<A, B> {
35813 <Self as Vcvtw2phMaskzEmitter<A, B>>::vcvtw2ph_maskz(self, op0, op1);
35814 }
35815 #[inline]
35827 pub fn vcvtw2ph_maskz_er<A, B>(&mut self, op0: A, op1: B)
35828 where Assembler<'a>: Vcvtw2phMaskzErEmitter<A, B> {
35829 <Self as Vcvtw2phMaskzErEmitter<A, B>>::vcvtw2ph_maskz_er(self, op0, op1);
35830 }
35831 #[inline]
35848 pub fn vdivph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35849 where Assembler<'a>: VdivphEmitter<A, B, C> {
35850 <Self as VdivphEmitter<A, B, C>>::vdivph(self, op0, op1, op2);
35851 }
35852 #[inline]
35864 pub fn vdivph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35865 where Assembler<'a>: VdivphErEmitter<A, B, C> {
35866 <Self as VdivphErEmitter<A, B, C>>::vdivph_er(self, op0, op1, op2);
35867 }
35868 #[inline]
35885 pub fn vdivph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35886 where Assembler<'a>: VdivphMaskEmitter<A, B, C> {
35887 <Self as VdivphMaskEmitter<A, B, C>>::vdivph_mask(self, op0, op1, op2);
35888 }
35889 #[inline]
35901 pub fn vdivph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35902 where Assembler<'a>: VdivphMaskErEmitter<A, B, C> {
35903 <Self as VdivphMaskErEmitter<A, B, C>>::vdivph_mask_er(self, op0, op1, op2);
35904 }
35905 #[inline]
35922 pub fn vdivph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35923 where Assembler<'a>: VdivphMaskzEmitter<A, B, C> {
35924 <Self as VdivphMaskzEmitter<A, B, C>>::vdivph_maskz(self, op0, op1, op2);
35925 }
35926 #[inline]
35938 pub fn vdivph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35939 where Assembler<'a>: VdivphMaskzErEmitter<A, B, C> {
35940 <Self as VdivphMaskzErEmitter<A, B, C>>::vdivph_maskz_er(self, op0, op1, op2);
35941 }
35942 #[inline]
35955 pub fn vdivsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35956 where Assembler<'a>: VdivshEmitter<A, B, C> {
35957 <Self as VdivshEmitter<A, B, C>>::vdivsh(self, op0, op1, op2);
35958 }
35959 #[inline]
35971 pub fn vdivsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35972 where Assembler<'a>: VdivshErEmitter<A, B, C> {
35973 <Self as VdivshErEmitter<A, B, C>>::vdivsh_er(self, op0, op1, op2);
35974 }
35975 #[inline]
35988 pub fn vdivsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
35989 where Assembler<'a>: VdivshMaskEmitter<A, B, C> {
35990 <Self as VdivshMaskEmitter<A, B, C>>::vdivsh_mask(self, op0, op1, op2);
35991 }
35992 #[inline]
36004 pub fn vdivsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36005 where Assembler<'a>: VdivshMaskErEmitter<A, B, C> {
36006 <Self as VdivshMaskErEmitter<A, B, C>>::vdivsh_mask_er(self, op0, op1, op2);
36007 }
36008 #[inline]
36021 pub fn vdivsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36022 where Assembler<'a>: VdivshMaskzEmitter<A, B, C> {
36023 <Self as VdivshMaskzEmitter<A, B, C>>::vdivsh_maskz(self, op0, op1, op2);
36024 }
36025 #[inline]
36037 pub fn vdivsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36038 where Assembler<'a>: VdivshMaskzErEmitter<A, B, C> {
36039 <Self as VdivshMaskzErEmitter<A, B, C>>::vdivsh_maskz_er(self, op0, op1, op2);
36040 }
36041 #[inline]
36058 pub fn verr<A>(&mut self, op0: A)
36059 where Assembler<'a>: VerrEmitter<A> {
36060 <Self as VerrEmitter<A>>::verr(self, op0);
36061 }
36062 #[inline]
36079 pub fn verw<A>(&mut self, op0: A)
36080 where Assembler<'a>: VerwEmitter<A> {
36081 <Self as VerwEmitter<A>>::verw(self, op0);
36082 }
36083 #[inline]
36100 pub fn vfcmaddcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36101 where Assembler<'a>: VfcmaddcphEmitter<A, B, C> {
36102 <Self as VfcmaddcphEmitter<A, B, C>>::vfcmaddcph(self, op0, op1, op2);
36103 }
36104 #[inline]
36116 pub fn vfcmaddcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36117 where Assembler<'a>: VfcmaddcphErEmitter<A, B, C> {
36118 <Self as VfcmaddcphErEmitter<A, B, C>>::vfcmaddcph_er(self, op0, op1, op2);
36119 }
36120 #[inline]
36137 pub fn vfcmaddcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36138 where Assembler<'a>: VfcmaddcphMaskEmitter<A, B, C> {
36139 <Self as VfcmaddcphMaskEmitter<A, B, C>>::vfcmaddcph_mask(self, op0, op1, op2);
36140 }
36141 #[inline]
36153 pub fn vfcmaddcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36154 where Assembler<'a>: VfcmaddcphMaskErEmitter<A, B, C> {
36155 <Self as VfcmaddcphMaskErEmitter<A, B, C>>::vfcmaddcph_mask_er(self, op0, op1, op2);
36156 }
36157 #[inline]
36174 pub fn vfcmaddcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36175 where Assembler<'a>: VfcmaddcphMaskzEmitter<A, B, C> {
36176 <Self as VfcmaddcphMaskzEmitter<A, B, C>>::vfcmaddcph_maskz(self, op0, op1, op2);
36177 }
36178 #[inline]
36190 pub fn vfcmaddcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36191 where Assembler<'a>: VfcmaddcphMaskzErEmitter<A, B, C> {
36192 <Self as VfcmaddcphMaskzErEmitter<A, B, C>>::vfcmaddcph_maskz_er(self, op0, op1, op2);
36193 }
36194 #[inline]
36207 pub fn vfcmaddcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36208 where Assembler<'a>: VfcmaddcshEmitter<A, B, C> {
36209 <Self as VfcmaddcshEmitter<A, B, C>>::vfcmaddcsh(self, op0, op1, op2);
36210 }
36211 #[inline]
36223 pub fn vfcmaddcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36224 where Assembler<'a>: VfcmaddcshErEmitter<A, B, C> {
36225 <Self as VfcmaddcshErEmitter<A, B, C>>::vfcmaddcsh_er(self, op0, op1, op2);
36226 }
36227 #[inline]
36240 pub fn vfcmaddcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36241 where Assembler<'a>: VfcmaddcshMaskEmitter<A, B, C> {
36242 <Self as VfcmaddcshMaskEmitter<A, B, C>>::vfcmaddcsh_mask(self, op0, op1, op2);
36243 }
36244 #[inline]
36256 pub fn vfcmaddcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36257 where Assembler<'a>: VfcmaddcshMaskErEmitter<A, B, C> {
36258 <Self as VfcmaddcshMaskErEmitter<A, B, C>>::vfcmaddcsh_mask_er(self, op0, op1, op2);
36259 }
36260 #[inline]
36273 pub fn vfcmaddcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36274 where Assembler<'a>: VfcmaddcshMaskzEmitter<A, B, C> {
36275 <Self as VfcmaddcshMaskzEmitter<A, B, C>>::vfcmaddcsh_maskz(self, op0, op1, op2);
36276 }
36277 #[inline]
36289 pub fn vfcmaddcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36290 where Assembler<'a>: VfcmaddcshMaskzErEmitter<A, B, C> {
36291 <Self as VfcmaddcshMaskzErEmitter<A, B, C>>::vfcmaddcsh_maskz_er(self, op0, op1, op2);
36292 }
36293 #[inline]
36310 pub fn vfcmulcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36311 where Assembler<'a>: VfcmulcphEmitter<A, B, C> {
36312 <Self as VfcmulcphEmitter<A, B, C>>::vfcmulcph(self, op0, op1, op2);
36313 }
36314 #[inline]
36326 pub fn vfcmulcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36327 where Assembler<'a>: VfcmulcphErEmitter<A, B, C> {
36328 <Self as VfcmulcphErEmitter<A, B, C>>::vfcmulcph_er(self, op0, op1, op2);
36329 }
36330 #[inline]
36347 pub fn vfcmulcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36348 where Assembler<'a>: VfcmulcphMaskEmitter<A, B, C> {
36349 <Self as VfcmulcphMaskEmitter<A, B, C>>::vfcmulcph_mask(self, op0, op1, op2);
36350 }
36351 #[inline]
36363 pub fn vfcmulcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36364 where Assembler<'a>: VfcmulcphMaskErEmitter<A, B, C> {
36365 <Self as VfcmulcphMaskErEmitter<A, B, C>>::vfcmulcph_mask_er(self, op0, op1, op2);
36366 }
36367 #[inline]
36384 pub fn vfcmulcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36385 where Assembler<'a>: VfcmulcphMaskzEmitter<A, B, C> {
36386 <Self as VfcmulcphMaskzEmitter<A, B, C>>::vfcmulcph_maskz(self, op0, op1, op2);
36387 }
36388 #[inline]
36400 pub fn vfcmulcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36401 where Assembler<'a>: VfcmulcphMaskzErEmitter<A, B, C> {
36402 <Self as VfcmulcphMaskzErEmitter<A, B, C>>::vfcmulcph_maskz_er(self, op0, op1, op2);
36403 }
36404 #[inline]
36417 pub fn vfcmulcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36418 where Assembler<'a>: VfcmulcshEmitter<A, B, C> {
36419 <Self as VfcmulcshEmitter<A, B, C>>::vfcmulcsh(self, op0, op1, op2);
36420 }
36421 #[inline]
36433 pub fn vfcmulcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36434 where Assembler<'a>: VfcmulcshErEmitter<A, B, C> {
36435 <Self as VfcmulcshErEmitter<A, B, C>>::vfcmulcsh_er(self, op0, op1, op2);
36436 }
36437 #[inline]
36450 pub fn vfcmulcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36451 where Assembler<'a>: VfcmulcshMaskEmitter<A, B, C> {
36452 <Self as VfcmulcshMaskEmitter<A, B, C>>::vfcmulcsh_mask(self, op0, op1, op2);
36453 }
36454 #[inline]
36466 pub fn vfcmulcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36467 where Assembler<'a>: VfcmulcshMaskErEmitter<A, B, C> {
36468 <Self as VfcmulcshMaskErEmitter<A, B, C>>::vfcmulcsh_mask_er(self, op0, op1, op2);
36469 }
36470 #[inline]
36483 pub fn vfcmulcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36484 where Assembler<'a>: VfcmulcshMaskzEmitter<A, B, C> {
36485 <Self as VfcmulcshMaskzEmitter<A, B, C>>::vfcmulcsh_maskz(self, op0, op1, op2);
36486 }
36487 #[inline]
36499 pub fn vfcmulcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36500 where Assembler<'a>: VfcmulcshMaskzErEmitter<A, B, C> {
36501 <Self as VfcmulcshMaskzErEmitter<A, B, C>>::vfcmulcsh_maskz_er(self, op0, op1, op2);
36502 }
36503 #[inline]
36520 pub fn vfmadd132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36521 where Assembler<'a>: Vfmadd132phEmitter<A, B, C> {
36522 <Self as Vfmadd132phEmitter<A, B, C>>::vfmadd132ph(self, op0, op1, op2);
36523 }
36524 #[inline]
36536 pub fn vfmadd132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36537 where Assembler<'a>: Vfmadd132phErEmitter<A, B, C> {
36538 <Self as Vfmadd132phErEmitter<A, B, C>>::vfmadd132ph_er(self, op0, op1, op2);
36539 }
36540 #[inline]
36557 pub fn vfmadd132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36558 where Assembler<'a>: Vfmadd132phMaskEmitter<A, B, C> {
36559 <Self as Vfmadd132phMaskEmitter<A, B, C>>::vfmadd132ph_mask(self, op0, op1, op2);
36560 }
36561 #[inline]
36573 pub fn vfmadd132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36574 where Assembler<'a>: Vfmadd132phMaskErEmitter<A, B, C> {
36575 <Self as Vfmadd132phMaskErEmitter<A, B, C>>::vfmadd132ph_mask_er(self, op0, op1, op2);
36576 }
36577 #[inline]
36594 pub fn vfmadd132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36595 where Assembler<'a>: Vfmadd132phMaskzEmitter<A, B, C> {
36596 <Self as Vfmadd132phMaskzEmitter<A, B, C>>::vfmadd132ph_maskz(self, op0, op1, op2);
36597 }
36598 #[inline]
36610 pub fn vfmadd132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36611 where Assembler<'a>: Vfmadd132phMaskzErEmitter<A, B, C> {
36612 <Self as Vfmadd132phMaskzErEmitter<A, B, C>>::vfmadd132ph_maskz_er(self, op0, op1, op2);
36613 }
36614 #[inline]
36627 pub fn vfmadd132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36628 where Assembler<'a>: Vfmadd132shEmitter<A, B, C> {
36629 <Self as Vfmadd132shEmitter<A, B, C>>::vfmadd132sh(self, op0, op1, op2);
36630 }
36631 #[inline]
36643 pub fn vfmadd132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36644 where Assembler<'a>: Vfmadd132shErEmitter<A, B, C> {
36645 <Self as Vfmadd132shErEmitter<A, B, C>>::vfmadd132sh_er(self, op0, op1, op2);
36646 }
36647 #[inline]
36660 pub fn vfmadd132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36661 where Assembler<'a>: Vfmadd132shMaskEmitter<A, B, C> {
36662 <Self as Vfmadd132shMaskEmitter<A, B, C>>::vfmadd132sh_mask(self, op0, op1, op2);
36663 }
36664 #[inline]
36676 pub fn vfmadd132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36677 where Assembler<'a>: Vfmadd132shMaskErEmitter<A, B, C> {
36678 <Self as Vfmadd132shMaskErEmitter<A, B, C>>::vfmadd132sh_mask_er(self, op0, op1, op2);
36679 }
36680 #[inline]
36693 pub fn vfmadd132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36694 where Assembler<'a>: Vfmadd132shMaskzEmitter<A, B, C> {
36695 <Self as Vfmadd132shMaskzEmitter<A, B, C>>::vfmadd132sh_maskz(self, op0, op1, op2);
36696 }
36697 #[inline]
36709 pub fn vfmadd132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36710 where Assembler<'a>: Vfmadd132shMaskzErEmitter<A, B, C> {
36711 <Self as Vfmadd132shMaskzErEmitter<A, B, C>>::vfmadd132sh_maskz_er(self, op0, op1, op2);
36712 }
36713 #[inline]
36730 pub fn vfmadd213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36731 where Assembler<'a>: Vfmadd213phEmitter<A, B, C> {
36732 <Self as Vfmadd213phEmitter<A, B, C>>::vfmadd213ph(self, op0, op1, op2);
36733 }
36734 #[inline]
36746 pub fn vfmadd213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36747 where Assembler<'a>: Vfmadd213phErEmitter<A, B, C> {
36748 <Self as Vfmadd213phErEmitter<A, B, C>>::vfmadd213ph_er(self, op0, op1, op2);
36749 }
36750 #[inline]
36767 pub fn vfmadd213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36768 where Assembler<'a>: Vfmadd213phMaskEmitter<A, B, C> {
36769 <Self as Vfmadd213phMaskEmitter<A, B, C>>::vfmadd213ph_mask(self, op0, op1, op2);
36770 }
36771 #[inline]
36783 pub fn vfmadd213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36784 where Assembler<'a>: Vfmadd213phMaskErEmitter<A, B, C> {
36785 <Self as Vfmadd213phMaskErEmitter<A, B, C>>::vfmadd213ph_mask_er(self, op0, op1, op2);
36786 }
36787 #[inline]
36804 pub fn vfmadd213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36805 where Assembler<'a>: Vfmadd213phMaskzEmitter<A, B, C> {
36806 <Self as Vfmadd213phMaskzEmitter<A, B, C>>::vfmadd213ph_maskz(self, op0, op1, op2);
36807 }
36808 #[inline]
36820 pub fn vfmadd213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36821 where Assembler<'a>: Vfmadd213phMaskzErEmitter<A, B, C> {
36822 <Self as Vfmadd213phMaskzErEmitter<A, B, C>>::vfmadd213ph_maskz_er(self, op0, op1, op2);
36823 }
36824 #[inline]
36837 pub fn vfmadd213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36838 where Assembler<'a>: Vfmadd213shEmitter<A, B, C> {
36839 <Self as Vfmadd213shEmitter<A, B, C>>::vfmadd213sh(self, op0, op1, op2);
36840 }
36841 #[inline]
36853 pub fn vfmadd213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36854 where Assembler<'a>: Vfmadd213shErEmitter<A, B, C> {
36855 <Self as Vfmadd213shErEmitter<A, B, C>>::vfmadd213sh_er(self, op0, op1, op2);
36856 }
36857 #[inline]
36870 pub fn vfmadd213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36871 where Assembler<'a>: Vfmadd213shMaskEmitter<A, B, C> {
36872 <Self as Vfmadd213shMaskEmitter<A, B, C>>::vfmadd213sh_mask(self, op0, op1, op2);
36873 }
36874 #[inline]
36886 pub fn vfmadd213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36887 where Assembler<'a>: Vfmadd213shMaskErEmitter<A, B, C> {
36888 <Self as Vfmadd213shMaskErEmitter<A, B, C>>::vfmadd213sh_mask_er(self, op0, op1, op2);
36889 }
36890 #[inline]
36903 pub fn vfmadd213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36904 where Assembler<'a>: Vfmadd213shMaskzEmitter<A, B, C> {
36905 <Self as Vfmadd213shMaskzEmitter<A, B, C>>::vfmadd213sh_maskz(self, op0, op1, op2);
36906 }
36907 #[inline]
36919 pub fn vfmadd213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36920 where Assembler<'a>: Vfmadd213shMaskzErEmitter<A, B, C> {
36921 <Self as Vfmadd213shMaskzErEmitter<A, B, C>>::vfmadd213sh_maskz_er(self, op0, op1, op2);
36922 }
36923 #[inline]
36940 pub fn vfmadd231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36941 where Assembler<'a>: Vfmadd231phEmitter<A, B, C> {
36942 <Self as Vfmadd231phEmitter<A, B, C>>::vfmadd231ph(self, op0, op1, op2);
36943 }
36944 #[inline]
36956 pub fn vfmadd231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36957 where Assembler<'a>: Vfmadd231phErEmitter<A, B, C> {
36958 <Self as Vfmadd231phErEmitter<A, B, C>>::vfmadd231ph_er(self, op0, op1, op2);
36959 }
36960 #[inline]
36977 pub fn vfmadd231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36978 where Assembler<'a>: Vfmadd231phMaskEmitter<A, B, C> {
36979 <Self as Vfmadd231phMaskEmitter<A, B, C>>::vfmadd231ph_mask(self, op0, op1, op2);
36980 }
36981 #[inline]
36993 pub fn vfmadd231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
36994 where Assembler<'a>: Vfmadd231phMaskErEmitter<A, B, C> {
36995 <Self as Vfmadd231phMaskErEmitter<A, B, C>>::vfmadd231ph_mask_er(self, op0, op1, op2);
36996 }
36997 #[inline]
37014 pub fn vfmadd231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37015 where Assembler<'a>: Vfmadd231phMaskzEmitter<A, B, C> {
37016 <Self as Vfmadd231phMaskzEmitter<A, B, C>>::vfmadd231ph_maskz(self, op0, op1, op2);
37017 }
37018 #[inline]
37030 pub fn vfmadd231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37031 where Assembler<'a>: Vfmadd231phMaskzErEmitter<A, B, C> {
37032 <Self as Vfmadd231phMaskzErEmitter<A, B, C>>::vfmadd231ph_maskz_er(self, op0, op1, op2);
37033 }
37034 #[inline]
37047 pub fn vfmadd231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37048 where Assembler<'a>: Vfmadd231shEmitter<A, B, C> {
37049 <Self as Vfmadd231shEmitter<A, B, C>>::vfmadd231sh(self, op0, op1, op2);
37050 }
37051 #[inline]
37063 pub fn vfmadd231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37064 where Assembler<'a>: Vfmadd231shErEmitter<A, B, C> {
37065 <Self as Vfmadd231shErEmitter<A, B, C>>::vfmadd231sh_er(self, op0, op1, op2);
37066 }
37067 #[inline]
37080 pub fn vfmadd231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37081 where Assembler<'a>: Vfmadd231shMaskEmitter<A, B, C> {
37082 <Self as Vfmadd231shMaskEmitter<A, B, C>>::vfmadd231sh_mask(self, op0, op1, op2);
37083 }
37084 #[inline]
37096 pub fn vfmadd231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37097 where Assembler<'a>: Vfmadd231shMaskErEmitter<A, B, C> {
37098 <Self as Vfmadd231shMaskErEmitter<A, B, C>>::vfmadd231sh_mask_er(self, op0, op1, op2);
37099 }
37100 #[inline]
37113 pub fn vfmadd231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37114 where Assembler<'a>: Vfmadd231shMaskzEmitter<A, B, C> {
37115 <Self as Vfmadd231shMaskzEmitter<A, B, C>>::vfmadd231sh_maskz(self, op0, op1, op2);
37116 }
37117 #[inline]
37129 pub fn vfmadd231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37130 where Assembler<'a>: Vfmadd231shMaskzErEmitter<A, B, C> {
37131 <Self as Vfmadd231shMaskzErEmitter<A, B, C>>::vfmadd231sh_maskz_er(self, op0, op1, op2);
37132 }
37133 #[inline]
37150 pub fn vfmaddcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37151 where Assembler<'a>: VfmaddcphEmitter<A, B, C> {
37152 <Self as VfmaddcphEmitter<A, B, C>>::vfmaddcph(self, op0, op1, op2);
37153 }
37154 #[inline]
37166 pub fn vfmaddcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37167 where Assembler<'a>: VfmaddcphErEmitter<A, B, C> {
37168 <Self as VfmaddcphErEmitter<A, B, C>>::vfmaddcph_er(self, op0, op1, op2);
37169 }
37170 #[inline]
37187 pub fn vfmaddcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37188 where Assembler<'a>: VfmaddcphMaskEmitter<A, B, C> {
37189 <Self as VfmaddcphMaskEmitter<A, B, C>>::vfmaddcph_mask(self, op0, op1, op2);
37190 }
37191 #[inline]
37203 pub fn vfmaddcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37204 where Assembler<'a>: VfmaddcphMaskErEmitter<A, B, C> {
37205 <Self as VfmaddcphMaskErEmitter<A, B, C>>::vfmaddcph_mask_er(self, op0, op1, op2);
37206 }
37207 #[inline]
37224 pub fn vfmaddcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37225 where Assembler<'a>: VfmaddcphMaskzEmitter<A, B, C> {
37226 <Self as VfmaddcphMaskzEmitter<A, B, C>>::vfmaddcph_maskz(self, op0, op1, op2);
37227 }
37228 #[inline]
37240 pub fn vfmaddcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37241 where Assembler<'a>: VfmaddcphMaskzErEmitter<A, B, C> {
37242 <Self as VfmaddcphMaskzErEmitter<A, B, C>>::vfmaddcph_maskz_er(self, op0, op1, op2);
37243 }
37244 #[inline]
37257 pub fn vfmaddcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37258 where Assembler<'a>: VfmaddcshEmitter<A, B, C> {
37259 <Self as VfmaddcshEmitter<A, B, C>>::vfmaddcsh(self, op0, op1, op2);
37260 }
37261 #[inline]
37273 pub fn vfmaddcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37274 where Assembler<'a>: VfmaddcshErEmitter<A, B, C> {
37275 <Self as VfmaddcshErEmitter<A, B, C>>::vfmaddcsh_er(self, op0, op1, op2);
37276 }
37277 #[inline]
37290 pub fn vfmaddcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37291 where Assembler<'a>: VfmaddcshMaskEmitter<A, B, C> {
37292 <Self as VfmaddcshMaskEmitter<A, B, C>>::vfmaddcsh_mask(self, op0, op1, op2);
37293 }
37294 #[inline]
37306 pub fn vfmaddcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37307 where Assembler<'a>: VfmaddcshMaskErEmitter<A, B, C> {
37308 <Self as VfmaddcshMaskErEmitter<A, B, C>>::vfmaddcsh_mask_er(self, op0, op1, op2);
37309 }
37310 #[inline]
37323 pub fn vfmaddcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37324 where Assembler<'a>: VfmaddcshMaskzEmitter<A, B, C> {
37325 <Self as VfmaddcshMaskzEmitter<A, B, C>>::vfmaddcsh_maskz(self, op0, op1, op2);
37326 }
37327 #[inline]
37339 pub fn vfmaddcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37340 where Assembler<'a>: VfmaddcshMaskzErEmitter<A, B, C> {
37341 <Self as VfmaddcshMaskzErEmitter<A, B, C>>::vfmaddcsh_maskz_er(self, op0, op1, op2);
37342 }
37343 #[inline]
37360 pub fn vfmaddsub132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37361 where Assembler<'a>: Vfmaddsub132phEmitter<A, B, C> {
37362 <Self as Vfmaddsub132phEmitter<A, B, C>>::vfmaddsub132ph(self, op0, op1, op2);
37363 }
37364 #[inline]
37376 pub fn vfmaddsub132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37377 where Assembler<'a>: Vfmaddsub132phErEmitter<A, B, C> {
37378 <Self as Vfmaddsub132phErEmitter<A, B, C>>::vfmaddsub132ph_er(self, op0, op1, op2);
37379 }
37380 #[inline]
37397 pub fn vfmaddsub132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37398 where Assembler<'a>: Vfmaddsub132phMaskEmitter<A, B, C> {
37399 <Self as Vfmaddsub132phMaskEmitter<A, B, C>>::vfmaddsub132ph_mask(self, op0, op1, op2);
37400 }
37401 #[inline]
37413 pub fn vfmaddsub132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37414 where Assembler<'a>: Vfmaddsub132phMaskErEmitter<A, B, C> {
37415 <Self as Vfmaddsub132phMaskErEmitter<A, B, C>>::vfmaddsub132ph_mask_er(self, op0, op1, op2);
37416 }
37417 #[inline]
37434 pub fn vfmaddsub132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37435 where Assembler<'a>: Vfmaddsub132phMaskzEmitter<A, B, C> {
37436 <Self as Vfmaddsub132phMaskzEmitter<A, B, C>>::vfmaddsub132ph_maskz(self, op0, op1, op2);
37437 }
37438 #[inline]
37450 pub fn vfmaddsub132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37451 where Assembler<'a>: Vfmaddsub132phMaskzErEmitter<A, B, C> {
37452 <Self as Vfmaddsub132phMaskzErEmitter<A, B, C>>::vfmaddsub132ph_maskz_er(self, op0, op1, op2);
37453 }
37454 #[inline]
37471 pub fn vfmaddsub213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37472 where Assembler<'a>: Vfmaddsub213phEmitter<A, B, C> {
37473 <Self as Vfmaddsub213phEmitter<A, B, C>>::vfmaddsub213ph(self, op0, op1, op2);
37474 }
37475 #[inline]
37487 pub fn vfmaddsub213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37488 where Assembler<'a>: Vfmaddsub213phErEmitter<A, B, C> {
37489 <Self as Vfmaddsub213phErEmitter<A, B, C>>::vfmaddsub213ph_er(self, op0, op1, op2);
37490 }
37491 #[inline]
37508 pub fn vfmaddsub213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37509 where Assembler<'a>: Vfmaddsub213phMaskEmitter<A, B, C> {
37510 <Self as Vfmaddsub213phMaskEmitter<A, B, C>>::vfmaddsub213ph_mask(self, op0, op1, op2);
37511 }
37512 #[inline]
37524 pub fn vfmaddsub213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37525 where Assembler<'a>: Vfmaddsub213phMaskErEmitter<A, B, C> {
37526 <Self as Vfmaddsub213phMaskErEmitter<A, B, C>>::vfmaddsub213ph_mask_er(self, op0, op1, op2);
37527 }
37528 #[inline]
37545 pub fn vfmaddsub213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37546 where Assembler<'a>: Vfmaddsub213phMaskzEmitter<A, B, C> {
37547 <Self as Vfmaddsub213phMaskzEmitter<A, B, C>>::vfmaddsub213ph_maskz(self, op0, op1, op2);
37548 }
37549 #[inline]
37561 pub fn vfmaddsub213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37562 where Assembler<'a>: Vfmaddsub213phMaskzErEmitter<A, B, C> {
37563 <Self as Vfmaddsub213phMaskzErEmitter<A, B, C>>::vfmaddsub213ph_maskz_er(self, op0, op1, op2);
37564 }
37565 #[inline]
37582 pub fn vfmaddsub231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37583 where Assembler<'a>: Vfmaddsub231phEmitter<A, B, C> {
37584 <Self as Vfmaddsub231phEmitter<A, B, C>>::vfmaddsub231ph(self, op0, op1, op2);
37585 }
37586 #[inline]
37598 pub fn vfmaddsub231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37599 where Assembler<'a>: Vfmaddsub231phErEmitter<A, B, C> {
37600 <Self as Vfmaddsub231phErEmitter<A, B, C>>::vfmaddsub231ph_er(self, op0, op1, op2);
37601 }
37602 #[inline]
37619 pub fn vfmaddsub231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37620 where Assembler<'a>: Vfmaddsub231phMaskEmitter<A, B, C> {
37621 <Self as Vfmaddsub231phMaskEmitter<A, B, C>>::vfmaddsub231ph_mask(self, op0, op1, op2);
37622 }
37623 #[inline]
37635 pub fn vfmaddsub231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37636 where Assembler<'a>: Vfmaddsub231phMaskErEmitter<A, B, C> {
37637 <Self as Vfmaddsub231phMaskErEmitter<A, B, C>>::vfmaddsub231ph_mask_er(self, op0, op1, op2);
37638 }
37639 #[inline]
37656 pub fn vfmaddsub231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37657 where Assembler<'a>: Vfmaddsub231phMaskzEmitter<A, B, C> {
37658 <Self as Vfmaddsub231phMaskzEmitter<A, B, C>>::vfmaddsub231ph_maskz(self, op0, op1, op2);
37659 }
37660 #[inline]
37672 pub fn vfmaddsub231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37673 where Assembler<'a>: Vfmaddsub231phMaskzErEmitter<A, B, C> {
37674 <Self as Vfmaddsub231phMaskzErEmitter<A, B, C>>::vfmaddsub231ph_maskz_er(self, op0, op1, op2);
37675 }
37676 #[inline]
37693 pub fn vfmsub132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37694 where Assembler<'a>: Vfmsub132phEmitter<A, B, C> {
37695 <Self as Vfmsub132phEmitter<A, B, C>>::vfmsub132ph(self, op0, op1, op2);
37696 }
37697 #[inline]
37709 pub fn vfmsub132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37710 where Assembler<'a>: Vfmsub132phErEmitter<A, B, C> {
37711 <Self as Vfmsub132phErEmitter<A, B, C>>::vfmsub132ph_er(self, op0, op1, op2);
37712 }
37713 #[inline]
37730 pub fn vfmsub132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37731 where Assembler<'a>: Vfmsub132phMaskEmitter<A, B, C> {
37732 <Self as Vfmsub132phMaskEmitter<A, B, C>>::vfmsub132ph_mask(self, op0, op1, op2);
37733 }
37734 #[inline]
37746 pub fn vfmsub132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37747 where Assembler<'a>: Vfmsub132phMaskErEmitter<A, B, C> {
37748 <Self as Vfmsub132phMaskErEmitter<A, B, C>>::vfmsub132ph_mask_er(self, op0, op1, op2);
37749 }
37750 #[inline]
37767 pub fn vfmsub132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37768 where Assembler<'a>: Vfmsub132phMaskzEmitter<A, B, C> {
37769 <Self as Vfmsub132phMaskzEmitter<A, B, C>>::vfmsub132ph_maskz(self, op0, op1, op2);
37770 }
37771 #[inline]
37783 pub fn vfmsub132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37784 where Assembler<'a>: Vfmsub132phMaskzErEmitter<A, B, C> {
37785 <Self as Vfmsub132phMaskzErEmitter<A, B, C>>::vfmsub132ph_maskz_er(self, op0, op1, op2);
37786 }
37787 #[inline]
37800 pub fn vfmsub132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37801 where Assembler<'a>: Vfmsub132shEmitter<A, B, C> {
37802 <Self as Vfmsub132shEmitter<A, B, C>>::vfmsub132sh(self, op0, op1, op2);
37803 }
37804 #[inline]
37816 pub fn vfmsub132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37817 where Assembler<'a>: Vfmsub132shErEmitter<A, B, C> {
37818 <Self as Vfmsub132shErEmitter<A, B, C>>::vfmsub132sh_er(self, op0, op1, op2);
37819 }
37820 #[inline]
37833 pub fn vfmsub132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37834 where Assembler<'a>: Vfmsub132shMaskEmitter<A, B, C> {
37835 <Self as Vfmsub132shMaskEmitter<A, B, C>>::vfmsub132sh_mask(self, op0, op1, op2);
37836 }
37837 #[inline]
37849 pub fn vfmsub132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37850 where Assembler<'a>: Vfmsub132shMaskErEmitter<A, B, C> {
37851 <Self as Vfmsub132shMaskErEmitter<A, B, C>>::vfmsub132sh_mask_er(self, op0, op1, op2);
37852 }
37853 #[inline]
37866 pub fn vfmsub132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37867 where Assembler<'a>: Vfmsub132shMaskzEmitter<A, B, C> {
37868 <Self as Vfmsub132shMaskzEmitter<A, B, C>>::vfmsub132sh_maskz(self, op0, op1, op2);
37869 }
37870 #[inline]
37882 pub fn vfmsub132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37883 where Assembler<'a>: Vfmsub132shMaskzErEmitter<A, B, C> {
37884 <Self as Vfmsub132shMaskzErEmitter<A, B, C>>::vfmsub132sh_maskz_er(self, op0, op1, op2);
37885 }
37886 #[inline]
37903 pub fn vfmsub213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37904 where Assembler<'a>: Vfmsub213phEmitter<A, B, C> {
37905 <Self as Vfmsub213phEmitter<A, B, C>>::vfmsub213ph(self, op0, op1, op2);
37906 }
37907 #[inline]
37919 pub fn vfmsub213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37920 where Assembler<'a>: Vfmsub213phErEmitter<A, B, C> {
37921 <Self as Vfmsub213phErEmitter<A, B, C>>::vfmsub213ph_er(self, op0, op1, op2);
37922 }
37923 #[inline]
37940 pub fn vfmsub213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37941 where Assembler<'a>: Vfmsub213phMaskEmitter<A, B, C> {
37942 <Self as Vfmsub213phMaskEmitter<A, B, C>>::vfmsub213ph_mask(self, op0, op1, op2);
37943 }
37944 #[inline]
37956 pub fn vfmsub213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37957 where Assembler<'a>: Vfmsub213phMaskErEmitter<A, B, C> {
37958 <Self as Vfmsub213phMaskErEmitter<A, B, C>>::vfmsub213ph_mask_er(self, op0, op1, op2);
37959 }
37960 #[inline]
37977 pub fn vfmsub213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37978 where Assembler<'a>: Vfmsub213phMaskzEmitter<A, B, C> {
37979 <Self as Vfmsub213phMaskzEmitter<A, B, C>>::vfmsub213ph_maskz(self, op0, op1, op2);
37980 }
37981 #[inline]
37993 pub fn vfmsub213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
37994 where Assembler<'a>: Vfmsub213phMaskzErEmitter<A, B, C> {
37995 <Self as Vfmsub213phMaskzErEmitter<A, B, C>>::vfmsub213ph_maskz_er(self, op0, op1, op2);
37996 }
37997 #[inline]
38010 pub fn vfmsub213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38011 where Assembler<'a>: Vfmsub213shEmitter<A, B, C> {
38012 <Self as Vfmsub213shEmitter<A, B, C>>::vfmsub213sh(self, op0, op1, op2);
38013 }
38014 #[inline]
38026 pub fn vfmsub213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38027 where Assembler<'a>: Vfmsub213shErEmitter<A, B, C> {
38028 <Self as Vfmsub213shErEmitter<A, B, C>>::vfmsub213sh_er(self, op0, op1, op2);
38029 }
38030 #[inline]
38043 pub fn vfmsub213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38044 where Assembler<'a>: Vfmsub213shMaskEmitter<A, B, C> {
38045 <Self as Vfmsub213shMaskEmitter<A, B, C>>::vfmsub213sh_mask(self, op0, op1, op2);
38046 }
38047 #[inline]
38059 pub fn vfmsub213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38060 where Assembler<'a>: Vfmsub213shMaskErEmitter<A, B, C> {
38061 <Self as Vfmsub213shMaskErEmitter<A, B, C>>::vfmsub213sh_mask_er(self, op0, op1, op2);
38062 }
38063 #[inline]
38076 pub fn vfmsub213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38077 where Assembler<'a>: Vfmsub213shMaskzEmitter<A, B, C> {
38078 <Self as Vfmsub213shMaskzEmitter<A, B, C>>::vfmsub213sh_maskz(self, op0, op1, op2);
38079 }
38080 #[inline]
38092 pub fn vfmsub213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38093 where Assembler<'a>: Vfmsub213shMaskzErEmitter<A, B, C> {
38094 <Self as Vfmsub213shMaskzErEmitter<A, B, C>>::vfmsub213sh_maskz_er(self, op0, op1, op2);
38095 }
38096 #[inline]
38113 pub fn vfmsub231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38114 where Assembler<'a>: Vfmsub231phEmitter<A, B, C> {
38115 <Self as Vfmsub231phEmitter<A, B, C>>::vfmsub231ph(self, op0, op1, op2);
38116 }
38117 #[inline]
38129 pub fn vfmsub231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38130 where Assembler<'a>: Vfmsub231phErEmitter<A, B, C> {
38131 <Self as Vfmsub231phErEmitter<A, B, C>>::vfmsub231ph_er(self, op0, op1, op2);
38132 }
38133 #[inline]
38150 pub fn vfmsub231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38151 where Assembler<'a>: Vfmsub231phMaskEmitter<A, B, C> {
38152 <Self as Vfmsub231phMaskEmitter<A, B, C>>::vfmsub231ph_mask(self, op0, op1, op2);
38153 }
38154 #[inline]
38166 pub fn vfmsub231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38167 where Assembler<'a>: Vfmsub231phMaskErEmitter<A, B, C> {
38168 <Self as Vfmsub231phMaskErEmitter<A, B, C>>::vfmsub231ph_mask_er(self, op0, op1, op2);
38169 }
38170 #[inline]
38187 pub fn vfmsub231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38188 where Assembler<'a>: Vfmsub231phMaskzEmitter<A, B, C> {
38189 <Self as Vfmsub231phMaskzEmitter<A, B, C>>::vfmsub231ph_maskz(self, op0, op1, op2);
38190 }
38191 #[inline]
38203 pub fn vfmsub231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38204 where Assembler<'a>: Vfmsub231phMaskzErEmitter<A, B, C> {
38205 <Self as Vfmsub231phMaskzErEmitter<A, B, C>>::vfmsub231ph_maskz_er(self, op0, op1, op2);
38206 }
38207 #[inline]
38220 pub fn vfmsub231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38221 where Assembler<'a>: Vfmsub231shEmitter<A, B, C> {
38222 <Self as Vfmsub231shEmitter<A, B, C>>::vfmsub231sh(self, op0, op1, op2);
38223 }
38224 #[inline]
38236 pub fn vfmsub231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38237 where Assembler<'a>: Vfmsub231shErEmitter<A, B, C> {
38238 <Self as Vfmsub231shErEmitter<A, B, C>>::vfmsub231sh_er(self, op0, op1, op2);
38239 }
38240 #[inline]
38253 pub fn vfmsub231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38254 where Assembler<'a>: Vfmsub231shMaskEmitter<A, B, C> {
38255 <Self as Vfmsub231shMaskEmitter<A, B, C>>::vfmsub231sh_mask(self, op0, op1, op2);
38256 }
38257 #[inline]
38269 pub fn vfmsub231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38270 where Assembler<'a>: Vfmsub231shMaskErEmitter<A, B, C> {
38271 <Self as Vfmsub231shMaskErEmitter<A, B, C>>::vfmsub231sh_mask_er(self, op0, op1, op2);
38272 }
38273 #[inline]
38286 pub fn vfmsub231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38287 where Assembler<'a>: Vfmsub231shMaskzEmitter<A, B, C> {
38288 <Self as Vfmsub231shMaskzEmitter<A, B, C>>::vfmsub231sh_maskz(self, op0, op1, op2);
38289 }
38290 #[inline]
38302 pub fn vfmsub231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38303 where Assembler<'a>: Vfmsub231shMaskzErEmitter<A, B, C> {
38304 <Self as Vfmsub231shMaskzErEmitter<A, B, C>>::vfmsub231sh_maskz_er(self, op0, op1, op2);
38305 }
38306 #[inline]
38323 pub fn vfmsubadd132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38324 where Assembler<'a>: Vfmsubadd132phEmitter<A, B, C> {
38325 <Self as Vfmsubadd132phEmitter<A, B, C>>::vfmsubadd132ph(self, op0, op1, op2);
38326 }
38327 #[inline]
38339 pub fn vfmsubadd132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38340 where Assembler<'a>: Vfmsubadd132phErEmitter<A, B, C> {
38341 <Self as Vfmsubadd132phErEmitter<A, B, C>>::vfmsubadd132ph_er(self, op0, op1, op2);
38342 }
38343 #[inline]
38360 pub fn vfmsubadd132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38361 where Assembler<'a>: Vfmsubadd132phMaskEmitter<A, B, C> {
38362 <Self as Vfmsubadd132phMaskEmitter<A, B, C>>::vfmsubadd132ph_mask(self, op0, op1, op2);
38363 }
38364 #[inline]
38376 pub fn vfmsubadd132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38377 where Assembler<'a>: Vfmsubadd132phMaskErEmitter<A, B, C> {
38378 <Self as Vfmsubadd132phMaskErEmitter<A, B, C>>::vfmsubadd132ph_mask_er(self, op0, op1, op2);
38379 }
38380 #[inline]
38397 pub fn vfmsubadd132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38398 where Assembler<'a>: Vfmsubadd132phMaskzEmitter<A, B, C> {
38399 <Self as Vfmsubadd132phMaskzEmitter<A, B, C>>::vfmsubadd132ph_maskz(self, op0, op1, op2);
38400 }
38401 #[inline]
38413 pub fn vfmsubadd132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38414 where Assembler<'a>: Vfmsubadd132phMaskzErEmitter<A, B, C> {
38415 <Self as Vfmsubadd132phMaskzErEmitter<A, B, C>>::vfmsubadd132ph_maskz_er(self, op0, op1, op2);
38416 }
38417 #[inline]
38434 pub fn vfmsubadd213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38435 where Assembler<'a>: Vfmsubadd213phEmitter<A, B, C> {
38436 <Self as Vfmsubadd213phEmitter<A, B, C>>::vfmsubadd213ph(self, op0, op1, op2);
38437 }
38438 #[inline]
38450 pub fn vfmsubadd213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38451 where Assembler<'a>: Vfmsubadd213phErEmitter<A, B, C> {
38452 <Self as Vfmsubadd213phErEmitter<A, B, C>>::vfmsubadd213ph_er(self, op0, op1, op2);
38453 }
38454 #[inline]
38471 pub fn vfmsubadd213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38472 where Assembler<'a>: Vfmsubadd213phMaskEmitter<A, B, C> {
38473 <Self as Vfmsubadd213phMaskEmitter<A, B, C>>::vfmsubadd213ph_mask(self, op0, op1, op2);
38474 }
38475 #[inline]
38487 pub fn vfmsubadd213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38488 where Assembler<'a>: Vfmsubadd213phMaskErEmitter<A, B, C> {
38489 <Self as Vfmsubadd213phMaskErEmitter<A, B, C>>::vfmsubadd213ph_mask_er(self, op0, op1, op2);
38490 }
38491 #[inline]
38508 pub fn vfmsubadd213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38509 where Assembler<'a>: Vfmsubadd213phMaskzEmitter<A, B, C> {
38510 <Self as Vfmsubadd213phMaskzEmitter<A, B, C>>::vfmsubadd213ph_maskz(self, op0, op1, op2);
38511 }
38512 #[inline]
38524 pub fn vfmsubadd213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38525 where Assembler<'a>: Vfmsubadd213phMaskzErEmitter<A, B, C> {
38526 <Self as Vfmsubadd213phMaskzErEmitter<A, B, C>>::vfmsubadd213ph_maskz_er(self, op0, op1, op2);
38527 }
38528 #[inline]
38545 pub fn vfmsubadd231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38546 where Assembler<'a>: Vfmsubadd231phEmitter<A, B, C> {
38547 <Self as Vfmsubadd231phEmitter<A, B, C>>::vfmsubadd231ph(self, op0, op1, op2);
38548 }
38549 #[inline]
38561 pub fn vfmsubadd231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38562 where Assembler<'a>: Vfmsubadd231phErEmitter<A, B, C> {
38563 <Self as Vfmsubadd231phErEmitter<A, B, C>>::vfmsubadd231ph_er(self, op0, op1, op2);
38564 }
38565 #[inline]
38582 pub fn vfmsubadd231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38583 where Assembler<'a>: Vfmsubadd231phMaskEmitter<A, B, C> {
38584 <Self as Vfmsubadd231phMaskEmitter<A, B, C>>::vfmsubadd231ph_mask(self, op0, op1, op2);
38585 }
38586 #[inline]
38598 pub fn vfmsubadd231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38599 where Assembler<'a>: Vfmsubadd231phMaskErEmitter<A, B, C> {
38600 <Self as Vfmsubadd231phMaskErEmitter<A, B, C>>::vfmsubadd231ph_mask_er(self, op0, op1, op2);
38601 }
38602 #[inline]
38619 pub fn vfmsubadd231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38620 where Assembler<'a>: Vfmsubadd231phMaskzEmitter<A, B, C> {
38621 <Self as Vfmsubadd231phMaskzEmitter<A, B, C>>::vfmsubadd231ph_maskz(self, op0, op1, op2);
38622 }
38623 #[inline]
38635 pub fn vfmsubadd231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38636 where Assembler<'a>: Vfmsubadd231phMaskzErEmitter<A, B, C> {
38637 <Self as Vfmsubadd231phMaskzErEmitter<A, B, C>>::vfmsubadd231ph_maskz_er(self, op0, op1, op2);
38638 }
38639 #[inline]
38656 pub fn vfmulcph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38657 where Assembler<'a>: VfmulcphEmitter<A, B, C> {
38658 <Self as VfmulcphEmitter<A, B, C>>::vfmulcph(self, op0, op1, op2);
38659 }
38660 #[inline]
38672 pub fn vfmulcph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38673 where Assembler<'a>: VfmulcphErEmitter<A, B, C> {
38674 <Self as VfmulcphErEmitter<A, B, C>>::vfmulcph_er(self, op0, op1, op2);
38675 }
38676 #[inline]
38693 pub fn vfmulcph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38694 where Assembler<'a>: VfmulcphMaskEmitter<A, B, C> {
38695 <Self as VfmulcphMaskEmitter<A, B, C>>::vfmulcph_mask(self, op0, op1, op2);
38696 }
38697 #[inline]
38709 pub fn vfmulcph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38710 where Assembler<'a>: VfmulcphMaskErEmitter<A, B, C> {
38711 <Self as VfmulcphMaskErEmitter<A, B, C>>::vfmulcph_mask_er(self, op0, op1, op2);
38712 }
38713 #[inline]
38730 pub fn vfmulcph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38731 where Assembler<'a>: VfmulcphMaskzEmitter<A, B, C> {
38732 <Self as VfmulcphMaskzEmitter<A, B, C>>::vfmulcph_maskz(self, op0, op1, op2);
38733 }
38734 #[inline]
38746 pub fn vfmulcph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38747 where Assembler<'a>: VfmulcphMaskzErEmitter<A, B, C> {
38748 <Self as VfmulcphMaskzErEmitter<A, B, C>>::vfmulcph_maskz_er(self, op0, op1, op2);
38749 }
38750 #[inline]
38763 pub fn vfmulcsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38764 where Assembler<'a>: VfmulcshEmitter<A, B, C> {
38765 <Self as VfmulcshEmitter<A, B, C>>::vfmulcsh(self, op0, op1, op2);
38766 }
38767 #[inline]
38779 pub fn vfmulcsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38780 where Assembler<'a>: VfmulcshErEmitter<A, B, C> {
38781 <Self as VfmulcshErEmitter<A, B, C>>::vfmulcsh_er(self, op0, op1, op2);
38782 }
38783 #[inline]
38796 pub fn vfmulcsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38797 where Assembler<'a>: VfmulcshMaskEmitter<A, B, C> {
38798 <Self as VfmulcshMaskEmitter<A, B, C>>::vfmulcsh_mask(self, op0, op1, op2);
38799 }
38800 #[inline]
38812 pub fn vfmulcsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38813 where Assembler<'a>: VfmulcshMaskErEmitter<A, B, C> {
38814 <Self as VfmulcshMaskErEmitter<A, B, C>>::vfmulcsh_mask_er(self, op0, op1, op2);
38815 }
38816 #[inline]
38829 pub fn vfmulcsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38830 where Assembler<'a>: VfmulcshMaskzEmitter<A, B, C> {
38831 <Self as VfmulcshMaskzEmitter<A, B, C>>::vfmulcsh_maskz(self, op0, op1, op2);
38832 }
38833 #[inline]
38845 pub fn vfmulcsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38846 where Assembler<'a>: VfmulcshMaskzErEmitter<A, B, C> {
38847 <Self as VfmulcshMaskzErEmitter<A, B, C>>::vfmulcsh_maskz_er(self, op0, op1, op2);
38848 }
38849 #[inline]
38866 pub fn vfnmadd132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38867 where Assembler<'a>: Vfnmadd132phEmitter<A, B, C> {
38868 <Self as Vfnmadd132phEmitter<A, B, C>>::vfnmadd132ph(self, op0, op1, op2);
38869 }
38870 #[inline]
38882 pub fn vfnmadd132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38883 where Assembler<'a>: Vfnmadd132phErEmitter<A, B, C> {
38884 <Self as Vfnmadd132phErEmitter<A, B, C>>::vfnmadd132ph_er(self, op0, op1, op2);
38885 }
38886 #[inline]
38903 pub fn vfnmadd132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38904 where Assembler<'a>: Vfnmadd132phMaskEmitter<A, B, C> {
38905 <Self as Vfnmadd132phMaskEmitter<A, B, C>>::vfnmadd132ph_mask(self, op0, op1, op2);
38906 }
38907 #[inline]
38919 pub fn vfnmadd132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38920 where Assembler<'a>: Vfnmadd132phMaskErEmitter<A, B, C> {
38921 <Self as Vfnmadd132phMaskErEmitter<A, B, C>>::vfnmadd132ph_mask_er(self, op0, op1, op2);
38922 }
38923 #[inline]
38940 pub fn vfnmadd132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38941 where Assembler<'a>: Vfnmadd132phMaskzEmitter<A, B, C> {
38942 <Self as Vfnmadd132phMaskzEmitter<A, B, C>>::vfnmadd132ph_maskz(self, op0, op1, op2);
38943 }
38944 #[inline]
38956 pub fn vfnmadd132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38957 where Assembler<'a>: Vfnmadd132phMaskzErEmitter<A, B, C> {
38958 <Self as Vfnmadd132phMaskzErEmitter<A, B, C>>::vfnmadd132ph_maskz_er(self, op0, op1, op2);
38959 }
38960 #[inline]
38973 pub fn vfnmadd132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38974 where Assembler<'a>: Vfnmadd132shEmitter<A, B, C> {
38975 <Self as Vfnmadd132shEmitter<A, B, C>>::vfnmadd132sh(self, op0, op1, op2);
38976 }
38977 #[inline]
38989 pub fn vfnmadd132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
38990 where Assembler<'a>: Vfnmadd132shErEmitter<A, B, C> {
38991 <Self as Vfnmadd132shErEmitter<A, B, C>>::vfnmadd132sh_er(self, op0, op1, op2);
38992 }
38993 #[inline]
39006 pub fn vfnmadd132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39007 where Assembler<'a>: Vfnmadd132shMaskEmitter<A, B, C> {
39008 <Self as Vfnmadd132shMaskEmitter<A, B, C>>::vfnmadd132sh_mask(self, op0, op1, op2);
39009 }
39010 #[inline]
39022 pub fn vfnmadd132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39023 where Assembler<'a>: Vfnmadd132shMaskErEmitter<A, B, C> {
39024 <Self as Vfnmadd132shMaskErEmitter<A, B, C>>::vfnmadd132sh_mask_er(self, op0, op1, op2);
39025 }
39026 #[inline]
39039 pub fn vfnmadd132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39040 where Assembler<'a>: Vfnmadd132shMaskzEmitter<A, B, C> {
39041 <Self as Vfnmadd132shMaskzEmitter<A, B, C>>::vfnmadd132sh_maskz(self, op0, op1, op2);
39042 }
39043 #[inline]
39055 pub fn vfnmadd132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39056 where Assembler<'a>: Vfnmadd132shMaskzErEmitter<A, B, C> {
39057 <Self as Vfnmadd132shMaskzErEmitter<A, B, C>>::vfnmadd132sh_maskz_er(self, op0, op1, op2);
39058 }
39059 #[inline]
39076 pub fn vfnmadd213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39077 where Assembler<'a>: Vfnmadd213phEmitter<A, B, C> {
39078 <Self as Vfnmadd213phEmitter<A, B, C>>::vfnmadd213ph(self, op0, op1, op2);
39079 }
39080 #[inline]
39092 pub fn vfnmadd213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39093 where Assembler<'a>: Vfnmadd213phErEmitter<A, B, C> {
39094 <Self as Vfnmadd213phErEmitter<A, B, C>>::vfnmadd213ph_er(self, op0, op1, op2);
39095 }
39096 #[inline]
39113 pub fn vfnmadd213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39114 where Assembler<'a>: Vfnmadd213phMaskEmitter<A, B, C> {
39115 <Self as Vfnmadd213phMaskEmitter<A, B, C>>::vfnmadd213ph_mask(self, op0, op1, op2);
39116 }
39117 #[inline]
39129 pub fn vfnmadd213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39130 where Assembler<'a>: Vfnmadd213phMaskErEmitter<A, B, C> {
39131 <Self as Vfnmadd213phMaskErEmitter<A, B, C>>::vfnmadd213ph_mask_er(self, op0, op1, op2);
39132 }
39133 #[inline]
39150 pub fn vfnmadd213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39151 where Assembler<'a>: Vfnmadd213phMaskzEmitter<A, B, C> {
39152 <Self as Vfnmadd213phMaskzEmitter<A, B, C>>::vfnmadd213ph_maskz(self, op0, op1, op2);
39153 }
39154 #[inline]
39166 pub fn vfnmadd213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39167 where Assembler<'a>: Vfnmadd213phMaskzErEmitter<A, B, C> {
39168 <Self as Vfnmadd213phMaskzErEmitter<A, B, C>>::vfnmadd213ph_maskz_er(self, op0, op1, op2);
39169 }
39170 #[inline]
39183 pub fn vfnmadd213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39184 where Assembler<'a>: Vfnmadd213shEmitter<A, B, C> {
39185 <Self as Vfnmadd213shEmitter<A, B, C>>::vfnmadd213sh(self, op0, op1, op2);
39186 }
39187 #[inline]
39199 pub fn vfnmadd213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39200 where Assembler<'a>: Vfnmadd213shErEmitter<A, B, C> {
39201 <Self as Vfnmadd213shErEmitter<A, B, C>>::vfnmadd213sh_er(self, op0, op1, op2);
39202 }
39203 #[inline]
39216 pub fn vfnmadd213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39217 where Assembler<'a>: Vfnmadd213shMaskEmitter<A, B, C> {
39218 <Self as Vfnmadd213shMaskEmitter<A, B, C>>::vfnmadd213sh_mask(self, op0, op1, op2);
39219 }
39220 #[inline]
39232 pub fn vfnmadd213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39233 where Assembler<'a>: Vfnmadd213shMaskErEmitter<A, B, C> {
39234 <Self as Vfnmadd213shMaskErEmitter<A, B, C>>::vfnmadd213sh_mask_er(self, op0, op1, op2);
39235 }
39236 #[inline]
39249 pub fn vfnmadd213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39250 where Assembler<'a>: Vfnmadd213shMaskzEmitter<A, B, C> {
39251 <Self as Vfnmadd213shMaskzEmitter<A, B, C>>::vfnmadd213sh_maskz(self, op0, op1, op2);
39252 }
39253 #[inline]
39265 pub fn vfnmadd213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39266 where Assembler<'a>: Vfnmadd213shMaskzErEmitter<A, B, C> {
39267 <Self as Vfnmadd213shMaskzErEmitter<A, B, C>>::vfnmadd213sh_maskz_er(self, op0, op1, op2);
39268 }
39269 #[inline]
39286 pub fn vfnmadd231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39287 where Assembler<'a>: Vfnmadd231phEmitter<A, B, C> {
39288 <Self as Vfnmadd231phEmitter<A, B, C>>::vfnmadd231ph(self, op0, op1, op2);
39289 }
39290 #[inline]
39302 pub fn vfnmadd231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39303 where Assembler<'a>: Vfnmadd231phErEmitter<A, B, C> {
39304 <Self as Vfnmadd231phErEmitter<A, B, C>>::vfnmadd231ph_er(self, op0, op1, op2);
39305 }
39306 #[inline]
39323 pub fn vfnmadd231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39324 where Assembler<'a>: Vfnmadd231phMaskEmitter<A, B, C> {
39325 <Self as Vfnmadd231phMaskEmitter<A, B, C>>::vfnmadd231ph_mask(self, op0, op1, op2);
39326 }
39327 #[inline]
39339 pub fn vfnmadd231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39340 where Assembler<'a>: Vfnmadd231phMaskErEmitter<A, B, C> {
39341 <Self as Vfnmadd231phMaskErEmitter<A, B, C>>::vfnmadd231ph_mask_er(self, op0, op1, op2);
39342 }
39343 #[inline]
39360 pub fn vfnmadd231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39361 where Assembler<'a>: Vfnmadd231phMaskzEmitter<A, B, C> {
39362 <Self as Vfnmadd231phMaskzEmitter<A, B, C>>::vfnmadd231ph_maskz(self, op0, op1, op2);
39363 }
39364 #[inline]
39376 pub fn vfnmadd231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39377 where Assembler<'a>: Vfnmadd231phMaskzErEmitter<A, B, C> {
39378 <Self as Vfnmadd231phMaskzErEmitter<A, B, C>>::vfnmadd231ph_maskz_er(self, op0, op1, op2);
39379 }
39380 #[inline]
39393 pub fn vfnmadd231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39394 where Assembler<'a>: Vfnmadd231shEmitter<A, B, C> {
39395 <Self as Vfnmadd231shEmitter<A, B, C>>::vfnmadd231sh(self, op0, op1, op2);
39396 }
39397 #[inline]
39409 pub fn vfnmadd231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39410 where Assembler<'a>: Vfnmadd231shErEmitter<A, B, C> {
39411 <Self as Vfnmadd231shErEmitter<A, B, C>>::vfnmadd231sh_er(self, op0, op1, op2);
39412 }
39413 #[inline]
39426 pub fn vfnmadd231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39427 where Assembler<'a>: Vfnmadd231shMaskEmitter<A, B, C> {
39428 <Self as Vfnmadd231shMaskEmitter<A, B, C>>::vfnmadd231sh_mask(self, op0, op1, op2);
39429 }
39430 #[inline]
39442 pub fn vfnmadd231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39443 where Assembler<'a>: Vfnmadd231shMaskErEmitter<A, B, C> {
39444 <Self as Vfnmadd231shMaskErEmitter<A, B, C>>::vfnmadd231sh_mask_er(self, op0, op1, op2);
39445 }
39446 #[inline]
39459 pub fn vfnmadd231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39460 where Assembler<'a>: Vfnmadd231shMaskzEmitter<A, B, C> {
39461 <Self as Vfnmadd231shMaskzEmitter<A, B, C>>::vfnmadd231sh_maskz(self, op0, op1, op2);
39462 }
39463 #[inline]
39475 pub fn vfnmadd231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39476 where Assembler<'a>: Vfnmadd231shMaskzErEmitter<A, B, C> {
39477 <Self as Vfnmadd231shMaskzErEmitter<A, B, C>>::vfnmadd231sh_maskz_er(self, op0, op1, op2);
39478 }
39479 #[inline]
39496 pub fn vfnmsub132ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39497 where Assembler<'a>: Vfnmsub132phEmitter<A, B, C> {
39498 <Self as Vfnmsub132phEmitter<A, B, C>>::vfnmsub132ph(self, op0, op1, op2);
39499 }
39500 #[inline]
39512 pub fn vfnmsub132ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39513 where Assembler<'a>: Vfnmsub132phErEmitter<A, B, C> {
39514 <Self as Vfnmsub132phErEmitter<A, B, C>>::vfnmsub132ph_er(self, op0, op1, op2);
39515 }
39516 #[inline]
39533 pub fn vfnmsub132ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39534 where Assembler<'a>: Vfnmsub132phMaskEmitter<A, B, C> {
39535 <Self as Vfnmsub132phMaskEmitter<A, B, C>>::vfnmsub132ph_mask(self, op0, op1, op2);
39536 }
39537 #[inline]
39549 pub fn vfnmsub132ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39550 where Assembler<'a>: Vfnmsub132phMaskErEmitter<A, B, C> {
39551 <Self as Vfnmsub132phMaskErEmitter<A, B, C>>::vfnmsub132ph_mask_er(self, op0, op1, op2);
39552 }
39553 #[inline]
39570 pub fn vfnmsub132ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39571 where Assembler<'a>: Vfnmsub132phMaskzEmitter<A, B, C> {
39572 <Self as Vfnmsub132phMaskzEmitter<A, B, C>>::vfnmsub132ph_maskz(self, op0, op1, op2);
39573 }
39574 #[inline]
39586 pub fn vfnmsub132ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39587 where Assembler<'a>: Vfnmsub132phMaskzErEmitter<A, B, C> {
39588 <Self as Vfnmsub132phMaskzErEmitter<A, B, C>>::vfnmsub132ph_maskz_er(self, op0, op1, op2);
39589 }
39590 #[inline]
39603 pub fn vfnmsub132sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39604 where Assembler<'a>: Vfnmsub132shEmitter<A, B, C> {
39605 <Self as Vfnmsub132shEmitter<A, B, C>>::vfnmsub132sh(self, op0, op1, op2);
39606 }
39607 #[inline]
39619 pub fn vfnmsub132sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39620 where Assembler<'a>: Vfnmsub132shErEmitter<A, B, C> {
39621 <Self as Vfnmsub132shErEmitter<A, B, C>>::vfnmsub132sh_er(self, op0, op1, op2);
39622 }
39623 #[inline]
39636 pub fn vfnmsub132sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39637 where Assembler<'a>: Vfnmsub132shMaskEmitter<A, B, C> {
39638 <Self as Vfnmsub132shMaskEmitter<A, B, C>>::vfnmsub132sh_mask(self, op0, op1, op2);
39639 }
39640 #[inline]
39652 pub fn vfnmsub132sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39653 where Assembler<'a>: Vfnmsub132shMaskErEmitter<A, B, C> {
39654 <Self as Vfnmsub132shMaskErEmitter<A, B, C>>::vfnmsub132sh_mask_er(self, op0, op1, op2);
39655 }
39656 #[inline]
39669 pub fn vfnmsub132sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39670 where Assembler<'a>: Vfnmsub132shMaskzEmitter<A, B, C> {
39671 <Self as Vfnmsub132shMaskzEmitter<A, B, C>>::vfnmsub132sh_maskz(self, op0, op1, op2);
39672 }
39673 #[inline]
39685 pub fn vfnmsub132sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39686 where Assembler<'a>: Vfnmsub132shMaskzErEmitter<A, B, C> {
39687 <Self as Vfnmsub132shMaskzErEmitter<A, B, C>>::vfnmsub132sh_maskz_er(self, op0, op1, op2);
39688 }
39689 #[inline]
39706 pub fn vfnmsub213ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39707 where Assembler<'a>: Vfnmsub213phEmitter<A, B, C> {
39708 <Self as Vfnmsub213phEmitter<A, B, C>>::vfnmsub213ph(self, op0, op1, op2);
39709 }
39710 #[inline]
39722 pub fn vfnmsub213ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39723 where Assembler<'a>: Vfnmsub213phErEmitter<A, B, C> {
39724 <Self as Vfnmsub213phErEmitter<A, B, C>>::vfnmsub213ph_er(self, op0, op1, op2);
39725 }
39726 #[inline]
39743 pub fn vfnmsub213ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39744 where Assembler<'a>: Vfnmsub213phMaskEmitter<A, B, C> {
39745 <Self as Vfnmsub213phMaskEmitter<A, B, C>>::vfnmsub213ph_mask(self, op0, op1, op2);
39746 }
39747 #[inline]
39759 pub fn vfnmsub213ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39760 where Assembler<'a>: Vfnmsub213phMaskErEmitter<A, B, C> {
39761 <Self as Vfnmsub213phMaskErEmitter<A, B, C>>::vfnmsub213ph_mask_er(self, op0, op1, op2);
39762 }
39763 #[inline]
39780 pub fn vfnmsub213ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39781 where Assembler<'a>: Vfnmsub213phMaskzEmitter<A, B, C> {
39782 <Self as Vfnmsub213phMaskzEmitter<A, B, C>>::vfnmsub213ph_maskz(self, op0, op1, op2);
39783 }
39784 #[inline]
39796 pub fn vfnmsub213ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39797 where Assembler<'a>: Vfnmsub213phMaskzErEmitter<A, B, C> {
39798 <Self as Vfnmsub213phMaskzErEmitter<A, B, C>>::vfnmsub213ph_maskz_er(self, op0, op1, op2);
39799 }
39800 #[inline]
39813 pub fn vfnmsub213sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39814 where Assembler<'a>: Vfnmsub213shEmitter<A, B, C> {
39815 <Self as Vfnmsub213shEmitter<A, B, C>>::vfnmsub213sh(self, op0, op1, op2);
39816 }
39817 #[inline]
39829 pub fn vfnmsub213sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39830 where Assembler<'a>: Vfnmsub213shErEmitter<A, B, C> {
39831 <Self as Vfnmsub213shErEmitter<A, B, C>>::vfnmsub213sh_er(self, op0, op1, op2);
39832 }
39833 #[inline]
39846 pub fn vfnmsub213sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39847 where Assembler<'a>: Vfnmsub213shMaskEmitter<A, B, C> {
39848 <Self as Vfnmsub213shMaskEmitter<A, B, C>>::vfnmsub213sh_mask(self, op0, op1, op2);
39849 }
39850 #[inline]
39862 pub fn vfnmsub213sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39863 where Assembler<'a>: Vfnmsub213shMaskErEmitter<A, B, C> {
39864 <Self as Vfnmsub213shMaskErEmitter<A, B, C>>::vfnmsub213sh_mask_er(self, op0, op1, op2);
39865 }
39866 #[inline]
39879 pub fn vfnmsub213sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39880 where Assembler<'a>: Vfnmsub213shMaskzEmitter<A, B, C> {
39881 <Self as Vfnmsub213shMaskzEmitter<A, B, C>>::vfnmsub213sh_maskz(self, op0, op1, op2);
39882 }
39883 #[inline]
39895 pub fn vfnmsub213sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39896 where Assembler<'a>: Vfnmsub213shMaskzErEmitter<A, B, C> {
39897 <Self as Vfnmsub213shMaskzErEmitter<A, B, C>>::vfnmsub213sh_maskz_er(self, op0, op1, op2);
39898 }
39899 #[inline]
39916 pub fn vfnmsub231ph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39917 where Assembler<'a>: Vfnmsub231phEmitter<A, B, C> {
39918 <Self as Vfnmsub231phEmitter<A, B, C>>::vfnmsub231ph(self, op0, op1, op2);
39919 }
39920 #[inline]
39932 pub fn vfnmsub231ph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39933 where Assembler<'a>: Vfnmsub231phErEmitter<A, B, C> {
39934 <Self as Vfnmsub231phErEmitter<A, B, C>>::vfnmsub231ph_er(self, op0, op1, op2);
39935 }
39936 #[inline]
39953 pub fn vfnmsub231ph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39954 where Assembler<'a>: Vfnmsub231phMaskEmitter<A, B, C> {
39955 <Self as Vfnmsub231phMaskEmitter<A, B, C>>::vfnmsub231ph_mask(self, op0, op1, op2);
39956 }
39957 #[inline]
39969 pub fn vfnmsub231ph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39970 where Assembler<'a>: Vfnmsub231phMaskErEmitter<A, B, C> {
39971 <Self as Vfnmsub231phMaskErEmitter<A, B, C>>::vfnmsub231ph_mask_er(self, op0, op1, op2);
39972 }
39973 #[inline]
39990 pub fn vfnmsub231ph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
39991 where Assembler<'a>: Vfnmsub231phMaskzEmitter<A, B, C> {
39992 <Self as Vfnmsub231phMaskzEmitter<A, B, C>>::vfnmsub231ph_maskz(self, op0, op1, op2);
39993 }
39994 #[inline]
40006 pub fn vfnmsub231ph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40007 where Assembler<'a>: Vfnmsub231phMaskzErEmitter<A, B, C> {
40008 <Self as Vfnmsub231phMaskzErEmitter<A, B, C>>::vfnmsub231ph_maskz_er(self, op0, op1, op2);
40009 }
40010 #[inline]
40023 pub fn vfnmsub231sh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40024 where Assembler<'a>: Vfnmsub231shEmitter<A, B, C> {
40025 <Self as Vfnmsub231shEmitter<A, B, C>>::vfnmsub231sh(self, op0, op1, op2);
40026 }
40027 #[inline]
40039 pub fn vfnmsub231sh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40040 where Assembler<'a>: Vfnmsub231shErEmitter<A, B, C> {
40041 <Self as Vfnmsub231shErEmitter<A, B, C>>::vfnmsub231sh_er(self, op0, op1, op2);
40042 }
40043 #[inline]
40056 pub fn vfnmsub231sh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40057 where Assembler<'a>: Vfnmsub231shMaskEmitter<A, B, C> {
40058 <Self as Vfnmsub231shMaskEmitter<A, B, C>>::vfnmsub231sh_mask(self, op0, op1, op2);
40059 }
40060 #[inline]
40072 pub fn vfnmsub231sh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40073 where Assembler<'a>: Vfnmsub231shMaskErEmitter<A, B, C> {
40074 <Self as Vfnmsub231shMaskErEmitter<A, B, C>>::vfnmsub231sh_mask_er(self, op0, op1, op2);
40075 }
40076 #[inline]
40089 pub fn vfnmsub231sh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40090 where Assembler<'a>: Vfnmsub231shMaskzEmitter<A, B, C> {
40091 <Self as Vfnmsub231shMaskzEmitter<A, B, C>>::vfnmsub231sh_maskz(self, op0, op1, op2);
40092 }
40093 #[inline]
40105 pub fn vfnmsub231sh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40106 where Assembler<'a>: Vfnmsub231shMaskzErEmitter<A, B, C> {
40107 <Self as Vfnmsub231shMaskzErEmitter<A, B, C>>::vfnmsub231sh_maskz_er(self, op0, op1, op2);
40108 }
40109 #[inline]
40124 pub fn vfpclassph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40125 where Assembler<'a>: VfpclassphEmitter<A, B, C> {
40126 <Self as VfpclassphEmitter<A, B, C>>::vfpclassph(self, op0, op1, op2);
40127 }
40128 #[inline]
40143 pub fn vfpclassph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40144 where Assembler<'a>: VfpclassphMaskEmitter<A, B, C> {
40145 <Self as VfpclassphMaskEmitter<A, B, C>>::vfpclassph_mask(self, op0, op1, op2);
40146 }
40147 #[inline]
40160 pub fn vfpclasssh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40161 where Assembler<'a>: VfpclassshEmitter<A, B, C> {
40162 <Self as VfpclassshEmitter<A, B, C>>::vfpclasssh(self, op0, op1, op2);
40163 }
40164 #[inline]
40177 pub fn vfpclasssh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40178 where Assembler<'a>: VfpclassshMaskEmitter<A, B, C> {
40179 <Self as VfpclassshMaskEmitter<A, B, C>>::vfpclasssh_mask(self, op0, op1, op2);
40180 }
40181 #[inline]
40198 pub fn vgetexpph<A, B>(&mut self, op0: A, op1: B)
40199 where Assembler<'a>: VgetexpphEmitter<A, B> {
40200 <Self as VgetexpphEmitter<A, B>>::vgetexpph(self, op0, op1);
40201 }
40202 #[inline]
40219 pub fn vgetexpph_mask<A, B>(&mut self, op0: A, op1: B)
40220 where Assembler<'a>: VgetexpphMaskEmitter<A, B> {
40221 <Self as VgetexpphMaskEmitter<A, B>>::vgetexpph_mask(self, op0, op1);
40222 }
40223 #[inline]
40235 pub fn vgetexpph_mask_sae<A, B>(&mut self, op0: A, op1: B)
40236 where Assembler<'a>: VgetexpphMaskSaeEmitter<A, B> {
40237 <Self as VgetexpphMaskSaeEmitter<A, B>>::vgetexpph_mask_sae(self, op0, op1);
40238 }
40239 #[inline]
40256 pub fn vgetexpph_maskz<A, B>(&mut self, op0: A, op1: B)
40257 where Assembler<'a>: VgetexpphMaskzEmitter<A, B> {
40258 <Self as VgetexpphMaskzEmitter<A, B>>::vgetexpph_maskz(self, op0, op1);
40259 }
40260 #[inline]
40272 pub fn vgetexpph_maskz_sae<A, B>(&mut self, op0: A, op1: B)
40273 where Assembler<'a>: VgetexpphMaskzSaeEmitter<A, B> {
40274 <Self as VgetexpphMaskzSaeEmitter<A, B>>::vgetexpph_maskz_sae(self, op0, op1);
40275 }
40276 #[inline]
40288 pub fn vgetexpph_sae<A, B>(&mut self, op0: A, op1: B)
40289 where Assembler<'a>: VgetexpphSaeEmitter<A, B> {
40290 <Self as VgetexpphSaeEmitter<A, B>>::vgetexpph_sae(self, op0, op1);
40291 }
40292 #[inline]
40305 pub fn vgetexpsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40306 where Assembler<'a>: VgetexpshEmitter<A, B, C> {
40307 <Self as VgetexpshEmitter<A, B, C>>::vgetexpsh(self, op0, op1, op2);
40308 }
40309 #[inline]
40322 pub fn vgetexpsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40323 where Assembler<'a>: VgetexpshMaskEmitter<A, B, C> {
40324 <Self as VgetexpshMaskEmitter<A, B, C>>::vgetexpsh_mask(self, op0, op1, op2);
40325 }
40326 #[inline]
40338 pub fn vgetexpsh_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40339 where Assembler<'a>: VgetexpshMaskSaeEmitter<A, B, C> {
40340 <Self as VgetexpshMaskSaeEmitter<A, B, C>>::vgetexpsh_mask_sae(self, op0, op1, op2);
40341 }
40342 #[inline]
40355 pub fn vgetexpsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40356 where Assembler<'a>: VgetexpshMaskzEmitter<A, B, C> {
40357 <Self as VgetexpshMaskzEmitter<A, B, C>>::vgetexpsh_maskz(self, op0, op1, op2);
40358 }
40359 #[inline]
40371 pub fn vgetexpsh_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40372 where Assembler<'a>: VgetexpshMaskzSaeEmitter<A, B, C> {
40373 <Self as VgetexpshMaskzSaeEmitter<A, B, C>>::vgetexpsh_maskz_sae(self, op0, op1, op2);
40374 }
40375 #[inline]
40387 pub fn vgetexpsh_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40388 where Assembler<'a>: VgetexpshSaeEmitter<A, B, C> {
40389 <Self as VgetexpshSaeEmitter<A, B, C>>::vgetexpsh_sae(self, op0, op1, op2);
40390 }
40391 #[inline]
40408 pub fn vgetmantph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40409 where Assembler<'a>: VgetmantphEmitter<A, B, C> {
40410 <Self as VgetmantphEmitter<A, B, C>>::vgetmantph(self, op0, op1, op2);
40411 }
40412 #[inline]
40429 pub fn vgetmantph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40430 where Assembler<'a>: VgetmantphMaskEmitter<A, B, C> {
40431 <Self as VgetmantphMaskEmitter<A, B, C>>::vgetmantph_mask(self, op0, op1, op2);
40432 }
40433 #[inline]
40445 pub fn vgetmantph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40446 where Assembler<'a>: VgetmantphMaskSaeEmitter<A, B, C> {
40447 <Self as VgetmantphMaskSaeEmitter<A, B, C>>::vgetmantph_mask_sae(self, op0, op1, op2);
40448 }
40449 #[inline]
40466 pub fn vgetmantph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40467 where Assembler<'a>: VgetmantphMaskzEmitter<A, B, C> {
40468 <Self as VgetmantphMaskzEmitter<A, B, C>>::vgetmantph_maskz(self, op0, op1, op2);
40469 }
40470 #[inline]
40482 pub fn vgetmantph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40483 where Assembler<'a>: VgetmantphMaskzSaeEmitter<A, B, C> {
40484 <Self as VgetmantphMaskzSaeEmitter<A, B, C>>::vgetmantph_maskz_sae(self, op0, op1, op2);
40485 }
40486 #[inline]
40498 pub fn vgetmantph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40499 where Assembler<'a>: VgetmantphSaeEmitter<A, B, C> {
40500 <Self as VgetmantphSaeEmitter<A, B, C>>::vgetmantph_sae(self, op0, op1, op2);
40501 }
40502 #[inline]
40515 pub fn vgetmantsh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40516 where Assembler<'a>: VgetmantshEmitter<A, B, C, D> {
40517 <Self as VgetmantshEmitter<A, B, C, D>>::vgetmantsh(self, op0, op1, op2, op3);
40518 }
40519 #[inline]
40532 pub fn vgetmantsh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40533 where Assembler<'a>: VgetmantshMaskEmitter<A, B, C, D> {
40534 <Self as VgetmantshMaskEmitter<A, B, C, D>>::vgetmantsh_mask(self, op0, op1, op2, op3);
40535 }
40536 #[inline]
40548 pub fn vgetmantsh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40549 where Assembler<'a>: VgetmantshMaskSaeEmitter<A, B, C, D> {
40550 <Self as VgetmantshMaskSaeEmitter<A, B, C, D>>::vgetmantsh_mask_sae(self, op0, op1, op2, op3);
40551 }
40552 #[inline]
40565 pub fn vgetmantsh_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40566 where Assembler<'a>: VgetmantshMaskzEmitter<A, B, C, D> {
40567 <Self as VgetmantshMaskzEmitter<A, B, C, D>>::vgetmantsh_maskz(self, op0, op1, op2, op3);
40568 }
40569 #[inline]
40581 pub fn vgetmantsh_maskz_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40582 where Assembler<'a>: VgetmantshMaskzSaeEmitter<A, B, C, D> {
40583 <Self as VgetmantshMaskzSaeEmitter<A, B, C, D>>::vgetmantsh_maskz_sae(self, op0, op1, op2, op3);
40584 }
40585 #[inline]
40597 pub fn vgetmantsh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40598 where Assembler<'a>: VgetmantshSaeEmitter<A, B, C, D> {
40599 <Self as VgetmantshSaeEmitter<A, B, C, D>>::vgetmantsh_sae(self, op0, op1, op2, op3);
40600 }
40601 #[inline]
40622 pub fn vgf2p8affineinvqb<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40623 where Assembler<'a>: Vgf2p8affineinvqbEmitter<A, B, C, D> {
40624 <Self as Vgf2p8affineinvqbEmitter<A, B, C, D>>::vgf2p8affineinvqb(self, op0, op1, op2, op3);
40625 }
40626 #[inline]
40647 pub fn vgf2p8affineinvqb_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40648 where Assembler<'a>: Vgf2p8affineinvqbMaskEmitter<A, B, C, D> {
40649 <Self as Vgf2p8affineinvqbMaskEmitter<A, B, C, D>>::vgf2p8affineinvqb_mask(self, op0, op1, op2, op3);
40650 }
40651 #[inline]
40672 pub fn vgf2p8affineinvqb_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40673 where Assembler<'a>: Vgf2p8affineinvqbMaskzEmitter<A, B, C, D> {
40674 <Self as Vgf2p8affineinvqbMaskzEmitter<A, B, C, D>>::vgf2p8affineinvqb_maskz(self, op0, op1, op2, op3);
40675 }
40676 #[inline]
40697 pub fn vgf2p8affineqb<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40698 where Assembler<'a>: Vgf2p8affineqbEmitter<A, B, C, D> {
40699 <Self as Vgf2p8affineqbEmitter<A, B, C, D>>::vgf2p8affineqb(self, op0, op1, op2, op3);
40700 }
40701 #[inline]
40722 pub fn vgf2p8affineqb_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40723 where Assembler<'a>: Vgf2p8affineqbMaskEmitter<A, B, C, D> {
40724 <Self as Vgf2p8affineqbMaskEmitter<A, B, C, D>>::vgf2p8affineqb_mask(self, op0, op1, op2, op3);
40725 }
40726 #[inline]
40747 pub fn vgf2p8affineqb_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
40748 where Assembler<'a>: Vgf2p8affineqbMaskzEmitter<A, B, C, D> {
40749 <Self as Vgf2p8affineqbMaskzEmitter<A, B, C, D>>::vgf2p8affineqb_maskz(self, op0, op1, op2, op3);
40750 }
40751 #[inline]
40772 pub fn vgf2p8mulb<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40773 where Assembler<'a>: Vgf2p8mulbEmitter<A, B, C> {
40774 <Self as Vgf2p8mulbEmitter<A, B, C>>::vgf2p8mulb(self, op0, op1, op2);
40775 }
40776 #[inline]
40797 pub fn vgf2p8mulb_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40798 where Assembler<'a>: Vgf2p8mulbMaskEmitter<A, B, C> {
40799 <Self as Vgf2p8mulbMaskEmitter<A, B, C>>::vgf2p8mulb_mask(self, op0, op1, op2);
40800 }
40801 #[inline]
40822 pub fn vgf2p8mulb_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40823 where Assembler<'a>: Vgf2p8mulbMaskzEmitter<A, B, C> {
40824 <Self as Vgf2p8mulbMaskzEmitter<A, B, C>>::vgf2p8mulb_maskz(self, op0, op1, op2);
40825 }
40826 #[inline]
40843 pub fn vmaxph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40844 where Assembler<'a>: VmaxphEmitter<A, B, C> {
40845 <Self as VmaxphEmitter<A, B, C>>::vmaxph(self, op0, op1, op2);
40846 }
40847 #[inline]
40864 pub fn vmaxph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40865 where Assembler<'a>: VmaxphMaskEmitter<A, B, C> {
40866 <Self as VmaxphMaskEmitter<A, B, C>>::vmaxph_mask(self, op0, op1, op2);
40867 }
40868 #[inline]
40880 pub fn vmaxph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40881 where Assembler<'a>: VmaxphMaskSaeEmitter<A, B, C> {
40882 <Self as VmaxphMaskSaeEmitter<A, B, C>>::vmaxph_mask_sae(self, op0, op1, op2);
40883 }
40884 #[inline]
40901 pub fn vmaxph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40902 where Assembler<'a>: VmaxphMaskzEmitter<A, B, C> {
40903 <Self as VmaxphMaskzEmitter<A, B, C>>::vmaxph_maskz(self, op0, op1, op2);
40904 }
40905 #[inline]
40917 pub fn vmaxph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40918 where Assembler<'a>: VmaxphMaskzSaeEmitter<A, B, C> {
40919 <Self as VmaxphMaskzSaeEmitter<A, B, C>>::vmaxph_maskz_sae(self, op0, op1, op2);
40920 }
40921 #[inline]
40933 pub fn vmaxph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40934 where Assembler<'a>: VmaxphSaeEmitter<A, B, C> {
40935 <Self as VmaxphSaeEmitter<A, B, C>>::vmaxph_sae(self, op0, op1, op2);
40936 }
40937 #[inline]
40950 pub fn vmaxsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40951 where Assembler<'a>: VmaxshEmitter<A, B, C> {
40952 <Self as VmaxshEmitter<A, B, C>>::vmaxsh(self, op0, op1, op2);
40953 }
40954 #[inline]
40967 pub fn vmaxsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40968 where Assembler<'a>: VmaxshMaskEmitter<A, B, C> {
40969 <Self as VmaxshMaskEmitter<A, B, C>>::vmaxsh_mask(self, op0, op1, op2);
40970 }
40971 #[inline]
40983 pub fn vmaxsh_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
40984 where Assembler<'a>: VmaxshMaskSaeEmitter<A, B, C> {
40985 <Self as VmaxshMaskSaeEmitter<A, B, C>>::vmaxsh_mask_sae(self, op0, op1, op2);
40986 }
40987 #[inline]
41000 pub fn vmaxsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41001 where Assembler<'a>: VmaxshMaskzEmitter<A, B, C> {
41002 <Self as VmaxshMaskzEmitter<A, B, C>>::vmaxsh_maskz(self, op0, op1, op2);
41003 }
41004 #[inline]
41016 pub fn vmaxsh_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41017 where Assembler<'a>: VmaxshMaskzSaeEmitter<A, B, C> {
41018 <Self as VmaxshMaskzSaeEmitter<A, B, C>>::vmaxsh_maskz_sae(self, op0, op1, op2);
41019 }
41020 #[inline]
41032 pub fn vmaxsh_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41033 where Assembler<'a>: VmaxshSaeEmitter<A, B, C> {
41034 <Self as VmaxshSaeEmitter<A, B, C>>::vmaxsh_sae(self, op0, op1, op2);
41035 }
41036 #[inline]
41053 pub fn vminph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41054 where Assembler<'a>: VminphEmitter<A, B, C> {
41055 <Self as VminphEmitter<A, B, C>>::vminph(self, op0, op1, op2);
41056 }
41057 #[inline]
41074 pub fn vminph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41075 where Assembler<'a>: VminphMaskEmitter<A, B, C> {
41076 <Self as VminphMaskEmitter<A, B, C>>::vminph_mask(self, op0, op1, op2);
41077 }
41078 #[inline]
41090 pub fn vminph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41091 where Assembler<'a>: VminphMaskSaeEmitter<A, B, C> {
41092 <Self as VminphMaskSaeEmitter<A, B, C>>::vminph_mask_sae(self, op0, op1, op2);
41093 }
41094 #[inline]
41111 pub fn vminph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41112 where Assembler<'a>: VminphMaskzEmitter<A, B, C> {
41113 <Self as VminphMaskzEmitter<A, B, C>>::vminph_maskz(self, op0, op1, op2);
41114 }
41115 #[inline]
41127 pub fn vminph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41128 where Assembler<'a>: VminphMaskzSaeEmitter<A, B, C> {
41129 <Self as VminphMaskzSaeEmitter<A, B, C>>::vminph_maskz_sae(self, op0, op1, op2);
41130 }
41131 #[inline]
41143 pub fn vminph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41144 where Assembler<'a>: VminphSaeEmitter<A, B, C> {
41145 <Self as VminphSaeEmitter<A, B, C>>::vminph_sae(self, op0, op1, op2);
41146 }
41147 #[inline]
41160 pub fn vminsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41161 where Assembler<'a>: VminshEmitter<A, B, C> {
41162 <Self as VminshEmitter<A, B, C>>::vminsh(self, op0, op1, op2);
41163 }
41164 #[inline]
41177 pub fn vminsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41178 where Assembler<'a>: VminshMaskEmitter<A, B, C> {
41179 <Self as VminshMaskEmitter<A, B, C>>::vminsh_mask(self, op0, op1, op2);
41180 }
41181 #[inline]
41193 pub fn vminsh_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41194 where Assembler<'a>: VminshMaskSaeEmitter<A, B, C> {
41195 <Self as VminshMaskSaeEmitter<A, B, C>>::vminsh_mask_sae(self, op0, op1, op2);
41196 }
41197 #[inline]
41210 pub fn vminsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41211 where Assembler<'a>: VminshMaskzEmitter<A, B, C> {
41212 <Self as VminshMaskzEmitter<A, B, C>>::vminsh_maskz(self, op0, op1, op2);
41213 }
41214 #[inline]
41226 pub fn vminsh_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41227 where Assembler<'a>: VminshMaskzSaeEmitter<A, B, C> {
41228 <Self as VminshMaskzSaeEmitter<A, B, C>>::vminsh_maskz_sae(self, op0, op1, op2);
41229 }
41230 #[inline]
41242 pub fn vminsh_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41243 where Assembler<'a>: VminshSaeEmitter<A, B, C> {
41244 <Self as VminshSaeEmitter<A, B, C>>::vminsh_sae(self, op0, op1, op2);
41245 }
41246 #[inline]
41259 pub fn vmovsh_2<A, B>(&mut self, op0: A, op1: B)
41260 where Assembler<'a>: VmovshEmitter_2<A, B> {
41261 <Self as VmovshEmitter_2<A, B>>::vmovsh_2(self, op0, op1);
41262 }
41263 #[inline]
41275 pub fn vmovsh_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41276 where Assembler<'a>: VmovshEmitter_3<A, B, C> {
41277 <Self as VmovshEmitter_3<A, B, C>>::vmovsh_3(self, op0, op1, op2);
41278 }
41279 #[inline]
41292 pub fn vmovsh_mask_2<A, B>(&mut self, op0: A, op1: B)
41293 where Assembler<'a>: VmovshMaskEmitter_2<A, B> {
41294 <Self as VmovshMaskEmitter_2<A, B>>::vmovsh_mask_2(self, op0, op1);
41295 }
41296 #[inline]
41308 pub fn vmovsh_mask_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41309 where Assembler<'a>: VmovshMaskEmitter_3<A, B, C> {
41310 <Self as VmovshMaskEmitter_3<A, B, C>>::vmovsh_mask_3(self, op0, op1, op2);
41311 }
41312 #[inline]
41324 pub fn vmovsh_maskz_2<A, B>(&mut self, op0: A, op1: B)
41325 where Assembler<'a>: VmovshMaskzEmitter_2<A, B> {
41326 <Self as VmovshMaskzEmitter_2<A, B>>::vmovsh_maskz_2(self, op0, op1);
41327 }
41328 #[inline]
41340 pub fn vmovsh_maskz_3<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41341 where Assembler<'a>: VmovshMaskzEmitter_3<A, B, C> {
41342 <Self as VmovshMaskzEmitter_3<A, B, C>>::vmovsh_maskz_3(self, op0, op1, op2);
41343 }
41344 #[inline]
41357 pub fn vmovw_g2x<A, B>(&mut self, op0: A, op1: B)
41358 where Assembler<'a>: VmovwG2xEmitter<A, B> {
41359 <Self as VmovwG2xEmitter<A, B>>::vmovw_g2x(self, op0, op1);
41360 }
41361 #[inline]
41374 pub fn vmovw_x2g<A, B>(&mut self, op0: A, op1: B)
41375 where Assembler<'a>: VmovwX2gEmitter<A, B> {
41376 <Self as VmovwX2gEmitter<A, B>>::vmovw_x2g(self, op0, op1);
41377 }
41378 #[inline]
41395 pub fn vmulph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41396 where Assembler<'a>: VmulphEmitter<A, B, C> {
41397 <Self as VmulphEmitter<A, B, C>>::vmulph(self, op0, op1, op2);
41398 }
41399 #[inline]
41411 pub fn vmulph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41412 where Assembler<'a>: VmulphErEmitter<A, B, C> {
41413 <Self as VmulphErEmitter<A, B, C>>::vmulph_er(self, op0, op1, op2);
41414 }
41415 #[inline]
41432 pub fn vmulph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41433 where Assembler<'a>: VmulphMaskEmitter<A, B, C> {
41434 <Self as VmulphMaskEmitter<A, B, C>>::vmulph_mask(self, op0, op1, op2);
41435 }
41436 #[inline]
41448 pub fn vmulph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41449 where Assembler<'a>: VmulphMaskErEmitter<A, B, C> {
41450 <Self as VmulphMaskErEmitter<A, B, C>>::vmulph_mask_er(self, op0, op1, op2);
41451 }
41452 #[inline]
41469 pub fn vmulph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41470 where Assembler<'a>: VmulphMaskzEmitter<A, B, C> {
41471 <Self as VmulphMaskzEmitter<A, B, C>>::vmulph_maskz(self, op0, op1, op2);
41472 }
41473 #[inline]
41485 pub fn vmulph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41486 where Assembler<'a>: VmulphMaskzErEmitter<A, B, C> {
41487 <Self as VmulphMaskzErEmitter<A, B, C>>::vmulph_maskz_er(self, op0, op1, op2);
41488 }
41489 #[inline]
41502 pub fn vmulsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41503 where Assembler<'a>: VmulshEmitter<A, B, C> {
41504 <Self as VmulshEmitter<A, B, C>>::vmulsh(self, op0, op1, op2);
41505 }
41506 #[inline]
41518 pub fn vmulsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41519 where Assembler<'a>: VmulshErEmitter<A, B, C> {
41520 <Self as VmulshErEmitter<A, B, C>>::vmulsh_er(self, op0, op1, op2);
41521 }
41522 #[inline]
41535 pub fn vmulsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41536 where Assembler<'a>: VmulshMaskEmitter<A, B, C> {
41537 <Self as VmulshMaskEmitter<A, B, C>>::vmulsh_mask(self, op0, op1, op2);
41538 }
41539 #[inline]
41551 pub fn vmulsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41552 where Assembler<'a>: VmulshMaskErEmitter<A, B, C> {
41553 <Self as VmulshMaskErEmitter<A, B, C>>::vmulsh_mask_er(self, op0, op1, op2);
41554 }
41555 #[inline]
41568 pub fn vmulsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41569 where Assembler<'a>: VmulshMaskzEmitter<A, B, C> {
41570 <Self as VmulshMaskzEmitter<A, B, C>>::vmulsh_maskz(self, op0, op1, op2);
41571 }
41572 #[inline]
41584 pub fn vmulsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41585 where Assembler<'a>: VmulshMaskzErEmitter<A, B, C> {
41586 <Self as VmulshMaskzErEmitter<A, B, C>>::vmulsh_maskz_er(self, op0, op1, op2);
41587 }
41588 #[inline]
41609 pub fn vpclmulqdq<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
41610 where Assembler<'a>: VpclmulqdqEmitter<A, B, C, D> {
41611 <Self as VpclmulqdqEmitter<A, B, C, D>>::vpclmulqdq(self, op0, op1, op2, op3);
41612 }
41613 #[inline]
41628 pub fn vpdpbssd<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41629 where Assembler<'a>: VpdpbssdEmitter<A, B, C> {
41630 <Self as VpdpbssdEmitter<A, B, C>>::vpdpbssd(self, op0, op1, op2);
41631 }
41632 #[inline]
41647 pub fn vpdpbssds<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41648 where Assembler<'a>: VpdpbssdsEmitter<A, B, C> {
41649 <Self as VpdpbssdsEmitter<A, B, C>>::vpdpbssds(self, op0, op1, op2);
41650 }
41651 #[inline]
41666 pub fn vpdpbsud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41667 where Assembler<'a>: VpdpbsudEmitter<A, B, C> {
41668 <Self as VpdpbsudEmitter<A, B, C>>::vpdpbsud(self, op0, op1, op2);
41669 }
41670 #[inline]
41685 pub fn vpdpbsuds<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41686 where Assembler<'a>: VpdpbsudsEmitter<A, B, C> {
41687 <Self as VpdpbsudsEmitter<A, B, C>>::vpdpbsuds(self, op0, op1, op2);
41688 }
41689 #[inline]
41704 pub fn vpdpbuud<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41705 where Assembler<'a>: VpdpbuudEmitter<A, B, C> {
41706 <Self as VpdpbuudEmitter<A, B, C>>::vpdpbuud(self, op0, op1, op2);
41707 }
41708 #[inline]
41723 pub fn vpdpbuuds<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41724 where Assembler<'a>: VpdpbuudsEmitter<A, B, C> {
41725 <Self as VpdpbuudsEmitter<A, B, C>>::vpdpbuuds(self, op0, op1, op2);
41726 }
41727 #[inline]
41744 pub fn vrcpph<A, B>(&mut self, op0: A, op1: B)
41745 where Assembler<'a>: VrcpphEmitter<A, B> {
41746 <Self as VrcpphEmitter<A, B>>::vrcpph(self, op0, op1);
41747 }
41748 #[inline]
41765 pub fn vrcpph_mask<A, B>(&mut self, op0: A, op1: B)
41766 where Assembler<'a>: VrcpphMaskEmitter<A, B> {
41767 <Self as VrcpphMaskEmitter<A, B>>::vrcpph_mask(self, op0, op1);
41768 }
41769 #[inline]
41786 pub fn vrcpph_maskz<A, B>(&mut self, op0: A, op1: B)
41787 where Assembler<'a>: VrcpphMaskzEmitter<A, B> {
41788 <Self as VrcpphMaskzEmitter<A, B>>::vrcpph_maskz(self, op0, op1);
41789 }
41790 #[inline]
41803 pub fn vrcpsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41804 where Assembler<'a>: VrcpshEmitter<A, B, C> {
41805 <Self as VrcpshEmitter<A, B, C>>::vrcpsh(self, op0, op1, op2);
41806 }
41807 #[inline]
41820 pub fn vrcpsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41821 where Assembler<'a>: VrcpshMaskEmitter<A, B, C> {
41822 <Self as VrcpshMaskEmitter<A, B, C>>::vrcpsh_mask(self, op0, op1, op2);
41823 }
41824 #[inline]
41837 pub fn vrcpsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41838 where Assembler<'a>: VrcpshMaskzEmitter<A, B, C> {
41839 <Self as VrcpshMaskzEmitter<A, B, C>>::vrcpsh_maskz(self, op0, op1, op2);
41840 }
41841 #[inline]
41858 pub fn vreduceph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41859 where Assembler<'a>: VreducephEmitter<A, B, C> {
41860 <Self as VreducephEmitter<A, B, C>>::vreduceph(self, op0, op1, op2);
41861 }
41862 #[inline]
41879 pub fn vreduceph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41880 where Assembler<'a>: VreducephMaskEmitter<A, B, C> {
41881 <Self as VreducephMaskEmitter<A, B, C>>::vreduceph_mask(self, op0, op1, op2);
41882 }
41883 #[inline]
41895 pub fn vreduceph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41896 where Assembler<'a>: VreducephMaskSaeEmitter<A, B, C> {
41897 <Self as VreducephMaskSaeEmitter<A, B, C>>::vreduceph_mask_sae(self, op0, op1, op2);
41898 }
41899 #[inline]
41916 pub fn vreduceph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41917 where Assembler<'a>: VreducephMaskzEmitter<A, B, C> {
41918 <Self as VreducephMaskzEmitter<A, B, C>>::vreduceph_maskz(self, op0, op1, op2);
41919 }
41920 #[inline]
41932 pub fn vreduceph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41933 where Assembler<'a>: VreducephMaskzSaeEmitter<A, B, C> {
41934 <Self as VreducephMaskzSaeEmitter<A, B, C>>::vreduceph_maskz_sae(self, op0, op1, op2);
41935 }
41936 #[inline]
41948 pub fn vreduceph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
41949 where Assembler<'a>: VreducephSaeEmitter<A, B, C> {
41950 <Self as VreducephSaeEmitter<A, B, C>>::vreduceph_sae(self, op0, op1, op2);
41951 }
41952 #[inline]
41965 pub fn vreducesh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
41966 where Assembler<'a>: VreduceshEmitter<A, B, C, D> {
41967 <Self as VreduceshEmitter<A, B, C, D>>::vreducesh(self, op0, op1, op2, op3);
41968 }
41969 #[inline]
41982 pub fn vreducesh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
41983 where Assembler<'a>: VreduceshMaskEmitter<A, B, C, D> {
41984 <Self as VreduceshMaskEmitter<A, B, C, D>>::vreducesh_mask(self, op0, op1, op2, op3);
41985 }
41986 #[inline]
41998 pub fn vreducesh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
41999 where Assembler<'a>: VreduceshMaskSaeEmitter<A, B, C, D> {
42000 <Self as VreduceshMaskSaeEmitter<A, B, C, D>>::vreducesh_mask_sae(self, op0, op1, op2, op3);
42001 }
42002 #[inline]
42015 pub fn vreducesh_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42016 where Assembler<'a>: VreduceshMaskzEmitter<A, B, C, D> {
42017 <Self as VreduceshMaskzEmitter<A, B, C, D>>::vreducesh_maskz(self, op0, op1, op2, op3);
42018 }
42019 #[inline]
42031 pub fn vreducesh_maskz_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42032 where Assembler<'a>: VreduceshMaskzSaeEmitter<A, B, C, D> {
42033 <Self as VreduceshMaskzSaeEmitter<A, B, C, D>>::vreducesh_maskz_sae(self, op0, op1, op2, op3);
42034 }
42035 #[inline]
42047 pub fn vreducesh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42048 where Assembler<'a>: VreduceshSaeEmitter<A, B, C, D> {
42049 <Self as VreduceshSaeEmitter<A, B, C, D>>::vreducesh_sae(self, op0, op1, op2, op3);
42050 }
42051 #[inline]
42068 pub fn vrndscaleph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42069 where Assembler<'a>: VrndscalephEmitter<A, B, C> {
42070 <Self as VrndscalephEmitter<A, B, C>>::vrndscaleph(self, op0, op1, op2);
42071 }
42072 #[inline]
42089 pub fn vrndscaleph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42090 where Assembler<'a>: VrndscalephMaskEmitter<A, B, C> {
42091 <Self as VrndscalephMaskEmitter<A, B, C>>::vrndscaleph_mask(self, op0, op1, op2);
42092 }
42093 #[inline]
42105 pub fn vrndscaleph_mask_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42106 where Assembler<'a>: VrndscalephMaskSaeEmitter<A, B, C> {
42107 <Self as VrndscalephMaskSaeEmitter<A, B, C>>::vrndscaleph_mask_sae(self, op0, op1, op2);
42108 }
42109 #[inline]
42126 pub fn vrndscaleph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42127 where Assembler<'a>: VrndscalephMaskzEmitter<A, B, C> {
42128 <Self as VrndscalephMaskzEmitter<A, B, C>>::vrndscaleph_maskz(self, op0, op1, op2);
42129 }
42130 #[inline]
42142 pub fn vrndscaleph_maskz_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42143 where Assembler<'a>: VrndscalephMaskzSaeEmitter<A, B, C> {
42144 <Self as VrndscalephMaskzSaeEmitter<A, B, C>>::vrndscaleph_maskz_sae(self, op0, op1, op2);
42145 }
42146 #[inline]
42158 pub fn vrndscaleph_sae<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42159 where Assembler<'a>: VrndscalephSaeEmitter<A, B, C> {
42160 <Self as VrndscalephSaeEmitter<A, B, C>>::vrndscaleph_sae(self, op0, op1, op2);
42161 }
42162 #[inline]
42175 pub fn vrndscalesh<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42176 where Assembler<'a>: VrndscaleshEmitter<A, B, C, D> {
42177 <Self as VrndscaleshEmitter<A, B, C, D>>::vrndscalesh(self, op0, op1, op2, op3);
42178 }
42179 #[inline]
42192 pub fn vrndscalesh_mask<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42193 where Assembler<'a>: VrndscaleshMaskEmitter<A, B, C, D> {
42194 <Self as VrndscaleshMaskEmitter<A, B, C, D>>::vrndscalesh_mask(self, op0, op1, op2, op3);
42195 }
42196 #[inline]
42208 pub fn vrndscalesh_mask_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42209 where Assembler<'a>: VrndscaleshMaskSaeEmitter<A, B, C, D> {
42210 <Self as VrndscaleshMaskSaeEmitter<A, B, C, D>>::vrndscalesh_mask_sae(self, op0, op1, op2, op3);
42211 }
42212 #[inline]
42225 pub fn vrndscalesh_maskz<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42226 where Assembler<'a>: VrndscaleshMaskzEmitter<A, B, C, D> {
42227 <Self as VrndscaleshMaskzEmitter<A, B, C, D>>::vrndscalesh_maskz(self, op0, op1, op2, op3);
42228 }
42229 #[inline]
42241 pub fn vrndscalesh_maskz_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42242 where Assembler<'a>: VrndscaleshMaskzSaeEmitter<A, B, C, D> {
42243 <Self as VrndscaleshMaskzSaeEmitter<A, B, C, D>>::vrndscalesh_maskz_sae(self, op0, op1, op2, op3);
42244 }
42245 #[inline]
42257 pub fn vrndscalesh_sae<A, B, C, D>(&mut self, op0: A, op1: B, op2: C, op3: D)
42258 where Assembler<'a>: VrndscaleshSaeEmitter<A, B, C, D> {
42259 <Self as VrndscaleshSaeEmitter<A, B, C, D>>::vrndscalesh_sae(self, op0, op1, op2, op3);
42260 }
42261 #[inline]
42278 pub fn vrsqrtph<A, B>(&mut self, op0: A, op1: B)
42279 where Assembler<'a>: VrsqrtphEmitter<A, B> {
42280 <Self as VrsqrtphEmitter<A, B>>::vrsqrtph(self, op0, op1);
42281 }
42282 #[inline]
42299 pub fn vrsqrtph_mask<A, B>(&mut self, op0: A, op1: B)
42300 where Assembler<'a>: VrsqrtphMaskEmitter<A, B> {
42301 <Self as VrsqrtphMaskEmitter<A, B>>::vrsqrtph_mask(self, op0, op1);
42302 }
42303 #[inline]
42320 pub fn vrsqrtph_maskz<A, B>(&mut self, op0: A, op1: B)
42321 where Assembler<'a>: VrsqrtphMaskzEmitter<A, B> {
42322 <Self as VrsqrtphMaskzEmitter<A, B>>::vrsqrtph_maskz(self, op0, op1);
42323 }
42324 #[inline]
42337 pub fn vrsqrtsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42338 where Assembler<'a>: VrsqrtshEmitter<A, B, C> {
42339 <Self as VrsqrtshEmitter<A, B, C>>::vrsqrtsh(self, op0, op1, op2);
42340 }
42341 #[inline]
42354 pub fn vrsqrtsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42355 where Assembler<'a>: VrsqrtshMaskEmitter<A, B, C> {
42356 <Self as VrsqrtshMaskEmitter<A, B, C>>::vrsqrtsh_mask(self, op0, op1, op2);
42357 }
42358 #[inline]
42371 pub fn vrsqrtsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42372 where Assembler<'a>: VrsqrtshMaskzEmitter<A, B, C> {
42373 <Self as VrsqrtshMaskzEmitter<A, B, C>>::vrsqrtsh_maskz(self, op0, op1, op2);
42374 }
42375 #[inline]
42392 pub fn vscalefph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42393 where Assembler<'a>: VscalefphEmitter<A, B, C> {
42394 <Self as VscalefphEmitter<A, B, C>>::vscalefph(self, op0, op1, op2);
42395 }
42396 #[inline]
42408 pub fn vscalefph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42409 where Assembler<'a>: VscalefphErEmitter<A, B, C> {
42410 <Self as VscalefphErEmitter<A, B, C>>::vscalefph_er(self, op0, op1, op2);
42411 }
42412 #[inline]
42429 pub fn vscalefph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42430 where Assembler<'a>: VscalefphMaskEmitter<A, B, C> {
42431 <Self as VscalefphMaskEmitter<A, B, C>>::vscalefph_mask(self, op0, op1, op2);
42432 }
42433 #[inline]
42445 pub fn vscalefph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42446 where Assembler<'a>: VscalefphMaskErEmitter<A, B, C> {
42447 <Self as VscalefphMaskErEmitter<A, B, C>>::vscalefph_mask_er(self, op0, op1, op2);
42448 }
42449 #[inline]
42466 pub fn vscalefph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42467 where Assembler<'a>: VscalefphMaskzEmitter<A, B, C> {
42468 <Self as VscalefphMaskzEmitter<A, B, C>>::vscalefph_maskz(self, op0, op1, op2);
42469 }
42470 #[inline]
42482 pub fn vscalefph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42483 where Assembler<'a>: VscalefphMaskzErEmitter<A, B, C> {
42484 <Self as VscalefphMaskzErEmitter<A, B, C>>::vscalefph_maskz_er(self, op0, op1, op2);
42485 }
42486 #[inline]
42499 pub fn vscalefsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42500 where Assembler<'a>: VscalefshEmitter<A, B, C> {
42501 <Self as VscalefshEmitter<A, B, C>>::vscalefsh(self, op0, op1, op2);
42502 }
42503 #[inline]
42515 pub fn vscalefsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42516 where Assembler<'a>: VscalefshErEmitter<A, B, C> {
42517 <Self as VscalefshErEmitter<A, B, C>>::vscalefsh_er(self, op0, op1, op2);
42518 }
42519 #[inline]
42532 pub fn vscalefsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42533 where Assembler<'a>: VscalefshMaskEmitter<A, B, C> {
42534 <Self as VscalefshMaskEmitter<A, B, C>>::vscalefsh_mask(self, op0, op1, op2);
42535 }
42536 #[inline]
42548 pub fn vscalefsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42549 where Assembler<'a>: VscalefshMaskErEmitter<A, B, C> {
42550 <Self as VscalefshMaskErEmitter<A, B, C>>::vscalefsh_mask_er(self, op0, op1, op2);
42551 }
42552 #[inline]
42565 pub fn vscalefsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42566 where Assembler<'a>: VscalefshMaskzEmitter<A, B, C> {
42567 <Self as VscalefshMaskzEmitter<A, B, C>>::vscalefsh_maskz(self, op0, op1, op2);
42568 }
42569 #[inline]
42581 pub fn vscalefsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42582 where Assembler<'a>: VscalefshMaskzErEmitter<A, B, C> {
42583 <Self as VscalefshMaskzErEmitter<A, B, C>>::vscalefsh_maskz_er(self, op0, op1, op2);
42584 }
42585 #[inline]
42602 pub fn vsm4key4<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42603 where Assembler<'a>: Vsm4key4Emitter<A, B, C> {
42604 <Self as Vsm4key4Emitter<A, B, C>>::vsm4key4(self, op0, op1, op2);
42605 }
42606 #[inline]
42623 pub fn vsm4rnds4<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42624 where Assembler<'a>: Vsm4rnds4Emitter<A, B, C> {
42625 <Self as Vsm4rnds4Emitter<A, B, C>>::vsm4rnds4(self, op0, op1, op2);
42626 }
42627 #[inline]
42644 pub fn vsqrtph<A, B>(&mut self, op0: A, op1: B)
42645 where Assembler<'a>: VsqrtphEmitter<A, B> {
42646 <Self as VsqrtphEmitter<A, B>>::vsqrtph(self, op0, op1);
42647 }
42648 #[inline]
42660 pub fn vsqrtph_er<A, B>(&mut self, op0: A, op1: B)
42661 where Assembler<'a>: VsqrtphErEmitter<A, B> {
42662 <Self as VsqrtphErEmitter<A, B>>::vsqrtph_er(self, op0, op1);
42663 }
42664 #[inline]
42681 pub fn vsqrtph_mask<A, B>(&mut self, op0: A, op1: B)
42682 where Assembler<'a>: VsqrtphMaskEmitter<A, B> {
42683 <Self as VsqrtphMaskEmitter<A, B>>::vsqrtph_mask(self, op0, op1);
42684 }
42685 #[inline]
42697 pub fn vsqrtph_mask_er<A, B>(&mut self, op0: A, op1: B)
42698 where Assembler<'a>: VsqrtphMaskErEmitter<A, B> {
42699 <Self as VsqrtphMaskErEmitter<A, B>>::vsqrtph_mask_er(self, op0, op1);
42700 }
42701 #[inline]
42718 pub fn vsqrtph_maskz<A, B>(&mut self, op0: A, op1: B)
42719 where Assembler<'a>: VsqrtphMaskzEmitter<A, B> {
42720 <Self as VsqrtphMaskzEmitter<A, B>>::vsqrtph_maskz(self, op0, op1);
42721 }
42722 #[inline]
42734 pub fn vsqrtph_maskz_er<A, B>(&mut self, op0: A, op1: B)
42735 where Assembler<'a>: VsqrtphMaskzErEmitter<A, B> {
42736 <Self as VsqrtphMaskzErEmitter<A, B>>::vsqrtph_maskz_er(self, op0, op1);
42737 }
42738 #[inline]
42751 pub fn vsqrtsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42752 where Assembler<'a>: VsqrtshEmitter<A, B, C> {
42753 <Self as VsqrtshEmitter<A, B, C>>::vsqrtsh(self, op0, op1, op2);
42754 }
42755 #[inline]
42767 pub fn vsqrtsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42768 where Assembler<'a>: VsqrtshErEmitter<A, B, C> {
42769 <Self as VsqrtshErEmitter<A, B, C>>::vsqrtsh_er(self, op0, op1, op2);
42770 }
42771 #[inline]
42784 pub fn vsqrtsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42785 where Assembler<'a>: VsqrtshMaskEmitter<A, B, C> {
42786 <Self as VsqrtshMaskEmitter<A, B, C>>::vsqrtsh_mask(self, op0, op1, op2);
42787 }
42788 #[inline]
42800 pub fn vsqrtsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42801 where Assembler<'a>: VsqrtshMaskErEmitter<A, B, C> {
42802 <Self as VsqrtshMaskErEmitter<A, B, C>>::vsqrtsh_mask_er(self, op0, op1, op2);
42803 }
42804 #[inline]
42817 pub fn vsqrtsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42818 where Assembler<'a>: VsqrtshMaskzEmitter<A, B, C> {
42819 <Self as VsqrtshMaskzEmitter<A, B, C>>::vsqrtsh_maskz(self, op0, op1, op2);
42820 }
42821 #[inline]
42833 pub fn vsqrtsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42834 where Assembler<'a>: VsqrtshMaskzErEmitter<A, B, C> {
42835 <Self as VsqrtshMaskzErEmitter<A, B, C>>::vsqrtsh_maskz_er(self, op0, op1, op2);
42836 }
42837 #[inline]
42854 pub fn vsubph<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42855 where Assembler<'a>: VsubphEmitter<A, B, C> {
42856 <Self as VsubphEmitter<A, B, C>>::vsubph(self, op0, op1, op2);
42857 }
42858 #[inline]
42870 pub fn vsubph_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42871 where Assembler<'a>: VsubphErEmitter<A, B, C> {
42872 <Self as VsubphErEmitter<A, B, C>>::vsubph_er(self, op0, op1, op2);
42873 }
42874 #[inline]
42891 pub fn vsubph_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42892 where Assembler<'a>: VsubphMaskEmitter<A, B, C> {
42893 <Self as VsubphMaskEmitter<A, B, C>>::vsubph_mask(self, op0, op1, op2);
42894 }
42895 #[inline]
42907 pub fn vsubph_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42908 where Assembler<'a>: VsubphMaskErEmitter<A, B, C> {
42909 <Self as VsubphMaskErEmitter<A, B, C>>::vsubph_mask_er(self, op0, op1, op2);
42910 }
42911 #[inline]
42928 pub fn vsubph_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42929 where Assembler<'a>: VsubphMaskzEmitter<A, B, C> {
42930 <Self as VsubphMaskzEmitter<A, B, C>>::vsubph_maskz(self, op0, op1, op2);
42931 }
42932 #[inline]
42944 pub fn vsubph_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42945 where Assembler<'a>: VsubphMaskzErEmitter<A, B, C> {
42946 <Self as VsubphMaskzErEmitter<A, B, C>>::vsubph_maskz_er(self, op0, op1, op2);
42947 }
42948 #[inline]
42961 pub fn vsubsh<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42962 where Assembler<'a>: VsubshEmitter<A, B, C> {
42963 <Self as VsubshEmitter<A, B, C>>::vsubsh(self, op0, op1, op2);
42964 }
42965 #[inline]
42977 pub fn vsubsh_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42978 where Assembler<'a>: VsubshErEmitter<A, B, C> {
42979 <Self as VsubshErEmitter<A, B, C>>::vsubsh_er(self, op0, op1, op2);
42980 }
42981 #[inline]
42994 pub fn vsubsh_mask<A, B, C>(&mut self, op0: A, op1: B, op2: C)
42995 where Assembler<'a>: VsubshMaskEmitter<A, B, C> {
42996 <Self as VsubshMaskEmitter<A, B, C>>::vsubsh_mask(self, op0, op1, op2);
42997 }
42998 #[inline]
43010 pub fn vsubsh_mask_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
43011 where Assembler<'a>: VsubshMaskErEmitter<A, B, C> {
43012 <Self as VsubshMaskErEmitter<A, B, C>>::vsubsh_mask_er(self, op0, op1, op2);
43013 }
43014 #[inline]
43027 pub fn vsubsh_maskz<A, B, C>(&mut self, op0: A, op1: B, op2: C)
43028 where Assembler<'a>: VsubshMaskzEmitter<A, B, C> {
43029 <Self as VsubshMaskzEmitter<A, B, C>>::vsubsh_maskz(self, op0, op1, op2);
43030 }
43031 #[inline]
43043 pub fn vsubsh_maskz_er<A, B, C>(&mut self, op0: A, op1: B, op2: C)
43044 where Assembler<'a>: VsubshMaskzErEmitter<A, B, C> {
43045 <Self as VsubshMaskzErEmitter<A, B, C>>::vsubsh_maskz_er(self, op0, op1, op2);
43046 }
43047 #[inline]
43060 pub fn vucomish<A, B>(&mut self, op0: A, op1: B)
43061 where Assembler<'a>: VucomishEmitter<A, B> {
43062 <Self as VucomishEmitter<A, B>>::vucomish(self, op0, op1);
43063 }
43064 #[inline]
43076 pub fn vucomish_sae<A, B>(&mut self, op0: A, op1: B)
43077 where Assembler<'a>: VucomishSaeEmitter<A, B> {
43078 <Self as VucomishSaeEmitter<A, B>>::vucomish_sae(self, op0, op1);
43079 }
43080 #[inline]
43103 pub fn xchg<A, B>(&mut self, op0: A, op1: B)
43104 where Assembler<'a>: XchgEmitter<A, B> {
43105 <Self as XchgEmitter<A, B>>::xchg(self, op0, op1);
43106 }
43107 #[inline]
43123 pub fn xlatb(&mut self)
43124 where Assembler<'a>: XlatbEmitter {
43125 <Self as XlatbEmitter>::xlatb(self);
43126 }
43127 #[inline]
43159 pub fn xor<A, B>(&mut self, op0: A, op1: B)
43160 where Assembler<'a>: XorEmitter<A, B> {
43161 <Self as XorEmitter<A, B>>::xor(self, op0, op1);
43162 }
43163}