xref: /aosp_15_r20/external/llvm/test/MC/X86/x86_64-xop-encoding.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker//////////////////////////
4*9880d681SAndroid Build Coastguard Worker// 2 operand instructions
5*9880d681SAndroid Build Coastguard Worker/////////////////////////
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker// vphsubwd
8*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubwd (%rcx,%rax), %xmm1
9*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe2,0x0c,0x01]
10*9880d681SAndroid Build Coastguard Worker          vphsubwd (%rcx,%rax), %xmm1
11*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubwd %xmm0, %xmm1
12*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe2,0xc8]
13*9880d681SAndroid Build Coastguard Worker          vphsubwd %xmm0, %xmm1
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker// vphsubdq
16*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubdq (%rcx,%rax), %xmm1
17*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe3,0x0c,0x01]
18*9880d681SAndroid Build Coastguard Worker          vphsubdq (%rcx,%rax), %xmm1
19*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubdq %xmm0, %xmm1
20*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe3,0xc8]
21*9880d681SAndroid Build Coastguard Worker          vphsubdq %xmm0, %xmm1
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker// vphsubbw
24*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubbw (%rax), %xmm1
25*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe1,0x08]
26*9880d681SAndroid Build Coastguard Worker          vphsubbw (%rax), %xmm1
27*9880d681SAndroid Build Coastguard Worker// CHECK: vphsubbw %xmm2, %xmm1
28*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xe1,0xca]
29*9880d681SAndroid Build Coastguard Worker          vphsubbw %xmm2, %xmm1
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker// vphaddwq
32*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwq (%rcx), %xmm4
33*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc7,0x21]
34*9880d681SAndroid Build Coastguard Worker          vphaddwq (%rcx), %xmm4
35*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwq %xmm6, %xmm2
36*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc7,0xd6]
37*9880d681SAndroid Build Coastguard Worker          vphaddwq %xmm6, %xmm2
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker// vphaddwd
40*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwd (%rdx,%rax), %xmm7
41*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc6,0x3c,0x02]
42*9880d681SAndroid Build Coastguard Worker          vphaddwd (%rdx,%rax), %xmm7
43*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddwd %xmm3, %xmm4
44*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc6,0xe3]
45*9880d681SAndroid Build Coastguard Worker          vphaddwd %xmm3, %xmm4
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker// vphadduwq
48*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwq (%rcx,%rax), %xmm6
49*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd7,0x34,0x01]
50*9880d681SAndroid Build Coastguard Worker          vphadduwq (%rcx,%rax), %xmm6
51*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwq %xmm7, %xmm0
52*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd7,0xc7]
53*9880d681SAndroid Build Coastguard Worker          vphadduwq %xmm7, %xmm0
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Worker// vphadduwd
56*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwd (%rax), %xmm5
57*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd6,0x28]
58*9880d681SAndroid Build Coastguard Worker          vphadduwd (%rax), %xmm5
59*9880d681SAndroid Build Coastguard Worker// CHECK: vphadduwd %xmm2, %xmm1
60*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd6,0xca]
61*9880d681SAndroid Build Coastguard Worker          vphadduwd %xmm2, %xmm1
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker// vphaddudq
64*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddudq 8(%rcx,%rax), %xmm4
65*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xdb,0x64,0x01,0x08]
66*9880d681SAndroid Build Coastguard Worker          vphaddudq 8(%rcx,%rax), %xmm4
67*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddudq %xmm6, %xmm2
68*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xdb,0xd6]
69*9880d681SAndroid Build Coastguard Worker          vphaddudq %xmm6, %xmm2
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Worker// vphaddubw
72*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubw (%rcx), %xmm3
73*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd1,0x19]
74*9880d681SAndroid Build Coastguard Worker          vphaddubw (%rcx), %xmm3
75*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubw %xmm5, %xmm0
76*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd1,0xc5]
77*9880d681SAndroid Build Coastguard Worker          vphaddubw %xmm5, %xmm0
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker// vphaddubq
80*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubq (%rcx), %xmm4
81*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd3,0x21]
82*9880d681SAndroid Build Coastguard Worker          vphaddubq (%rcx), %xmm4
83*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubq %xmm2, %xmm2
84*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd3,0xd2]
85*9880d681SAndroid Build Coastguard Worker          vphaddubq %xmm2, %xmm2
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Worker// vphaddubd
88*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubd (%rax), %xmm5
89*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd2,0x28]
90*9880d681SAndroid Build Coastguard Worker          vphaddubd (%rax), %xmm5
91*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddubd %xmm5, %xmm7
92*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xd2,0xfd]
93*9880d681SAndroid Build Coastguard Worker          vphaddubd %xmm5, %xmm7
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker// vphadddq
96*9880d681SAndroid Build Coastguard Worker// CHECK: vphadddq (%rdx), %xmm4
97*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xcb,0x22]
98*9880d681SAndroid Build Coastguard Worker          vphadddq (%rdx), %xmm4
99*9880d681SAndroid Build Coastguard Worker// CHECK: vphadddq %xmm4, %xmm5
100*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xcb,0xec]
101*9880d681SAndroid Build Coastguard Worker          vphadddq %xmm4, %xmm5
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker// vphaddbw
104*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbw (%rcx,%rax), %xmm1
105*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc1,0x0c,0x01]
106*9880d681SAndroid Build Coastguard Worker          vphaddbw (%rcx,%rax), %xmm1
107*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbw %xmm5, %xmm6
108*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc1,0xf5]
109*9880d681SAndroid Build Coastguard Worker          vphaddbw %xmm5, %xmm6
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Worker// vphaddbq
112*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbq (%rcx,%rax), %xmm1
113*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc3,0x0c,0x01]
114*9880d681SAndroid Build Coastguard Worker          vphaddbq (%rcx,%rax), %xmm1
115*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbq %xmm2, %xmm0
116*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc3,0xc2]
117*9880d681SAndroid Build Coastguard Worker          vphaddbq %xmm2, %xmm0
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker// vphaddbd
120*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbd (%rcx,%rax), %xmm1
121*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc2,0x0c,0x01]
122*9880d681SAndroid Build Coastguard Worker          vphaddbd (%rcx,%rax), %xmm1
123*9880d681SAndroid Build Coastguard Worker// CHECK: vphaddbd %xmm1, %xmm3
124*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0xc2,0xd9]
125*9880d681SAndroid Build Coastguard Worker          vphaddbd %xmm1, %xmm3
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker// vfrczss
128*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczss (%rcx,%rax), %xmm1
129*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x82,0x0c,0x01]
130*9880d681SAndroid Build Coastguard Worker          vfrczss (%rcx,%rax), %xmm1
131*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczss %xmm5, %xmm7
132*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x82,0xfd]
133*9880d681SAndroid Build Coastguard Worker          vfrczss %xmm5, %xmm7
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Worker// vfrczsd
136*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczsd (%rcx,%rax), %xmm1
137*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x83,0x0c,0x01]
138*9880d681SAndroid Build Coastguard Worker          vfrczsd (%rcx,%rax), %xmm1
139*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczsd %xmm7, %xmm0
140*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x83,0xc7]
141*9880d681SAndroid Build Coastguard Worker          vfrczsd %xmm7, %xmm0
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker// vfrczps
144*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps 4(%rax), %xmm3
145*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0x58,0x04]
146*9880d681SAndroid Build Coastguard Worker          vfrczps 4(%rax), %xmm3
147*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps %xmm6, %xmm5
148*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0xee]
149*9880d681SAndroid Build Coastguard Worker          vfrczps %xmm6, %xmm5
150*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps (%rcx), %xmm1
151*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0x09]
152*9880d681SAndroid Build Coastguard Worker          vfrczps (%rcx), %xmm1
153*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczps %ymm2, %ymm4
154*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x7c,0x80,0xe2]
155*9880d681SAndroid Build Coastguard Worker          vfrczps %ymm2, %ymm4
156*9880d681SAndroid Build Coastguard Worker
157*9880d681SAndroid Build Coastguard Worker// vfrczpd
158*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd (%rcx,%rax), %xmm1
159*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x81,0x0c,0x01]
160*9880d681SAndroid Build Coastguard Worker          vfrczpd (%rcx,%rax), %xmm1
161*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd %xmm7, %xmm0
162*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x81,0xc7]
163*9880d681SAndroid Build Coastguard Worker          vfrczpd %xmm7, %xmm0
164*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd (%rcx,%rax), %ymm2
165*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x7c,0x81,0x14,0x01]
166*9880d681SAndroid Build Coastguard Worker          vfrczpd (%rcx,%rax), %ymm2
167*9880d681SAndroid Build Coastguard Worker// CHECK: vfrczpd %ymm5, %ymm3
168*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x7c,0x81,0xdd]
169*9880d681SAndroid Build Coastguard Worker          vfrczpd %ymm5, %ymm3
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Worker
172*9880d681SAndroid Build Coastguard Worker
173*9880d681SAndroid Build Coastguard Worker//////////////////////////
174*9880d681SAndroid Build Coastguard Worker// 3 operand instructions
175*9880d681SAndroid Build Coastguard Worker/////////////////////////
176*9880d681SAndroid Build Coastguard Worker
177*9880d681SAndroid Build Coastguard Worker// vpshlw
178*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlw %xmm0, %xmm1, %xmm2
179*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x95,0xd1]
180*9880d681SAndroid Build Coastguard Worker          vpshlw %xmm0, %xmm1, %xmm2
181*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlw (%rax), %xmm1, %xmm2
182*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf0,0x95,0x10]
183*9880d681SAndroid Build Coastguard Worker          vpshlw (%rax), %xmm1, %xmm2
184*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlw %xmm0, (%rax,%rcx), %xmm2
185*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x95,0x14,0x08]
186*9880d681SAndroid Build Coastguard Worker          vpshlw %xmm0, (%rax,%rcx), %xmm2
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Worker// vpshlq
189*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlq %xmm2, %xmm4, %xmm6
190*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x97,0xf4]
191*9880d681SAndroid Build Coastguard Worker          vpshlq %xmm2, %xmm4, %xmm6
192*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlq (%rcx), %xmm2, %xmm1
193*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x97,0x09]
194*9880d681SAndroid Build Coastguard Worker          vpshlq (%rcx), %xmm2, %xmm1
195*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlq %xmm5, (%rdx,%rcx), %xmm6
196*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x97,0x34,0x0a]
197*9880d681SAndroid Build Coastguard Worker          vpshlq %xmm5, (%rdx,%rcx), %xmm6
198*9880d681SAndroid Build Coastguard Worker
199*9880d681SAndroid Build Coastguard Worker// vpshld
200*9880d681SAndroid Build Coastguard Worker// CHECK: vpshld %xmm7, %xmm5, %xmm3
201*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x40,0x96,0xdd]
202*9880d681SAndroid Build Coastguard Worker          vpshld %xmm7, %xmm5, %xmm3
203*9880d681SAndroid Build Coastguard Worker// CHECK: vpshld 4(%rax), %xmm3, %xmm3
204*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe0,0x96,0x58,0x04]
205*9880d681SAndroid Build Coastguard Worker          vpshld 4(%rax), %xmm3, %xmm3
206*9880d681SAndroid Build Coastguard Worker// CHECK: vpshld %xmm1, (%rax,%rcx), %xmm5
207*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x70,0x96,0x2c,0x08]
208*9880d681SAndroid Build Coastguard Worker          vpshld %xmm1, (%rax,%rcx), %xmm5
209*9880d681SAndroid Build Coastguard Worker
210*9880d681SAndroid Build Coastguard Worker// vpshlb
211*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlb %xmm1, %xmm2, %xmm3
212*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x70,0x94,0xda]
213*9880d681SAndroid Build Coastguard Worker          vpshlb %xmm1, %xmm2, %xmm3
214*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlb (%rcx), %xmm0, %xmm7
215*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x94,0x39]
216*9880d681SAndroid Build Coastguard Worker          vpshlb (%rcx), %xmm0, %xmm7
217*9880d681SAndroid Build Coastguard Worker// CHECK: vpshlb %xmm2, (%rax,%rdx), %xmm3
218*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x94,0x1c,0x10]
219*9880d681SAndroid Build Coastguard Worker          vpshlb %xmm2, (%rax,%rdx), %xmm3
220*9880d681SAndroid Build Coastguard Worker
221*9880d681SAndroid Build Coastguard Worker// vpshaw
222*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaw %xmm7, %xmm5, %xmm3
223*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x40,0x99,0xdd]
224*9880d681SAndroid Build Coastguard Worker          vpshaw %xmm7, %xmm5, %xmm3
225*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaw (%rax), %xmm2, %xmm1
226*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x99,0x08]
227*9880d681SAndroid Build Coastguard Worker          vpshaw (%rax), %xmm2, %xmm1
228*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaw %xmm0, 8(%rax,%rcx), %xmm3
229*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x99,0x5c,0x08,0x08]
230*9880d681SAndroid Build Coastguard Worker          vpshaw %xmm0, 8(%rax,%rcx), %xmm3
231*9880d681SAndroid Build Coastguard Worker
232*9880d681SAndroid Build Coastguard Worker// vpshaq
233*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaq %xmm4, %xmm4, %xmm4
234*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x58,0x9b,0xe4]
235*9880d681SAndroid Build Coastguard Worker          vpshaq %xmm4, %xmm4, %xmm4
236*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaq (%rcx), %xmm2, %xmm0
237*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x9b,0x01]
238*9880d681SAndroid Build Coastguard Worker          vpshaq (%rcx), %xmm2, %xmm0
239*9880d681SAndroid Build Coastguard Worker// CHECK: vpshaq %xmm6, (%rax,%rcx), %xmm5
240*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x48,0x9b,0x2c,0x08]
241*9880d681SAndroid Build Coastguard Worker          vpshaq %xmm6, (%rax,%rcx), %xmm5
242*9880d681SAndroid Build Coastguard Worker
243*9880d681SAndroid Build Coastguard Worker// vpshad
244*9880d681SAndroid Build Coastguard Worker// CHECK: vpshad %xmm5, %xmm4, %xmm0
245*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x9a,0xc4]
246*9880d681SAndroid Build Coastguard Worker          vpshad %xmm5, %xmm4, %xmm0
247*9880d681SAndroid Build Coastguard Worker// CHECK: vpshad (%rax), %xmm2, %xmm5
248*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x9a,0x28]
249*9880d681SAndroid Build Coastguard Worker          vpshad (%rax), %xmm2, %xmm5
250*9880d681SAndroid Build Coastguard Worker// CHECK: vpshad %xmm2, (%rax), %xmm5
251*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x9a,0x28]
252*9880d681SAndroid Build Coastguard Worker          vpshad %xmm2, (%rax), %xmm5
253*9880d681SAndroid Build Coastguard Worker
254*9880d681SAndroid Build Coastguard Worker// vpshab
255*9880d681SAndroid Build Coastguard Worker// CHECK: vpshab %xmm1, %xmm1, %xmm0
256*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x70,0x98,0xc1]
257*9880d681SAndroid Build Coastguard Worker          vpshab %xmm1, %xmm1, %xmm0
258*9880d681SAndroid Build Coastguard Worker// CHECK: vpshab (%rcx), %xmm4, %xmm0
259*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xd8,0x98,0x01]
260*9880d681SAndroid Build Coastguard Worker          vpshab (%rcx), %xmm4, %xmm0
261*9880d681SAndroid Build Coastguard Worker// CHECK: vpshab %xmm5, (%rcx), %xmm3
262*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x98,0x19]
263*9880d681SAndroid Build Coastguard Worker          vpshab %xmm5, (%rcx), %xmm3
264*9880d681SAndroid Build Coastguard Worker
265*9880d681SAndroid Build Coastguard Worker// vprotw
266*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw (%rax), %xmm3, %xmm6
267*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe0,0x91,0x30]
268*9880d681SAndroid Build Coastguard Worker          vprotw (%rax), %xmm3, %xmm6
269*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw %xmm5, (%rax,%rcx), %xmm1
270*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x91,0x0c,0x08]
271*9880d681SAndroid Build Coastguard Worker          vprotw %xmm5, (%rax,%rcx), %xmm1
272*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw %xmm0, %xmm1, %xmm2
273*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x91,0xd1]
274*9880d681SAndroid Build Coastguard Worker          vprotw %xmm0, %xmm1, %xmm2
275*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw $42, (%rcx), %xmm1
276*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0x09,0x2a]
277*9880d681SAndroid Build Coastguard Worker          vprotw $42, (%rcx), %xmm1
278*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw $41, (%rax), %xmm4
279*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0x20,0x29]
280*9880d681SAndroid Build Coastguard Worker          vprotw $41, (%rax), %xmm4
281*9880d681SAndroid Build Coastguard Worker// CHECK: vprotw $40, %xmm1, %xmm3
282*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0xd9,0x28]
283*9880d681SAndroid Build Coastguard Worker          vprotw $40, %xmm1, %xmm3
284*9880d681SAndroid Build Coastguard Worker
285*9880d681SAndroid Build Coastguard Worker// vprotq
286*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq (%rax), %xmm1, %xmm2
287*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf0,0x93,0x10]
288*9880d681SAndroid Build Coastguard Worker          vprotq (%rax), %xmm1, %xmm2
289*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq (%rax,%rcx), %xmm1, %xmm2
290*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf0,0x93,0x14,0x08]
291*9880d681SAndroid Build Coastguard Worker          vprotq (%rax,%rcx), %xmm1, %xmm2
292*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq %xmm0, %xmm1, %xmm2
293*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x78,0x93,0xd1]
294*9880d681SAndroid Build Coastguard Worker          vprotq %xmm0, %xmm1, %xmm2
295*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq $42, (%rax), %xmm2
296*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0x10,0x2a]
297*9880d681SAndroid Build Coastguard Worker          vprotq $42, (%rax), %xmm2
298*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq $42, (%rax,%rcx), %xmm2
299*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0x14,0x08,0x2a]
300*9880d681SAndroid Build Coastguard Worker          vprotq $42, (%rax,%rcx), %xmm2
301*9880d681SAndroid Build Coastguard Worker// CHECK: vprotq $42, %xmm1, %xmm2
302*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0xd1,0x2a]
303*9880d681SAndroid Build Coastguard Worker          vprotq $42, %xmm1, %xmm2
304*9880d681SAndroid Build Coastguard Worker
305*9880d681SAndroid Build Coastguard Worker// vprotd
306*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd (%rax), %xmm0, %xmm3
307*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xf8,0x92,0x18]
308*9880d681SAndroid Build Coastguard Worker          vprotd (%rax), %xmm0, %xmm3
309*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd %xmm2, (%rax,%rcx), %xmm4
310*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x68,0x92,0x24,0x08]
311*9880d681SAndroid Build Coastguard Worker          vprotd %xmm2, (%rax,%rcx), %xmm4
312*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd %xmm5, %xmm3, %xmm2
313*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x92,0xd3]
314*9880d681SAndroid Build Coastguard Worker          vprotd %xmm5, %xmm3, %xmm2
315*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd $43, (%rcx), %xmm6
316*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0x31,0x2b]
317*9880d681SAndroid Build Coastguard Worker          vprotd $43, (%rcx), %xmm6
318*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd $44, (%rax,%rcx), %xmm7
319*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0x3c,0x08,0x2c]
320*9880d681SAndroid Build Coastguard Worker          vprotd $44, (%rax,%rcx), %xmm7
321*9880d681SAndroid Build Coastguard Worker// CHECK: vprotd $45, %xmm4, %xmm4
322*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0xe4,0x2d]
323*9880d681SAndroid Build Coastguard Worker          vprotd $45, %xmm4, %xmm4
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Worker// vprotb
326*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb (%rcx), %xmm2, %xmm5
327*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0xe8,0x90,0x29]
328*9880d681SAndroid Build Coastguard Worker          vprotb (%rcx), %xmm2, %xmm5
329*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb %xmm5, (%rax,%rcx), %xmm4
330*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x50,0x90,0x24,0x08]
331*9880d681SAndroid Build Coastguard Worker          vprotb %xmm5, (%rax,%rcx), %xmm4
332*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb %xmm4, %xmm3, %xmm2
333*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe9,0x58,0x90,0xd3]
334*9880d681SAndroid Build Coastguard Worker          vprotb %xmm4, %xmm3, %xmm2
335*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb $46, (%rax), %xmm3
336*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0x18,0x2e]
337*9880d681SAndroid Build Coastguard Worker          vprotb $46, (%rax), %xmm3
338*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb $47, (%rax,%rcx), %xmm7
339*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0x3c,0x08,0x2f]
340*9880d681SAndroid Build Coastguard Worker          vprotb $47, (%rax,%rcx), %xmm7
341*9880d681SAndroid Build Coastguard Worker// CHECK: vprotb $48, %xmm5, %xmm5
342*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0xed,0x30]
343*9880d681SAndroid Build Coastguard Worker          vprotb $48, %xmm5, %xmm5
344*9880d681SAndroid Build Coastguard Worker
345*9880d681SAndroid Build Coastguard Worker//////////////////////////
346*9880d681SAndroid Build Coastguard Worker// 4 operand instructions
347*9880d681SAndroid Build Coastguard Worker/////////////////////////
348*9880d681SAndroid Build Coastguard Worker
349*9880d681SAndroid Build Coastguard Worker// vpmadcswd
350*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcswd %xmm1, %xmm2, %xmm3, %xmm4
351*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xb6,0xe2,0x10]
352*9880d681SAndroid Build Coastguard Worker        vpmadcswd %xmm1, %xmm2, %xmm3, %xmm4
353*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcswd %xmm1, (%rax), %xmm3, %xmm4
354*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xb6,0x20,0x10]
355*9880d681SAndroid Build Coastguard Worker        vpmadcswd %xmm1, (%rax), %xmm3, %xmm4
356*9880d681SAndroid Build Coastguard Worker
357*9880d681SAndroid Build Coastguard Worker// vpmadcsswd
358*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcsswd %xmm1, %xmm4, %xmm6, %xmm4
359*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0xa6,0xe4,0x10]
360*9880d681SAndroid Build Coastguard Worker          vpmadcsswd %xmm1, %xmm4, %xmm6, %xmm4
361*9880d681SAndroid Build Coastguard Worker// CHECK: vpmadcsswd %xmm1, (%rax,%rcx), %xmm3, %xmm4
362*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa6,0x24,0x08,0x10]
363*9880d681SAndroid Build Coastguard Worker          vpmadcsswd %xmm1, (%rax,%rcx), %xmm3, %xmm4
364*9880d681SAndroid Build Coastguard Worker
365*9880d681SAndroid Build Coastguard Worker// vpmacsww
366*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsww %xmm0, %xmm2, %xmm5, %xmm4
367*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x50,0x95,0xe2,0x00]
368*9880d681SAndroid Build Coastguard Worker          vpmacsww %xmm0, %xmm2, %xmm5, %xmm4
369*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsww %xmm1, (%rax), %xmm6, %xmm4
370*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x95,0x20,0x10]
371*9880d681SAndroid Build Coastguard Worker          vpmacsww %xmm1, (%rax), %xmm6, %xmm4
372*9880d681SAndroid Build Coastguard Worker
373*9880d681SAndroid Build Coastguard Worker// vpmacswd
374*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacswd %xmm4, %xmm5, %xmm6, %xmm7
375*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x96,0xfd,0x40]
376*9880d681SAndroid Build Coastguard Worker          vpmacswd %xmm4, %xmm5, %xmm6, %xmm7
377*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacswd %xmm0, (%rax), %xmm1, %xmm2
378*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0x96,0x10,0x00]
379*9880d681SAndroid Build Coastguard Worker          vpmacswd %xmm0, (%rax), %xmm1, %xmm2
380*9880d681SAndroid Build Coastguard Worker
381*9880d681SAndroid Build Coastguard Worker// vpmacssww
382*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssww %xmm4, %xmm3, %xmm2, %xmm1
383*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x85,0xcb,0x40]
384*9880d681SAndroid Build Coastguard Worker          vpmacssww %xmm4, %xmm3, %xmm2, %xmm1
385*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssww %xmm6, (%rcx), %xmm7, %xmm7
386*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x40,0x85,0x39,0x60]
387*9880d681SAndroid Build Coastguard Worker          vpmacssww %xmm6, (%rcx), %xmm7, %xmm7
388*9880d681SAndroid Build Coastguard Worker
389*9880d681SAndroid Build Coastguard Worker// vpmacsswd
390*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsswd %xmm4, %xmm2, %xmm4, %xmm2
391*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0x86,0xd2,0x40]
392*9880d681SAndroid Build Coastguard Worker          vpmacsswd %xmm4, %xmm2, %xmm4, %xmm2
393*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsswd %xmm0, 8(%rax,%rcx), %xmm1, %xmm0
394*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0x86,0x44,0x08,0x08,0x00]
395*9880d681SAndroid Build Coastguard Worker          vpmacsswd %xmm0, 8(%rax,%rcx), %xmm1, %xmm0
396*9880d681SAndroid Build Coastguard Worker
397*9880d681SAndroid Build Coastguard Worker// vpmacssdql
398*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdql %xmm1, %xmm1, %xmm2, %xmm4
399*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x87,0xe1,0x10]
400*9880d681SAndroid Build Coastguard Worker          vpmacssdql %xmm1, %xmm1, %xmm2, %xmm4
401*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdql %xmm7, (%rcx), %xmm6, %xmm5
402*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x87,0x29,0x70]
403*9880d681SAndroid Build Coastguard Worker          vpmacssdql %xmm7, (%rcx), %xmm6, %xmm5
404*9880d681SAndroid Build Coastguard Worker
405*9880d681SAndroid Build Coastguard Worker// vpmacssdqh
406*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdqh %xmm3, %xmm2, %xmm0, %xmm1
407*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0x8f,0xca,0x30]
408*9880d681SAndroid Build Coastguard Worker          vpmacssdqh %xmm3, %xmm2, %xmm0, %xmm1
409*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdqh %xmm7, (%rax,%rcx), %xmm2, %xmm3
410*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x8f,0x1c,0x08,0x70]
411*9880d681SAndroid Build Coastguard Worker          vpmacssdqh %xmm7, (%rax,%rcx), %xmm2, %xmm3
412*9880d681SAndroid Build Coastguard Worker
413*9880d681SAndroid Build Coastguard Worker// vpmacssdd
414*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdd %xmm2, %xmm2, %xmm3, %xmm5
415*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0x8e,0xea,0x20]
416*9880d681SAndroid Build Coastguard Worker          vpmacssdd %xmm2, %xmm2, %xmm3, %xmm5
417*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacssdd %xmm4, (%rax), %xmm1, %xmm2
418*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0x8e,0x10,0x40]
419*9880d681SAndroid Build Coastguard Worker          vpmacssdd %xmm4, (%rax), %xmm1, %xmm2
420*9880d681SAndroid Build Coastguard Worker
421*9880d681SAndroid Build Coastguard Worker// vpmacsdql
422*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdql %xmm3, %xmm0, %xmm6, %xmm7
423*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0x97,0xf8,0x30]
424*9880d681SAndroid Build Coastguard Worker          vpmacsdql %xmm3, %xmm0, %xmm6, %xmm7
425*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdql %xmm5, 8(%rcx), %xmm3, %xmm5
426*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0x97,0x69,0x08,0x50]
427*9880d681SAndroid Build Coastguard Worker          vpmacsdql %xmm5, 8(%rcx), %xmm3, %xmm5
428*9880d681SAndroid Build Coastguard Worker
429*9880d681SAndroid Build Coastguard Worker// vpmacsdqh
430*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdqh %xmm7, %xmm5, %xmm3, %xmm2
431*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0x9f,0xd5,0x70]
432*9880d681SAndroid Build Coastguard Worker          vpmacsdqh %xmm7, %xmm5, %xmm3, %xmm2
433*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdqh %xmm5, 4(%rax), %xmm2, %xmm0
434*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0x9f,0x40,0x04,0x50]
435*9880d681SAndroid Build Coastguard Worker          vpmacsdqh %xmm5, 4(%rax), %xmm2, %xmm0
436*9880d681SAndroid Build Coastguard Worker
437*9880d681SAndroid Build Coastguard Worker// vpmacsdd
438*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2
439*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0x9e,0xd6,0x40]
440*9880d681SAndroid Build Coastguard Worker          vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2
441*9880d681SAndroid Build Coastguard Worker// CHECK: vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3
442*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0x9e,0x1c,0x08,0x40]
443*9880d681SAndroid Build Coastguard Worker          vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3
444*9880d681SAndroid Build Coastguard Worker
445*9880d681SAndroid Build Coastguard Worker// vpcomw
446*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomw $42, %xmm2, %xmm3, %xmm4
447*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x2a]
448*9880d681SAndroid Build Coastguard Worker          vpcomw $42, %xmm2, %xmm3, %xmm4
449*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomw $42, (%rax), %xmm3, %xmm4
450*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0x20,0x2a]
451*9880d681SAndroid Build Coastguard Worker          vpcomw $42, (%rax), %xmm3, %xmm4
452*9880d681SAndroid Build Coastguard Worker
453*9880d681SAndroid Build Coastguard Worker// vpcomuw
454*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuw $43, %xmm1, %xmm3, %xmm5
455*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe9,0x2b]
456*9880d681SAndroid Build Coastguard Worker          vpcomuw $43, %xmm1, %xmm3, %xmm5
457*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuw $44, (%rax,%rcx), %xmm0, %xmm6
458*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xed,0x34,0x08,0x2c]
459*9880d681SAndroid Build Coastguard Worker          vpcomuw $44, (%rax,%rcx), %xmm0, %xmm6
460*9880d681SAndroid Build Coastguard Worker
461*9880d681SAndroid Build Coastguard Worker// vpcomuq
462*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuq $45, %xmm3, %xmm3, %xmm7
463*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xef,0xfb,0x2d]
464*9880d681SAndroid Build Coastguard Worker          vpcomuq $45, %xmm3, %xmm3, %xmm7
465*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomuq $46, (%rax), %xmm3, %xmm1
466*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xef,0x08,0x2e]
467*9880d681SAndroid Build Coastguard Worker          vpcomuq $46, (%rax), %xmm3, %xmm1
468*9880d681SAndroid Build Coastguard Worker
469*9880d681SAndroid Build Coastguard Worker// vpcomud
470*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomud $47, %xmm0, %xmm1, %xmm2
471*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0xee,0xd0,0x2f]
472*9880d681SAndroid Build Coastguard Worker          vpcomud $47, %xmm0, %xmm1, %xmm2
473*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomud $48, 4(%rax), %xmm6, %xmm3
474*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0xee,0x58,0x04,0x30]
475*9880d681SAndroid Build Coastguard Worker          vpcomud $48, 4(%rax), %xmm6, %xmm3
476*9880d681SAndroid Build Coastguard Worker
477*9880d681SAndroid Build Coastguard Worker// vpcomub
478*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomub $49, %xmm3, %xmm4, %xmm5
479*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0xec,0xeb,0x31]
480*9880d681SAndroid Build Coastguard Worker          vpcomub $49, %xmm3, %xmm4, %xmm5
481*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomub $50, (%rcx), %xmm6, %xmm2
482*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x48,0xec,0x11,0x32]
483*9880d681SAndroid Build Coastguard Worker          vpcomub $50, (%rcx), %xmm6, %xmm2
484*9880d681SAndroid Build Coastguard Worker
485*9880d681SAndroid Build Coastguard Worker// vpcomq
486*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomq $51, %xmm3, %xmm0, %xmm5
487*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x78,0xcf,0xeb,0x33]
488*9880d681SAndroid Build Coastguard Worker          vpcomq $51, %xmm3, %xmm0, %xmm5
489*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomq $52, (%rax), %xmm1, %xmm7
490*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x70,0xcf,0x38,0x34]
491*9880d681SAndroid Build Coastguard Worker          vpcomq $52, (%rax), %xmm1, %xmm7
492*9880d681SAndroid Build Coastguard Worker
493*9880d681SAndroid Build Coastguard Worker// vpcomd
494*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomd $53, %xmm3, %xmm3, %xmm0
495*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xce,0xc3,0x35]
496*9880d681SAndroid Build Coastguard Worker          vpcomd $53, %xmm3, %xmm3, %xmm0
497*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomd $54, (%rcx), %xmm2, %xmm2
498*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x68,0xce,0x11,0x36]
499*9880d681SAndroid Build Coastguard Worker          vpcomd $54, (%rcx), %xmm2, %xmm2
500*9880d681SAndroid Build Coastguard Worker
501*9880d681SAndroid Build Coastguard Worker// vpcomb
502*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomb $55, %xmm6, %xmm4, %xmm2
503*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x58,0xcc,0xd6,0x37]
504*9880d681SAndroid Build Coastguard Worker          vpcomb $55, %xmm6, %xmm4, %xmm2
505*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomb $56, 8(%rax), %xmm3, %xmm2
506*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcc,0x50,0x08,0x38]
507*9880d681SAndroid Build Coastguard Worker          vpcomb $56, 8(%rax), %xmm3, %xmm2
508*9880d681SAndroid Build Coastguard Worker
509*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomltw %xmm2, %xmm3, %xmm4
510*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x00]
511*9880d681SAndroid Build Coastguard Worker          vpcomltw %xmm2, %xmm3, %xmm4
512*9880d681SAndroid Build Coastguard Worker
513*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomlew %xmm2, %xmm3, %xmm4
514*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x01]
515*9880d681SAndroid Build Coastguard Worker          vpcomlew %xmm2, %xmm3, %xmm4
516*9880d681SAndroid Build Coastguard Worker
517*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgtw %xmm2, %xmm3, %xmm4
518*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x02]
519*9880d681SAndroid Build Coastguard Worker          vpcomgtw %xmm2, %xmm3, %xmm4
520*9880d681SAndroid Build Coastguard Worker
521*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgew %xmm2, %xmm3, %xmm4
522*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x03]
523*9880d681SAndroid Build Coastguard Worker          vpcomgew %xmm2, %xmm3, %xmm4
524*9880d681SAndroid Build Coastguard Worker
525*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomeqw %xmm2, %xmm3, %xmm4
526*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x04]
527*9880d681SAndroid Build Coastguard Worker          vpcomeqw %xmm2, %xmm3, %xmm4
528*9880d681SAndroid Build Coastguard Worker
529*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomneqw %xmm2, %xmm3, %xmm4
530*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x05]
531*9880d681SAndroid Build Coastguard Worker          vpcomneqw %xmm2, %xmm3, %xmm4
532*9880d681SAndroid Build Coastguard Worker
533*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomfalsew %xmm2, %xmm3, %xmm4
534*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x06]
535*9880d681SAndroid Build Coastguard Worker          vpcomfalsew %xmm2, %xmm3, %xmm4
536*9880d681SAndroid Build Coastguard Worker
537*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomtruew %xmm2, %xmm3, %xmm4
538*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x07]
539*9880d681SAndroid Build Coastguard Worker          vpcomtruew %xmm2, %xmm3, %xmm4
540*9880d681SAndroid Build Coastguard Worker
541*9880d681SAndroid Build Coastguard Worker
542*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomltuw %xmm2, %xmm3, %xmm4
543*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x00]
544*9880d681SAndroid Build Coastguard Worker          vpcomltuw %xmm2, %xmm3, %xmm4
545*9880d681SAndroid Build Coastguard Worker
546*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomleuw %xmm2, %xmm3, %xmm4
547*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x01]
548*9880d681SAndroid Build Coastguard Worker          vpcomleuw %xmm2, %xmm3, %xmm4
549*9880d681SAndroid Build Coastguard Worker
550*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgtuw %xmm2, %xmm3, %xmm4
551*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x02]
552*9880d681SAndroid Build Coastguard Worker          vpcomgtuw %xmm2, %xmm3, %xmm4
553*9880d681SAndroid Build Coastguard Worker
554*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomgeuw %xmm2, %xmm3, %xmm4
555*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x03]
556*9880d681SAndroid Build Coastguard Worker          vpcomgeuw %xmm2, %xmm3, %xmm4
557*9880d681SAndroid Build Coastguard Worker
558*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomequw %xmm2, %xmm3, %xmm4
559*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x04]
560*9880d681SAndroid Build Coastguard Worker          vpcomequw %xmm2, %xmm3, %xmm4
561*9880d681SAndroid Build Coastguard Worker
562*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomnequw %xmm2, %xmm3, %xmm4
563*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x05]
564*9880d681SAndroid Build Coastguard Worker          vpcomnequw %xmm2, %xmm3, %xmm4
565*9880d681SAndroid Build Coastguard Worker
566*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomfalseuw %xmm2, %xmm3, %xmm4
567*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x06]
568*9880d681SAndroid Build Coastguard Worker          vpcomfalseuw %xmm2, %xmm3, %xmm4
569*9880d681SAndroid Build Coastguard Worker
570*9880d681SAndroid Build Coastguard Worker// CHECK: vpcomtrueuw %xmm2, %xmm3, %xmm4
571*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x07]
572*9880d681SAndroid Build Coastguard Worker          vpcomtrueuw %xmm2, %xmm3, %xmm4
573*9880d681SAndroid Build Coastguard Worker
574*9880d681SAndroid Build Coastguard Worker// vpperm
575*9880d681SAndroid Build Coastguard Worker// CHECK: vpperm %xmm1, %xmm2, %xmm3, %xmm4
576*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa3,0xe2,0x10]
577*9880d681SAndroid Build Coastguard Worker        vpperm %xmm1, %xmm2, %xmm3, %xmm4
578*9880d681SAndroid Build Coastguard Worker// CHECK: vpperm (%rax), %xmm2, %xmm3, %xmm4
579*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0xe0,0xa3,0x20,0x20]
580*9880d681SAndroid Build Coastguard Worker        vpperm (%rax), %xmm2, %xmm3, %xmm4
581*9880d681SAndroid Build Coastguard Worker// CHECK: vpperm %xmm1, (%rax), %xmm3, %xmm4
582*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa3,0x20,0x10]
583*9880d681SAndroid Build Coastguard Worker        vpperm %xmm1, (%rax), %xmm3, %xmm4
584*9880d681SAndroid Build Coastguard Worker
585*9880d681SAndroid Build Coastguard Worker// vpcmov
586*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %xmm1, %xmm2, %xmm3, %xmm4
587*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa2,0xe2,0x10]
588*9880d681SAndroid Build Coastguard Worker	vpcmov %xmm1, %xmm2, %xmm3, %xmm4
589*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov (%rax), %xmm2, %xmm3, %xmm4
590*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0xe0,0xa2,0x20,0x20]
591*9880d681SAndroid Build Coastguard Worker	vpcmov (%rax), %xmm2, %xmm3, %xmm4
592*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %xmm1, (%rax), %xmm3, %xmm4
593*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x60,0xa2,0x20,0x10]
594*9880d681SAndroid Build Coastguard Worker	vpcmov %xmm1, (%rax), %xmm3, %xmm4
595*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %ymm1, %ymm2, %ymm3, %ymm4
596*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x64,0xa2,0xe2,0x10]
597*9880d681SAndroid Build Coastguard Worker	vpcmov %ymm1, %ymm2, %ymm3, %ymm4
598*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov (%rax), %ymm2, %ymm3, %ymm4
599*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0xe4,0xa2,0x20,0x20]
600*9880d681SAndroid Build Coastguard Worker	vpcmov (%rax), %ymm2, %ymm3, %ymm4
601*9880d681SAndroid Build Coastguard Worker// CHECK: vpcmov %ymm1, (%rax), %ymm3, %ymm4
602*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0x8f,0xe8,0x64,0xa2,0x20,0x10]
603*9880d681SAndroid Build Coastguard Worker	vpcmov %ymm1, (%rax), %ymm3, %ymm4
604*9880d681SAndroid Build Coastguard Worker
605*9880d681SAndroid Build Coastguard Worker
606*9880d681SAndroid Build Coastguard Worker//////////////////////////
607*9880d681SAndroid Build Coastguard Worker// 5 operand instructions
608*9880d681SAndroid Build Coastguard Worker/////////////////////////
609*9880d681SAndroid Build Coastguard Worker// vpermil2pd
610*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $1, %xmm5, %xmm2, %xmm1, %xmm7
611*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x71,0x49,0xfa,0x51]
612*9880d681SAndroid Build Coastguard Worker          vpermil2pd $1, %xmm5, %xmm2, %xmm1, %xmm7
613*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $2, (%rax), %xmm3, %xmm3, %xmm4
614*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xe1,0x49,0x20,0x32]
615*9880d681SAndroid Build Coastguard Worker          vpermil2pd $2, (%rax), %xmm3, %xmm3, %xmm4
616*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $3, 8(%rax), %ymm0, %ymm4, %ymm6
617*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xdd,0x49,0x70,0x08,0x03]
618*9880d681SAndroid Build Coastguard Worker          vpermil2pd $3, 8(%rax), %ymm0, %ymm4, %ymm6
619*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $0, %xmm3, (%rax,%rcx), %xmm1, %xmm0
620*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x71,0x49,0x04,0x08,0x30]
621*9880d681SAndroid Build Coastguard Worker          vpermil2pd $0, %xmm3, (%rax,%rcx), %xmm1, %xmm0
622*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $1, %ymm1, %ymm2, %ymm3, %ymm4
623*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x65,0x49,0xe2,0x11]
624*9880d681SAndroid Build Coastguard Worker          vpermil2pd $1, %ymm1, %ymm2, %ymm3, %ymm4
625*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $2, %ymm1, (%rax), %ymm3, %ymm4
626*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x65,0x49,0x20,0x12]
627*9880d681SAndroid Build Coastguard Worker          vpermil2pd $2, %ymm1, (%rax), %ymm3, %ymm4
628*9880d681SAndroid Build Coastguard Worker
629*9880d681SAndroid Build Coastguard Worker// vpermil2ps
630*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1
631*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x69,0x48,0xcb,0x40]
632*9880d681SAndroid Build Coastguard Worker          vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1
633*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0
634*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xe1,0x48,0x40,0x04,0x21]
635*9880d681SAndroid Build Coastguard Worker          vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0
636*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6
637*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0xd5,0x48,0x30,0x12]
638*9880d681SAndroid Build Coastguard Worker          vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6
639*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4
640*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x61,0x48,0x20,0x13]
641*9880d681SAndroid Build Coastguard Worker          vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4
642*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2
643*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x6d,0x48,0xd4,0x40]
644*9880d681SAndroid Build Coastguard Worker          vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2
645*9880d681SAndroid Build Coastguard Worker// CHECK: vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0
646*9880d681SAndroid Build Coastguard Worker// CHECK: encoding: [0xc4,0xe3,0x75,0x49,0x40,0x04,0x11]
647*9880d681SAndroid Build Coastguard Worker          vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0
648*9880d681SAndroid Build Coastguard Worker
649