1global cpu_asm
2global vmx
3global smx
4global padlock
5global simd1
6global simd2
7global sse_width
8global sse3
9global ssse3
10global sse4
11global aes
12global avx
13global fma
14global undocumented_nop
15
16[bits 32]
17cpu_asm:
18enter 10, 12
19pause
20jp near label
21js near label
22salc
23sahf
24pusha
25push 128
26push byte 127
27push word 128
28push dword 128
29pushad
30popaw
31popad
32
33mov ax,[eax+ebx+ecx-eax]
34mov ax,[eax+ecx+ebx-eax]
35lea edi,[edi*8+eax+label]
36lea edi,[eax+edi*8+label]
37mov eax,[eax*2]
38mov eax,[nosplit eax*2]
39mov eax,[esi+ebp]
40mov eax,[ebp+esi]
41mov eax,[esi*1+ebp]
42mov eax,[ebp*1+esi]
43mov eax,[byte eax]
44mov eax,[dword eax]
45xor eax, [ebp+4*ecx   ]
46xor ebx, [ebp+4*ecx+ 4]
47xor esi, [ebp+4*ecx+ 8]
48xor edi, [ebp+4*ecx+12]
49
50mov al, 0
51mov byte cl, 0
52mov bl, byte 0
53mov byte dh, byte 0
54
55mov byte [0], 1
56mov [1], word 2
57mov dword [2], dword 3
58
59mov eax, 1
60mov dword eax, 2
61mov eax, dword 4
62
63mov dword eax, dword 8
64mov bx, 1h
65mov cr0, eax
66mov cr2, ebx
67mov cr4, edx
68db 0x0F, 0x24, 0x00 ; mov eax, tr0
69mov dr1, edx
70mov eax, dr7
71mov [0], ds
72mov word [8], es
73mov ax, cs
74mov eax, ss
75mov gs, ax
76mov fs, eax
77mov es, [cs:0]
78mov ds, word [4]
79mov word ds, [ss:16]
80
81mov [0], al
82mov [0], bl
83mov [1], al
84mov [1], bl
85mov ecx, edx
86movsx ax, [ecx]
87
88movzx ebx, word [eax]
89movzx ecx, byte [ebx]
90fnstenv [es:ecx+5]
91nop
92
93push cs
94push word cs
95push dword cs ; NASM unsupported
96push ds
97push es
98push fs
99push gs
100pop ds
101pop es
102pop fs
103pop gs
104xchg al, bl
105xchg al, [0]
106xchg [0], al
107xchg ax, bx
108xchg cx, ax
109xchg [0], ax
110xchg [0], cx
111xchg cx, [0]
112xchg eax, edx
113xchg ebx, eax
114xchg ecx, ebx
115xchg [0], ecx
116xchg eax, [0]
117in al, 55
118in ax, 99
119in eax, 100
120in al, dx
121in ax, dx
122in eax, dx
123insb
124insw
125outsb
126outsw
127out 55, al
128out 66, ax
129out 77, eax
130out dx, al
131out dx, ax
132out dx, eax
133lea bx, [5]
134lea ebx, [32]
135lds si, [0]
136lds ax, [1]
137lds ax,[1]
138lds ax,word [1]
139lds ax,dword [1]
140lds eax,[1]
141lds eax,word [1]
142lds eax,dword [1]
143
144
145les di, [5]
146lds eax, [7]
147les ebx, [9]
148lss esp, [11]
149lfs ecx, [13]
150lgs edx, [15]
151
152;; TODO: add arith stuff
153add ax,bx
154mul cx
155mul bl
156mul bx
157mul ebx
158imul si,bp,2
159sub bx,di
160div ah
161idiv al
162idiv byte [bx]
163idiv word [bx+si]
164idiv dword [bp]
165neg cx
166nop
167idiv al
168idiv ax
169idiv eax
170nop
171idiv byte [word 0]
172idiv byte [dword 0xFFFFFFFF]
173idiv byte [0]
174idiv dword [es:dword 5]
175idiv dword [byte cs:5]
176idiv word [ss:dword edi+5]
177nop
178not eax
179and eax, 3584
180or  ebx, 35
181xor ecx, strict dword 3584
182or  edx, strict dword 35
183xor si,  strict word 3584
184and edi, strict byte 35
185or  ebp, 3584
186xor esp, 35
187and eax, strict dword 3584
188or  ebx, strict dword 35
189xor cx,  strict word 3584
190and edx, strict byte 35
191
192imul eax, 4
193aad
194aam
195aad 5
196aam 10
197shl al, 5
198shl bl, 1
199shl cl, cl
200shr ax, 5
201shr bx, 1
202shr cx, cl
203shld ax, bx, 5
204shrd cx, dx, cl
205shld ecx, edx, 10
206shld eax, ebx, cl
207retn
208retf
209retn 8
210retf 16
211setc al
212setc [0]
213;; TODO: add bit manip
214rol  ax,cl
215ror  bx,3
216rcl  cx,2
217rcr  dx,1
218sar  si,cl
219shl  ah,4
220shr  dh,cl
221bsf  ax,dx
222bsr  cx,bx
223bt   si,di
224btr  sp,bp
225bts  ax,dx
226bsf  dx,[bx+si]
227bsr  bx,[bx+si]
228bt   [bx+si],di
229btr  [bx+si],bp
230bts  [bx+si],dx
231bswap ecx
232lock cmpxchg [bx+si],dx
233lock cmpxchg8b qword [bx+si]
234xadd [bx+si],di
235cpuid
236rdpmc
237pushf
238int 10
239popfd
240iret
241bound sp,word [4]
242arpl [bx+si],ax
243clts
244lar  ax,[bx+si]
245lgdt [bx+si]
246lidt [bx+si]
247lldt [bx+si]
248lsl  ax,[bx+si]
249ltr  [bx+si]
250sgdt [bx+si]
251sidt [bx+si]
252sldt [bx+si]
253smsw [bx+si]
254str  [bx+si]
255verr [bx+si]
256verw [bx+si]
257invd
258invlpg [bx+si]
259wbinvd
260rsm
261rdmsr
262rdtsc
263wrmsr
264;; TODO: add bound
265;; TODO: add protection control
266fxsave [0]
267fsetpm
268fld dword [0]
269fld qword [4]
270fld tword [16]
271fld st2
272fstp dword [0]
273fstp st4
274fild word [0]
275fild dword [4]
276fild qword [8]
277fbld [100]
278fbld tword [10]
279fst dword [1]
280fst qword [8]
281fst st1
282fxch
283fxch st1
284fxch st0, st2
285fxch st2, st0
286fcom dword [0]
287fcom qword [8]
288fcom st1
289fucom st2
290fucomp st3
291fucompp
292fcos
293fprem1
294fsin
295fsincos
296fcom st0, st0
297fucom st7
298fucomp st0, st5
299fadd dword [10]
300fadd qword [5]
301fadd st0
302fadd st0, st5
303fadd to st7
304fadd st6, st0
305faddp ;NASM unsupported
306faddp st2
307faddp st5, st0
308fiadd word [10]
309fucomi st2
310fcmove st0, st6
311fcmovu st0, st5
312fisub dword [4]
313fldcw [0]
314fnstcw [4]
315fstcw word [4]
316fnstsw [8]
317fnstsw ax
318fstsw word [0]
319fstsw ax
320ffree st1
321ffreep st0 ;NASM unsupported
322        fsub st1
323        fsubp st1
324        fsubr st1
325        fsubrp st1
326        fdiv st1
327        fdivp st1
328        fdivr st1
329        fdivrp st1
330fxrstor [0]
331jc short label
332jc label
333label:
334jz label
335jz near label
336loop label
337jcxz label
338jecxz label
339call label
340call [label]
341call dword [label]
342;jmp label
343jmp short label
344jmp near label
345jmp far [label]
346jmp far dword 0x1234:0x56789ABC
347call far word [label]
348loop short label
349jcxz short label
350jecxz short label
351repne lodsw
352repnz lodsd
353rep stosb
354repe cmpsb
355repz movsb
356es stosb
357ss stosw
358fs stosd
359gs movsb
360cs movsw
361
362push si
363push esi
364
365pop edi
366leave
367ret
368
369foo equ 1:2
370jmp far[foo]
371mov ax,[foo]
372push dword [foo]
373mov ax,foo
374
375mov ax, 'abcd'
376mov ax, 0x1ffff
377mov eax, 0x111111111
378syscall
379sysret
380jmp 0x1234:0x56789ABC
381call dword 0x1234:0x56789ABC
382call far [ss:0]
383
384rep gs movsd
385fs rep movsd
386leave
387retn
388
389
390vmx:
391db 0x66, 0x0F, 0x38, 0x80, 0x3E ;invept edi, qword [esi]
392db 0x66, 0x0F, 0x38, 0x81, 0xA  ;invvpid ecx, qword [edx]
393vmcall
394vmclear [12]
395vmlaunch
396vmresume
397vmptrld [8]
398vmptrst [eax]
399vmread [ebx], ecx
400vmwrite ebp, [ebp]
401vmxoff
402vmxon [esi*4+edi+400]
403
404smx:
405enter 10,0
406mov eax, 0
407db 0x0F, 0x37 ; getsec
408leave
409retn
410
411padlock:
412xstorerng
413xstore
414xcryptecb
415xcryptcbc
416xcryptctr
417xcryptcfb
418xcryptofb
419montmul
420xsha1
421xsha256
422leave
423retn
424
425simd1:
426enter 10,0
427prefetcht0 [32]
428prefetcht1 [16]
429prefetcht2 [8]
430prefetchnta [0]
431
432fxsave [eax+ebx]
433
434movntps [0], xmm4
435movntps dqword [0], xmm5
436movntq [8], mm6
437movntq qword [8], mm7
438movss xmm0, [0]
439movss xmm1, dword [8]
440movss [0], xmm2
441movss dword [8], xmm3
442pcmpeqb xmm3, xmm4
443pcmpgtw mm0, mm2
444
445fxrstor [eax*2+edi]
446
447lfence
448mfence
449sfence
450leave
451retn
452
453simd2:
454enter 20,0
455pextrw ebx, mm5, 0
456pextrw ecx, xmm0, 1
457
458pinsrw mm3, esi, 5
459pinsrw mm3, [0], 4
460
461pinsrw xmm1, eax, 3
462pinsrw xmm1, [0], 2
463
464movmskpd edx, xmm7
465movmskps eax, xmm1
466
467pmovmskb edi, mm0
468pmovmskb esi, xmm1
469
470cvtdq2pd xmm5, xmm4
471cvtdq2pd xmm3, [4]
472cvtdq2pd xmm2, qword [8]
473
474cvtdq2ps xmm1, xmm2
475cvtdq2ps xmm4, [4]
476cvtdq2ps xmm5, dqword [8]
477
478cvtpd2dq xmm0, xmm1
479cvtpd2dq xmm2, [4]
480cvtpd2dq xmm3, dqword [8]
481
482cvtpd2pi mm4, xmm5
483cvtpd2pi mm6, [4]
484cvtpd2pi mm7, dqword [8]
485
486cvtpd2ps xmm1, xmm2
487cvtpd2ps xmm3, [4]
488cvtpd2ps xmm4, dqword [8]
489
490cvtpi2pd xmm5, mm6
491cvtpi2pd xmm7, [4]
492cvtpi2pd xmm0, qword [0]
493
494cvtpi2ps xmm2, mm3
495cvtpi2ps xmm4, [4]
496cvtpi2ps xmm5, qword [0]
497
498cvtps2dq xmm6, xmm7
499cvtps2dq xmm0, [4]
500cvtps2dq xmm1, dqword [8]
501
502cvtps2pd xmm2, xmm3
503cvtps2pd xmm4, [4]
504cvtps2pd xmm5, qword [0]
505
506cvtps2pi mm6, xmm7
507cvtps2pi mm0, [4]
508cvtps2pi mm1, qword [0]
509
510cvtsd2si edx, xmm0
511cvtsd2si eax, [4]
512cvtsd2si ebx, qword [0]
513
514cvtsd2ss xmm1, xmm2
515cvtsd2ss xmm3, [4]
516cvtsd2ss xmm4, qword [0]
517
518cvtsi2sd xmm5, eax
519cvtsi2sd xmm6, [4]
520cvtsi2sd xmm7, dword [0]
521
522cvtsi2ss xmm0, edx
523cvtsi2ss xmm1, [4]
524cvtsi2ss xmm2, dword [0]
525
526cvtss2sd xmm3, xmm4
527cvtss2sd xmm5, [4]
528cvtss2sd xmm6, dword [0]
529
530cvtss2si ebx, xmm7
531cvtss2si ecx, [4]
532cvtss2si eax, dword [0]
533
534cvttpd2pi mm0, xmm1
535cvttpd2pi mm2, [4]
536cvttpd2pi mm3, dqword [8]
537
538cvttpd2dq xmm4, xmm5
539cvttpd2dq xmm6, [4]
540cvttpd2dq xmm7, dqword [8]
541
542cvttps2dq xmm0, xmm1
543cvttps2dq xmm2, [4]
544cvttps2dq xmm3, dqword [8]
545
546cvttps2pi mm4, xmm5
547cvttps2pi mm6, [4]
548cvttps2pi mm7, qword [8]
549
550cvttsd2si ecx, xmm0
551cvttsd2si ebx, [4]
552cvttsd2si edi, qword [8]
553
554cvttss2si esi, xmm3
555cvttss2si ebp, [4]
556cvttss2si eax, dword [8]
557
558cmpss xmm0, [eax], 0
559cmpss xmm0, [es:eax], 0
560
561cmpsd xmm0, [eax], 0
562cmpsd xmm0, [es:eax], 0
563leave
564retn
565sse_width:
566enter 40,2
567cpu sse2
568
569xsave [4]
570xrstor [8]
571xgetbv
572xsetbv
573
574
575addpd xmm1, xmm2
576addpd xmm1, dqword [ebx]
577
578addps xmm1, xmm2
579addps xmm1, dqword [ebx]
580
581addsd xmm1, xmm2
582addsd xmm1, qword [ebx]
583
584addss xmm1, xmm2
585addss xmm1, dword [ebx]
586
587addsubpd xmm1, xmm2
588addsubpd xmm1, dqword [ebx]
589
590addsubps xmm1, xmm2
591addsubps xmm1, dqword [ebx]
592
593andnpd xmm1, xmm2
594andnpd xmm1, dqword [ebx]
595
596andnps xmm1, xmm2
597andnps xmm1, dqword [ebx]
598
599andpd xmm1, xmm2
600andpd xmm1, dqword [ebx]
601
602andps xmm1, xmm2
603andps xmm1, dqword [ebx]
604
605cmppd xmm1, xmm2, 0
606cmppd xmm1, dqword [ebx], 0
607cmpeqpd xmm1, xmm2
608cmpeqpd xmm1, dqword [ebx]
609
610cmpps xmm1, xmm2, 0
611cmpps xmm1, dqword [ebx], 0
612cmpeqps xmm1, xmm2
613cmpeqps xmm1, dqword [ebx]
614
615cmpsd xmm1, xmm2, 0
616cmpsd xmm1, qword [ebx], 0
617cmpeqsd xmm1, xmm2
618cmpeqsd xmm1, qword [ebx]
619
620cmpss xmm1, xmm2, 0
621cmpss xmm1, dword [ebx], 0
622cmpeqss xmm1, xmm2
623cmpeqss xmm1, dword [ebx]
624cmpeqss xmm1, dword [8]
625cmpnltss xmm1, xmm2
626cmpnless xmm1, dword [ebx]
627cmpltss xmm1, dword [ecx]
628cmpless xmm1, dword [edi]
629cmpneqss xmm1, dword [ebx]
630cmpunordss xmm1, dword [4]
631cmpordss xmm1, dword [0]
632
633vcmpeqss xmm1, dword [ebx]
634vcmpeqss xmm1, dword [0]
635vcmpltss xmm1, dword [0x1]
636vcmpless xmm1, dword [0x2]
637vcmpunordss xmm1, dword [0x3]
638vcmpneqss xmm1, dword [0x4]
639vcmpnltss xmm1, dword [0x5]
640vcmpnless xmm1, dword [0x6]
641vcmpordss xmm1, dword [0x7]
642vcmpeq_uqss xmm1, dword [0x8]
643vcmpngess xmm1, dword [0x9]
644vcmpngtss xmm1, dword [0xA]
645vcmpfalsess xmm1, dword [0xB]
646vcmpneq_oqss xmm1, dword [0xC]
647vcmpgess xmm1, dword [0xD]
648vcmpgtss xmm1, dword [0xE]
649vcmptruess xmm1, dword [0xF]
650vcmpeq_osss xmm1, dword [0x10]
651vcmplt_oqss xmm1, dword [0x11]
652vcmple_oqss xmm1, dword [0x12]
653vcmpunord_sss xmm1, dword [0x13]
654vcmpneq_usss xmm1, dword [0x14]
655vcmpnlt_uqss xmm1, dword [0x15]
656vcmpnle_uqss xmm1, dword [0x16]
657vcmpord_sss xmm1, dword [0x17]
658vcmpeq_usss xmm1, dword [0x18]
659
660
661comisd xmm1, xmm2
662comisd xmm1, qword [ebx]
663
664comiss xmm1, xmm2
665comiss xmm1, dword [ebx]
666
667cvtdq2pd xmm1, xmm2
668cvtdq2pd xmm1, qword [ebx]
669
670cvtdq2ps xmm1, xmm2
671cvtdq2ps xmm1, dqword [ebx]
672
673cvtpd2dq xmm1, xmm2
674cvtpd2dq xmm1, dqword [ebx]
675
676cvtpd2pi mm1, xmm2		; mmx
677cvtpd2pi mm1, dqword [ebx]
678
679cvtpd2ps xmm1, xmm2
680cvtpd2ps xmm1, dqword [ebx]
681
682cvtpi2pd xmm1, mm2		; mmx
683cvtpi2pd xmm1, qword [ebx]
684
685cvtpi2ps xmm1, mm2		; mmx
686cvtpi2ps xmm1, qword [ebx]
687
688cvtps2dq xmm1, xmm2
689cvtps2dq xmm1, dqword [ebx]
690
691cvtps2pd xmm1, xmm2
692cvtps2pd xmm1, qword [ebx]
693
694cvtps2pi mm1, xmm2
695cvtps2pi mm1, qword [ebx]
696
697cvtsd2si ebx, xmm2
698cvtsd2si ebx, qword [ebx]
699
700cvtsd2ss xmm1, xmm2
701cvtsd2ss xmm1, qword [ebx]
702
703cvtsi2sd xmm1, ebx
704cvtsi2sd xmm1, dword [ebx]
705cvtsi2sd xmm1, ebx
706cvtsi2sd xmm1, dword [ebx]
707
708cvtsi2ss xmm1, ebx
709cvtsi2ss xmm1, dword [ebx]
710cvtsi2ss xmm1, ebx
711cvtsi2ss xmm1, dword [ebx]
712
713cvtss2sd xmm1, xmm2
714cvtss2sd xmm1, dword [ebx]
715
716cvtss2si ebx, xmm2
717cvtss2si ebx, dword [ebx]
718cvtss2si ecx, xmm2
719cvtss2si ecx, dword [ebx]
720
721cvttpd2dq xmm1, xmm2
722cvttpd2dq xmm1, dqword [ebx]
723
724cvttpd2pi mm1, xmm2
725cvttpd2pi mm1, dqword [ebx]
726
727cvttps2dq xmm1, xmm2
728cvttps2dq xmm1, dqword [ebx]
729
730cvttps2pi mm1, xmm2
731cvttps2pi mm1, qword [ebx]
732
733cvttsd2si eax, xmm1
734cvttsd2si eax, qword [ebx]
735cvttsd2si eax, xmm1
736cvttsd2si eax, qword [ebx]
737
738cvttss2si eax, xmm1
739cvttss2si eax, dword [ebx]
740cvttss2si eax, xmm1
741cvttss2si eax, dword [ebx]
742
743divpd xmm1, xmm2
744divpd xmm1, dqword [ebx]
745
746divps xmm1, xmm2
747divps xmm1, dqword [ebx]
748
749divsd xmm1, xmm2
750divsd xmm1, qword [ebx]
751
752divss xmm1, xmm2
753divss xmm1, dword [ebx]
754
755extrq xmm1, 0, 1
756extrq xmm1, byte 0, byte 1
757extrq xmm1, xmm2
758
759haddpd xmm1, xmm2
760haddpd xmm1, dqword [ebx]
761
762haddps xmm1, xmm2
763haddps xmm1, dqword [ebx]
764
765hsubpd xmm1, xmm2
766hsubpd xmm1, dqword [ebx]
767
768hsubps xmm1, xmm2
769hsubps xmm1, dqword [ebx]
770
771insertq xmm1, xmm2, 0, 1
772insertq xmm1, xmm2, byte 0, byte 1
773insertq xmm1, xmm2
774
775lddqu xmm1, dqword [ebx]
776
777ldmxcsr dword [ebx]
778
779maskmovdqu xmm1, xmm2
780
781maxpd xmm1, xmm2
782maxpd xmm1, dqword [ebx]
783
784maxps xmm1, xmm2
785maxps xmm1, dqword [ebx]
786
787maxsd xmm1, xmm2
788maxsd xmm1, qword [ebx]
789
790maxss xmm1, xmm2
791maxss xmm1, dword [ebx]
792
793minpd xmm1, xmm2
794minpd xmm1, dqword [ebx]
795
796minps xmm1, xmm2
797minps xmm1, dqword [ebx]
798
799minsd xmm1, xmm2
800minsd xmm1, qword [ebx]
801
802minss xmm1, xmm2
803minss xmm1, dword [ebx]
804
805movapd xmm1, xmm2
806movapd xmm1, dqword [ebx]
807movapd dqword [ebx], xmm2
808
809movaps xmm1, xmm2
810movaps xmm1, dqword [ebx]
811movaps dqword [ebx], xmm2
812
813movd xmm1, ebx
814movd xmm1, dword [ebx]
815movd xmm1, ecx
816movd xmm1, dword [ebx]
817movd dword [ebx], xmm2
818movd dword [ebx], xmm2
819
820movddup xmm1, xmm2
821movddup xmm1, qword [ebx]
822
823movdq2q mm1, xmm2
824
825movdqa xmm1, xmm2
826movdqa xmm1, dqword [ebx]
827movdqa dqword [ebx], xmm2
828
829movdqu xmm1, xmm2
830movdqu xmm1, dqword [ebx]
831movdqu dqword [ebx], xmm2
832
833movhlps xmm1, xmm2
834
835movhpd xmm1, qword [ebx]
836movhpd qword [ebx], xmm2
837
838movhps xmm1, qword [ebx]
839movhps qword [ebx], xmm2
840
841movlhps xmm1, xmm2
842
843movlpd xmm1, qword [ebx]
844movlpd qword [ebx], xmm2
845
846movlps xmm1, qword [ebx]
847movlps qword [ebx], xmm2
848
849movmskpd ebx, xmm2
850
851movmskps ebx, xmm2
852
853movntdq dqword [ebx], xmm2
854
855movntpd dqword [ebx], xmm2
856
857movntps dqword [ebx], xmm2
858
859movntsd qword [ebx], xmm2
860
861movntss dword [ebx], xmm2
862
863movq xmm1, xmm2
864movq xmm1, qword [ebx]
865movq qword [ebx], xmm2
866
867movq2dq xmm1, mm2
868
869movsd xmm1, xmm2
870movsd xmm1, qword [ebx]
871movsd qword [ebx], xmm2
872
873movshdup xmm1, xmm2
874movshdup xmm1, dqword [ebx]
875
876movsldup xmm1, xmm2
877movsldup xmm1, dqword [ebx]
878
879movss xmm1, xmm2
880movss xmm1, dword [ebx]
881movss dword [ebx], xmm2
882
883movupd xmm1, xmm2
884movupd xmm1, dqword [ebx]
885movupd dqword [ebx], xmm2
886
887movups xmm1, xmm2
888movups xmm1, dqword [ebx]
889movups dqword [ebx], xmm2
890
891mulpd xmm1, xmm2
892mulpd xmm1, dqword [ebx]
893
894mulps xmm1, xmm2
895mulps xmm1, dqword [ebx]
896
897mulsd xmm1, xmm2
898mulsd xmm1, qword [ebx]
899
900mulss xmm1, xmm2
901mulss xmm1, dword [ebx]
902
903orpd xmm1, xmm2
904orpd xmm1, dqword [ebx]
905
906orps xmm1, xmm2
907orps xmm1, dqword [ebx]
908
909packssdw xmm1, xmm2
910packssdw xmm1, dqword [ebx]
911
912packsswb xmm1, xmm2
913packsswb xmm1, dqword [ebx]
914
915packuswb xmm1, xmm2
916packuswb xmm1, dqword [ebx]
917
918paddb xmm1, xmm2
919paddb xmm1, dqword [ebx]
920
921paddd xmm1, xmm2
922paddd xmm1, dqword [ebx]
923
924paddq xmm1, xmm2
925paddq xmm1, dqword [ebx]
926
927paddsb xmm1, xmm2
928paddsb xmm1, dqword [ebx]
929
930paddsw xmm1, xmm2
931paddsw xmm1, dqword [ebx]
932
933paddusb xmm1, xmm2
934paddusb xmm1, dqword [ebx]
935
936paddusw xmm1, xmm2
937paddusw xmm1, dqword [ebx]
938
939paddw xmm1, xmm2
940paddw xmm1, dqword [ebx]
941
942pand xmm1, xmm2
943pand xmm1, dqword [ebx]
944
945pandn xmm1, xmm2
946pandn xmm1, dqword [ebx]
947
948pavgb xmm1, xmm2
949pavgb xmm1, dqword [ebx]
950
951pavgw xmm1, xmm2
952pavgw xmm1, dqword [ebx]
953
954pcmpeqb xmm1, xmm2
955pcmpeqb xmm1, dqword [ebx]
956
957pcmpeqd xmm1, xmm2
958pcmpeqd xmm1, dqword [ebx]
959
960pcmpeqw xmm1, xmm2
961pcmpeqw xmm1, dqword [ebx]
962
963pcmpgtb xmm1, xmm2
964pcmpgtb xmm1, dqword [ebx]
965
966pcmpgtd xmm1, xmm2
967pcmpgtd xmm1, dqword [ebx]
968
969pcmpgtw xmm1, xmm2
970pcmpgtw xmm1, dqword [ebx]
971
972pextrw ebx, xmm2, byte 0
973
974pinsrw xmm1, ebx, byte 0
975pinsrw xmm1, word [ebx], byte 0
976
977pmaddwd xmm1, xmm2
978pmaddwd xmm1, dqword [ebx]
979
980pmaxsw xmm1, xmm2
981pmaxsw xmm1, dqword [ebx]
982
983pmaxub xmm1, xmm2
984pmaxub xmm1, dqword [ebx]
985
986pminsw xmm1, xmm2
987pminsw xmm1, dqword [ebx]
988
989pminub xmm1, xmm2
990pminub xmm1, dqword [ebx]
991
992pmovmskb eax, xmm2
993
994pmulhuw xmm1, xmm2
995pmulhuw xmm1, dqword [ebx]
996
997pmulhw xmm1, xmm2
998pmulhw xmm1, dqword [ebx]
999
1000pmullw xmm1, xmm2
1001pmullw xmm1, dqword [ebx]
1002
1003pmuludq xmm1, xmm2
1004pmuludq xmm1, dqword [ebx]
1005
1006por xmm1, xmm2
1007por xmm1, dqword [ebx]
1008
1009psadbw xmm1, xmm2
1010psadbw xmm1, dqword [ebx]
1011
1012pshufd xmm1, xmm2, byte 0
1013pshufd xmm1, dqword [ebx], byte 0
1014
1015pshufhw xmm1, xmm2, byte 0
1016pshufhw xmm1, dqword [ebx], byte 0
1017
1018pshuflw xmm1, xmm2, byte 0
1019pshuflw xmm1, dqword [ebx], byte 0
1020
1021pslld xmm1, xmm2
1022pslld xmm1, dqword [ebx]
1023pslld xmm1, byte 5
1024
1025pslldq xmm1, byte 5
1026
1027psllq xmm1, xmm2
1028psllq xmm1, dqword [ebx]
1029psllq xmm1, byte 5
1030
1031psllw xmm1, xmm2
1032psllw xmm1, dqword [ebx]
1033psllw xmm1, byte 5
1034
1035psrad xmm1, xmm2
1036psrad xmm1, dqword [ebx]
1037psrad xmm1, byte 5
1038
1039psraw xmm1, xmm2
1040psraw xmm1, dqword [ebx]
1041psraw xmm1, byte 5
1042
1043psrld xmm1, xmm2
1044psrld xmm1, dqword [ebx]
1045psrld xmm1, byte 5
1046
1047psrldq xmm1, byte 5
1048
1049psrlq xmm1, xmm2
1050psrlq xmm1, dqword [ebx]
1051psrlq xmm1, byte 5
1052
1053psrlw xmm1, xmm2
1054psrlw xmm1, dqword [ebx]
1055psrlw xmm1, byte 5
1056
1057psubb xmm1, xmm2
1058psubb xmm1, dqword [ebx]
1059
1060psubd xmm1, xmm2
1061psubd xmm1, dqword [ebx]
1062
1063psubq xmm1, xmm2
1064psubq xmm1, dqword [ebx]
1065
1066psubsb xmm1, xmm2
1067psubsb xmm1, dqword [ebx]
1068
1069psubsw xmm1, xmm2
1070psubsw xmm1, dqword [ebx]
1071
1072psubusb xmm1, xmm2
1073psubusb xmm1, dqword [ebx]
1074
1075psubusw xmm1, xmm2
1076psubusw xmm1, dqword [ebx]
1077
1078psubw xmm1, xmm2
1079psubw xmm1, dqword [ebx]
1080
1081punpckhbw xmm1, xmm2
1082punpckhbw xmm1, dqword [ebx]
1083
1084punpckhdq xmm1, xmm2
1085punpckhdq xmm1, dqword [ebx]
1086
1087punpckhqdq xmm1, xmm2
1088punpckhqdq xmm1, dqword [ebx]
1089
1090punpckhwd xmm1, xmm2
1091punpckhwd xmm1, dqword [ebx]
1092
1093punpcklbw xmm1, xmm2
1094punpcklbw xmm1, dqword [ebx]
1095
1096punpckldq xmm1, xmm2
1097punpckldq xmm1, dqword [ebx]
1098
1099punpcklqdq xmm1, xmm2
1100punpcklqdq xmm1, dqword [ebx]
1101
1102punpcklwd xmm1, xmm2
1103punpcklwd xmm1, dqword [ebx]
1104
1105pxor xmm1, xmm2
1106pxor xmm1, dqword [ebx]
1107
1108rcpps xmm1, xmm2
1109rcpps xmm1, dqword [ebx]
1110
1111rcpss xmm1, xmm2
1112rcpss xmm1, dword [ebx]
1113
1114rsqrtps xmm1, xmm2
1115rsqrtps xmm1, dqword [ebx]
1116
1117rsqrtss xmm1, xmm2
1118rsqrtss xmm1, dword [ebx]
1119
1120shufpd xmm1, xmm2, 0
1121shufpd xmm1, dqword [ebx], byte 0
1122
1123shufps xmm1, xmm2, 0
1124shufps xmm1, dqword [ebx], byte 0
1125
1126sqrtpd xmm1, xmm2
1127sqrtpd xmm1, dqword [ebx]
1128
1129sqrtps xmm1, xmm2
1130sqrtps xmm1, dqword [ebx]
1131
1132sqrtsd xmm1, xmm2
1133sqrtsd xmm1, qword [ebx]
1134
1135sqrtss xmm1, xmm2
1136sqrtss xmm1, dword [ebx]
1137
1138stmxcsr dword [ebx]
1139
1140subpd xmm1, xmm2
1141subpd xmm1, dqword [ebx]
1142
1143subps xmm1, xmm2
1144subps xmm1, dqword [ebx]
1145
1146subsd xmm1, xmm2
1147subsd xmm1, qword [ebx]
1148
1149subss xmm1, xmm2
1150subss xmm1, dword [ebx]
1151
1152ucomisd xmm1, xmm2
1153ucomisd xmm1, qword [ebx]
1154
1155ucomiss xmm1, xmm2
1156ucomiss xmm1, dword [ebx]
1157
1158unpckhpd xmm1, xmm2
1159unpckhpd xmm1, dqword [ebx]
1160
1161unpckhps xmm1, xmm2
1162unpckhps xmm1, dqword [ebx]
1163
1164unpcklpd xmm1, xmm2
1165unpcklpd xmm1, dqword [ebx]
1166
1167unpcklps xmm1, xmm2
1168unpcklps xmm1, dqword [ebx]
1169
1170xorpd xmm1, xmm2
1171xorpd xmm1, dqword [ebx]
1172
1173xorps xmm1, xmm2
1174xorps xmm1, dqword [ebx]
1175leave
1176retn
1177
1178sse3:
1179enter 800,4
1180addsubpd xmm5, xmm7
1181addsubpd xmm0, [eax]
1182addsubps xmm1, xmm5
1183addsubps xmm3, dqword [edx]
1184fisttp word [0]
1185fisttp dword [4]
1186fisttp qword [8]
1187haddpd xmm2, xmm4
1188haddpd xmm7, [ecx+4]
1189haddps xmm6, xmm1
1190haddps xmm0, dqword [0]
1191hsubpd xmm5, xmm3
1192hsubpd xmm1, [ebp]
1193hsubps xmm4, xmm1
1194hsubps xmm2, [esp]
1195lddqu xmm3, [ecx+edx*4+8]
1196monitor
1197movddup xmm7, xmm6
1198movddup xmm1, qword [4]
1199movshdup xmm3, xmm4
1200movshdup xmm2, [0]
1201movsldup xmm0, xmm7
1202movsldup xmm5, dqword [eax+ebx]
1203mwait
1204leave
1205retn
1206
1207ssse3:
1208enter 1000,1
1209%MACRO TEST_GENERIC 5
1210;global _test_ %+ %1 %+ _ %+ %4
1211;global test_ %+ %1 %+ _ %+ %4
1212_test_ %+ %1 %+ _ %+ %4:
1213test_ %+ %1 %+ _ %+ %4:
1214   mov         edx, [ esp + 4 ]
1215   mov         eax, [ esp + 8 ]
1216   %2          %3, [ edx ]
1217   %2          %5, [ eax ]
1218   %1          %3, %5
1219   %2          [ edx ], %3
1220   ret
1221%ENDMACRO
1222
1223TEST_GENERIC pabsb, movq, mm0, mmx, mm1
1224TEST_GENERIC pabsw, movq, mm0, mmx, mm1
1225TEST_GENERIC pabsd, movq, mm0, mmx, mm1
1226
1227TEST_GENERIC pabsb, movdqu, xmm0, xmm, xmm1
1228TEST_GENERIC pabsw, movdqu, xmm0, xmm, xmm1
1229TEST_GENERIC pabsd, movdqu, xmm0, xmm, xmm1
1230
1231TEST_GENERIC psignb, movq, mm0, mmx, mm1
1232TEST_GENERIC psignw, movq, mm0, mmx, mm1
1233TEST_GENERIC psignd, movq, mm0, mmx, mm1
1234
1235TEST_GENERIC psignb, movdqu, xmm0, xmm, xmm1
1236TEST_GENERIC psignw, movdqu, xmm0, xmm, xmm1
1237TEST_GENERIC psignd, movdqu, xmm0, xmm, xmm1
1238
1239TEST_GENERIC phaddw, movq, mm0, mmx, mm1
1240TEST_GENERIC phaddsw, movq, mm0, mmx, mm1
1241TEST_GENERIC phaddd, movq, mm0, mmx, mm1
1242
1243TEST_GENERIC phaddw, movdqu, xmm0, xmm, xmm1
1244TEST_GENERIC phaddsw, movdqu, xmm0, xmm, xmm1
1245TEST_GENERIC phaddd, movdqu, xmm0, xmm, xmm1
1246
1247TEST_GENERIC phsubw, movq, mm0, mmx, mm1
1248TEST_GENERIC phsubsw, movq, mm0, mmx, mm1
1249TEST_GENERIC phsubd, movq, mm0, mmx, mm1
1250
1251TEST_GENERIC phsubw, movdqu, xmm0, xmm, xmm1
1252TEST_GENERIC phsubsw, movdqu, xmm0, xmm, xmm1
1253TEST_GENERIC phsubd, movdqu, xmm0, xmm, xmm1
1254
1255TEST_GENERIC pmulhrsw, movq, mm0, mmx, mm1
1256TEST_GENERIC pmulhrsw, movdqu, xmm0, xmm, xmm1
1257
1258TEST_GENERIC pmaddubsw, movq, mm0, mmx, mm1
1259TEST_GENERIC pmaddubsw, movdqu, xmm0, xmm, xmm1
1260
1261TEST_GENERIC pshufb, movq, mm0, mmx, mm1
1262TEST_GENERIC pshufb, movdqu, xmm0, xmm, xmm1
1263
1264%MACRO TEST_ALIGNR 5
1265;global _test_ %+ %1 %+ _ %+ %4
1266;global test_ %+ %1 %+ _ %+ %4
1267_test_ %+ %1 %+ _ %+ %4:
1268test_ %+ %1 %+ _ %+ %4:
1269   mov         edx, [ esp + 4 ]
1270   mov         eax, [ esp + 8 ]
1271   %2          %3, [ edx ]
1272   %2          %5, [ eax ]
1273   %1          %3, %5, 3
1274   %2          [ edx ], %3
1275   ret
1276%ENDMACRO
1277
1278TEST_ALIGNR palignr, movq, mm0, mmx, mm1
1279TEST_ALIGNR palignr, movdqu, xmm0, xmm, xmm1
1280leave
1281retn
1282
1283sse4:
1284enter 23,8
1285blendpd xmm1, xmm2, 5
1286blendpd xmm1, [4], 5
1287
1288blendps xmm1, xmm2, 5
1289blendps xmm1, [4], 5
1290
1291blendvpd xmm1, xmm2
1292blendvpd xmm1, xmm2, xmm0
1293blendvpd xmm1, [4]
1294blendvpd xmm1, [4], xmm0
1295
1296blendvps xmm1, xmm2
1297blendvps xmm1, xmm2, xmm0
1298blendvps xmm1, [4]
1299blendvps xmm1, [4], xmm0
1300
1301crc32 eax, bl
1302crc32 eax, bh
1303crc32 eax, ecx
1304crc32 eax, byte [4]
1305crc32 eax, bx
1306crc32 eax, word [4]
1307crc32 eax, ebx
1308crc32 eax, dword [4]
1309
1310crc32 ecx, bl
1311;crc32 r8d, bh			; error
1312crc32 ecx, edx
1313crc32 ecx, byte [4]
1314crc32 ecx, bx
1315crc32 ecx, word [4]
1316crc32 ecx, ebx
1317crc32 ecx, dword [4]
1318
1319crc32 eax, bl
1320;crc32 eax, bh			; error
1321crc32 eax, edx
1322crc32 eax, byte [4]
1323crc32 eax, ebx
1324crc32 eax, dword [4]
1325
1326dppd xmm1, xmm2, 5
1327dppd xmm1, [4], 5
1328
1329dpps xmm1, xmm2, 5
1330dpps xmm1, [4], 5
1331
1332extractps eax, xmm1, 5
1333extractps [4], xmm1, 5
1334extractps dword [4], xmm1, 5
1335extractps edi, xmm1, 5
1336extractps eax, xmm1, 5
1337
1338insertps xmm1, xmm2, 5
1339insertps xmm1, [4], 5
1340insertps xmm1, dword [4], 5
1341
1342movntdqa xmm1, [4]
1343movntdqa xmm1, dqword [4]
1344
1345mpsadbw xmm1, xmm2, 5
1346mpsadbw xmm1, [4], 5
1347
1348packusdw xmm1, xmm2
1349packusdw xmm1, [4]
1350
1351pblendvb xmm1, xmm2, xmm0
1352pblendvb xmm1, [4], xmm0
1353pblendvb xmm1, xmm2
1354pblendvb xmm1, [4]
1355
1356pblendw xmm1, xmm2, 5
1357pblendw xmm1, [4], 5
1358
1359pcmpeqq xmm1, xmm2
1360pcmpeqq xmm1, [4]
1361
1362pcmpestri xmm1, xmm2, 5
1363pcmpestri xmm1, [4], 5
1364
1365pcmpestrm xmm1, xmm2, 5
1366pcmpestrm xmm1, [4], 5
1367
1368pcmpistri xmm1, xmm2, 5
1369pcmpistri xmm1, [4], 5
1370
1371pcmpistrm xmm1, xmm2, 5
1372pcmpistrm xmm1, [4], 5
1373
1374pcmpgtq xmm1, xmm2
1375pcmpgtq xmm1, [4]
1376
1377pextrb eax, xmm1, 5
1378pextrb ecx, xmm1, 5
1379pextrb [4], xmm1, 5
1380pextrb byte [4], xmm1, 5
1381
1382pextrd eax, xmm1, 5
1383pextrd [4], xmm1, 5
1384pextrd dword [4], xmm1, 5
1385;pextrq edx, xmm1, 5
1386;pextrq qword [4], xmm1, 5
1387
1388; To get the SSE4 versions we need to disable the SSE2 versions
1389cpu nosse2
1390pextrw eax, xmm1, 5
1391pextrw [4], xmm1, 5
1392pextrw word [4], xmm1, 5
1393pextrw esi, xmm1, 5
1394
1395phminposuw xmm1, xmm2
1396phminposuw xmm1, [4]
1397
1398pinsrb xmm1, eax, 5
1399pinsrb xmm1, [4], 5
1400pinsrb xmm1, byte [4], 5
1401
1402pinsrd xmm1, eax, 5
1403pinsrd xmm1, [4], 5
1404pinsrd xmm1, dword [4], 5
1405
1406;pinsrq xmm1, ebp, 5
1407;pinsrq xmm1, [4], 5
1408;pinsrq xmm1, qword [4], 5
1409
1410pmaxsb xmm1, xmm2
1411pmaxsb xmm1, [4]
1412
1413pmaxsd xmm1, xmm2
1414pmaxsd xmm1, [4]
1415
1416pmaxud xmm1, xmm2
1417pmaxud xmm1, [4]
1418
1419pmaxuw xmm1, xmm2
1420pmaxuw xmm1, [4]
1421
1422pminsb xmm1, xmm2
1423pminsb xmm1, [4]
1424
1425pminsd xmm1, xmm2
1426pminsd xmm1, [4]
1427
1428pminud xmm1, xmm2
1429pminud xmm1, [4]
1430
1431pminuw xmm1, xmm2
1432pminuw xmm1, [4]
1433
1434pmovsxbw xmm1, xmm2
1435pmovsxbw xmm1, [4]
1436pmovsxbw xmm1, qword [4]
1437
1438pmovsxbd xmm1, xmm2
1439pmovsxbd xmm1, [4]
1440pmovsxbd xmm1, dword [4]
1441
1442pmovsxbq xmm1, xmm2
1443pmovsxbq xmm1, [4]
1444pmovsxbq xmm1, word [4]
1445
1446pmovsxwd xmm1, xmm2
1447pmovsxwd xmm1, [4]
1448pmovsxwd xmm1, qword [4]
1449
1450;pmovsxwq xmm1, xmm2
1451;pmovsxwq xmm1, [4]
1452;pmovsxwq xmm1, dword [4]
1453
1454;pmovsxdq xmm1, xmm2
1455;pmovsxdq xmm1, [4]
1456;pmovsxdq xmm1, qword [4]
1457
1458pmovzxbw xmm1, xmm2
1459pmovzxbw xmm1, [4]
1460pmovzxbw xmm1, qword [4]
1461
1462pmovzxbd xmm1, xmm2
1463pmovzxbd xmm1, [4]
1464pmovzxbd xmm1, dword [4]
1465
1466;pmovzxbq xmm1, xmm2
1467;pmovzxbq xmm1, [4]
1468;pmovzxbq xmm1, word [4]
1469
1470pmovzxwd xmm1, xmm2
1471pmovzxwd xmm1, [4]
1472pmovzxwd xmm1, qword [4]
1473
1474pmovzxwq xmm1, xmm2
1475pmovzxwq xmm1, [4]
1476pmovzxwq xmm1, dword [4]
1477
1478;pmovzxdq xmm1, xmm2
1479;pmovzxdq xmm1, [4]
1480;pmovzxdq xmm1, qword [4]
1481
1482pmuldq xmm1, xmm2
1483pmuldq xmm1, [4]
1484
1485pmulld xmm1, xmm2
1486pmulld xmm1, [4]
1487
1488popcnt ax, bx
1489popcnt ax, [4]
1490popcnt ebx, ecx
1491popcnt ebx, [4]
1492popcnt ecx, edx
1493popcnt ecx, [4]
1494
1495ptest xmm1, xmm2
1496ptest xmm1, [4]
1497
1498roundpd xmm1, xmm2, 5
1499roundpd xmm1, [4], 5
1500
1501roundps xmm1, xmm2, 5
1502roundps xmm1, [4], 5
1503
1504roundsd xmm1, xmm2, 5
1505roundsd xmm1, [4], 5
1506
1507roundss xmm1, xmm2, 5
1508roundss xmm1, [4], 5
1509leave
1510retn
1511
1512aes:
1513enter 26,3
1514aesenc xmm1, xmm2
1515aesenc xmm1, [eax]
1516aesenc xmm1, dqword [eax]
1517aesenc xmm5, xmm6
1518aesenc xmm5, [eax+edi*4]
1519aesenc xmm5, [edx+ecx*4]
1520vaesenc xmm1, xmm2
1521vaesenc xmm1, [eax]
1522vaesenc xmm1, dqword [eax]
1523vaesenc xmm1, xmm2, xmm3
1524vaesenc xmm1, xmm2, [eax]
1525vaesenc xmm1, xmm2, dqword [eax]
1526
1527aesenclast xmm1, xmm2
1528aesenclast xmm1, [eax]
1529aesenclast xmm1, dqword [eax]
1530vaesenclast xmm1, xmm2
1531vaesenclast xmm1, [eax]
1532vaesenclast xmm1, dqword [eax]
1533vaesenclast xmm1, xmm2, xmm3
1534vaesenclast xmm1, xmm2, [eax]
1535vaesenclast xmm1, xmm2, dqword [eax]
1536
1537aesdec xmm1, xmm2
1538aesdec xmm1, [eax]
1539aesdec xmm1, dqword [eax]
1540vaesdec xmm1, xmm2
1541vaesdec xmm1, [eax]
1542vaesdec xmm1, dqword [eax]
1543vaesdec xmm1, xmm2, xmm3
1544vaesdec xmm1, xmm2, [eax]
1545vaesdec xmm1, xmm2, dqword [eax]
1546
1547aesdeclast xmm1, xmm2
1548aesdeclast xmm1, [eax]
1549aesdeclast xmm1, dqword [eax]
1550vaesdeclast xmm1, xmm2
1551vaesdeclast xmm1, [eax]
1552vaesdeclast xmm1, dqword [eax]
1553vaesdeclast xmm1, xmm2, xmm3
1554vaesdeclast xmm1, xmm2, [eax]
1555vaesdeclast xmm1, xmm2, dqword [eax]
1556
1557aesimc xmm1, xmm2
1558aesimc xmm1, [eax]
1559aesimc xmm1, dqword [eax]
1560vaesimc xmm1, xmm2
1561vaesimc xmm1, [eax]
1562vaesimc xmm1, dqword [eax]
1563; no 3-operand form
1564
1565aeskeygenassist xmm1, xmm2, 5
1566aeskeygenassist xmm1, [eax], byte 5
1567aeskeygenassist xmm1, dqword [eax], 5
1568vaeskeygenassist xmm1, xmm2, 5
1569vaeskeygenassist xmm1, [eax], byte 5
1570vaeskeygenassist xmm1, dqword [eax], 5
1571
1572pclmulqdq xmm1, xmm2, 5
1573pclmulqdq xmm1, [eax], byte 5
1574pclmulqdq xmm1, dqword [eax], 5
1575
1576; pclmulqdq variants
1577pclmullqlqdq xmm1, xmm2
1578pclmullqlqdq xmm1, [eax]
1579pclmullqlqdq xmm1, dqword [eax]
1580
1581pclmulhqlqdq xmm1, xmm2
1582pclmulhqlqdq xmm1, [eax]
1583pclmulhqlqdq xmm1, dqword [eax]
1584
1585pclmullqhqdq xmm1, xmm2
1586pclmullqhqdq xmm1, [eax]
1587pclmullqhqdq xmm1, dqword [eax]
1588
1589pclmulhqhqdq xmm1, xmm2
1590pclmulhqhqdq xmm1, [eax]
1591pclmulhqhqdq xmm1, dqword [eax]
1592
1593pclmulqdq xmm1, xmm2, 5
1594pclmulqdq xmm1, [eax], byte 5
1595pclmulqdq xmm1, dqword [eax], 5
1596vpclmulqdq xmm1, xmm2, 0x10
1597vpclmulqdq xmm1, dqword [ebx], 0x10
1598vpclmulqdq xmm0, xmm1, xmm2, 0x10
1599vpclmulqdq xmm0, xmm1, dqword [ebx], 0x10
1600
1601pclmullqlqdq xmm1, xmm2
1602pclmullqlqdq xmm1, [eax]
1603pclmullqlqdq xmm1, dqword [eax]
1604vpclmullqlqdq xmm1, xmm2
1605vpclmullqlqdq xmm1, dqword[ebx]
1606vpclmullqlqdq xmm0, xmm1, xmm2
1607vpclmullqlqdq xmm0, xmm1, dqword[ebx]
1608
1609pclmulhqlqdq xmm1, xmm2
1610pclmulhqlqdq xmm1, [eax]
1611pclmulhqlqdq xmm1, dqword [eax]
1612vpclmulhqlqdq xmm1, xmm2
1613vpclmulhqlqdq xmm1, dqword[ebx]
1614vpclmulhqlqdq xmm0, xmm1, xmm2
1615vpclmulhqlqdq xmm0, xmm1, dqword[ebx]
1616
1617pclmullqhqdq xmm1, xmm2
1618pclmullqhqdq xmm1, [eax]
1619pclmullqhqdq xmm1, dqword [eax]
1620vpclmullqhqdq xmm1, xmm2
1621vpclmullqhqdq xmm1, dqword[ebx]
1622vpclmullqhqdq xmm0, xmm1, xmm2
1623vpclmullqhqdq xmm0, xmm1, dqword[ebx]
1624
1625pclmulhqhqdq xmm1, xmm2
1626pclmulhqhqdq xmm1, [eax]
1627pclmulhqhqdq xmm1, dqword [eax]
1628vpclmulhqhqdq xmm1, xmm2
1629vpclmulhqhqdq xmm1, dqword[ebx]
1630vpclmulhqhqdq xmm0, xmm1, xmm2
1631vpclmulhqhqdq xmm0, xmm1, dqword[ebx]
1632
1633movbe cx, [ebx+ecx]
1634movbe cx, word [eax+ecx]
1635movbe ecx, [eax]
1636movbe cx, word [eax]
1637movbe ax, [5]
1638movbe eax, dword [5]
1639movbe edx, [5]
1640movbe dx, word [5]
1641movbe [5], bx
1642movbe word [5], bx
1643movbe [5], ebx
1644movbe dword [5], ebx
1645movbe [5], esi
1646movbe dword [5], edi
1647movbe [5], ebx
1648movbe dword [5], ebx
1649movbe [5], esp
1650movbe dword [5], ebp
1651
1652leave
1653retn
1654
1655avx:
1656enter 200,0
1657cpu sse2
1658addpd xmm1, xmm2
1659addpd xmm1, [eax]
1660addpd xmm1, dqword [eax]
1661addpd xmm5, xmm6
1662addpd xmm5, [eax+edi*4]
1663addpd xmm5, [esi+edi*4]
1664
1665vaddpd xmm1, xmm2
1666vaddpd xmm1, [eax]
1667vaddpd xmm1, dqword [eax]
1668vaddpd xmm5, xmm6
1669vaddpd xmm5, [eax+edi*4]
1670vaddpd xmm5, [esi+edi*4]
1671
1672vaddpd xmm1, xmm2, xmm3
1673vaddpd xmm1, xmm2, [eax]
1674vaddpd xmm1, xmm2, dqword [eax]
1675vaddpd xmm5, xmm6, xmm7
1676vaddpd xmm5, xmm6, [eax+edi*4]
1677vaddpd xmm5, xmm6, [esi+edi*4]
1678
1679vaddpd ymm1, ymm2, ymm3
1680vaddpd ymm1, ymm2, [eax]
1681vaddpd ymm1, ymm2, yword [eax]
1682vaddpd ymm5, ymm6, ymm7
1683vaddpd ymm5, ymm6, [eax+edi*4]
1684vaddpd ymm5, ymm6, [esi+edi*4]
1685
1686; Further instructions won't test high 8 registers (validated above)
1687addps xmm1, xmm2
1688addps xmm1, [eax]
1689addps xmm1, dqword [eax]
1690vaddps xmm1, xmm2
1691vaddps xmm1, [eax]
1692vaddps xmm1, dqword [eax]
1693vaddps xmm1, xmm2, xmm3
1694vaddps xmm1, xmm2, [eax]
1695vaddps xmm1, xmm2, dqword [eax]
1696vaddps ymm1, ymm2, ymm3
1697vaddps ymm1, ymm2, [eax]
1698vaddps ymm1, ymm2, yword [eax]
1699
1700addsd xmm1, xmm2
1701addsd xmm1, [eax]
1702addsd xmm1, qword [eax]
1703vaddsd xmm1, xmm2
1704vaddsd xmm1, [eax]
1705vaddsd xmm1, qword [eax]
1706vaddsd xmm1, xmm2, xmm3
1707vaddsd xmm1, xmm2, [eax]
1708vaddsd xmm1, xmm2, qword [eax]
1709
1710addss xmm1, xmm2
1711addss xmm1, [eax]
1712addss xmm1, dword [eax]
1713vaddss xmm1, xmm2
1714vaddss xmm1, [eax]
1715vaddss xmm1, dword [eax]
1716vaddss xmm1, xmm2, xmm3
1717vaddss xmm1, xmm2, [eax]
1718vaddss xmm1, xmm2, dword [eax]
1719
1720addsubpd xmm1, xmm2
1721addsubpd xmm1, [eax]
1722addsubpd xmm1, dqword [eax]
1723vaddsubpd xmm1, xmm2
1724vaddsubpd xmm1, [eax]
1725vaddsubpd xmm1, dqword [eax]
1726vaddsubpd xmm1, xmm2, xmm3
1727vaddsubpd xmm1, xmm2, [eax]
1728vaddsubpd xmm1, xmm2, dqword [eax]
1729vaddsubpd ymm1, ymm2, ymm3
1730vaddsubpd ymm1, ymm2, [eax]
1731vaddsubpd ymm1, ymm2, yword [eax]
1732
1733addsubps xmm1, xmm2
1734addsubps xmm1, [eax]
1735addsubps xmm1, dqword [eax]
1736vaddsubps xmm1, xmm2
1737vaddsubps xmm1, [eax]
1738vaddsubps xmm1, dqword [eax]
1739vaddsubps xmm1, xmm2, xmm3
1740vaddsubps xmm1, xmm2, [eax]
1741vaddsubps xmm1, xmm2, dqword [eax]
1742vaddsubps ymm1, ymm2, ymm3
1743vaddsubps ymm1, ymm2, [eax]
1744vaddsubps ymm1, ymm2, yword [eax]
1745
1746andpd xmm1, xmm2
1747andpd xmm1, [eax]
1748andpd xmm1, dqword [eax]
1749vandpd xmm1, xmm2
1750vandpd xmm1, [eax]
1751vandpd xmm1, dqword [eax]
1752vandpd xmm1, xmm2, xmm3
1753vandpd xmm1, xmm2, [eax]
1754vandpd xmm1, xmm2, dqword [eax]
1755vandpd ymm1, ymm2, ymm3
1756vandpd ymm1, ymm2, [eax]
1757vandpd ymm1, ymm2, yword [eax]
1758
1759andps xmm1, xmm2
1760andps xmm1, [eax]
1761andps xmm1, dqword [eax]
1762vandps xmm1, xmm2
1763vandps xmm1, [eax]
1764vandps xmm1, dqword [eax]
1765vandps xmm1, xmm2, xmm3
1766vandps xmm1, xmm2, [eax]
1767vandps xmm1, xmm2, dqword [eax]
1768vandps ymm1, ymm2, ymm3
1769vandps ymm1, ymm2, [eax]
1770vandps ymm1, ymm2, yword [eax]
1771
1772andnpd xmm1, xmm2
1773andnpd xmm1, [eax]
1774andnpd xmm1, dqword [eax]
1775vandnpd xmm1, xmm2
1776vandnpd xmm1, [eax]
1777vandnpd xmm1, dqword [eax]
1778vandnpd xmm1, xmm2, xmm3
1779vandnpd xmm1, xmm2, [eax]
1780vandnpd xmm1, xmm2, dqword [eax]
1781vandnpd ymm1, ymm2, ymm3
1782vandnpd ymm1, ymm2, [eax]
1783vandnpd ymm1, ymm2, yword [eax]
1784
1785andnps xmm1, xmm2
1786andnps xmm1, [eax]
1787andnps xmm1, dqword [eax]
1788vandnps xmm1, xmm2
1789vandnps xmm1, [eax]
1790vandnps xmm1, dqword [eax]
1791vandnps xmm1, xmm2, xmm3
1792vandnps xmm1, xmm2, [eax]
1793vandnps xmm1, xmm2, dqword [eax]
1794vandnps ymm1, ymm2, ymm3
1795vandnps ymm1, ymm2, [eax]
1796vandnps ymm1, ymm2, yword [eax]
1797
1798blendpd xmm1, xmm2, 5
1799blendpd xmm1, [eax], byte 5
1800blendpd xmm1, dqword [eax], 5
1801vblendpd xmm1, xmm2, 5
1802vblendpd xmm1, [eax], byte 5
1803vblendpd xmm1, dqword [eax], 5
1804vblendpd xmm1, xmm2, xmm3, 5
1805vblendpd xmm1, xmm2, [eax], byte 5
1806vblendpd xmm1, xmm2, dqword [eax], 5
1807vblendpd ymm1, ymm2, ymm3, 5
1808vblendpd ymm1, ymm2, [eax], byte 5
1809vblendpd ymm1, ymm2, yword [eax], 5
1810
1811blendps xmm1, xmm2, 5
1812blendps xmm1, [eax], byte 5
1813blendps xmm1, dqword [eax], 5
1814vblendps xmm1, xmm2, 5
1815vblendps xmm1, [eax], byte 5
1816vblendps xmm1, dqword [eax], 5
1817vblendps xmm1, xmm2, xmm3, 5
1818vblendps xmm1, xmm2, [eax], byte 5
1819vblendps xmm1, xmm2, dqword [eax], 5
1820vblendps ymm1, ymm2, ymm3, 5
1821vblendps ymm1, ymm2, [eax], byte 5
1822vblendps ymm1, ymm2, yword [eax], 5
1823
1824; blendvpd doesn't have vex-encoded version of implicit xmm0
1825blendvpd xmm1, xmm3
1826blendvpd xmm1, [eax]
1827blendvpd xmm1, dqword [eax]
1828blendvpd xmm1, xmm3, xmm0
1829blendvpd xmm1, [eax], xmm0
1830blendvpd xmm1, dqword [eax], xmm0
1831vblendvpd xmm1, xmm2, xmm3, xmm4
1832vblendvpd xmm1, xmm2, [eax], xmm4
1833vblendvpd xmm1, xmm2, dqword [eax], xmm4
1834vblendvpd ymm1, ymm2, ymm3, ymm4
1835vblendvpd ymm1, ymm2, [eax], ymm4
1836vblendvpd ymm1, ymm2, yword [eax], ymm4
1837
1838; blendvps doesn't have vex-encoded version of implicit xmm0
1839blendvps xmm1, xmm3
1840blendvps xmm1, [eax]
1841blendvps xmm1, dqword [eax]
1842blendvps xmm1, xmm3, xmm0
1843blendvps xmm1, [eax], xmm0
1844blendvps xmm1, dqword [eax], xmm0
1845vblendvps xmm1, xmm2, xmm3, xmm4
1846vblendvps xmm1, xmm2, [eax], xmm4
1847vblendvps xmm1, xmm2, dqword [eax], xmm4
1848vblendvps ymm1, ymm2, ymm3, ymm4
1849vblendvps ymm1, ymm2, [eax], ymm4
1850vblendvps ymm1, ymm2, yword [eax], ymm4
1851
1852vbroadcastss xmm1, [eax]
1853vbroadcastss xmm1, dword [eax]
1854vbroadcastss ymm1, [eax]
1855vbroadcastss ymm1, dword [eax]
1856
1857vbroadcastsd ymm1, [eax]
1858vbroadcastsd ymm1, qword [eax]
1859
1860vbroadcastf128 ymm1, [eax]
1861vbroadcastf128 ymm1, dqword [eax]
1862
1863cmppd xmm1, xmm2, 5
1864cmppd xmm1, [eax], byte 5
1865cmppd xmm1, dqword [eax], 5
1866vcmppd xmm1, xmm2, 5
1867vcmppd xmm1, [eax], byte 5
1868vcmppd xmm1, dqword [eax], 5
1869vcmppd xmm1, xmm2, xmm3, 5
1870vcmppd xmm1, xmm2, [eax], byte 5
1871vcmppd xmm1, xmm2, dqword [eax], 5
1872vcmppd ymm1, ymm2, ymm3, 5
1873vcmppd ymm1, ymm2, [eax], byte 5
1874vcmppd ymm1, ymm2, yword [eax], 5
1875
1876cmpps xmm1, xmm2, 5
1877cmpps xmm1, [eax], byte 5
1878cmpps xmm1, dqword [eax], 5
1879vcmpps xmm1, xmm2, 5
1880vcmpps xmm1, [eax], byte 5
1881vcmpps xmm1, dqword [eax], 5
1882vcmpps xmm1, xmm2, xmm3, 5
1883vcmpps xmm1, xmm2, [eax], byte 5
1884vcmpps xmm1, xmm2, dqword [eax], 5
1885vcmpps ymm1, ymm2, ymm3, 5
1886vcmpps ymm1, ymm2, [eax], byte 5
1887vcmpps ymm1, ymm2, yword [eax], 5
1888
1889cmpsd xmm1, xmm2, 5
1890cmpsd xmm1, [eax], byte 5
1891cmpsd xmm1, qword [eax], 5
1892vcmpsd xmm1, xmm2, 5
1893vcmpsd xmm1, [eax], byte 5
1894vcmpsd xmm1, qword [eax], 5
1895vcmpsd xmm1, xmm2, xmm3, 5
1896vcmpsd xmm1, xmm2, [eax], byte 5
1897vcmpsd xmm1, xmm2, qword [eax], 5
1898
1899cmpss xmm1, xmm2, 5
1900cmpss xmm1, [eax], byte 5
1901cmpss xmm1, dword [eax], 5
1902vcmpss xmm1, xmm2, 5
1903vcmpss xmm1, [eax], byte 5
1904vcmpss xmm1, dword [eax], 5
1905vcmpss xmm1, xmm2, xmm3, 5
1906vcmpss xmm1, xmm2, [eax], byte 5
1907vcmpss xmm1, xmm2, dword [eax], 5
1908
1909comisd xmm1, xmm2
1910comisd xmm1, [eax]
1911comisd xmm1, qword [eax]
1912vcomisd xmm1, xmm2
1913vcomisd xmm1, [eax]
1914vcomisd xmm1, qword [eax]
1915
1916comiss xmm1, xmm2
1917comiss xmm1, [eax]
1918comiss xmm1, dword [eax]
1919vcomiss xmm1, xmm2
1920vcomiss xmm1, [eax]
1921vcomiss xmm1, dword [eax]
1922
1923cvtdq2pd xmm1, xmm2
1924cvtdq2pd xmm1, [eax]
1925cvtdq2pd xmm1, qword [eax]
1926vcvtdq2pd xmm1, xmm2
1927vcvtdq2pd xmm1, [eax]
1928vcvtdq2pd xmm1, qword [eax]
1929vcvtdq2pd ymm1, xmm2
1930vcvtdq2pd ymm1, [eax]
1931vcvtdq2pd ymm1, dqword [eax]
1932
1933cvtdq2ps xmm1, xmm2
1934cvtdq2ps xmm1, [eax]
1935cvtdq2ps xmm1, dqword [eax]
1936vcvtdq2ps xmm1, xmm2
1937vcvtdq2ps xmm1, [eax]
1938vcvtdq2ps xmm1, dqword [eax]
1939vcvtdq2ps ymm1, ymm2
1940vcvtdq2ps ymm1, [eax]
1941vcvtdq2ps ymm1, yword [eax]
1942
1943; These require memory operand size to be specified (in AVX version)
1944cvtpd2dq xmm1, xmm2
1945cvtpd2dq xmm1, [eax]
1946cvtpd2dq xmm1, dqword [eax]
1947vcvtpd2dq xmm1, xmm2
1948vcvtpd2dq xmm1, dqword [eax]
1949vcvtpd2dq xmm1, ymm2
1950vcvtpd2dq xmm1, yword [eax]
1951
1952cvtpd2ps xmm1, xmm2
1953cvtpd2ps xmm1, [eax]
1954cvtpd2ps xmm1, dqword [eax]
1955vcvtpd2ps xmm1, xmm2
1956vcvtpd2ps xmm1, dqword [eax]
1957vcvtpd2ps xmm1, ymm2
1958vcvtpd2ps xmm1, yword [eax]
1959
1960cvtps2dq xmm1, xmm2
1961cvtps2dq xmm1, [eax]
1962cvtps2dq xmm1, dqword [eax]
1963vcvtps2dq xmm1, xmm2
1964vcvtps2dq xmm1, [eax]
1965vcvtps2dq xmm1, dqword [eax]
1966vcvtps2dq ymm1, ymm2
1967vcvtps2dq ymm1, [eax]
1968vcvtps2dq ymm1, yword [eax]
1969
1970cvtps2pd xmm1, xmm2
1971cvtps2pd xmm1, [eax]
1972cvtps2pd xmm1, qword [eax]
1973vcvtps2pd xmm1, xmm2
1974vcvtps2pd xmm1, [eax]
1975vcvtps2pd xmm1, qword [eax]
1976vcvtps2pd ymm1, xmm2
1977vcvtps2pd ymm1, [eax]
1978vcvtps2pd ymm1, dqword [eax]
1979
1980cvtsd2si eax, xmm2
1981cvtsd2si eax, [eax]
1982cvtsd2si eax, qword [eax]
1983vcvtsd2si eax, xmm2
1984vcvtsd2si eax, [eax]
1985vcvtsd2si eax, qword [eax]
1986cvtsd2si eax, xmm2
1987cvtsd2si eax, [eax]
1988cvtsd2si eax, qword [eax]
1989vcvtsd2si eax, xmm2
1990vcvtsd2si eax, [eax]
1991vcvtsd2si eax, qword [eax]
1992
1993cvtsd2ss xmm1, xmm2
1994cvtsd2ss xmm1, [eax]
1995cvtsd2ss xmm1, qword [eax]
1996vcvtsd2ss xmm1, xmm2
1997vcvtsd2ss xmm1, [eax]
1998vcvtsd2ss xmm1, qword [eax]
1999vcvtsd2ss xmm1, xmm2, xmm3
2000vcvtsd2ss xmm1, xmm2, [eax]
2001vcvtsd2ss xmm1, xmm2, qword [eax]
2002
2003; unsized not valid
2004cvtsi2sd xmm1, eax
2005cvtsi2sd xmm1, dword [eax]
2006vcvtsi2sd xmm1, eax
2007vcvtsi2sd xmm1, dword [eax]
2008vcvtsi2sd xmm1, xmm2, eax
2009vcvtsi2sd xmm1, xmm2, dword [eax]
2010cvtsi2sd xmm1, eax
2011cvtsi2sd xmm1, dword [eax]
2012vcvtsi2sd xmm1, eax
2013vcvtsi2sd xmm1, dword [eax]
2014vcvtsi2sd xmm1, xmm2, eax
2015vcvtsi2sd xmm1, xmm2, dword [eax]
2016
2017cvtsi2ss xmm1, eax
2018cvtsi2ss xmm1, dword [eax]
2019vcvtsi2ss xmm1, eax
2020vcvtsi2ss xmm1, dword [eax]
2021vcvtsi2ss xmm1, xmm2, eax
2022vcvtsi2ss xmm1, xmm2, dword [eax]
2023cvtsi2ss xmm1, eax
2024cvtsi2ss xmm1, dword [eax]
2025vcvtsi2ss xmm1, eax
2026vcvtsi2ss xmm1, dword [eax]
2027vcvtsi2ss xmm1, xmm2, eax
2028vcvtsi2ss xmm1, xmm2, dword [eax]
2029
2030cvtss2sd xmm1, xmm2
2031cvtss2sd xmm1, [eax]
2032cvtss2sd xmm1, dword [eax]
2033vcvtss2sd xmm1, xmm2
2034vcvtss2sd xmm1, [eax]
2035vcvtss2sd xmm1, dword [eax]
2036vcvtss2sd xmm1, xmm2, xmm3
2037vcvtss2sd xmm1, xmm2, [eax]
2038vcvtss2sd xmm1, xmm2, dword [eax]
2039
2040cvtss2si eax, xmm2
2041cvtss2si eax, [eax]
2042cvtss2si eax, dword [eax]
2043vcvtss2si eax, xmm2
2044vcvtss2si eax, [eax]
2045vcvtss2si eax, dword [eax]
2046cvtss2si eax, xmm2
2047cvtss2si eax, [eax]
2048cvtss2si eax, dword [eax]
2049vcvtss2si eax, xmm2
2050vcvtss2si eax, [eax]
2051vcvtss2si eax, dword [eax]
2052
2053; These require memory operand size to be specified (in AVX version)
2054cvttpd2dq xmm1, xmm2
2055cvttpd2dq xmm1, [eax]
2056cvttpd2dq xmm1, dqword [eax]
2057vcvttpd2dq xmm1, xmm2
2058vcvttpd2dq xmm1, dqword [eax]
2059vcvttpd2dq xmm1, ymm2
2060vcvttpd2dq xmm1, yword [eax]
2061
2062cvttps2dq xmm1, xmm2
2063cvttps2dq xmm1, [eax]
2064cvttps2dq xmm1, dqword [eax]
2065vcvttps2dq xmm1, xmm2
2066vcvttps2dq xmm1, [eax]
2067vcvttps2dq xmm1, dqword [eax]
2068vcvttps2dq ymm1, ymm2
2069vcvttps2dq ymm1, [eax]
2070vcvttps2dq ymm1, yword [eax]
2071
2072cvttsd2si eax, xmm2
2073cvttsd2si eax, [eax]
2074cvttsd2si eax, qword [eax]
2075vcvttsd2si eax, xmm2
2076vcvttsd2si eax, [eax]
2077vcvttsd2si eax, qword [eax]
2078cvttsd2si eax, xmm2
2079cvttsd2si eax, [eax]
2080cvttsd2si eax, qword [eax]
2081vcvttsd2si eax, xmm2
2082vcvttsd2si eax, [eax]
2083vcvttsd2si eax, qword [eax]
2084
2085cvttss2si eax, xmm2
2086cvttss2si eax, [eax]
2087cvttss2si eax, dword [eax]
2088vcvttss2si eax, xmm2
2089vcvttss2si eax, [eax]
2090vcvttss2si eax, dword [eax]
2091cvttss2si eax, xmm2
2092cvttss2si eax, [eax]
2093cvttss2si eax, dword [eax]
2094vcvttss2si eax, xmm2
2095vcvttss2si eax, [eax]
2096vcvttss2si eax, dword [eax]
2097
2098divpd xmm1, xmm2
2099divpd xmm1, [eax]
2100divpd xmm1, dqword [eax]
2101vdivpd xmm1, xmm2
2102vdivpd xmm1, [eax]
2103vdivpd xmm1, dqword [eax]
2104vdivpd xmm1, xmm2, xmm3
2105vdivpd xmm1, xmm2, [eax]
2106vdivpd xmm1, xmm2, dqword [eax]
2107vdivpd ymm1, ymm2, ymm3
2108vdivpd ymm1, ymm2, [eax]
2109vdivpd ymm1, ymm2, yword [eax]
2110
2111divps xmm1, xmm2
2112divps xmm1, [eax]
2113divps xmm1, dqword [eax]
2114vdivps xmm1, xmm2
2115vdivps xmm1, [eax]
2116vdivps xmm1, dqword [eax]
2117vdivps xmm1, xmm2, xmm3
2118vdivps xmm1, xmm2, [eax]
2119vdivps xmm1, xmm2, dqword [eax]
2120vdivps ymm1, ymm2, ymm3
2121vdivps ymm1, ymm2, [eax]
2122vdivps ymm1, ymm2, yword [eax]
2123
2124divsd xmm1, xmm2
2125divsd xmm1, [eax]
2126divsd xmm1, qword [eax]
2127vdivsd xmm1, xmm2
2128vdivsd xmm1, [eax]
2129vdivsd xmm1, qword [eax]
2130vdivsd xmm1, xmm2, xmm3
2131vdivsd xmm1, xmm2, [eax]
2132vdivsd xmm1, xmm2, qword [eax]
2133
2134divss xmm1, xmm2
2135divss xmm1, [eax]
2136divss xmm1, dword [eax]
2137vdivss xmm1, xmm2
2138vdivss xmm1, [eax]
2139vdivss xmm1, dword [eax]
2140vdivss xmm1, xmm2, xmm3
2141vdivss xmm1, xmm2, [eax]
2142vdivss xmm1, xmm2, dword [eax]
2143
2144dppd xmm1, xmm2, 5
2145dppd xmm1, [eax], byte 5
2146dppd xmm1, dqword [eax], 5
2147vdppd xmm1, xmm2, 5
2148vdppd xmm1, [eax], byte 5
2149vdppd xmm1, dqword [eax], 5
2150vdppd xmm1, xmm2, xmm3, 5
2151vdppd xmm1, xmm2, [eax], byte 5
2152vdppd xmm1, xmm2, dqword [eax], 5
2153; no ymm version
2154
2155dpps xmm1, xmm2, 5
2156dpps xmm1, [eax], byte 5
2157dpps xmm1, dqword [eax], 5
2158vdpps xmm1, xmm2, 5
2159vdpps xmm1, [eax], byte 5
2160vdpps xmm1, dqword [eax], 5
2161vdpps xmm1, xmm2, xmm3, 5
2162vdpps xmm1, xmm2, [eax], byte 5
2163vdpps xmm1, xmm2, dqword [eax], 5
2164vdpps ymm1, ymm2, ymm3, 5
2165vdpps ymm1, ymm2, [eax], byte 5
2166vdpps ymm1, ymm2, yword [eax], 5
2167
2168vextractf128 xmm1, ymm2, 5
2169vextractf128 [eax], ymm2, byte 5
2170vextractf128 dqword [eax], ymm2, 5
2171
2172extractps eax, xmm1, 5
2173extractps eax, xmm1, 5
2174extractps [eax], xmm1, byte 5
2175extractps dword [eax], xmm1, 5
2176vextractps eax, xmm1, 5
2177vextractps eax, xmm1, 5
2178vextractps [eax], xmm1, byte 5
2179vextractps dword [eax], xmm1, 5
2180
2181haddpd xmm1, xmm2
2182haddpd xmm1, [eax]
2183haddpd xmm1, dqword [eax]
2184vhaddpd xmm1, xmm2
2185vhaddpd xmm1, [eax]
2186vhaddpd xmm1, dqword [eax]
2187vhaddpd xmm1, xmm2, xmm3
2188vhaddpd xmm1, xmm2, [eax]
2189vhaddpd xmm1, xmm2, dqword [eax]
2190vhaddpd ymm1, ymm2, ymm3
2191vhaddpd ymm1, ymm2, [eax]
2192vhaddpd ymm1, ymm2, yword [eax]
2193
2194haddps xmm1, xmm2
2195haddps xmm1, [eax]
2196haddps xmm1, dqword [eax]
2197vhaddps xmm1, xmm2
2198vhaddps xmm1, [eax]
2199vhaddps xmm1, dqword [eax]
2200vhaddps xmm1, xmm2, xmm3
2201vhaddps xmm1, xmm2, [eax]
2202vhaddps xmm1, xmm2, dqword [eax]
2203vhaddps ymm1, ymm2, ymm3
2204vhaddps ymm1, ymm2, [eax]
2205vhaddps ymm1, ymm2, yword [eax]
2206
2207hsubpd xmm1, xmm2
2208hsubpd xmm1, [eax]
2209hsubpd xmm1, dqword [eax]
2210vhsubpd xmm1, xmm2
2211vhsubpd xmm1, [eax]
2212vhsubpd xmm1, dqword [eax]
2213vhsubpd xmm1, xmm2, xmm3
2214vhsubpd xmm1, xmm2, [eax]
2215vhsubpd xmm1, xmm2, dqword [eax]
2216vhsubpd ymm1, ymm2, ymm3
2217vhsubpd ymm1, ymm2, [eax]
2218vhsubpd ymm1, ymm2, yword [eax]
2219
2220hsubps xmm1, xmm2
2221hsubps xmm1, [eax]
2222hsubps xmm1, dqword [eax]
2223vhsubps xmm1, xmm2
2224vhsubps xmm1, [eax]
2225vhsubps xmm1, dqword [eax]
2226vhsubps xmm1, xmm2, xmm3
2227vhsubps xmm1, xmm2, [eax]
2228vhsubps xmm1, xmm2, dqword [eax]
2229vhsubps ymm1, ymm2, ymm3
2230vhsubps ymm1, ymm2, [eax]
2231vhsubps ymm1, ymm2, yword [eax]
2232
2233vinsertf128 ymm1, ymm2, xmm3, 5
2234vinsertf128 ymm1, ymm2, [eax], byte 5
2235vinsertf128 ymm1, ymm2, dqword [eax], 5
2236
2237insertps xmm1, xmm2, 5
2238insertps xmm1, [eax], byte 5
2239insertps xmm1, dword [eax], 5
2240vinsertps xmm1, xmm2, 5
2241vinsertps xmm1, [eax], byte 5
2242vinsertps xmm1, dword [eax], 5
2243vinsertps xmm1, xmm2, xmm3, 5
2244vinsertps xmm1, xmm2, [eax], byte 5
2245vinsertps xmm1, xmm2, dword [eax], 5
2246
2247lddqu xmm1, [eax]
2248lddqu xmm1, dqword [eax]
2249vlddqu xmm1, [eax]
2250vlddqu xmm1, dqword [eax]
2251vlddqu ymm1, [eax]
2252vlddqu ymm1, yword [eax]
2253
2254ldmxcsr [eax]
2255ldmxcsr dword [eax]
2256vldmxcsr [eax]
2257vldmxcsr dword [eax]
2258
2259maskmovdqu xmm1, xmm2
2260vmaskmovdqu xmm1, xmm2
2261
2262vmaskmovps xmm1, xmm2, [eax]
2263vmaskmovps xmm1, xmm2, dqword [eax]
2264vmaskmovps ymm1, ymm2, [eax]
2265vmaskmovps ymm1, ymm2, yword [eax]
2266vmaskmovps [eax], xmm2, xmm3
2267vmaskmovps dqword [eax], xmm2, xmm3
2268vmaskmovps [eax], ymm2, ymm3
2269vmaskmovps yword [eax], ymm2, ymm3
2270
2271vmaskmovpd xmm1, xmm2, [eax]
2272vmaskmovpd xmm1, xmm2, dqword [eax]
2273vmaskmovpd ymm1, ymm2, [eax]
2274vmaskmovpd ymm1, ymm2, yword [eax]
2275vmaskmovpd [eax], xmm2, xmm3
2276vmaskmovpd dqword [eax], xmm2, xmm3
2277vmaskmovpd [eax], ymm2, ymm3
2278vmaskmovpd yword [eax], ymm2, ymm3
2279
2280maxpd xmm1, xmm2
2281maxpd xmm1, [eax]
2282maxpd xmm1, dqword [eax]
2283vmaxpd xmm1, xmm2
2284vmaxpd xmm1, [eax]
2285vmaxpd xmm1, dqword [eax]
2286vmaxpd xmm1, xmm2, xmm3
2287vmaxpd xmm1, xmm2, [eax]
2288vmaxpd xmm1, xmm2, dqword [eax]
2289vmaxpd ymm1, ymm2, ymm3
2290vmaxpd ymm1, ymm2, [eax]
2291vmaxpd ymm1, ymm2, yword [eax]
2292
2293maxps xmm1, xmm2
2294maxps xmm1, [eax]
2295maxps xmm1, dqword [eax]
2296vmaxps xmm1, xmm2
2297vmaxps xmm1, [eax]
2298vmaxps xmm1, dqword [eax]
2299vmaxps xmm1, xmm2, xmm3
2300vmaxps xmm1, xmm2, [eax]
2301vmaxps xmm1, xmm2, dqword [eax]
2302vmaxps ymm1, ymm2, ymm3
2303vmaxps ymm1, ymm2, [eax]
2304vmaxps ymm1, ymm2, yword [eax]
2305
2306maxsd xmm1, xmm2
2307maxsd xmm1, [eax]
2308maxsd xmm1, qword [eax]
2309vmaxsd xmm1, xmm2
2310vmaxsd xmm1, [eax]
2311vmaxsd xmm1, qword [eax]
2312vmaxsd xmm1, xmm2, xmm3
2313vmaxsd xmm1, xmm2, [eax]
2314vmaxsd xmm1, xmm2, qword [eax]
2315
2316maxss xmm1, xmm2
2317maxss xmm1, [eax]
2318maxss xmm1, dword [eax]
2319vmaxss xmm1, xmm2
2320vmaxss xmm1, [eax]
2321vmaxss xmm1, dword [eax]
2322vmaxss xmm1, xmm2, xmm3
2323vmaxss xmm1, xmm2, [eax]
2324vmaxss xmm1, xmm2, dword [eax]
2325
2326minpd xmm1, xmm2
2327minpd xmm1, [eax]
2328minpd xmm1, dqword [eax]
2329vminpd xmm1, xmm2
2330vminpd xmm1, [eax]
2331vminpd xmm1, dqword [eax]
2332vminpd xmm1, xmm2, xmm3
2333vminpd xmm1, xmm2, [eax]
2334vminpd xmm1, xmm2, dqword [eax]
2335vminpd ymm1, ymm2, ymm3
2336vminpd ymm1, ymm2, [eax]
2337vminpd ymm1, ymm2, yword [eax]
2338
2339minps xmm1, xmm2
2340minps xmm1, [eax]
2341minps xmm1, dqword [eax]
2342vminps xmm1, xmm2
2343vminps xmm1, [eax]
2344vminps xmm1, dqword [eax]
2345vminps xmm1, xmm2, xmm3
2346vminps xmm1, xmm2, [eax]
2347vminps xmm1, xmm2, dqword [eax]
2348vminps ymm1, ymm2, ymm3
2349vminps ymm1, ymm2, [eax]
2350vminps ymm1, ymm2, yword [eax]
2351
2352minsd xmm1, xmm2
2353minsd xmm1, [eax]
2354minsd xmm1, qword [eax]
2355vminsd xmm1, xmm2
2356vminsd xmm1, [eax]
2357vminsd xmm1, qword [eax]
2358vminsd xmm1, xmm2, xmm3
2359vminsd xmm1, xmm2, [eax]
2360vminsd xmm1, xmm2, qword [eax]
2361
2362minss xmm1, xmm2
2363minss xmm1, [eax]
2364minss xmm1, dword [eax]
2365vminss xmm1, xmm2
2366vminss xmm1, [eax]
2367vminss xmm1, dword [eax]
2368vminss xmm1, xmm2, xmm3
2369vminss xmm1, xmm2, [eax]
2370vminss xmm1, xmm2, dword [eax]
2371
2372movapd xmm1, xmm2
2373movapd xmm1, [eax]
2374movapd xmm1, dqword [eax]
2375vmovapd xmm1, xmm2
2376vmovapd xmm1, [eax]
2377vmovapd xmm1, dqword [eax]
2378movapd [eax], xmm2
2379movapd dqword [eax], xmm2
2380vmovapd [eax], xmm2
2381vmovapd dqword [eax], xmm2
2382vmovapd ymm1, ymm2
2383vmovapd ymm1, [eax]
2384vmovapd ymm1, yword [eax]
2385vmovapd [eax], ymm2
2386vmovapd yword [eax], ymm2
2387
2388movaps xmm1, xmm2
2389movaps xmm1, [eax]
2390movaps xmm1, dqword [eax]
2391vmovaps xmm1, xmm2
2392vmovaps xmm1, [eax]
2393vmovaps xmm1, dqword [eax]
2394movaps [eax], xmm2
2395movaps dqword [eax], xmm2
2396vmovaps [eax], xmm2
2397vmovaps dqword [eax], xmm2
2398vmovaps ymm1, ymm2
2399vmovaps ymm1, [eax]
2400vmovaps ymm1, yword [eax]
2401vmovaps [eax], ymm2
2402vmovaps yword [eax], ymm2
2403
2404movd xmm1, eax
2405movd xmm1, [eax]
2406movd xmm1, dword [eax]
2407vmovd xmm1, eax
2408vmovd xmm1, [eax]
2409vmovd xmm1, dword [eax]
2410movd eax, xmm2
2411movd [eax], xmm2
2412movd dword [eax], xmm2
2413vmovd eax, xmm2
2414vmovd [eax], xmm2
2415vmovd dword [eax], xmm2
2416
2417movq xmm1, [eax]
2418movq xmm1, qword [eax]
2419vmovq xmm1, [eax]
2420vmovq xmm1, qword [eax]
2421movd eax, xmm2
2422movq [eax], xmm2
2423movq qword [eax], xmm2
2424vmovd eax, xmm2
2425vmovq [eax], xmm2
2426vmovq qword [eax], xmm2
2427
2428movq xmm1, xmm2
2429movq xmm1, [eax]
2430movq xmm1, qword [eax]
2431vmovq xmm1, xmm2
2432vmovq xmm1, [eax]
2433vmovq xmm1, qword [eax]
2434movq [eax], xmm1
2435movq qword [eax], xmm1
2436vmovq [eax], xmm1
2437vmovq qword [eax], xmm1
2438
2439movddup xmm1, xmm2
2440movddup xmm1, [eax]
2441movddup xmm1, qword [eax]
2442vmovddup xmm1, xmm2
2443vmovddup xmm1, [eax]
2444vmovddup xmm1, qword [eax]
2445vmovddup ymm1, ymm2
2446vmovddup ymm1, [eax]
2447vmovddup ymm1, yword [eax]
2448
2449movdqa xmm1, xmm2
2450movdqa xmm1, [eax]
2451movdqa xmm1, dqword [eax]
2452movdqa [eax], xmm2
2453movdqa dqword [eax], xmm2
2454vmovdqa xmm1, xmm2
2455vmovdqa xmm1, [eax]
2456vmovdqa xmm1, dqword [eax]
2457vmovdqa [eax], xmm2
2458vmovdqa dqword [eax], xmm2
2459vmovdqa ymm1, ymm2
2460vmovdqa ymm1, [eax]
2461vmovdqa ymm1, yword [eax]
2462vmovdqa [eax], ymm2
2463vmovdqa yword [eax], ymm2
2464
2465movdqu xmm1, xmm2
2466movdqu xmm1, [eax]
2467movdqu xmm1, dqword [eax]
2468movdqu [eax], xmm2
2469movdqu dqword [eax], xmm2
2470vmovdqu xmm1, xmm2
2471vmovdqu xmm1, [eax]
2472vmovdqu xmm1, dqword [eax]
2473vmovdqu [eax], xmm2
2474vmovdqu dqword [eax], xmm2
2475vmovdqu ymm1, ymm2
2476vmovdqu ymm1, [eax]
2477vmovdqu ymm1, yword [eax]
2478vmovdqu [eax], ymm2
2479vmovdqu yword [eax], ymm2
2480
2481movhlps xmm1, xmm2
2482vmovhlps xmm1, xmm2
2483vmovhlps xmm1, xmm2, xmm3
2484
2485movhpd xmm1, [eax]
2486movhpd xmm1, qword [eax]
2487vmovhpd xmm1, [eax]
2488vmovhpd xmm1, qword [eax]
2489vmovhpd xmm1, xmm2, [eax]
2490vmovhpd xmm1, xmm2, qword [eax]
2491movhpd [eax], xmm2
2492movhpd qword [eax], xmm2
2493vmovhpd [eax], xmm2
2494vmovhpd qword [eax], xmm2
2495
2496movhps xmm1, [eax]
2497movhps xmm1, qword [eax]
2498vmovhps xmm1, [eax]
2499vmovhps xmm1, qword [eax]
2500vmovhps xmm1, xmm2, [eax]
2501vmovhps xmm1, xmm2, qword [eax]
2502movhps [eax], xmm2
2503movhps qword [eax], xmm2
2504vmovhps [eax], xmm2
2505vmovhps qword [eax], xmm2
2506
2507movhlps xmm1, xmm2
2508vmovhlps xmm1, xmm2
2509vmovhlps xmm1, xmm2, xmm3
2510
2511movlpd xmm1, [eax]
2512movlpd xmm1, qword [eax]
2513vmovlpd xmm1, [eax]
2514vmovlpd xmm1, qword [eax]
2515vmovlpd xmm1, xmm2, [eax]
2516vmovlpd xmm1, xmm2, qword [eax]
2517movlpd [eax], xmm2
2518movlpd qword [eax], xmm2
2519vmovlpd [eax], xmm2
2520vmovlpd qword [eax], xmm2
2521
2522movlps xmm1, [eax]
2523movlps xmm1, qword [eax]
2524vmovlps xmm1, [eax]
2525vmovlps xmm1, qword [eax]
2526vmovlps xmm1, xmm2, [eax]
2527vmovlps xmm1, xmm2, qword [eax]
2528movlps [eax], xmm2
2529movlps qword [eax], xmm2
2530vmovlps [eax], xmm2
2531vmovlps qword [eax], xmm2
2532
2533movmskpd eax, xmm2
2534movmskpd eax, xmm2
2535vmovmskpd eax, xmm2
2536vmovmskpd eax, xmm2
2537vmovmskpd eax, ymm2
2538vmovmskpd eax, ymm2
2539
2540movmskps eax, xmm2
2541movmskps eax, xmm2
2542vmovmskps eax, xmm2
2543vmovmskps eax, xmm2
2544vmovmskps eax, ymm2
2545vmovmskps eax, ymm2
2546
2547movntdq [eax], xmm1
2548movntdq dqword [eax], xmm1
2549vmovntdq [eax], xmm1
2550vmovntdq dqword [eax], xmm1
2551vmovntdq [eax], ymm1
2552vmovntdq yword [eax], ymm1
2553
2554movntdqa xmm1, [eax]
2555movntdqa xmm1, dqword [eax]
2556vmovntdqa xmm1, [eax]
2557vmovntdqa xmm1, dqword [eax]
2558
2559movntpd [eax], xmm1
2560movntpd dqword [eax], xmm1
2561vmovntpd [eax], xmm1
2562vmovntpd dqword [eax], xmm1
2563vmovntpd [eax], ymm1
2564vmovntpd yword [eax], ymm1
2565
2566movntps [eax], xmm1
2567movntps dqword [eax], xmm1
2568vmovntps [eax], xmm1
2569vmovntps dqword [eax], xmm1
2570vmovntps [eax], ymm1
2571vmovntps yword [eax], ymm1
2572
2573movsd xmm1, xmm2
2574vmovsd xmm1, xmm2
2575vmovsd xmm1, xmm2, xmm3
2576movsd xmm1, [eax]
2577movsd xmm1, qword [eax]
2578vmovsd xmm1, [eax]
2579vmovsd xmm1, qword [eax]
2580movsd [eax], xmm2
2581movsd qword [eax], xmm2
2582vmovsd [eax], xmm2
2583vmovsd qword [eax], xmm2
2584
2585movshdup xmm1, xmm2
2586movshdup xmm1, [eax]
2587movshdup xmm1, dqword [eax]
2588vmovshdup xmm1, xmm2
2589vmovshdup xmm1, [eax]
2590vmovshdup xmm1, dqword [eax]
2591vmovshdup ymm1, ymm2
2592vmovshdup ymm1, [eax]
2593vmovshdup ymm1, yword [eax]
2594
2595movsldup xmm1, xmm2
2596movsldup xmm1, [eax]
2597movsldup xmm1, dqword [eax]
2598vmovsldup xmm1, xmm2
2599vmovsldup xmm1, [eax]
2600vmovsldup xmm1, dqword [eax]
2601vmovsldup ymm1, ymm2
2602vmovsldup ymm1, [eax]
2603vmovsldup ymm1, yword [eax]
2604
2605movss xmm1, xmm2
2606vmovss xmm1, xmm2
2607vmovss xmm1, xmm2, xmm3
2608movss xmm1, [eax]
2609movss xmm1, dword [eax]
2610vmovss xmm1, [eax]
2611vmovss xmm1, dword [eax]
2612movss [eax], xmm2
2613movss dword [eax], xmm2
2614vmovss [eax], xmm2
2615vmovss dword [eax], xmm2
2616
2617movupd xmm1, xmm2
2618movupd xmm1, [eax]
2619movupd xmm1, dqword [eax]
2620vmovupd xmm1, xmm2
2621vmovupd xmm1, [eax]
2622vmovupd xmm1, dqword [eax]
2623movupd [eax], xmm2
2624movupd dqword [eax], xmm2
2625vmovupd [eax], xmm2
2626vmovupd dqword [eax], xmm2
2627vmovupd ymm1, ymm2
2628vmovupd ymm1, [eax]
2629vmovupd ymm1, yword [eax]
2630vmovupd [eax], ymm2
2631vmovupd yword [eax], ymm2
2632
2633movups xmm1, xmm2
2634movups xmm1, [eax]
2635movups xmm1, dqword [eax]
2636vmovups xmm1, xmm2
2637vmovups xmm1, [eax]
2638vmovups xmm1, dqword [eax]
2639movups [eax], xmm2
2640movups dqword [eax], xmm2
2641vmovups [eax], xmm2
2642vmovups dqword [eax], xmm2
2643vmovups ymm1, ymm2
2644vmovups ymm1, [eax]
2645vmovups ymm1, yword [eax]
2646vmovups [eax], ymm2
2647vmovups yword [eax], ymm2
2648
2649mpsadbw xmm1, xmm2, 5
2650mpsadbw xmm1, [eax], byte 5
2651mpsadbw xmm1, dqword [eax], 5
2652vmpsadbw xmm1, xmm2, 5
2653vmpsadbw xmm1, [eax], byte 5
2654vmpsadbw xmm1, dqword [eax], 5
2655vmpsadbw xmm1, xmm2, xmm3, 5
2656vmpsadbw xmm1, xmm2, [eax], byte 5
2657vmpsadbw xmm1, xmm2, dqword [eax], 5
2658
2659mulpd xmm1, xmm2
2660mulpd xmm1, [eax]
2661mulpd xmm1, dqword [eax]
2662vmulpd xmm1, xmm2
2663vmulpd xmm1, [eax]
2664vmulpd xmm1, dqword [eax]
2665vmulpd xmm1, xmm2, xmm3
2666vmulpd xmm1, xmm2, [eax]
2667vmulpd xmm1, xmm2, dqword [eax]
2668vmulpd ymm1, ymm2, ymm3
2669vmulpd ymm1, ymm2, [eax]
2670vmulpd ymm1, ymm2, yword [eax]
2671
2672mulps xmm1, xmm2
2673mulps xmm1, [eax]
2674mulps xmm1, dqword [eax]
2675vmulps xmm1, xmm2
2676vmulps xmm1, [eax]
2677vmulps xmm1, dqword [eax]
2678vmulps xmm1, xmm2, xmm3
2679vmulps xmm1, xmm2, [eax]
2680vmulps xmm1, xmm2, dqword [eax]
2681vmulps ymm1, ymm2, ymm3
2682vmulps ymm1, ymm2, [eax]
2683vmulps ymm1, ymm2, yword [eax]
2684
2685mulsd xmm1, xmm2
2686mulsd xmm1, [eax]
2687mulsd xmm1, qword [eax]
2688vmulsd xmm1, xmm2
2689vmulsd xmm1, [eax]
2690vmulsd xmm1, qword [eax]
2691vmulsd xmm1, xmm2, xmm3
2692vmulsd xmm1, xmm2, [eax]
2693vmulsd xmm1, xmm2, qword [eax]
2694
2695mulss xmm1, xmm2
2696mulss xmm1, [eax]
2697mulss xmm1, dword [eax]
2698vmulss xmm1, xmm2
2699vmulss xmm1, [eax]
2700vmulss xmm1, dword [eax]
2701vmulss xmm1, xmm2, xmm3
2702vmulss xmm1, xmm2, [eax]
2703vmulss xmm1, xmm2, dword [eax]
2704
2705orpd xmm1, xmm2
2706orpd xmm1, [eax]
2707orpd xmm1, dqword [eax]
2708vorpd xmm1, xmm2
2709vorpd xmm1, [eax]
2710vorpd xmm1, dqword [eax]
2711vorpd xmm1, xmm2, xmm3
2712vorpd xmm1, xmm2, [eax]
2713vorpd xmm1, xmm2, dqword [eax]
2714vorpd ymm1, ymm2, ymm3
2715vorpd ymm1, ymm2, [eax]
2716vorpd ymm1, ymm2, yword [eax]
2717
2718orps xmm1, xmm2
2719orps xmm1, [eax]
2720orps xmm1, dqword [eax]
2721vorps xmm1, xmm2
2722vorps xmm1, [eax]
2723vorps xmm1, dqword [eax]
2724vorps xmm1, xmm2, xmm3
2725vorps xmm1, xmm2, [eax]
2726vorps xmm1, xmm2, dqword [eax]
2727vorps ymm1, ymm2, ymm3
2728vorps ymm1, ymm2, [eax]
2729vorps ymm1, ymm2, yword [eax]
2730
2731pabsb xmm1, xmm2
2732pabsb xmm1, [eax]
2733pabsb xmm1, dqword [eax]
2734vpabsb xmm1, xmm2
2735vpabsb xmm1, [eax]
2736vpabsb xmm1, dqword [eax]
2737
2738pabsw xmm1, xmm2
2739pabsw xmm1, [eax]
2740pabsw xmm1, dqword [eax]
2741vpabsw xmm1, xmm2
2742vpabsw xmm1, [eax]
2743vpabsw xmm1, dqword [eax]
2744
2745pabsd xmm1, xmm2
2746pabsd xmm1, [eax]
2747pabsd xmm1, dqword [eax]
2748vpabsd xmm1, xmm2
2749vpabsd xmm1, [eax]
2750vpabsd xmm1, dqword [eax]
2751
2752packsswb xmm1, xmm2
2753packsswb xmm1, [eax]
2754packsswb xmm1, dqword [eax]
2755vpacksswb xmm1, xmm2
2756vpacksswb xmm1, [eax]
2757vpacksswb xmm1, dqword [eax]
2758vpacksswb xmm1, xmm2, xmm3
2759vpacksswb xmm1, xmm2, [eax]
2760vpacksswb xmm1, xmm2, dqword [eax]
2761
2762packssdw xmm1, xmm2
2763packssdw xmm1, [eax]
2764packssdw xmm1, dqword [eax]
2765vpackssdw xmm1, xmm2
2766vpackssdw xmm1, [eax]
2767vpackssdw xmm1, dqword [eax]
2768vpackssdw xmm1, xmm2, xmm3
2769vpackssdw xmm1, xmm2, [eax]
2770vpackssdw xmm1, xmm2, dqword [eax]
2771
2772packuswb xmm1, xmm2
2773packuswb xmm1, [eax]
2774packuswb xmm1, dqword [eax]
2775vpackuswb xmm1, xmm2
2776vpackuswb xmm1, [eax]
2777vpackuswb xmm1, dqword [eax]
2778vpackuswb xmm1, xmm2, xmm3
2779vpackuswb xmm1, xmm2, [eax]
2780vpackuswb xmm1, xmm2, dqword [eax]
2781
2782packusdw xmm1, xmm2
2783packusdw xmm1, [eax]
2784packusdw xmm1, dqword [eax]
2785vpackusdw xmm1, xmm2
2786vpackusdw xmm1, [eax]
2787vpackusdw xmm1, dqword [eax]
2788vpackusdw xmm1, xmm2, xmm3
2789vpackusdw xmm1, xmm2, [eax]
2790vpackusdw xmm1, xmm2, dqword [eax]
2791
2792paddb xmm1, xmm2
2793paddb xmm1, [eax]
2794paddb xmm1, dqword [eax]
2795vpaddb xmm1, xmm2
2796vpaddb xmm1, [eax]
2797vpaddb xmm1, dqword [eax]
2798vpaddb xmm1, xmm2, xmm3
2799vpaddb xmm1, xmm2, [eax]
2800vpaddb xmm1, xmm2, dqword [eax]
2801
2802paddw xmm1, xmm2
2803paddw xmm1, [eax]
2804paddw xmm1, dqword [eax]
2805vpaddw xmm1, xmm2
2806vpaddw xmm1, [eax]
2807vpaddw xmm1, dqword [eax]
2808vpaddw xmm1, xmm2, xmm3
2809vpaddw xmm1, xmm2, [eax]
2810vpaddw xmm1, xmm2, dqword [eax]
2811
2812paddd xmm1, xmm2
2813paddd xmm1, [eax]
2814paddd xmm1, dqword [eax]
2815vpaddd xmm1, xmm2
2816vpaddd xmm1, [eax]
2817vpaddd xmm1, dqword [eax]
2818vpaddd xmm1, xmm2, xmm3
2819vpaddd xmm1, xmm2, [eax]
2820vpaddd xmm1, xmm2, dqword [eax]
2821
2822paddq xmm1, xmm2
2823paddq xmm1, [eax]
2824paddq xmm1, dqword [eax]
2825vpaddq xmm1, xmm2
2826vpaddq xmm1, [eax]
2827vpaddq xmm1, dqword [eax]
2828vpaddq xmm1, xmm2, xmm3
2829vpaddq xmm1, xmm2, [eax]
2830vpaddq xmm1, xmm2, dqword [eax]
2831
2832paddsb xmm1, xmm2
2833paddsb xmm1, [eax]
2834paddsb xmm1, dqword [eax]
2835vpaddsb xmm1, xmm2
2836vpaddsb xmm1, [eax]
2837vpaddsb xmm1, dqword [eax]
2838vpaddsb xmm1, xmm2, xmm3
2839vpaddsb xmm1, xmm2, [eax]
2840vpaddsb xmm1, xmm2, dqword [eax]
2841
2842paddsw xmm1, xmm2
2843paddsw xmm1, [eax]
2844paddsw xmm1, dqword [eax]
2845vpaddsw xmm1, xmm2
2846vpaddsw xmm1, [eax]
2847vpaddsw xmm1, dqword [eax]
2848vpaddsw xmm1, xmm2, xmm3
2849vpaddsw xmm1, xmm2, [eax]
2850vpaddsw xmm1, xmm2, dqword [eax]
2851
2852paddusb xmm1, xmm2
2853paddusb xmm1, [eax]
2854paddusb xmm1, dqword [eax]
2855vpaddusb xmm1, xmm2
2856vpaddusb xmm1, [eax]
2857vpaddusb xmm1, dqword [eax]
2858vpaddusb xmm1, xmm2, xmm3
2859vpaddusb xmm1, xmm2, [eax]
2860vpaddusb xmm1, xmm2, dqword [eax]
2861
2862paddusw xmm1, xmm2
2863paddusw xmm1, [eax]
2864paddusw xmm1, dqword [eax]
2865vpaddusw xmm1, xmm2
2866vpaddusw xmm1, [eax]
2867vpaddusw xmm1, dqword [eax]
2868vpaddusw xmm1, xmm2, xmm3
2869vpaddusw xmm1, xmm2, [eax]
2870vpaddusw xmm1, xmm2, dqword [eax]
2871
2872palignr xmm1, xmm2, 5
2873palignr xmm1, [eax], byte 5
2874palignr xmm1, dqword [eax], 5
2875vpalignr xmm1, xmm2, 5
2876vpalignr xmm1, [eax], byte 5
2877vpalignr xmm1, dqword [eax], 5
2878vpalignr xmm1, xmm2, xmm3, 5
2879vpalignr xmm1, xmm2, [eax], byte 5
2880vpalignr xmm1, xmm2, dqword [eax], 5
2881
2882pand xmm1, xmm2
2883pand xmm1, [eax]
2884pand xmm1, dqword [eax]
2885vpand xmm1, xmm2
2886vpand xmm1, [eax]
2887vpand xmm1, dqword [eax]
2888vpand xmm1, xmm2, xmm3
2889vpand xmm1, xmm2, [eax]
2890vpand xmm1, xmm2, dqword [eax]
2891
2892pandn xmm1, xmm2
2893pandn xmm1, [eax]
2894pandn xmm1, dqword [eax]
2895vpandn xmm1, xmm2
2896vpandn xmm1, [eax]
2897vpandn xmm1, dqword [eax]
2898vpandn xmm1, xmm2, xmm3
2899vpandn xmm1, xmm2, [eax]
2900vpandn xmm1, xmm2, dqword [eax]
2901
2902pavgb xmm1, xmm2
2903pavgb xmm1, [eax]
2904pavgb xmm1, dqword [eax]
2905vpavgb xmm1, xmm2
2906vpavgb xmm1, [eax]
2907vpavgb xmm1, dqword [eax]
2908vpavgb xmm1, xmm2, xmm3
2909vpavgb xmm1, xmm2, [eax]
2910vpavgb xmm1, xmm2, dqword [eax]
2911
2912pavgw xmm1, xmm2
2913pavgw xmm1, [eax]
2914pavgw xmm1, dqword [eax]
2915vpavgw xmm1, xmm2
2916vpavgw xmm1, [eax]
2917vpavgw xmm1, dqword [eax]
2918vpavgw xmm1, xmm2, xmm3
2919vpavgw xmm1, xmm2, [eax]
2920vpavgw xmm1, xmm2, dqword [eax]
2921
2922; implicit XMM0 cannot be VEX encoded
2923pblendvb xmm1, xmm2
2924pblendvb xmm1, [eax]
2925pblendvb xmm1, dqword [eax]
2926pblendvb xmm1, xmm2, xmm0
2927pblendvb xmm1, [eax], xmm0
2928pblendvb xmm1, dqword [eax], xmm0
2929vpblendvb xmm1, xmm2, xmm3, xmm4
2930vpblendvb xmm1, xmm2, [eax], xmm4
2931vpblendvb xmm1, xmm2, dqword [eax], xmm4
2932
2933pblendw xmm1, xmm2, 5
2934pblendw xmm1, [eax], byte 5
2935pblendw xmm1, dqword [eax], 5
2936vpblendw xmm1, xmm2, 5
2937vpblendw xmm1, [eax], byte 5
2938vpblendw xmm1, dqword [eax], 5
2939vpblendw xmm1, xmm2, xmm3, 5
2940vpblendw xmm1, xmm2, [eax], byte 5
2941vpblendw xmm1, xmm2, dqword [eax], 5
2942
2943pcmpestri xmm1, xmm2, 5
2944pcmpestri xmm1, [eax], byte 5
2945pcmpestri xmm1, dqword [eax], 5
2946vpcmpestri xmm1, xmm2, 5
2947vpcmpestri xmm1, [eax], byte 5
2948vpcmpestri xmm1, dqword [eax], 5
2949
2950pcmpestrm xmm1, xmm2, 5
2951pcmpestrm xmm1, [eax], byte 5
2952pcmpestrm xmm1, dqword [eax], 5
2953vpcmpestrm xmm1, xmm2, 5
2954vpcmpestrm xmm1, [eax], byte 5
2955vpcmpestrm xmm1, dqword [eax], 5
2956
2957pcmpistri xmm1, xmm2, 5
2958pcmpistri xmm1, [eax], byte 5
2959pcmpistri xmm1, dqword [eax], 5
2960vpcmpistri xmm1, xmm2, 5
2961vpcmpistri xmm1, [eax], byte 5
2962vpcmpistri xmm1, dqword [eax], 5
2963
2964pcmpistrm xmm1, xmm2, 5
2965pcmpistrm xmm1, [eax], byte 5
2966pcmpistrm xmm1, dqword [eax], 5
2967vpcmpistrm xmm1, xmm2, 5
2968vpcmpistrm xmm1, [eax], byte 5
2969vpcmpistrm xmm1, dqword [eax], 5
2970
2971pcmpeqb xmm1, xmm2
2972pcmpeqb xmm1, [eax]
2973pcmpeqb xmm1, dqword [eax]
2974vpcmpeqb xmm1, xmm2
2975vpcmpeqb xmm1, [eax]
2976vpcmpeqb xmm1, dqword [eax]
2977vpcmpeqb xmm1, xmm2, xmm3
2978vpcmpeqb xmm1, xmm2, [eax]
2979vpcmpeqb xmm1, xmm2, dqword [eax]
2980
2981pcmpeqw xmm1, xmm2
2982pcmpeqw xmm1, [eax]
2983pcmpeqw xmm1, dqword [eax]
2984vpcmpeqw xmm1, xmm2
2985vpcmpeqw xmm1, [eax]
2986vpcmpeqw xmm1, dqword [eax]
2987vpcmpeqw xmm1, xmm2, xmm3
2988vpcmpeqw xmm1, xmm2, [eax]
2989vpcmpeqw xmm1, xmm2, dqword [eax]
2990
2991pcmpeqd xmm1, xmm2
2992pcmpeqd xmm1, [eax]
2993pcmpeqd xmm1, dqword [eax]
2994vpcmpeqd xmm1, xmm2
2995vpcmpeqd xmm1, [eax]
2996vpcmpeqd xmm1, dqword [eax]
2997vpcmpeqd xmm1, xmm2, xmm3
2998vpcmpeqd xmm1, xmm2, [eax]
2999vpcmpeqd xmm1, xmm2, dqword [eax]
3000
3001pcmpeqq xmm1, xmm2
3002pcmpeqq xmm1, [eax]
3003pcmpeqq xmm1, dqword [eax]
3004vpcmpeqq xmm1, xmm2
3005vpcmpeqq xmm1, [eax]
3006vpcmpeqq xmm1, dqword [eax]
3007vpcmpeqq xmm1, xmm2, xmm3
3008vpcmpeqq xmm1, xmm2, [eax]
3009vpcmpeqq xmm1, xmm2, dqword [eax]
3010
3011pcmpgtb xmm1, xmm2
3012pcmpgtb xmm1, [eax]
3013pcmpgtb xmm1, dqword [eax]
3014vpcmpgtb xmm1, xmm2
3015vpcmpgtb xmm1, [eax]
3016vpcmpgtb xmm1, dqword [eax]
3017vpcmpgtb xmm1, xmm2, xmm3
3018vpcmpgtb xmm1, xmm2, [eax]
3019vpcmpgtb xmm1, xmm2, dqword [eax]
3020
3021pcmpgtw xmm1, xmm2
3022pcmpgtw xmm1, [eax]
3023pcmpgtw xmm1, dqword [eax]
3024vpcmpgtw xmm1, xmm2
3025vpcmpgtw xmm1, [eax]
3026vpcmpgtw xmm1, dqword [eax]
3027vpcmpgtw xmm1, xmm2, xmm3
3028vpcmpgtw xmm1, xmm2, [eax]
3029vpcmpgtw xmm1, xmm2, dqword [eax]
3030
3031pcmpgtd xmm1, xmm2
3032pcmpgtd xmm1, [eax]
3033pcmpgtd xmm1, dqword [eax]
3034vpcmpgtd xmm1, xmm2
3035vpcmpgtd xmm1, [eax]
3036vpcmpgtd xmm1, dqword [eax]
3037vpcmpgtd xmm1, xmm2, xmm3
3038vpcmpgtd xmm1, xmm2, [eax]
3039vpcmpgtd xmm1, xmm2, dqword [eax]
3040
3041pcmpgtq xmm1, xmm2
3042pcmpgtq xmm1, [eax]
3043pcmpgtq xmm1, dqword [eax]
3044vpcmpgtq xmm1, xmm2
3045vpcmpgtq xmm1, [eax]
3046vpcmpgtq xmm1, dqword [eax]
3047vpcmpgtq xmm1, xmm2, xmm3
3048vpcmpgtq xmm1, xmm2, [eax]
3049vpcmpgtq xmm1, xmm2, dqword [eax]
3050
3051vpermilpd xmm1, xmm2, xmm3
3052vpermilpd xmm1, xmm2, [eax]
3053vpermilpd xmm1, xmm2, dqword [eax]
3054vpermilpd ymm1, ymm2, ymm3
3055vpermilpd ymm1, ymm2, [eax]
3056vpermilpd ymm1, ymm2, yword [eax]
3057vpermilpd xmm1, [eax], byte 5
3058vpermilpd xmm1, dqword [eax], 5
3059vpermilpd ymm1, [eax], byte 5
3060vpermilpd ymm1, yword [eax], 5
3061
3062vpermilps xmm1, xmm2, xmm3
3063vpermilps xmm1, xmm2, [eax]
3064vpermilps xmm1, xmm2, dqword [eax]
3065vpermilps ymm1, ymm2, ymm3
3066vpermilps ymm1, ymm2, [eax]
3067vpermilps ymm1, ymm2, yword [eax]
3068vpermilps xmm1, [eax], byte 5
3069vpermilps xmm1, dqword [eax], 5
3070vpermilps ymm1, [eax], byte 5
3071vpermilps ymm1, yword [eax], 5
3072
3073vperm2f128 ymm1, ymm2, ymm3, 5
3074vperm2f128 ymm1, ymm2, [eax], byte 5
3075vperm2f128 ymm1, ymm2, yword [eax], 5
3076
3077pextrb eax, xmm2, 5
3078pextrb eax, xmm2, byte 5
3079pextrb eax, xmm2, 5
3080pextrb eax, xmm2, byte 5
3081pextrb byte [eax], xmm2, 5
3082pextrb [eax], xmm2, byte 5
3083vpextrb eax, xmm2, 5
3084vpextrb eax, xmm2, byte 5
3085vpextrb eax, xmm2, 5
3086vpextrb eax, xmm2, byte 5
3087vpextrb byte [eax], xmm2, 5
3088vpextrb [eax], xmm2, byte 5
3089
3090pextrw eax, xmm2, 5
3091pextrw eax, xmm2, byte 5
3092pextrw eax, xmm2, 5
3093pextrw eax, xmm2, byte 5
3094pextrw word [eax], xmm2, 5
3095pextrw [eax], xmm2, byte 5
3096vpextrw eax, xmm2, 5
3097vpextrw eax, xmm2, byte 5
3098vpextrw eax, xmm2, 5
3099vpextrw eax, xmm2, byte 5
3100vpextrw word [eax], xmm2, 5
3101vpextrw [eax], xmm2, byte 5
3102
3103pextrd eax, xmm2, 5
3104pextrd eax, xmm2, byte 5
3105pextrd dword [eax], xmm2, 5
3106pextrd [eax], xmm2, byte 5
3107vpextrd eax, xmm2, 5
3108vpextrd eax, xmm2, byte 5
3109vpextrd dword [eax], xmm2, 5
3110vpextrd [eax], xmm2, byte 5
3111
3112pextrd eax, xmm2, 5
3113pextrd eax, xmm2, byte 5
3114pextrd dword [eax], xmm2, 5
3115pextrd [eax], xmm2, byte 5
3116vpextrd eax, xmm2, 5
3117vpextrd dword [eax], xmm2, 5
3118vpextrd [eax], xmm2, byte 5
3119
3120phaddw xmm1, xmm2
3121phaddw xmm1, [eax]
3122phaddw xmm1, dqword [eax]
3123vphaddw xmm1, xmm2
3124vphaddw xmm1, [eax]
3125vphaddw xmm1, dqword [eax]
3126vphaddw xmm1, xmm2, xmm3
3127vphaddw xmm1, xmm2, [eax]
3128vphaddw xmm1, xmm2, dqword [eax]
3129
3130phaddd xmm1, xmm2
3131phaddd xmm1, [eax]
3132phaddd xmm1, dqword [eax]
3133vphaddd xmm1, xmm2
3134vphaddd xmm1, [eax]
3135vphaddd xmm1, dqword [eax]
3136vphaddd xmm1, xmm2, xmm3
3137vphaddd xmm1, xmm2, [eax]
3138vphaddd xmm1, xmm2, dqword [eax]
3139
3140phaddsw xmm1, xmm2
3141phaddsw xmm1, [eax]
3142phaddsw xmm1, dqword [eax]
3143vphaddsw xmm1, xmm2
3144vphaddsw xmm1, [eax]
3145vphaddsw xmm1, dqword [eax]
3146vphaddsw xmm1, xmm2, xmm3
3147vphaddsw xmm1, xmm2, [eax]
3148vphaddsw xmm1, xmm2, dqword [eax]
3149
3150phminposuw xmm1, xmm2
3151phminposuw xmm1, [eax]
3152phminposuw xmm1, dqword [eax]
3153vphminposuw xmm1, xmm2
3154vphminposuw xmm1, [eax]
3155vphminposuw xmm1, dqword [eax]
3156
3157phsubw xmm1, xmm2
3158phsubw xmm1, [eax]
3159phsubw xmm1, dqword [eax]
3160vphsubw xmm1, xmm2
3161vphsubw xmm1, [eax]
3162vphsubw xmm1, dqword [eax]
3163vphsubw xmm1, xmm2, xmm3
3164vphsubw xmm1, xmm2, [eax]
3165vphsubw xmm1, xmm2, dqword [eax]
3166
3167phsubd xmm1, xmm2
3168phsubd xmm1, [eax]
3169phsubd xmm1, dqword [eax]
3170vphsubd xmm1, xmm2
3171vphsubd xmm1, [eax]
3172vphsubd xmm1, dqword [eax]
3173vphsubd xmm1, xmm2, xmm3
3174vphsubd xmm1, xmm2, [eax]
3175vphsubd xmm1, xmm2, dqword [eax]
3176
3177phsubsw xmm1, xmm2
3178phsubsw xmm1, [eax]
3179phsubsw xmm1, dqword [eax]
3180vphsubsw xmm1, xmm2
3181vphsubsw xmm1, [eax]
3182vphsubsw xmm1, dqword [eax]
3183vphsubsw xmm1, xmm2, xmm3
3184vphsubsw xmm1, xmm2, [eax]
3185vphsubsw xmm1, xmm2, dqword [eax]
3186
3187pinsrb xmm1, eax, 5
3188pinsrb xmm1, byte [eax], 5
3189pinsrb xmm1, [eax], byte 5
3190vpinsrb xmm1, eax, 5
3191vpinsrb xmm1, byte [eax], 5
3192vpinsrb xmm1, [eax], byte 5
3193vpinsrb xmm1, xmm2, eax, 5
3194vpinsrb xmm1, xmm2, byte [eax], 5
3195vpinsrb xmm1, xmm2, [eax], byte 5
3196
3197pinsrw xmm1, eax, 5
3198pinsrw xmm1, word [eax], 5
3199pinsrw xmm1, [eax], byte 5
3200vpinsrw xmm1, eax, 5
3201vpinsrw xmm1, word [eax], 5
3202vpinsrw xmm1, [eax], byte 5
3203vpinsrw xmm1, xmm2, eax, 5
3204vpinsrw xmm1, xmm2, word [eax], 5
3205vpinsrw xmm1, xmm2, [eax], byte 5
3206
3207pinsrd xmm1, eax, 5
3208pinsrd xmm1, dword [eax], 5
3209pinsrd xmm1, [eax], byte 5
3210vpinsrd xmm1, eax, 5
3211vpinsrd xmm1, dword [eax], 5
3212vpinsrd xmm1, [eax], byte 5
3213vpinsrd xmm1, xmm2, eax, 5
3214vpinsrd xmm1, xmm2, dword [eax], 5
3215vpinsrd xmm1, xmm2, [eax], byte 5
3216
3217pinsrd xmm1, eax, 5
3218pinsrd xmm1, dword [eax], 5
3219pinsrd xmm1, [eax], byte 5
3220vpinsrd xmm1, eax, 5
3221vpinsrd xmm1, dword [eax], 5
3222vpinsrd xmm1, [eax], byte 5
3223vpinsrd xmm1, xmm2, eax, 5
3224vpinsrd xmm1, xmm2, dword [eax], 5
3225vpinsrd xmm1, xmm2, [eax], byte 5
3226
3227pmaddwd xmm1, xmm2
3228pmaddwd xmm1, [eax]
3229pmaddwd xmm1, dqword [eax]
3230vpmaddwd xmm1, xmm2
3231vpmaddwd xmm1, [eax]
3232vpmaddwd xmm1, dqword [eax]
3233vpmaddwd xmm1, xmm2, xmm3
3234vpmaddwd xmm1, xmm2, [eax]
3235vpmaddwd xmm1, xmm2, dqword [eax]
3236
3237pmaddubsw xmm1, xmm2
3238pmaddubsw xmm1, [eax]
3239pmaddubsw xmm1, dqword [eax]
3240vpmaddubsw xmm1, xmm2
3241vpmaddubsw xmm1, [eax]
3242vpmaddubsw xmm1, dqword [eax]
3243vpmaddubsw xmm1, xmm2, xmm3
3244vpmaddubsw xmm1, xmm2, [eax]
3245vpmaddubsw xmm1, xmm2, dqword [eax]
3246
3247pmaxsb xmm1, xmm2
3248pmaxsb xmm1, [eax]
3249pmaxsb xmm1, dqword [eax]
3250vpmaxsb xmm1, xmm2
3251vpmaxsb xmm1, [eax]
3252vpmaxsb xmm1, dqword [eax]
3253vpmaxsb xmm1, xmm2, xmm3
3254vpmaxsb xmm1, xmm2, [eax]
3255vpmaxsb xmm1, xmm2, dqword [eax]
3256
3257pmaxsw xmm1, xmm2
3258pmaxsw xmm1, [eax]
3259pmaxsw xmm1, dqword [eax]
3260vpmaxsw xmm1, xmm2
3261vpmaxsw xmm1, [eax]
3262vpmaxsw xmm1, dqword [eax]
3263vpmaxsw xmm1, xmm2, xmm3
3264vpmaxsw xmm1, xmm2, [eax]
3265vpmaxsw xmm1, xmm2, dqword [eax]
3266
3267pmaxsd xmm1, xmm2
3268pmaxsd xmm1, [eax]
3269pmaxsd xmm1, dqword [eax]
3270vpmaxsd xmm1, xmm2
3271vpmaxsd xmm1, [eax]
3272vpmaxsd xmm1, dqword [eax]
3273vpmaxsd xmm1, xmm2, xmm3
3274vpmaxsd xmm1, xmm2, [eax]
3275vpmaxsd xmm1, xmm2, dqword [eax]
3276
3277pmaxub xmm1, xmm2
3278pmaxub xmm1, [eax]
3279pmaxub xmm1, dqword [eax]
3280vpmaxub xmm1, xmm2
3281vpmaxub xmm1, [eax]
3282vpmaxub xmm1, dqword [eax]
3283vpmaxub xmm1, xmm2, xmm3
3284vpmaxub xmm1, xmm2, [eax]
3285vpmaxub xmm1, xmm2, dqword [eax]
3286
3287pmaxuw xmm1, xmm2
3288pmaxuw xmm1, [eax]
3289pmaxuw xmm1, dqword [eax]
3290vpmaxuw xmm1, xmm2
3291vpmaxuw xmm1, [eax]
3292vpmaxuw xmm1, dqword [eax]
3293vpmaxuw xmm1, xmm2, xmm3
3294vpmaxuw xmm1, xmm2, [eax]
3295vpmaxuw xmm1, xmm2, dqword [eax]
3296
3297pmaxud xmm1, xmm2
3298pmaxud xmm1, [eax]
3299pmaxud xmm1, dqword [eax]
3300vpmaxud xmm1, xmm2
3301vpmaxud xmm1, [eax]
3302vpmaxud xmm1, dqword [eax]
3303vpmaxud xmm1, xmm2, xmm3
3304vpmaxud xmm1, xmm2, [eax]
3305vpmaxud xmm1, xmm2, dqword [eax]
3306
3307pminsb xmm1, xmm2
3308pminsb xmm1, [eax]
3309pminsb xmm1, dqword [eax]
3310vpminsb xmm1, xmm2
3311vpminsb xmm1, [eax]
3312vpminsb xmm1, dqword [eax]
3313vpminsb xmm1, xmm2, xmm3
3314vpminsb xmm1, xmm2, [eax]
3315vpminsb xmm1, xmm2, dqword [eax]
3316
3317pminsw xmm1, xmm2
3318pminsw xmm1, [eax]
3319pminsw xmm1, dqword [eax]
3320vpminsw xmm1, xmm2
3321vpminsw xmm1, [eax]
3322vpminsw xmm1, dqword [eax]
3323vpminsw xmm1, xmm2, xmm3
3324vpminsw xmm1, xmm2, [eax]
3325vpminsw xmm1, xmm2, dqword [eax]
3326
3327pminsd xmm1, xmm2
3328pminsd xmm1, [eax]
3329pminsd xmm1, dqword [eax]
3330vpminsd xmm1, xmm2
3331vpminsd xmm1, [eax]
3332vpminsd xmm1, dqword [eax]
3333vpminsd xmm1, xmm2, xmm3
3334vpminsd xmm1, xmm2, [eax]
3335vpminsd xmm1, xmm2, dqword [eax]
3336
3337pminub xmm1, xmm2
3338pminub xmm1, [eax]
3339pminub xmm1, dqword [eax]
3340vpminub xmm1, xmm2
3341vpminub xmm1, [eax]
3342vpminub xmm1, dqword [eax]
3343vpminub xmm1, xmm2, xmm3
3344vpminub xmm1, xmm2, [eax]
3345vpminub xmm1, xmm2, dqword [eax]
3346
3347pminuw xmm1, xmm2
3348pminuw xmm1, [eax]
3349pminuw xmm1, dqword [eax]
3350vpminuw xmm1, xmm2
3351vpminuw xmm1, [eax]
3352vpminuw xmm1, dqword [eax]
3353vpminuw xmm1, xmm2, xmm3
3354vpminuw xmm1, xmm2, [eax]
3355vpminuw xmm1, xmm2, dqword [eax]
3356
3357pminud xmm1, xmm2
3358pminud xmm1, [eax]
3359pminud xmm1, dqword [eax]
3360vpminud xmm1, xmm2
3361vpminud xmm1, [eax]
3362vpminud xmm1, dqword [eax]
3363vpminud xmm1, xmm2, xmm3
3364vpminud xmm1, xmm2, [eax]
3365vpminud xmm1, xmm2, dqword [eax]
3366
3367pmovmskb eax, xmm1
3368pmovmskb eax, xmm1
3369vpmovmskb eax, xmm1
3370vpmovmskb eax, xmm1
3371
3372pmovsxbw xmm1, xmm2
3373pmovsxbw xmm1, [eax]
3374pmovsxbw xmm1, qword [eax]
3375vpmovsxbw xmm1, xmm2
3376vpmovsxbw xmm1, [eax]
3377vpmovsxbw xmm1, qword [eax]
3378
3379pmovsxbd xmm1, xmm2
3380pmovsxbd xmm1, [eax]
3381pmovsxbd xmm1, dword [eax]
3382vpmovsxbd xmm1, xmm2
3383vpmovsxbd xmm1, [eax]
3384vpmovsxbd xmm1, dword [eax]
3385
3386pmovsxbq xmm1, xmm2
3387pmovsxbq xmm1, [eax]
3388pmovsxbq xmm1, word [eax]
3389vpmovsxbq xmm1, xmm2
3390vpmovsxbq xmm1, [eax]
3391vpmovsxbq xmm1, word [eax]
3392
3393pmovsxwd xmm1, xmm2
3394pmovsxwd xmm1, [eax]
3395pmovsxwd xmm1, qword [eax]
3396vpmovsxwd xmm1, xmm2
3397vpmovsxwd xmm1, [eax]
3398vpmovsxwd xmm1, qword [eax]
3399
3400pmovsxwq xmm1, xmm2
3401pmovsxwq xmm1, [eax]
3402pmovsxwq xmm1, dword [eax]
3403vpmovsxwq xmm1, xmm2
3404vpmovsxwq xmm1, [eax]
3405vpmovsxwq xmm1, dword [eax]
3406
3407pmovsxdq xmm1, xmm2
3408pmovsxdq xmm1, [eax]
3409pmovsxdq xmm1, qword [eax]
3410vpmovsxdq xmm1, xmm2
3411vpmovsxdq xmm1, [eax]
3412vpmovsxdq xmm1, qword [eax]
3413
3414pmovzxbw xmm1, xmm2
3415pmovzxbw xmm1, [eax]
3416pmovzxbw xmm1, qword [eax]
3417vpmovzxbw xmm1, xmm2
3418vpmovzxbw xmm1, [eax]
3419vpmovzxbw xmm1, qword [eax]
3420
3421pmovzxbd xmm1, xmm2
3422pmovzxbd xmm1, [eax]
3423pmovzxbd xmm1, dword [eax]
3424vpmovzxbd xmm1, xmm2
3425vpmovzxbd xmm1, [eax]
3426vpmovzxbd xmm1, dword [eax]
3427
3428pmovzxbq xmm1, xmm2
3429pmovzxbq xmm1, [eax]
3430pmovzxbq xmm1, word [eax]
3431vpmovzxbq xmm1, xmm2
3432vpmovzxbq xmm1, [eax]
3433vpmovzxbq xmm1, word [eax]
3434
3435pmovzxwd xmm1, xmm2
3436pmovzxwd xmm1, [eax]
3437pmovzxwd xmm1, qword [eax]
3438vpmovzxwd xmm1, xmm2
3439vpmovzxwd xmm1, [eax]
3440vpmovzxwd xmm1, qword [eax]
3441
3442pmovzxwq xmm1, xmm2
3443pmovzxwq xmm1, [eax]
3444pmovzxwq xmm1, dword [eax]
3445vpmovzxwq xmm1, xmm2
3446vpmovzxwq xmm1, [eax]
3447vpmovzxwq xmm1, dword [eax]
3448
3449pmovzxdq xmm1, xmm2
3450pmovzxdq xmm1, [eax]
3451pmovzxdq xmm1, qword [eax]
3452vpmovzxdq xmm1, xmm2
3453vpmovzxdq xmm1, [eax]
3454vpmovzxdq xmm1, qword [eax]
3455
3456pmulhuw xmm1, xmm2
3457pmulhuw xmm1, [eax]
3458pmulhuw xmm1, dqword [eax]
3459vpmulhuw xmm1, xmm2
3460vpmulhuw xmm1, [eax]
3461vpmulhuw xmm1, dqword [eax]
3462vpmulhuw xmm1, xmm2, xmm3
3463vpmulhuw xmm1, xmm2, [eax]
3464vpmulhuw xmm1, xmm2, dqword [eax]
3465
3466pmulhrsw xmm1, xmm2
3467pmulhrsw xmm1, [eax]
3468pmulhrsw xmm1, dqword [eax]
3469vpmulhrsw xmm1, xmm2
3470vpmulhrsw xmm1, [eax]
3471vpmulhrsw xmm1, dqword [eax]
3472vpmulhrsw xmm1, xmm2, xmm3
3473vpmulhrsw xmm1, xmm2, [eax]
3474vpmulhrsw xmm1, xmm2, dqword [eax]
3475
3476pmulhw xmm1, xmm2
3477pmulhw xmm1, [eax]
3478pmulhw xmm1, dqword [eax]
3479vpmulhw xmm1, xmm2
3480vpmulhw xmm1, [eax]
3481vpmulhw xmm1, dqword [eax]
3482vpmulhw xmm1, xmm2, xmm3
3483vpmulhw xmm1, xmm2, [eax]
3484vpmulhw xmm1, xmm2, dqword [eax]
3485
3486pmullw xmm1, xmm2
3487pmullw xmm1, [eax]
3488pmullw xmm1, dqword [eax]
3489vpmullw xmm1, xmm2
3490vpmullw xmm1, [eax]
3491vpmullw xmm1, dqword [eax]
3492vpmullw xmm1, xmm2, xmm3
3493vpmullw xmm1, xmm2, [eax]
3494vpmullw xmm1, xmm2, dqword [eax]
3495
3496pmulld xmm1, xmm2
3497pmulld xmm1, [eax]
3498pmulld xmm1, dqword [eax]
3499vpmulld xmm1, xmm2
3500vpmulld xmm1, [eax]
3501vpmulld xmm1, dqword [eax]
3502vpmulld xmm1, xmm2, xmm3
3503vpmulld xmm1, xmm2, [eax]
3504vpmulld xmm1, xmm2, dqword [eax]
3505
3506pmuludq xmm1, xmm2
3507pmuludq xmm1, [eax]
3508pmuludq xmm1, dqword [eax]
3509vpmuludq xmm1, xmm2
3510vpmuludq xmm1, [eax]
3511vpmuludq xmm1, dqword [eax]
3512vpmuludq xmm1, xmm2, xmm3
3513vpmuludq xmm1, xmm2, [eax]
3514vpmuludq xmm1, xmm2, dqword [eax]
3515
3516pmuldq xmm1, xmm2
3517pmuldq xmm1, [eax]
3518pmuldq xmm1, dqword [eax]
3519vpmuldq xmm1, xmm2
3520vpmuldq xmm1, [eax]
3521vpmuldq xmm1, dqword [eax]
3522vpmuldq xmm1, xmm2, xmm3
3523vpmuldq xmm1, xmm2, [eax]
3524vpmuldq xmm1, xmm2, dqword [eax]
3525
3526por xmm1, xmm2
3527por xmm1, [eax]
3528por xmm1, dqword [eax]
3529vpor xmm1, xmm2
3530vpor xmm1, [eax]
3531vpor xmm1, dqword [eax]
3532vpor xmm1, xmm2, xmm3
3533vpor xmm1, xmm2, [eax]
3534vpor xmm1, xmm2, dqword [eax]
3535
3536psadbw xmm1, xmm2
3537psadbw xmm1, [eax]
3538psadbw xmm1, dqword [eax]
3539vpsadbw xmm1, xmm2
3540vpsadbw xmm1, [eax]
3541vpsadbw xmm1, dqword [eax]
3542vpsadbw xmm1, xmm2, xmm3
3543vpsadbw xmm1, xmm2, [eax]
3544vpsadbw xmm1, xmm2, dqword [eax]
3545
3546pshufb xmm1, xmm2
3547pshufb xmm1, [eax]
3548pshufb xmm1, dqword [eax]
3549vpshufb xmm1, xmm2
3550vpshufb xmm1, [eax]
3551vpshufb xmm1, dqword [eax]
3552vpshufb xmm1, xmm2, xmm3
3553vpshufb xmm1, xmm2, [eax]
3554vpshufb xmm1, xmm2, dqword [eax]
3555
3556pshufd xmm1, xmm2, 5
3557pshufd xmm1, [eax], byte 5
3558pshufd xmm1, dqword [eax], 5
3559vpshufd xmm1, xmm2, 5
3560vpshufd xmm1, [eax], byte 5
3561vpshufd xmm1, dqword [eax], 5
3562
3563pshufhw xmm1, xmm2, 5
3564pshufhw xmm1, [eax], byte 5
3565pshufhw xmm1, dqword [eax], 5
3566vpshufhw xmm1, xmm2, 5
3567vpshufhw xmm1, [eax], byte 5
3568vpshufhw xmm1, dqword [eax], 5
3569
3570pshuflw xmm1, xmm2, 5
3571pshuflw xmm1, [eax], byte 5
3572pshuflw xmm1, dqword [eax], 5
3573vpshuflw xmm1, xmm2, 5
3574vpshuflw xmm1, [eax], byte 5
3575vpshuflw xmm1, dqword [eax], 5
3576
3577psignb xmm1, xmm2
3578psignb xmm1, [eax]
3579psignb xmm1, dqword [eax]
3580vpsignb xmm1, xmm2
3581vpsignb xmm1, [eax]
3582vpsignb xmm1, dqword [eax]
3583vpsignb xmm1, xmm2, xmm3
3584vpsignb xmm1, xmm2, [eax]
3585vpsignb xmm1, xmm2, dqword [eax]
3586
3587psignw xmm1, xmm2
3588psignw xmm1, [eax]
3589psignw xmm1, dqword [eax]
3590vpsignw xmm1, xmm2
3591vpsignw xmm1, [eax]
3592vpsignw xmm1, dqword [eax]
3593vpsignw xmm1, xmm2, xmm3
3594vpsignw xmm1, xmm2, [eax]
3595vpsignw xmm1, xmm2, dqword [eax]
3596
3597psignd xmm1, xmm2
3598psignd xmm1, [eax]
3599psignd xmm1, dqword [eax]
3600vpsignd xmm1, xmm2
3601vpsignd xmm1, [eax]
3602vpsignd xmm1, dqword [eax]
3603vpsignd xmm1, xmm2, xmm3
3604vpsignd xmm1, xmm2, [eax]
3605vpsignd xmm1, xmm2, dqword [eax]
3606
3607; Test these with high regs as it goes into VEX.B (REX.B)
3608pslldq xmm7, 5
3609pslldq xmm7, byte 5
3610vpslldq xmm7, 5
3611vpslldq xmm7, byte 5
3612vpslldq xmm7, xmm6, 5
3613vpslldq xmm7, xmm6, byte 5
3614
3615pslldq xmm1, 5
3616pslldq xmm1, byte 5
3617vpslldq xmm1, 5
3618vpslldq xmm1, byte 5
3619vpslldq xmm1, xmm2, 5
3620vpslldq xmm1, xmm2, byte 5
3621
3622psrldq xmm1, 5
3623psrldq xmm1, byte 5
3624vpsrldq xmm1, 5
3625vpsrldq xmm1, byte 5
3626vpsrldq xmm1, xmm2, 5
3627vpsrldq xmm1, xmm2, byte 5
3628
3629psllw xmm1, xmm2
3630psllw xmm1, [eax]
3631psllw xmm1, dqword [eax]
3632vpsllw xmm1, xmm2
3633vpsllw xmm1, [eax]
3634vpsllw xmm1, dqword [eax]
3635vpsllw xmm1, xmm2, xmm3
3636vpsllw xmm1, xmm2, [eax]
3637vpsllw xmm1, xmm2, dqword [eax]
3638psllw xmm1, 5
3639psllw xmm1, byte 5
3640vpsllw xmm1, 5
3641vpsllw xmm1, byte 5
3642vpsllw xmm1, xmm2, 5
3643vpsllw xmm1, xmm2, byte 5
3644
3645pslld xmm1, xmm2
3646pslld xmm1, [eax]
3647pslld xmm1, dqword [eax]
3648vpslld xmm1, xmm2
3649vpslld xmm1, [eax]
3650vpslld xmm1, dqword [eax]
3651vpslld xmm1, xmm2, xmm3
3652vpslld xmm1, xmm2, [eax]
3653vpslld xmm1, xmm2, dqword [eax]
3654pslld xmm1, 5
3655pslld xmm1, byte 5
3656vpslld xmm1, 5
3657vpslld xmm1, byte 5
3658vpslld xmm1, xmm2, 5
3659vpslld xmm1, xmm2, byte 5
3660
3661psllq xmm1, xmm2
3662psllq xmm1, [eax]
3663psllq xmm1, dqword [eax]
3664vpsllq xmm1, xmm2
3665vpsllq xmm1, [eax]
3666vpsllq xmm1, dqword [eax]
3667vpsllq xmm1, xmm2, xmm3
3668vpsllq xmm1, xmm2, [eax]
3669vpsllq xmm1, xmm2, dqword [eax]
3670psllq xmm1, 5
3671psllq xmm1, byte 5
3672vpsllq xmm1, 5
3673vpsllq xmm1, byte 5
3674vpsllq xmm1, xmm2, 5
3675vpsllq xmm1, xmm2, byte 5
3676
3677psraw xmm1, xmm2
3678psraw xmm1, [eax]
3679psraw xmm1, dqword [eax]
3680vpsraw xmm1, xmm2
3681vpsraw xmm1, [eax]
3682vpsraw xmm1, dqword [eax]
3683vpsraw xmm1, xmm2, xmm3
3684vpsraw xmm1, xmm2, [eax]
3685vpsraw xmm1, xmm2, dqword [eax]
3686psraw xmm1, 5
3687psraw xmm1, byte 5
3688vpsraw xmm1, 5
3689vpsraw xmm1, byte 5
3690vpsraw xmm1, xmm2, 5
3691vpsraw xmm1, xmm2, byte 5
3692
3693psrad xmm1, xmm2
3694psrad xmm1, [eax]
3695psrad xmm1, dqword [eax]
3696vpsrad xmm1, xmm2
3697vpsrad xmm1, [eax]
3698vpsrad xmm1, dqword [eax]
3699vpsrad xmm1, xmm2, xmm3
3700vpsrad xmm1, xmm2, [eax]
3701vpsrad xmm1, xmm2, dqword [eax]
3702psrad xmm1, 5
3703psrad xmm1, byte 5
3704vpsrad xmm1, 5
3705vpsrad xmm1, byte 5
3706vpsrad xmm1, xmm2, 5
3707vpsrad xmm1, xmm2, byte 5
3708
3709psrlw xmm1, xmm2
3710psrlw xmm1, [eax]
3711psrlw xmm1, dqword [eax]
3712vpsrlw xmm1, xmm2
3713vpsrlw xmm1, [eax]
3714vpsrlw xmm1, dqword [eax]
3715vpsrlw xmm1, xmm2, xmm3
3716vpsrlw xmm1, xmm2, [eax]
3717vpsrlw xmm1, xmm2, dqword [eax]
3718psrlw xmm1, 5
3719psrlw xmm1, byte 5
3720vpsrlw xmm1, 5
3721vpsrlw xmm1, byte 5
3722vpsrlw xmm1, xmm2, 5
3723vpsrlw xmm1, xmm2, byte 5
3724
3725psrld xmm1, xmm2
3726psrld xmm1, [eax]
3727psrld xmm1, dqword [eax]
3728vpsrld xmm1, xmm2
3729vpsrld xmm1, [eax]
3730vpsrld xmm1, dqword [eax]
3731vpsrld xmm1, xmm2, xmm3
3732vpsrld xmm1, xmm2, [eax]
3733vpsrld xmm1, xmm2, dqword [eax]
3734psrld xmm1, 5
3735psrld xmm1, byte 5
3736vpsrld xmm1, 5
3737vpsrld xmm1, byte 5
3738vpsrld xmm1, xmm2, 5
3739vpsrld xmm1, xmm2, byte 5
3740
3741psrlq xmm1, xmm2
3742psrlq xmm1, [eax]
3743psrlq xmm1, dqword [eax]
3744vpsrlq xmm1, xmm2
3745vpsrlq xmm1, [eax]
3746vpsrlq xmm1, dqword [eax]
3747vpsrlq xmm1, xmm2, xmm3
3748vpsrlq xmm1, xmm2, [eax]
3749vpsrlq xmm1, xmm2, dqword [eax]
3750psrlq xmm1, 5
3751psrlq xmm1, byte 5
3752vpsrlq xmm1, 5
3753vpsrlq xmm1, byte 5
3754vpsrlq xmm1, xmm2, 5
3755vpsrlq xmm1, xmm2, byte 5
3756
3757ptest xmm1, xmm2
3758ptest xmm1, [eax]
3759ptest xmm1, dqword [eax]
3760vptest xmm1, xmm2
3761vptest xmm1, [eax]
3762vptest xmm1, dqword [eax]
3763vptest ymm1, ymm2
3764vptest ymm1, [eax]
3765vptest ymm1, yword [eax]
3766
3767vtestps xmm1, xmm2
3768vtestps xmm1, [eax]
3769vtestps xmm1, dqword [eax]
3770vtestps ymm1, ymm2
3771vtestps ymm1, [eax]
3772vtestps ymm1, yword [eax]
3773
3774vtestpd xmm1, xmm2
3775vtestpd xmm1, [eax]
3776vtestpd xmm1, dqword [eax]
3777vtestpd ymm1, ymm2
3778vtestpd ymm1, [eax]
3779vtestpd ymm1, yword [eax]
3780
3781psubb xmm1, xmm2
3782psubb xmm1, [eax]
3783psubb xmm1, dqword [eax]
3784vpsubb xmm1, xmm2
3785vpsubb xmm1, [eax]
3786vpsubb xmm1, dqword [eax]
3787vpsubb xmm1, xmm2, xmm3
3788vpsubb xmm1, xmm2, [eax]
3789vpsubb xmm1, xmm2, dqword [eax]
3790
3791psubw xmm1, xmm2
3792psubw xmm1, [eax]
3793psubw xmm1, dqword [eax]
3794vpsubw xmm1, xmm2
3795vpsubw xmm1, [eax]
3796vpsubw xmm1, dqword [eax]
3797vpsubw xmm1, xmm2, xmm3
3798vpsubw xmm1, xmm2, [eax]
3799vpsubw xmm1, xmm2, dqword [eax]
3800
3801psubd xmm1, xmm2
3802psubd xmm1, [eax]
3803psubd xmm1, dqword [eax]
3804vpsubd xmm1, xmm2
3805vpsubd xmm1, [eax]
3806vpsubd xmm1, dqword [eax]
3807vpsubd xmm1, xmm2, xmm3
3808vpsubd xmm1, xmm2, [eax]
3809vpsubd xmm1, xmm2, dqword [eax]
3810
3811psubq xmm1, xmm2
3812psubq xmm1, [eax]
3813psubq xmm1, dqword [eax]
3814vpsubq xmm1, xmm2
3815vpsubq xmm1, [eax]
3816vpsubq xmm1, dqword [eax]
3817vpsubq xmm1, xmm2, xmm3
3818vpsubq xmm1, xmm2, [eax]
3819vpsubq xmm1, xmm2, dqword [eax]
3820
3821psubsb xmm1, xmm2
3822psubsb xmm1, [eax]
3823psubsb xmm1, dqword [eax]
3824vpsubsb xmm1, xmm2
3825vpsubsb xmm1, [eax]
3826vpsubsb xmm1, dqword [eax]
3827vpsubsb xmm1, xmm2, xmm3
3828vpsubsb xmm1, xmm2, [eax]
3829vpsubsb xmm1, xmm2, dqword [eax]
3830
3831psubsw xmm1, xmm2
3832psubsw xmm1, [eax]
3833psubsw xmm1, dqword [eax]
3834vpsubsw xmm1, xmm2
3835vpsubsw xmm1, [eax]
3836vpsubsw xmm1, dqword [eax]
3837vpsubsw xmm1, xmm2, xmm3
3838vpsubsw xmm1, xmm2, [eax]
3839vpsubsw xmm1, xmm2, dqword [eax]
3840
3841psubusb xmm1, xmm2
3842psubusb xmm1, [eax]
3843psubusb xmm1, dqword [eax]
3844vpsubusb xmm1, xmm2
3845vpsubusb xmm1, [eax]
3846vpsubusb xmm1, dqword [eax]
3847vpsubusb xmm1, xmm2, xmm3
3848vpsubusb xmm1, xmm2, [eax]
3849vpsubusb xmm1, xmm2, dqword [eax]
3850
3851psubusw xmm1, xmm2
3852psubusw xmm1, [eax]
3853psubusw xmm1, dqword [eax]
3854vpsubusw xmm1, xmm2
3855vpsubusw xmm1, [eax]
3856vpsubusw xmm1, dqword [eax]
3857vpsubusw xmm1, xmm2, xmm3
3858vpsubusw xmm1, xmm2, [eax]
3859vpsubusw xmm1, xmm2, dqword [eax]
3860
3861punpckhbw xmm1, xmm2
3862punpckhbw xmm1, [eax]
3863punpckhbw xmm1, dqword [eax]
3864vpunpckhbw xmm1, xmm2
3865vpunpckhbw xmm1, [eax]
3866vpunpckhbw xmm1, dqword [eax]
3867vpunpckhbw xmm1, xmm2, xmm3
3868vpunpckhbw xmm1, xmm2, [eax]
3869vpunpckhbw xmm1, xmm2, dqword [eax]
3870
3871punpckhwd xmm1, xmm2
3872punpckhwd xmm1, [eax]
3873punpckhwd xmm1, dqword [eax]
3874vpunpckhwd xmm1, xmm2
3875vpunpckhwd xmm1, [eax]
3876vpunpckhwd xmm1, dqword [eax]
3877vpunpckhwd xmm1, xmm2, xmm3
3878vpunpckhwd xmm1, xmm2, [eax]
3879vpunpckhwd xmm1, xmm2, dqword [eax]
3880
3881punpckhdq xmm1, xmm2
3882punpckhdq xmm1, [eax]
3883punpckhdq xmm1, dqword [eax]
3884vpunpckhdq xmm1, xmm2
3885vpunpckhdq xmm1, [eax]
3886vpunpckhdq xmm1, dqword [eax]
3887vpunpckhdq xmm1, xmm2, xmm3
3888vpunpckhdq xmm1, xmm2, [eax]
3889vpunpckhdq xmm1, xmm2, dqword [eax]
3890
3891punpckhqdq xmm1, xmm2
3892punpckhqdq xmm1, [eax]
3893punpckhqdq xmm1, dqword [eax]
3894vpunpckhqdq xmm1, xmm2
3895vpunpckhqdq xmm1, [eax]
3896vpunpckhqdq xmm1, dqword [eax]
3897vpunpckhqdq xmm1, xmm2, xmm3
3898vpunpckhqdq xmm1, xmm2, [eax]
3899vpunpckhqdq xmm1, xmm2, dqword [eax]
3900
3901punpcklbw xmm1, xmm2
3902punpcklbw xmm1, [eax]
3903punpcklbw xmm1, dqword [eax]
3904vpunpcklbw xmm1, xmm2
3905vpunpcklbw xmm1, [eax]
3906vpunpcklbw xmm1, dqword [eax]
3907vpunpcklbw xmm1, xmm2, xmm3
3908vpunpcklbw xmm1, xmm2, [eax]
3909vpunpcklbw xmm1, xmm2, dqword [eax]
3910
3911punpcklwd xmm1, xmm2
3912punpcklwd xmm1, [eax]
3913punpcklwd xmm1, dqword [eax]
3914vpunpcklwd xmm1, xmm2
3915vpunpcklwd xmm1, [eax]
3916vpunpcklwd xmm1, dqword [eax]
3917vpunpcklwd xmm1, xmm2, xmm3
3918vpunpcklwd xmm1, xmm2, [eax]
3919vpunpcklwd xmm1, xmm2, dqword [eax]
3920
3921punpckldq xmm1, xmm2
3922punpckldq xmm1, [eax]
3923punpckldq xmm1, dqword [eax]
3924vpunpckldq xmm1, xmm2
3925vpunpckldq xmm1, [eax]
3926vpunpckldq xmm1, dqword [eax]
3927vpunpckldq xmm1, xmm2, xmm3
3928vpunpckldq xmm1, xmm2, [eax]
3929vpunpckldq xmm1, xmm2, dqword [eax]
3930
3931punpcklqdq xmm1, xmm2
3932punpcklqdq xmm1, [eax]
3933punpcklqdq xmm1, dqword [eax]
3934vpunpcklqdq xmm1, xmm2
3935vpunpcklqdq xmm1, [eax]
3936vpunpcklqdq xmm1, dqword [eax]
3937vpunpcklqdq xmm1, xmm2, xmm3
3938vpunpcklqdq xmm1, xmm2, [eax]
3939vpunpcklqdq xmm1, xmm2, dqword [eax]
3940
3941pxor xmm1, xmm2
3942pxor xmm1, [eax]
3943pxor xmm1, dqword [eax]
3944vpxor xmm1, xmm2
3945vpxor xmm1, [eax]
3946vpxor xmm1, dqword [eax]
3947vpxor xmm1, xmm2, xmm3
3948vpxor xmm1, xmm2, [eax]
3949vpxor xmm1, xmm2, dqword [eax]
3950
3951rcpps xmm1, xmm2
3952rcpps xmm1, [eax]
3953rcpps xmm1, dqword [eax]
3954vrcpps xmm1, xmm2
3955vrcpps xmm1, [eax]
3956vrcpps xmm1, dqword [eax]
3957vrcpps ymm1, ymm2
3958vrcpps ymm1, [eax]
3959vrcpps ymm1, yword [eax]
3960
3961rcpss xmm1, xmm2
3962rcpss xmm1, [eax]
3963rcpss xmm1, dword [eax]
3964vrcpss xmm1, xmm2
3965vrcpss xmm1, [eax]
3966vrcpss xmm1, dword [eax]
3967vrcpss xmm1, xmm2, xmm3
3968vrcpss xmm1, xmm2, [eax]
3969vrcpss xmm1, xmm2, dword [eax]
3970
3971rsqrtps xmm1, xmm2
3972rsqrtps xmm1, [eax]
3973rsqrtps xmm1, dqword [eax]
3974vrsqrtps xmm1, xmm2
3975vrsqrtps xmm1, [eax]
3976vrsqrtps xmm1, dqword [eax]
3977vrsqrtps ymm1, ymm2
3978vrsqrtps ymm1, [eax]
3979vrsqrtps ymm1, yword [eax]
3980
3981rsqrtss xmm1, xmm2
3982rsqrtss xmm1, [eax]
3983rsqrtss xmm1, dword [eax]
3984vrsqrtss xmm1, xmm2
3985vrsqrtss xmm1, [eax]
3986vrsqrtss xmm1, dword [eax]
3987vrsqrtss xmm1, xmm2, xmm3
3988vrsqrtss xmm1, xmm2, [eax]
3989vrsqrtss xmm1, xmm2, dword [eax]
3990
3991roundpd xmm1, xmm2, 5
3992roundpd xmm1, [eax], byte 5
3993roundpd xmm1, dqword [eax], 5
3994vroundpd xmm1, xmm2, 5
3995vroundpd xmm1, [eax], byte 5
3996vroundpd xmm1, dqword [eax], 5
3997vroundpd ymm1, ymm2, 5
3998vroundpd ymm1, [eax], byte 5
3999vroundpd ymm1, yword [eax], 5
4000
4001roundps xmm1, xmm2, 5
4002roundps xmm1, [eax], byte 5
4003roundps xmm1, dqword [eax], 5
4004vroundps xmm1, xmm2, 5
4005vroundps xmm1, [eax], byte 5
4006vroundps xmm1, dqword [eax], 5
4007vroundps ymm1, ymm2, 5
4008vroundps ymm1, [eax], byte 5
4009vroundps ymm1, yword [eax], 5
4010
4011roundsd xmm1, xmm2, 5
4012roundsd xmm1, [eax], byte 5
4013roundsd xmm1, qword [eax], 5
4014vroundsd xmm1, xmm2, 5
4015vroundsd xmm1, [eax], byte 5
4016vroundsd xmm1, qword [eax], 5
4017vroundsd xmm1, xmm2, xmm3, 5
4018vroundsd xmm1, xmm2, [eax], byte 5
4019vroundsd xmm1, xmm2, qword [eax], 5
4020
4021roundss xmm1, xmm2, 5
4022roundss xmm1, [eax], byte 5
4023roundss xmm1, dword [eax], 5
4024vroundss xmm1, xmm2, 5
4025vroundss xmm1, [eax], byte 5
4026vroundss xmm1, dword [eax], 5
4027vroundss xmm1, xmm2, xmm3, 5
4028vroundss xmm1, xmm2, [eax], byte 5
4029vroundss xmm1, xmm2, dword [eax], 5
4030
4031shufpd xmm1, xmm2, 5
4032shufpd xmm1, [eax], byte 5
4033shufpd xmm1, dqword [eax], 5
4034vshufpd xmm1, xmm2, 5
4035vshufpd xmm1, [eax], byte 5
4036vshufpd xmm1, dqword [eax], 5
4037vshufpd xmm1, xmm2, xmm3, 5
4038vshufpd xmm1, xmm2, [eax], byte 5
4039vshufpd xmm1, xmm2, dqword [eax], 5
4040vshufpd ymm1, ymm2, ymm3, 5
4041vshufpd ymm1, ymm2, [eax], byte 5
4042vshufpd ymm1, ymm2, yword [eax], 5
4043
4044shufps xmm1, xmm2, 5
4045shufps xmm1, [eax], byte 5
4046shufps xmm1, dqword [eax], 5
4047vshufps xmm1, xmm2, 5
4048vshufps xmm1, [eax], byte 5
4049vshufps xmm1, dqword [eax], 5
4050vshufps xmm1, xmm2, xmm3, 5
4051vshufps xmm1, xmm2, [eax], byte 5
4052vshufps xmm1, xmm2, dqword [eax], 5
4053vshufps ymm1, ymm2, ymm3, 5
4054vshufps ymm1, ymm2, [eax], byte 5
4055vshufps ymm1, ymm2, yword [eax], 5
4056
4057sqrtpd xmm1, xmm2
4058sqrtpd xmm1, [eax]
4059sqrtpd xmm1, dqword [eax]
4060vsqrtpd xmm1, xmm2
4061vsqrtpd xmm1, [eax]
4062vsqrtpd xmm1, dqword [eax]
4063vsqrtpd ymm1, ymm2
4064vsqrtpd ymm1, [eax]
4065vsqrtpd ymm1, yword [eax]
4066
4067sqrtps xmm1, xmm2
4068sqrtps xmm1, [eax]
4069sqrtps xmm1, dqword [eax]
4070vsqrtps xmm1, xmm2
4071vsqrtps xmm1, [eax]
4072vsqrtps xmm1, dqword [eax]
4073vsqrtps ymm1, ymm2
4074vsqrtps ymm1, [eax]
4075vsqrtps ymm1, yword [eax]
4076
4077sqrtsd xmm1, xmm2
4078sqrtsd xmm1, [eax]
4079sqrtsd xmm1, qword [eax]
4080vsqrtsd xmm1, xmm2
4081vsqrtsd xmm1, [eax]
4082vsqrtsd xmm1, qword [eax]
4083vsqrtsd xmm1, xmm2, xmm3
4084vsqrtsd xmm1, xmm2, [eax]
4085vsqrtsd xmm1, xmm2, qword [eax]
4086
4087sqrtss xmm1, xmm2
4088sqrtss xmm1, [eax]
4089sqrtss xmm1, dword [eax]
4090vsqrtss xmm1, xmm2
4091vsqrtss xmm1, [eax]
4092vsqrtss xmm1, dword [eax]
4093vsqrtss xmm1, xmm2, xmm3
4094vsqrtss xmm1, xmm2, [eax]
4095vsqrtss xmm1, xmm2, dword [eax]
4096
4097stmxcsr [eax]
4098stmxcsr dword [eax]
4099vstmxcsr [eax]
4100vstmxcsr dword [eax]
4101
4102subpd xmm1, xmm2
4103subpd xmm1, [eax]
4104subpd xmm1, dqword [eax]
4105vsubpd xmm1, xmm2
4106vsubpd xmm1, [eax]
4107vsubpd xmm1, dqword [eax]
4108vsubpd xmm1, xmm2, xmm3
4109vsubpd xmm1, xmm2, [eax]
4110vsubpd xmm1, xmm2, dqword [eax]
4111vsubpd ymm1, ymm2, ymm3
4112vsubpd ymm1, ymm2, [eax]
4113vsubpd ymm1, ymm2, yword [eax]
4114
4115subps xmm1, xmm2
4116subps xmm1, [eax]
4117subps xmm1, dqword [eax]
4118vsubps xmm1, xmm2
4119vsubps xmm1, [eax]
4120vsubps xmm1, dqword [eax]
4121vsubps xmm1, xmm2, xmm3
4122vsubps xmm1, xmm2, [eax]
4123vsubps xmm1, xmm2, dqword [eax]
4124vsubps ymm1, ymm2, ymm3
4125vsubps ymm1, ymm2, [eax]
4126vsubps ymm1, ymm2, yword [eax]
4127
4128subsd xmm1, xmm2
4129subsd xmm1, [eax]
4130subsd xmm1, qword [eax]
4131vsubsd xmm1, xmm2
4132vsubsd xmm1, [eax]
4133vsubsd xmm1, qword [eax]
4134vsubsd xmm1, xmm2, xmm3
4135vsubsd xmm1, xmm2, [eax]
4136vsubsd xmm1, xmm2, qword [eax]
4137
4138subss xmm1, xmm2
4139subss xmm1, [eax]
4140subss xmm1, dword [eax]
4141vsubss xmm1, xmm2
4142vsubss xmm1, [eax]
4143vsubss xmm1, dword [eax]
4144vsubss xmm1, xmm2, xmm3
4145vsubss xmm1, xmm2, [eax]
4146vsubss xmm1, xmm2, dword [eax]
4147
4148ucomisd xmm1, xmm2
4149ucomisd xmm1, [eax]
4150ucomisd xmm1, qword [eax]
4151vucomisd xmm1, xmm2
4152vucomisd xmm1, [eax]
4153vucomisd xmm1, qword [eax]
4154
4155ucomiss xmm1, xmm2
4156ucomiss xmm1, [eax]
4157ucomiss xmm1, dword [eax]
4158vucomiss xmm1, xmm2
4159vucomiss xmm1, [eax]
4160vucomiss xmm1, dword [eax]
4161
4162unpckhpd xmm1, xmm2
4163unpckhpd xmm1, [eax]
4164unpckhpd xmm1, dqword [eax]
4165vunpckhpd xmm1, xmm2
4166vunpckhpd xmm1, [eax]
4167vunpckhpd xmm1, dqword [eax]
4168vunpckhpd xmm1, xmm2, xmm3
4169vunpckhpd xmm1, xmm2, [eax]
4170vunpckhpd xmm1, xmm2, dqword [eax]
4171vunpckhpd ymm1, ymm2, ymm3
4172vunpckhpd ymm1, ymm2, [eax]
4173vunpckhpd ymm1, ymm2, yword [eax]
4174
4175unpckhps xmm1, xmm2
4176unpckhps xmm1, [eax]
4177unpckhps xmm1, dqword [eax]
4178vunpckhps xmm1, xmm2
4179vunpckhps xmm1, [eax]
4180vunpckhps xmm1, dqword [eax]
4181vunpckhps xmm1, xmm2, xmm3
4182vunpckhps xmm1, xmm2, [eax]
4183vunpckhps xmm1, xmm2, dqword [eax]
4184vunpckhps ymm1, ymm2, ymm3
4185vunpckhps ymm1, ymm2, [eax]
4186vunpckhps ymm1, ymm2, yword [eax]
4187
4188unpcklpd xmm1, xmm2
4189unpcklpd xmm1, [eax]
4190unpcklpd xmm1, dqword [eax]
4191vunpcklpd xmm1, xmm2
4192vunpcklpd xmm1, [eax]
4193vunpcklpd xmm1, dqword [eax]
4194vunpcklpd xmm1, xmm2, xmm3
4195vunpcklpd xmm1, xmm2, [eax]
4196vunpcklpd xmm1, xmm2, dqword [eax]
4197vunpcklpd ymm1, ymm2, ymm3
4198vunpcklpd ymm1, ymm2, [eax]
4199vunpcklpd ymm1, ymm2, yword [eax]
4200
4201unpcklps xmm1, xmm2
4202unpcklps xmm1, [eax]
4203unpcklps xmm1, dqword [eax]
4204vunpcklps xmm1, xmm2
4205vunpcklps xmm1, [eax]
4206vunpcklps xmm1, dqword [eax]
4207vunpcklps xmm1, xmm2, xmm3
4208vunpcklps xmm1, xmm2, [eax]
4209vunpcklps xmm1, xmm2, dqword [eax]
4210vunpcklps ymm1, ymm2, ymm3
4211vunpcklps ymm1, ymm2, [eax]
4212vunpcklps ymm1, ymm2, yword [eax]
4213
4214xorpd xmm1, xmm2
4215xorpd xmm1, [eax]
4216xorpd xmm1, dqword [eax]
4217vxorpd xmm1, xmm2
4218vxorpd xmm1, [eax]
4219vxorpd xmm1, dqword [eax]
4220vxorpd xmm1, xmm2, xmm3
4221vxorpd xmm1, xmm2, [eax]
4222vxorpd xmm1, xmm2, dqword [eax]
4223vxorpd ymm1, ymm2, ymm3
4224vxorpd ymm1, ymm2, [eax]
4225vxorpd ymm1, ymm2, yword [eax]
4226
4227xorps xmm1, xmm2
4228xorps xmm1, [eax]
4229xorps xmm1, dqword [eax]
4230vxorps xmm1, xmm2
4231vxorps xmm1, [eax]
4232vxorps xmm1, dqword [eax]
4233vxorps xmm1, xmm2, xmm3
4234vxorps xmm1, xmm2, [eax]
4235vxorps xmm1, xmm2, dqword [eax]
4236vxorps ymm1, ymm2, ymm3
4237vxorps ymm1, ymm2, [eax]
4238vxorps ymm1, ymm2, yword [eax]
4239
4240vzeroall
4241vzeroupper
4242emms
4243leave
4244retn
4245
4246fma:
4247enter 100,0
4248vfmadd132ss xmm1, xmm2, xmm3
4249vfmadd132ss xmm1, xmm2, dword [eax]
4250vfmadd132ss xmm1, xmm3, [ebx]
4251vfmadd231ss xmm1, xmm2, xmm3
4252vfmadd231ss xmm1, xmm2, dword [ecx]
4253vfmadd231ss xmm1, xmm2, [edx]
4254vfmadd213ss xmm1, xmm2, xmm3
4255vfmadd213ss xmm1, xmm2, dword [edi]
4256vfmadd213ss xmm1, xmm2, [esi]
4257vfmadd132sd xmm1, xmm2, xmm3
4258vfmadd132sd xmm1, xmm2, qword [esp]
4259vfmadd132sd xmm1, xmm2, [ebp]
4260vfmadd231sd xmm1, xmm2, xmm3
4261vfmadd231sd xmm1, xmm2, qword [eax]
4262vfmadd231sd xmm1, xmm2, [eax+257]
4263vfmadd213sd xmm1, xmm2, xmm3
4264vfmadd213sd xmm1, xmm2, qword [ebx+257]
4265vfmadd213sd xmm1, xmm2, [ecx+257]
4266vfmadd132ps xmm1, xmm2, xmm3
4267vfmadd132ps xmm1, xmm2, xmm3
4268vfmadd132ps xmm1, xmm2, [edx+257]
4269vfmadd231ps xmm1, xmm2, xmm3
4270vfmadd231ps xmm1, xmm2, xmm3
4271vfmadd231ps xmm1, xmm2, [esi+257]
4272vfmadd213ps xmm1, xmm2, xmm3
4273vfmadd213ps xmm1, xmm2, xmm3
4274vfmadd213ps xmm1, xmm2, [edi+257]
4275vfmadd132ps ymm1, ymm2, ymm3
4276vfmadd132ps ymm1, ymm2, yword [ebp+257]
4277vfmadd132ps ymm1, ymm2, [esp+257]
4278vfmadd231ps ymm1, ymm2, ymm3
4279vfmadd231ps ymm1, ymm2, yword [eax*2+ebx+300]
4280vfmadd231ps ymm1, ymm2, [ebx*2+ecx+300]
4281vfmadd213ps ymm1, ymm2, ymm3
4282vfmadd213ps ymm1, ymm2, yword [edx*2+esi+300]
4283vfmadd213ps ymm1, ymm2, [esi*2+edi+300]
4284vfmadd132pd xmm1, xmm2, xmm3
4285vfmadd132pd xmm1, xmm2, dqword [edi*2+ebp+300]
4286vfmadd132pd xmm1, xmm2, [esi*2+ebp+300]
4287vfmadd231pd xmm1, xmm2, xmm3
4288vfmadd231pd xmm1, xmm2, dqword [ebp*2+esp+300]
4289vfmadd231pd xmm1, xmm2, [esp+eax+300]
4290vfmadd213pd xmm1, xmm2, xmm3
4291vfmadd213pd xmm1, xmm2, dqword [eax*4+ebx+600]
4292vfmadd213pd xmm1, xmm2, [ebx*4+ecx+600]
4293vfmadd132pd ymm1, ymm2, ymm3
4294vfmadd132pd ymm1, ymm2, yword [edx*4+esi+600]
4295vfmadd132pd ymm1, ymm2, [esi*4+edi+600]
4296vfmadd231pd ymm1, ymm2, ymm3
4297vfmadd231pd ymm1, ymm2, yword [edi*4+esp+600]
4298vfmadd231pd ymm1, ymm2, [ebp*4+esp+600]
4299vfmadd213pd ymm1, ymm2, ymm3
4300vfmadd213pd ymm1, ymm2, yword [esp+eax*4+600]
4301vfmadd213pd ymm1, ymm2, [eax*8]
4302vfmsub132ss xmm1, xmm2, xmm3
4303vfmsub132ss xmm1, xmm2, dword [ebx*8]
4304vfmsub132ss xmm1, xmm2, [ecx*8]
4305vfmsub231ss xmm1, xmm2, xmm3
4306vfmsub231ss xmm1, xmm2, dword [edx*8]
4307vfmsub231ss xmm1, xmm2, [edi*8]
4308vfmsub213ss xmm1, xmm2, xmm3
4309vfmsub213ss xmm1, xmm2, dword [esi*8]
4310vfmsub213ss xmm1, xmm2, [ebp*8]
4311vfmsub132sd xmm1, xmm2, xmm3
4312vfmsub132sd xmm1, xmm2, qword [esp]
4313vfmsub132sd xmm1, xmm2, [eax+8]
4314vfmsub231sd xmm1, xmm2, xmm3
4315vfmsub231sd xmm1, xmm2, qword [ebx+8]
4316vfmsub231sd xmm1, xmm2, [ecx+8]
4317vfmsub213sd xmm1, xmm2, xmm3
4318vfmsub213sd xmm1, xmm2, qword [edx+8]
4319vfmsub213sd xmm1, xmm2, [edi+8]
4320vfmsub132ps xmm1, xmm2, xmm3
4321vfmsub132ps xmm1, xmm2, xmm3
4322vfmsub132ps xmm1, xmm2, [esi+8]
4323vfmsub231ps xmm1, xmm2, xmm3
4324vfmsub231ps xmm1, xmm2, xmm3
4325vfmsub231ps xmm1, xmm2, [ebp+8]
4326vfmsub213ps xmm1, xmm2, xmm3
4327vfmsub213ps xmm1, xmm2, xmm3
4328vfmsub213ps xmm1, xmm2, [esp+8]
4329vfmsub132ps ymm1, ymm2, ymm3
4330vfmsub132ps ymm1, ymm2, yword [8]
4331vfmsub132ps ymm1, ymm2, [8]
4332vfmsub231ps ymm1, ymm2, ymm3
4333vfmsub231ps ymm1, ymm2, yword [8]
4334vfmsub231ps ymm1, ymm2, [8]
4335vfmsub213ps ymm1, ymm2, ymm3
4336vfmsub213ps ymm1, ymm2, yword [8]
4337vfmsub213ps ymm1, ymm2, [8]
4338vfmsub132pd xmm1, xmm2, xmm3
4339vfmsub132pd xmm1, xmm2, dqword [8]
4340vfmsub132pd xmm1, xmm2, [8]
4341vfmsub231pd xmm1, xmm2, xmm3
4342vfmsub231pd xmm1, xmm2, dqword [8]
4343vfmsub231pd xmm1, xmm2, [8]
4344vfmsub213pd xmm1, xmm2, xmm3
4345vfmsub213pd xmm1, xmm2, dqword [8]
4346vfmsub213pd xmm1, xmm2, [8]
4347vfmsub132pd ymm1, ymm2, ymm3
4348vfmsub132pd ymm1, ymm2, yword [eax]
4349vfmsub132pd ymm1, ymm2, [eax]
4350vfmsub231pd ymm1, ymm2, ymm3
4351vfmsub231pd ymm1, ymm2, yword [eax]
4352vfmsub231pd ymm1, ymm2, [eax]
4353vfmsub213pd ymm1, ymm2, ymm3
4354vfmsub213pd ymm1, ymm2, yword [eax]
4355vfmsub213pd ymm1, ymm2, [eax]
4356vfnmadd132ss xmm1, xmm2, xmm3
4357vfnmadd132ss xmm1, xmm2, dword [eax]
4358vfnmadd132ss xmm1, xmm2, [eax]
4359vfnmadd231ss xmm1, xmm2, xmm3
4360vfnmadd231ss xmm1, xmm2, dword [eax]
4361vfnmadd231ss xmm1, xmm2, [eax]
4362vfnmadd213ss xmm1, xmm2, xmm3
4363vfnmadd213ss xmm1, xmm2, dword [eax]
4364vfnmadd213ss xmm1, xmm2, [eax]
4365vfnmadd132sd xmm1, xmm2, xmm3
4366vfnmadd132sd xmm1, xmm2, qword [eax]
4367vfnmadd132sd xmm1, xmm2, [eax]
4368vfnmadd231sd xmm1, xmm2, xmm3
4369vfnmadd231sd xmm1, xmm2, qword [eax]
4370vfnmadd231sd xmm1, xmm2, [eax]
4371vfnmadd213sd xmm1, xmm2, xmm3
4372vfnmadd213sd xmm1, xmm2, qword [eax]
4373vfnmadd213sd xmm1, xmm2, [eax]
4374vfnmadd132ps xmm1, xmm2, xmm3
4375vfnmadd132ps xmm1, xmm2, xmm3
4376vfnmadd132ps xmm1, xmm2, [eax]
4377vfnmadd231ps xmm1, xmm2, xmm3
4378vfnmadd231ps xmm1, xmm2, xmm3
4379vfnmadd231ps xmm1, xmm2, [eax]
4380vfnmadd213ps xmm1, xmm2, xmm3
4381vfnmadd213ps xmm1, xmm2, xmm3
4382vfnmadd213ps xmm1, xmm2, [eax]
4383vfnmadd132ps ymm1, ymm2, ymm3
4384vfnmadd132ps ymm1, ymm2, yword [eax]
4385vfnmadd132ps ymm1, ymm2, [eax]
4386vfnmadd231ps ymm1, ymm2, ymm3
4387vfnmadd231ps ymm1, ymm2, yword [eax]
4388vfnmadd231ps ymm1, ymm2, [eax]
4389vfnmadd213ps ymm1, ymm2, ymm3
4390vfnmadd213ps ymm1, ymm2, yword [eax]
4391vfnmadd213ps ymm1, ymm2, [eax]
4392vfnmadd132pd xmm1, xmm2, xmm3
4393vfnmadd132pd xmm1, xmm2, dqword [eax]
4394vfnmadd132pd xmm1, xmm2, [eax]
4395vfnmadd231pd xmm1, xmm2, xmm3
4396vfnmadd231pd xmm1, xmm2, dqword [eax]
4397vfnmadd231pd xmm1, xmm2, [eax]
4398vfnmadd213pd xmm1, xmm2, xmm3
4399vfnmadd213pd xmm1, xmm2, dqword [eax]
4400vfnmadd213pd xmm1, xmm2, [eax]
4401vfnmadd132pd ymm1, ymm2, ymm3
4402vfnmadd132pd ymm1, ymm2, yword [eax]
4403vfnmadd132pd ymm1, ymm2, [eax]
4404vfnmadd231pd ymm1, ymm2, ymm3
4405vfnmadd231pd ymm1, ymm2, yword [eax]
4406vfnmadd231pd ymm1, ymm2, [eax]
4407vfnmadd213pd ymm1, ymm2, ymm3
4408vfnmadd213pd ymm1, ymm2, yword [eax]
4409vfnmadd213pd ymm1, ymm2, [eax]
4410vfnmsub132ss xmm1, xmm2, xmm3
4411vfnmsub132ss xmm1, xmm2, dword [eax]
4412vfnmsub132ss xmm1, xmm2, [eax]
4413vfnmsub231ss xmm1, xmm2, xmm3
4414vfnmsub231ss xmm1, xmm2, dword [eax]
4415vfnmsub231ss xmm1, xmm2, [eax]
4416vfnmsub213ss xmm1, xmm2, xmm3
4417vfnmsub213ss xmm1, xmm2, dword [eax]
4418vfnmsub213ss xmm1, xmm2, [eax]
4419vfnmsub132sd xmm1, xmm2, xmm3
4420vfnmsub132sd xmm1, xmm2, qword [eax]
4421vfnmsub132sd xmm1, xmm2, [eax]
4422vfnmsub231sd xmm1, xmm2, xmm3
4423vfnmsub231sd xmm1, xmm2, qword [eax]
4424vfnmsub231sd xmm1, xmm2, [eax]
4425vfnmsub213sd xmm1, xmm2, xmm3
4426vfnmsub213sd xmm1, xmm2, qword [eax]
4427vfnmsub213sd xmm1, xmm2, [eax]
4428vfnmsub132ps xmm1, xmm2, xmm3
4429vfnmsub132ps xmm1, xmm2, xmm3
4430vfnmsub132ps xmm1, xmm2, [eax]
4431vfnmsub231ps xmm1, xmm2, xmm3
4432vfnmsub231ps xmm1, xmm2, xmm3
4433vfnmsub231ps xmm1, xmm2, [eax]
4434vfnmsub213ps xmm1, xmm2, xmm3
4435vfnmsub213ps xmm1, xmm2, xmm3
4436vfnmsub213ps xmm1, xmm2, [eax]
4437vfnmsub132ps ymm1, ymm2, ymm3
4438vfnmsub132ps ymm1, ymm2, yword [eax]
4439vfnmsub132ps ymm1, ymm2, [eax]
4440vfnmsub231ps ymm1, ymm2, ymm3
4441vfnmsub231ps ymm1, ymm2, yword [eax]
4442vfnmsub231ps ymm1, ymm2, [eax]
4443vfnmsub213ps ymm1, ymm2, ymm3
4444vfnmsub213ps ymm1, ymm2, yword [eax]
4445vfnmsub213ps ymm1, ymm2, [eax]
4446vfnmsub132pd xmm1, xmm2, xmm3
4447vfnmsub132pd xmm1, xmm2, dqword [eax]
4448vfnmsub132pd xmm1, xmm2, [eax]
4449vfnmsub231pd xmm1, xmm2, xmm3
4450vfnmsub231pd xmm1, xmm2, dqword [eax]
4451vfnmsub231pd xmm1, xmm2, [eax]
4452vfnmsub213pd xmm1, xmm2, xmm3
4453vfnmsub213pd xmm1, xmm2, dqword [eax]
4454vfnmsub213pd xmm1, xmm2, [eax]
4455vfnmsub132pd ymm1, ymm2, ymm3
4456vfnmsub132pd ymm1, ymm2, yword [eax]
4457vfnmsub132pd ymm1, ymm2, [eax]
4458vfnmsub231pd ymm1, ymm2, ymm3
4459vfnmsub231pd ymm1, ymm2, yword [eax]
4460vfnmsub231pd ymm1, ymm2, [eax]
4461vfnmsub213pd ymm1, ymm2, ymm3
4462vfnmsub213pd ymm1, ymm2, yword [eax]
4463vfnmsub213pd ymm1, ymm2, [eax]
4464vfmaddsub132ps xmm1, xmm2, xmm3
4465vfmaddsub132ps xmm1, xmm2, xmm3
4466vfmaddsub132ps xmm1, xmm2, [eax]
4467vfmaddsub231ps xmm1, xmm2, xmm3
4468vfmaddsub231ps xmm1, xmm2, xmm3
4469vfmaddsub231ps xmm1, xmm2, [eax]
4470vfmaddsub213ps xmm1, xmm2, xmm3
4471vfmaddsub213ps xmm1, xmm2, xmm3
4472vfmaddsub213ps xmm1, xmm2, [eax]
4473vfmaddsub132ps ymm1, ymm2, ymm3
4474vfmaddsub132ps ymm1, ymm2, yword [eax]
4475vfmaddsub132ps ymm1, ymm2, [eax]
4476vfmaddsub231ps ymm1, ymm2, ymm3
4477vfmaddsub231ps ymm1, ymm2, yword [eax]
4478vfmaddsub231ps ymm1, ymm2, [eax]
4479vfmaddsub213ps ymm1, ymm2, ymm3
4480vfmaddsub213ps ymm1, ymm2, yword [eax]
4481vfmaddsub213ps ymm1, ymm2, [eax]
4482vfmaddsub132pd xmm1, xmm2, xmm3
4483vfmaddsub132pd xmm1, xmm2, dqword [eax]
4484vfmaddsub132pd xmm1, xmm2, [eax]
4485vfmaddsub231pd xmm1, xmm2, xmm3
4486vfmaddsub231pd xmm1, xmm2, dqword [eax]
4487vfmaddsub231pd xmm1, xmm2, [eax]
4488vfmaddsub213pd xmm1, xmm2, xmm3
4489vfmaddsub213pd xmm1, xmm2, dqword [eax]
4490vfmaddsub213pd xmm1, xmm2, [eax]
4491vfmaddsub132pd ymm1, ymm2, ymm3
4492vfmaddsub132pd ymm1, ymm2, yword [eax]
4493vfmaddsub132pd ymm1, ymm2, [eax]
4494vfmaddsub231pd ymm1, ymm2, ymm3
4495vfmaddsub231pd ymm1, ymm2, yword [eax]
4496vfmaddsub231pd ymm1, ymm2, [eax]
4497vfmaddsub213pd ymm1, ymm2, ymm3
4498vfmaddsub213pd ymm1, ymm2, yword [eax]
4499vfmaddsub213pd ymm1, ymm2, [eax]
4500vfmsubadd132ps xmm1, xmm2, xmm3
4501vfmsubadd132ps xmm1, xmm2, xmm3
4502vfmsubadd132ps xmm1, xmm2, [eax]
4503vfmsubadd231ps xmm1, xmm2, xmm3
4504vfmsubadd231ps xmm1, xmm2, xmm3
4505vfmsubadd231ps xmm1, xmm2, [eax]
4506vfmsubadd213ps xmm1, xmm2, xmm3
4507vfmsubadd213ps xmm1, xmm2, xmm3
4508vfmsubadd213ps xmm1, xmm2, [eax]
4509vfmsubadd132ps ymm1, ymm2, ymm3
4510vfmsubadd132ps ymm1, ymm2, yword [eax]
4511vfmsubadd132ps ymm1, ymm2, [eax]
4512vfmsubadd231ps ymm1, ymm2, ymm3
4513vfmsubadd231ps ymm1, ymm2, yword [eax]
4514vfmsubadd231ps ymm1, ymm2, [eax]
4515vfmsubadd213ps ymm1, ymm2, ymm3
4516vfmsubadd213ps ymm1, ymm2, yword [eax]
4517vfmsubadd213ps ymm1, ymm2, [eax]
4518vfmsubadd132pd xmm1, xmm2, xmm3
4519vfmsubadd132pd xmm1, xmm2, dqword [eax]
4520vfmsubadd132pd xmm1, xmm2, [eax]
4521vfmsubadd231pd xmm1, xmm2, xmm3
4522vfmsubadd231pd xmm1, xmm2, dqword [eax]
4523vfmsubadd231pd xmm1, xmm2, [eax]
4524vfmsubadd213pd xmm1, xmm2, xmm3
4525vfmsubadd213pd xmm1, xmm2, dqword [eax]
4526vfmsubadd213pd xmm1, xmm2, [eax]
4527vfmsubadd132pd ymm1, ymm2, ymm3
4528vfmsubadd132pd ymm1, ymm2, yword [eax]
4529vfmsubadd132pd ymm1, ymm2, [eax]
4530vfmsubadd231pd ymm1, ymm2, ymm3
4531vfmsubadd231pd ymm1, ymm2, yword [eax]
4532vfmsubadd231pd ymm1, ymm2, [eax]
4533vfmsubadd213pd ymm1, ymm2, ymm3
4534vfmsubadd213pd ymm1, ymm2, yword [eax]
4535vfmsubadd213pd ymm1, ymm2, [eax]
4536leave
4537retn
4538undocumented_nop:
4539db 0x66, 0x66, 0x2E, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
4540db 0x66, 0x66, 0x66, 0x2E, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
4541db 0x66, 0x66, 0x66, 0x66, 0x2E, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
4542db 0x66, 0x66, 0x66, 0x66, 0x66, 0x2E, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
4543db 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x2E, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
4544leave
4545retn
4546