dding test for fnstsw
[oota-llvm.git] / test / MC / X86 / x86-32-avx.s
1 // RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
2
3 // CHECK: vaddss  %xmm4, %xmm6, %xmm2
4 // CHECK:  encoding: [0xc5,0xca,0x58,0xd4]
5           vaddss  %xmm4, %xmm6, %xmm2
6
7 // CHECK: vmulss  %xmm4, %xmm6, %xmm2
8 // CHECK:  encoding: [0xc5,0xca,0x59,0xd4]
9           vmulss  %xmm4, %xmm6, %xmm2
10
11 // CHECK: vsubss  %xmm4, %xmm6, %xmm2
12 // CHECK:  encoding: [0xc5,0xca,0x5c,0xd4]
13           vsubss  %xmm4, %xmm6, %xmm2
14
15 // CHECK: vdivss  %xmm4, %xmm6, %xmm2
16 // CHECK:  encoding: [0xc5,0xca,0x5e,0xd4]
17           vdivss  %xmm4, %xmm6, %xmm2
18
19 // CHECK: vaddsd  %xmm4, %xmm6, %xmm2
20 // CHECK:  encoding: [0xc5,0xcb,0x58,0xd4]
21           vaddsd  %xmm4, %xmm6, %xmm2
22
23 // CHECK: vmulsd  %xmm4, %xmm6, %xmm2
24 // CHECK:  encoding: [0xc5,0xcb,0x59,0xd4]
25           vmulsd  %xmm4, %xmm6, %xmm2
26
27 // CHECK: vsubsd  %xmm4, %xmm6, %xmm2
28 // CHECK:  encoding: [0xc5,0xcb,0x5c,0xd4]
29           vsubsd  %xmm4, %xmm6, %xmm2
30
31 // CHECK: vdivsd  %xmm4, %xmm6, %xmm2
32 // CHECK:  encoding: [0xc5,0xcb,0x5e,0xd4]
33           vdivsd  %xmm4, %xmm6, %xmm2
34
35 // CHECK: vaddss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
36 // CHECK:  encoding: [0xc5,0xea,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
37           vaddss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
38
39 // CHECK: vsubss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
40 // CHECK:  encoding: [0xc5,0xea,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
41           vsubss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
42
43 // CHECK: vmulss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
44 // CHECK:  encoding: [0xc5,0xea,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
45           vmulss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
46
47 // CHECK: vdivss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
48 // CHECK:  encoding: [0xc5,0xea,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
49           vdivss  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
50
51 // CHECK: vaddsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
52 // CHECK:  encoding: [0xc5,0xeb,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
53           vaddsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
54
55 // CHECK: vsubsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
56 // CHECK:  encoding: [0xc5,0xeb,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
57           vsubsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
58
59 // CHECK: vmulsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
60 // CHECK:  encoding: [0xc5,0xeb,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
61           vmulsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
62
63 // CHECK: vdivsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
64 // CHECK:  encoding: [0xc5,0xeb,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
65           vdivsd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
66
67 // CHECK: vaddps  %xmm4, %xmm6, %xmm2
68 // CHECK: encoding: [0xc5,0xc8,0x58,0xd4]
69           vaddps  %xmm4, %xmm6, %xmm2
70
71 // CHECK: vsubps  %xmm4, %xmm6, %xmm2
72 // CHECK: encoding: [0xc5,0xc8,0x5c,0xd4]
73           vsubps  %xmm4, %xmm6, %xmm2
74
75 // CHECK: vmulps  %xmm4, %xmm6, %xmm2
76 // CHECK: encoding: [0xc5,0xc8,0x59,0xd4]
77           vmulps  %xmm4, %xmm6, %xmm2
78
79 // CHECK: vdivps  %xmm4, %xmm6, %xmm2
80 // CHECK: encoding: [0xc5,0xc8,0x5e,0xd4]
81           vdivps  %xmm4, %xmm6, %xmm2
82
83 // CHECK: vaddpd  %xmm4, %xmm6, %xmm2
84 // CHECK: encoding: [0xc5,0xc9,0x58,0xd4]
85           vaddpd  %xmm4, %xmm6, %xmm2
86
87 // CHECK: vsubpd  %xmm4, %xmm6, %xmm2
88 // CHECK: encoding: [0xc5,0xc9,0x5c,0xd4]
89           vsubpd  %xmm4, %xmm6, %xmm2
90
91 // CHECK: vmulpd  %xmm4, %xmm6, %xmm2
92 // CHECK: encoding: [0xc5,0xc9,0x59,0xd4]
93           vmulpd  %xmm4, %xmm6, %xmm2
94
95 // CHECK: vdivpd  %xmm4, %xmm6, %xmm2
96 // CHECK: encoding: [0xc5,0xc9,0x5e,0xd4]
97           vdivpd  %xmm4, %xmm6, %xmm2
98
99 // CHECK: vaddps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
100 // CHECK: encoding: [0xc5,0xe8,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
101           vaddps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
102
103 // CHECK: vsubps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
104 // CHECK: encoding: [0xc5,0xe8,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
105           vsubps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
106
107 // CHECK: vmulps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
108 // CHECK: encoding: [0xc5,0xe8,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
109           vmulps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
110
111 // CHECK: vdivps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
112 // CHECK: encoding: [0xc5,0xe8,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
113           vdivps  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
114
115 // CHECK: vaddpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
116 // CHECK: encoding: [0xc5,0xe9,0x58,0xac,0xcb,0xef,0xbe,0xad,0xde]
117           vaddpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
118
119 // CHECK: vsubpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
120 // CHECK: encoding: [0xc5,0xe9,0x5c,0xac,0xcb,0xef,0xbe,0xad,0xde]
121           vsubpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
122
123 // CHECK: vmulpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
124 // CHECK: encoding: [0xc5,0xe9,0x59,0xac,0xcb,0xef,0xbe,0xad,0xde]
125           vmulpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
126
127 // CHECK: vdivpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
128 // CHECK: encoding: [0xc5,0xe9,0x5e,0xac,0xcb,0xef,0xbe,0xad,0xde]
129           vdivpd  3735928559(%ebx,%ecx,8), %xmm2, %xmm5
130 // CHECK: vmaxss  %xmm2, %xmm4, %xmm6
131 // CHECK: encoding: [0xc5,0xda,0x5f,0xf2]
132           vmaxss  %xmm2, %xmm4, %xmm6
133
134 // CHECK: vmaxsd  %xmm2, %xmm4, %xmm6
135 // CHECK: encoding: [0xc5,0xdb,0x5f,0xf2]
136           vmaxsd  %xmm2, %xmm4, %xmm6
137
138 // CHECK: vminss  %xmm2, %xmm4, %xmm6
139 // CHECK: encoding: [0xc5,0xda,0x5d,0xf2]
140           vminss  %xmm2, %xmm4, %xmm6
141
142 // CHECK: vminsd  %xmm2, %xmm4, %xmm6
143 // CHECK: encoding: [0xc5,0xdb,0x5d,0xf2]
144           vminsd  %xmm2, %xmm4, %xmm6
145
146 // CHECK: vmaxss  -4(%ebx,%ecx,8), %xmm2, %xmm5
147 // CHECK: encoding: [0xc5,0xea,0x5f,0x6c,0xcb,0xfc]
148           vmaxss  -4(%ebx,%ecx,8), %xmm2, %xmm5
149
150 // CHECK: vmaxsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
151 // CHECK: encoding: [0xc5,0xeb,0x5f,0x6c,0xcb,0xfc]
152           vmaxsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
153
154 // CHECK: vminss  -4(%ebx,%ecx,8), %xmm2, %xmm5
155 // CHECK: encoding: [0xc5,0xea,0x5d,0x6c,0xcb,0xfc]
156           vminss  -4(%ebx,%ecx,8), %xmm2, %xmm5
157
158 // CHECK: vminsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
159 // CHECK: encoding: [0xc5,0xeb,0x5d,0x6c,0xcb,0xfc]
160           vminsd  -4(%ebx,%ecx,8), %xmm2, %xmm5
161
162 // CHECK: vmaxps  %xmm2, %xmm4, %xmm6
163 // CHECK: encoding: [0xc5,0xd8,0x5f,0xf2]
164           vmaxps  %xmm2, %xmm4, %xmm6
165
166 // CHECK: vmaxpd  %xmm2, %xmm4, %xmm6
167 // CHECK: encoding: [0xc5,0xd9,0x5f,0xf2]
168           vmaxpd  %xmm2, %xmm4, %xmm6
169
170 // CHECK: vminps  %xmm2, %xmm4, %xmm6
171 // CHECK: encoding: [0xc5,0xd8,0x5d,0xf2]
172           vminps  %xmm2, %xmm4, %xmm6
173
174 // CHECK: vminpd  %xmm2, %xmm4, %xmm6
175 // CHECK: encoding: [0xc5,0xd9,0x5d,0xf2]
176           vminpd  %xmm2, %xmm4, %xmm6
177
178 // CHECK: vmaxps  -4(%ebx,%ecx,8), %xmm2, %xmm5
179 // CHECK: encoding: [0xc5,0xe8,0x5f,0x6c,0xcb,0xfc]
180           vmaxps  -4(%ebx,%ecx,8), %xmm2, %xmm5
181
182 // CHECK: vmaxpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
183 // CHECK: encoding: [0xc5,0xe9,0x5f,0x6c,0xcb,0xfc]
184           vmaxpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
185
186 // CHECK: vminps  -4(%ebx,%ecx,8), %xmm2, %xmm5
187 // CHECK: encoding: [0xc5,0xe8,0x5d,0x6c,0xcb,0xfc]
188           vminps  -4(%ebx,%ecx,8), %xmm2, %xmm5
189
190 // CHECK: vminpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
191 // CHECK: encoding: [0xc5,0xe9,0x5d,0x6c,0xcb,0xfc]
192           vminpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
193
194 // CHECK: vandps  %xmm2, %xmm4, %xmm6
195 // CHECK: encoding: [0xc5,0xd8,0x54,0xf2]
196           vandps  %xmm2, %xmm4, %xmm6
197
198 // CHECK: vandpd  %xmm2, %xmm4, %xmm6
199 // CHECK: encoding: [0xc5,0xd9,0x54,0xf2]
200           vandpd  %xmm2, %xmm4, %xmm6
201
202 // CHECK: vandps  -4(%ebx,%ecx,8), %xmm2, %xmm5
203 // CHECK: encoding: [0xc5,0xe8,0x54,0x6c,0xcb,0xfc]
204           vandps  -4(%ebx,%ecx,8), %xmm2, %xmm5
205
206 // CHECK: vandpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
207 // CHECK: encoding: [0xc5,0xe9,0x54,0x6c,0xcb,0xfc]
208           vandpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
209
210 // CHECK: vorps  %xmm2, %xmm4, %xmm6
211 // CHECK: encoding: [0xc5,0xd8,0x56,0xf2]
212           vorps  %xmm2, %xmm4, %xmm6
213
214 // CHECK: vorpd  %xmm2, %xmm4, %xmm6
215 // CHECK: encoding: [0xc5,0xd9,0x56,0xf2]
216           vorpd  %xmm2, %xmm4, %xmm6
217
218 // CHECK: vorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
219 // CHECK: encoding: [0xc5,0xe8,0x56,0x6c,0xcb,0xfc]
220           vorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
221
222 // CHECK: vorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
223 // CHECK: encoding: [0xc5,0xe9,0x56,0x6c,0xcb,0xfc]
224           vorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
225
226 // CHECK: vxorps  %xmm2, %xmm4, %xmm6
227 // CHECK: encoding: [0xc5,0xd8,0x57,0xf2]
228           vxorps  %xmm2, %xmm4, %xmm6
229
230 // CHECK: vxorpd  %xmm2, %xmm4, %xmm6
231 // CHECK: encoding: [0xc5,0xd9,0x57,0xf2]
232           vxorpd  %xmm2, %xmm4, %xmm6
233
234 // CHECK: vxorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
235 // CHECK: encoding: [0xc5,0xe8,0x57,0x6c,0xcb,0xfc]
236           vxorps  -4(%ebx,%ecx,8), %xmm2, %xmm5
237
238 // CHECK: vxorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
239 // CHECK: encoding: [0xc5,0xe9,0x57,0x6c,0xcb,0xfc]
240           vxorpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
241
242 // CHECK: vandnps  %xmm2, %xmm4, %xmm6
243 // CHECK: encoding: [0xc5,0xd8,0x55,0xf2]
244           vandnps  %xmm2, %xmm4, %xmm6
245
246 // CHECK: vandnpd  %xmm2, %xmm4, %xmm6
247 // CHECK: encoding: [0xc5,0xd9,0x55,0xf2]
248           vandnpd  %xmm2, %xmm4, %xmm6
249
250 // CHECK: vandnps  -4(%ebx,%ecx,8), %xmm2, %xmm5
251 // CHECK: encoding: [0xc5,0xe8,0x55,0x6c,0xcb,0xfc]
252           vandnps  -4(%ebx,%ecx,8), %xmm2, %xmm5
253
254 // CHECK: vandnpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
255 // CHECK: encoding: [0xc5,0xe9,0x55,0x6c,0xcb,0xfc]
256           vandnpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
257
258 // CHECK: vmovss  -4(%ebx,%ecx,8), %xmm5
259 // CHECK: encoding: [0xc5,0xfa,0x10,0x6c,0xcb,0xfc]
260           vmovss  -4(%ebx,%ecx,8), %xmm5
261
262 // CHECK: vmovss  %xmm4, %xmm2, %xmm5
263 // CHECK: encoding: [0xc5,0xea,0x10,0xec]
264           vmovss  %xmm4, %xmm2, %xmm5
265
266 // CHECK: vmovsd  -4(%ebx,%ecx,8), %xmm5
267 // CHECK: encoding: [0xc5,0xfb,0x10,0x6c,0xcb,0xfc]
268           vmovsd  -4(%ebx,%ecx,8), %xmm5
269
270 // CHECK: vmovsd  %xmm4, %xmm2, %xmm5
271 // CHECK: encoding: [0xc5,0xeb,0x10,0xec]
272           vmovsd  %xmm4, %xmm2, %xmm5
273
274 // CHECK: vunpckhps  %xmm1, %xmm2, %xmm4
275 // CHECK: encoding: [0xc5,0xe8,0x15,0xe1]
276           vunpckhps  %xmm1, %xmm2, %xmm4
277
278 // CHECK: vunpckhpd  %xmm1, %xmm2, %xmm4
279 // CHECK: encoding: [0xc5,0xe9,0x15,0xe1]
280           vunpckhpd  %xmm1, %xmm2, %xmm4
281
282 // CHECK: vunpcklps  %xmm1, %xmm2, %xmm4
283 // CHECK: encoding: [0xc5,0xe8,0x14,0xe1]
284           vunpcklps  %xmm1, %xmm2, %xmm4
285
286 // CHECK: vunpcklpd  %xmm1, %xmm2, %xmm4
287 // CHECK: encoding: [0xc5,0xe9,0x14,0xe1]
288           vunpcklpd  %xmm1, %xmm2, %xmm4
289
290 // CHECK: vunpckhps  -4(%ebx,%ecx,8), %xmm2, %xmm5
291 // CHECK: encoding: [0xc5,0xe8,0x15,0x6c,0xcb,0xfc]
292           vunpckhps  -4(%ebx,%ecx,8), %xmm2, %xmm5
293
294 // CHECK: vunpckhpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
295 // CHECK: encoding: [0xc5,0xe9,0x15,0x6c,0xcb,0xfc]
296           vunpckhpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
297
298 // CHECK: vunpcklps  -4(%ebx,%ecx,8), %xmm2, %xmm5
299 // CHECK: encoding: [0xc5,0xe8,0x14,0x6c,0xcb,0xfc]
300           vunpcklps  -4(%ebx,%ecx,8), %xmm2, %xmm5
301
302 // CHECK: vunpcklpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
303 // CHECK: encoding: [0xc5,0xe9,0x14,0x6c,0xcb,0xfc]
304           vunpcklpd  -4(%ebx,%ecx,8), %xmm2, %xmm5
305
306 // CHECK: vcmpps  $0, %xmm0, %xmm6, %xmm1
307 // CHECK: encoding: [0xc5,0xc8,0xc2,0xc8,0x00]
308           vcmpps  $0, %xmm0, %xmm6, %xmm1
309
310 // CHECK: vcmpps  $0, (%eax), %xmm6, %xmm1
311 // CHECK: encoding: [0xc5,0xc8,0xc2,0x08,0x00]
312           vcmpps  $0, (%eax), %xmm6, %xmm1
313
314 // CHECK: vcmpps  $7, %xmm0, %xmm6, %xmm1
315 // CHECK: encoding: [0xc5,0xc8,0xc2,0xc8,0x07]
316           vcmpps  $7, %xmm0, %xmm6, %xmm1
317
318 // CHECK: vcmppd  $0, %xmm0, %xmm6, %xmm1
319 // CHECK: encoding: [0xc5,0xc9,0xc2,0xc8,0x00]
320           vcmppd  $0, %xmm0, %xmm6, %xmm1
321
322 // CHECK: vcmppd  $0, (%eax), %xmm6, %xmm1
323 // CHECK: encoding: [0xc5,0xc9,0xc2,0x08,0x00]
324           vcmppd  $0, (%eax), %xmm6, %xmm1
325
326 // CHECK: vcmppd  $7, %xmm0, %xmm6, %xmm1
327 // CHECK: encoding: [0xc5,0xc9,0xc2,0xc8,0x07]
328           vcmppd  $7, %xmm0, %xmm6, %xmm1
329
330 // CHECK: vshufps  $8, %xmm1, %xmm2, %xmm3
331 // CHECK: encoding: [0xc5,0xe8,0xc6,0xd9,0x08]
332           vshufps  $8, %xmm1, %xmm2, %xmm3
333
334 // CHECK: vshufps  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
335 // CHECK: encoding: [0xc5,0xe8,0xc6,0x5c,0xcb,0xfc,0x08]
336           vshufps  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
337
338 // CHECK: vshufpd  $8, %xmm1, %xmm2, %xmm3
339 // CHECK: encoding: [0xc5,0xe9,0xc6,0xd9,0x08]
340           vshufpd  $8, %xmm1, %xmm2, %xmm3
341
342 // CHECK: vshufpd  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
343 // CHECK: encoding: [0xc5,0xe9,0xc6,0x5c,0xcb,0xfc,0x08]
344           vshufpd  $8, -4(%ebx,%ecx,8), %xmm2, %xmm3
345
346 // CHECK: vcmpeqps  %xmm1, %xmm2, %xmm3
347 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x00]
348           vcmpeqps   %xmm1, %xmm2, %xmm3
349
350 // CHECK: vcmpleps  %xmm1, %xmm2, %xmm3
351 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x02]
352           vcmpleps   %xmm1, %xmm2, %xmm3
353
354 // CHECK: vcmpltps  %xmm1, %xmm2, %xmm3
355 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x01]
356           vcmpltps   %xmm1, %xmm2, %xmm3
357
358 // CHECK: vcmpneqps  %xmm1, %xmm2, %xmm3
359 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x04]
360           vcmpneqps   %xmm1, %xmm2, %xmm3
361
362 // CHECK: vcmpnleps  %xmm1, %xmm2, %xmm3
363 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x06]
364           vcmpnleps   %xmm1, %xmm2, %xmm3
365
366 // CHECK: vcmpnltps  %xmm1, %xmm2, %xmm3
367 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x05]
368           vcmpnltps   %xmm1, %xmm2, %xmm3
369
370 // CHECK: vcmpordps  %xmm1, %xmm2, %xmm3
371 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x07]
372           vcmpordps   %xmm1, %xmm2, %xmm3
373
374 // CHECK: vcmpunordps  %xmm1, %xmm2, %xmm3
375 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x03]
376           vcmpunordps   %xmm1, %xmm2, %xmm3
377
378 // CHECK: vcmpeqps  -4(%ebx,%ecx,8), %xmm2, %xmm3
379 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x00]
380           vcmpeqps   -4(%ebx,%ecx,8), %xmm2, %xmm3
381
382 // CHECK: vcmpleps  -4(%ebx,%ecx,8), %xmm2, %xmm3
383 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x02]
384           vcmpleps   -4(%ebx,%ecx,8), %xmm2, %xmm3
385
386 // CHECK: vcmpltps  -4(%ebx,%ecx,8), %xmm2, %xmm3
387 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x01]
388           vcmpltps   -4(%ebx,%ecx,8), %xmm2, %xmm3
389
390 // CHECK: vcmpneqps  -4(%ebx,%ecx,8), %xmm2, %xmm3
391 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x04]
392           vcmpneqps   -4(%ebx,%ecx,8), %xmm2, %xmm3
393
394 // CHECK: vcmpnleps  -4(%ebx,%ecx,8), %xmm2, %xmm3
395 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x06]
396           vcmpnleps   -4(%ebx,%ecx,8), %xmm2, %xmm3
397
398 // CHECK: vcmpnltps  -4(%ebx,%ecx,8), %xmm2, %xmm3
399 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x05]
400           vcmpnltps   -4(%ebx,%ecx,8), %xmm2, %xmm3
401
402 // CHECK: vcmpordps  -4(%ebx,%ecx,8), %xmm6, %xmm2
403 // CHECK: encoding: [0xc5,0xc8,0xc2,0x54,0xcb,0xfc,0x07]
404           vcmpordps   -4(%ebx,%ecx,8), %xmm6, %xmm2
405
406 // CHECK: vcmpunordps  -4(%ebx,%ecx,8), %xmm2, %xmm3
407 // CHECK: encoding: [0xc5,0xe8,0xc2,0x5c,0xcb,0xfc,0x03]
408           vcmpunordps   -4(%ebx,%ecx,8), %xmm2, %xmm3
409
410 // CHECK: vcmpeqpd  %xmm1, %xmm2, %xmm3
411 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x00]
412           vcmpeqpd   %xmm1, %xmm2, %xmm3
413
414 // CHECK: vcmplepd  %xmm1, %xmm2, %xmm3
415 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x02]
416           vcmplepd   %xmm1, %xmm2, %xmm3
417
418 // CHECK: vcmpltpd  %xmm1, %xmm2, %xmm3
419 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x01]
420           vcmpltpd   %xmm1, %xmm2, %xmm3
421
422 // CHECK: vcmpneqpd  %xmm1, %xmm2, %xmm3
423 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x04]
424           vcmpneqpd   %xmm1, %xmm2, %xmm3
425
426 // CHECK: vcmpnlepd  %xmm1, %xmm2, %xmm3
427 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x06]
428           vcmpnlepd   %xmm1, %xmm2, %xmm3
429
430 // CHECK: vcmpnltpd  %xmm1, %xmm2, %xmm3
431 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x05]
432           vcmpnltpd   %xmm1, %xmm2, %xmm3
433
434 // CHECK: vcmpordpd  %xmm1, %xmm2, %xmm3
435 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x07]
436           vcmpordpd   %xmm1, %xmm2, %xmm3
437
438 // CHECK: vcmpunordpd  %xmm1, %xmm2, %xmm3
439 // CHECK: encoding: [0xc5,0xe9,0xc2,0xd9,0x03]
440           vcmpunordpd   %xmm1, %xmm2, %xmm3
441
442 // CHECK: vcmpeqpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
443 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x00]
444           vcmpeqpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
445
446 // CHECK: vcmplepd  -4(%ebx,%ecx,8), %xmm2, %xmm3
447 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x02]
448           vcmplepd   -4(%ebx,%ecx,8), %xmm2, %xmm3
449
450 // CHECK: vcmpltpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
451 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x01]
452           vcmpltpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
453
454 // CHECK: vcmpneqpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
455 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x04]
456           vcmpneqpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
457
458 // CHECK: vcmpnlepd  -4(%ebx,%ecx,8), %xmm2, %xmm3
459 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x06]
460           vcmpnlepd   -4(%ebx,%ecx,8), %xmm2, %xmm3
461
462 // CHECK: vcmpnltpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
463 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x05]
464           vcmpnltpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
465
466 // CHECK: vcmpordpd  -4(%ebx,%ecx,8), %xmm6, %xmm2
467 // CHECK: encoding: [0xc5,0xc9,0xc2,0x54,0xcb,0xfc,0x07]
468           vcmpordpd   -4(%ebx,%ecx,8), %xmm6, %xmm2
469
470 // CHECK: vcmpunordpd  -4(%ebx,%ecx,8), %xmm2, %xmm3
471 // CHECK: encoding: [0xc5,0xe9,0xc2,0x5c,0xcb,0xfc,0x03]
472           vcmpunordpd   -4(%ebx,%ecx,8), %xmm2, %xmm3
473
474 // CHECK: vmovmskps  %xmm2, %eax
475 // CHECK: encoding: [0xc5,0xf8,0x50,0xc2]
476           vmovmskps  %xmm2, %eax
477
478 // CHECK: vmovmskpd  %xmm2, %eax
479 // CHECK: encoding: [0xc5,0xf9,0x50,0xc2]
480           vmovmskpd  %xmm2, %eax
481
482 // CHECK: vmovmskps  %ymm2, %eax
483 // CHECK: encoding: [0xc5,0xfc,0x50,0xc2]
484           vmovmskps  %ymm2, %eax
485
486 // CHECK: vmovmskpd  %ymm2, %eax
487 // CHECK: encoding: [0xc5,0xfd,0x50,0xc2]
488           vmovmskpd  %ymm2, %eax
489
490 // CHECK: vcmpeqss  %xmm1, %xmm2, %xmm3
491 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x00]
492           vcmpeqss   %xmm1, %xmm2, %xmm3
493
494 // CHECK: vcmpless   %xmm1, %xmm2, %xmm3
495 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x02]
496           vcmpless   %xmm1, %xmm2, %xmm3
497
498 // CHECK: vcmpltss  %xmm1, %xmm2, %xmm3
499 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x01]
500           vcmpltss   %xmm1, %xmm2, %xmm3
501
502 // CHECK: vcmpneqss  %xmm1, %xmm2, %xmm3
503 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x04]
504           vcmpneqss   %xmm1, %xmm2, %xmm3
505
506 // CHECK: vcmpnless  %xmm1, %xmm2, %xmm3
507 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x06]
508           vcmpnless   %xmm1, %xmm2, %xmm3
509
510 // CHECK: vcmpnltss  %xmm1, %xmm2, %xmm3
511 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x05]
512           vcmpnltss   %xmm1, %xmm2, %xmm3
513
514 // CHECK: vcmpordss  %xmm1, %xmm2, %xmm3
515 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x07]
516           vcmpordss   %xmm1, %xmm2, %xmm3
517
518 // CHECK: vcmpunordss  %xmm1, %xmm2, %xmm3
519 // CHECK: encoding: [0xc5,0xea,0xc2,0xd9,0x03]
520           vcmpunordss   %xmm1, %xmm2, %xmm3
521
522 // CHECK: vcmpeqss  -4(%ebx,%ecx,8), %xmm2, %xmm3
523 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x00]
524           vcmpeqss   -4(%ebx,%ecx,8), %xmm2, %xmm3
525
526 // CHECK: vcmpless  -4(%ebx,%ecx,8), %xmm2, %xmm3
527 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x02]
528           vcmpless   -4(%ebx,%ecx,8), %xmm2, %xmm3
529
530 // CHECK: vcmpltss  -4(%ebx,%ecx,8), %xmm2, %xmm3
531 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x01]
532           vcmpltss   -4(%ebx,%ecx,8), %xmm2, %xmm3
533
534 // CHECK: vcmpneqss  -4(%ebx,%ecx,8), %xmm2, %xmm3
535 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x04]
536           vcmpneqss   -4(%ebx,%ecx,8), %xmm2, %xmm3
537
538 // CHECK: vcmpnless  -4(%ebx,%ecx,8), %xmm2, %xmm3
539 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x06]
540           vcmpnless   -4(%ebx,%ecx,8), %xmm2, %xmm3
541
542 // CHECK: vcmpnltss  -4(%ebx,%ecx,8), %xmm2, %xmm3
543 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x05]
544           vcmpnltss   -4(%ebx,%ecx,8), %xmm2, %xmm3
545
546 // CHECK: vcmpordss  -4(%ebx,%ecx,8), %xmm6, %xmm2
547 // CHECK: encoding: [0xc5,0xca,0xc2,0x54,0xcb,0xfc,0x07]
548           vcmpordss   -4(%ebx,%ecx,8), %xmm6, %xmm2
549
550 // CHECK: vcmpunordss  -4(%ebx,%ecx,8), %xmm2, %xmm3
551 // CHECK: encoding: [0xc5,0xea,0xc2,0x5c,0xcb,0xfc,0x03]
552           vcmpunordss   -4(%ebx,%ecx,8), %xmm2, %xmm3
553
554 // CHECK: vcmpeqsd  %xmm1, %xmm2, %xmm3
555 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x00]
556           vcmpeqsd   %xmm1, %xmm2, %xmm3
557
558 // CHECK: vcmplesd  %xmm1, %xmm2, %xmm3
559 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x02]
560           vcmplesd   %xmm1, %xmm2, %xmm3
561
562 // CHECK: vcmpltsd  %xmm1, %xmm2, %xmm3
563 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x01]
564           vcmpltsd   %xmm1, %xmm2, %xmm3
565
566 // CHECK: vcmpneqsd  %xmm1, %xmm2, %xmm3
567 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x04]
568           vcmpneqsd   %xmm1, %xmm2, %xmm3
569
570 // CHECK: vcmpnlesd  %xmm1, %xmm2, %xmm3
571 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x06]
572           vcmpnlesd   %xmm1, %xmm2, %xmm3
573
574 // CHECK: vcmpnltsd  %xmm1, %xmm2, %xmm3
575 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x05]
576           vcmpnltsd   %xmm1, %xmm2, %xmm3
577
578 // CHECK: vcmpordsd  %xmm1, %xmm2, %xmm3
579 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x07]
580           vcmpordsd   %xmm1, %xmm2, %xmm3
581
582 // CHECK: vcmpunordsd  %xmm1, %xmm2, %xmm3
583 // CHECK: encoding: [0xc5,0xeb,0xc2,0xd9,0x03]
584           vcmpunordsd   %xmm1, %xmm2, %xmm3
585
586 // CHECK: vcmpeqsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
587 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x00]
588           vcmpeqsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
589
590 // CHECK: vcmplesd  -4(%ebx,%ecx,8), %xmm2, %xmm3
591 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x02]
592           vcmplesd   -4(%ebx,%ecx,8), %xmm2, %xmm3
593
594 // CHECK: vcmpltsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
595 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x01]
596           vcmpltsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
597
598 // CHECK: vcmpneqsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
599 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x04]
600           vcmpneqsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
601
602 // CHECK: vcmpnlesd  -4(%ebx,%ecx,8), %xmm2, %xmm3
603 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x06]
604           vcmpnlesd   -4(%ebx,%ecx,8), %xmm2, %xmm3
605
606 // CHECK: vcmpnltsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
607 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x05]
608           vcmpnltsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
609
610 // CHECK: vcmpordsd  -4(%ebx,%ecx,8), %xmm6, %xmm2
611 // CHECK: encoding: [0xc5,0xcb,0xc2,0x54,0xcb,0xfc,0x07]
612           vcmpordsd   -4(%ebx,%ecx,8), %xmm6, %xmm2
613
614 // CHECK: vcmpunordsd  -4(%ebx,%ecx,8), %xmm2, %xmm3
615 // CHECK: encoding: [0xc5,0xeb,0xc2,0x5c,0xcb,0xfc,0x03]
616           vcmpunordsd   -4(%ebx,%ecx,8), %xmm2, %xmm3
617
618 // CHECK: vucomiss  %xmm1, %xmm2
619 // CHECK: encoding: [0xc5,0xf8,0x2e,0xd1]
620           vucomiss  %xmm1, %xmm2
621
622 // CHECK: vucomiss  (%eax), %xmm2
623 // CHECK: encoding: [0xc5,0xf8,0x2e,0x10]
624           vucomiss  (%eax), %xmm2
625
626 // CHECK: vcomiss  %xmm1, %xmm2
627 // CHECK: encoding: [0xc5,0xf8,0x2f,0xd1]
628           vcomiss  %xmm1, %xmm2
629
630 // CHECK: vcomiss  (%eax), %xmm2
631 // CHECK: encoding: [0xc5,0xf8,0x2f,0x10]
632           vcomiss  (%eax), %xmm2
633
634 // CHECK: vucomisd  %xmm1, %xmm2
635 // CHECK: encoding: [0xc5,0xf9,0x2e,0xd1]
636           vucomisd  %xmm1, %xmm2
637
638 // CHECK: vucomisd  (%eax), %xmm2
639 // CHECK: encoding: [0xc5,0xf9,0x2e,0x10]
640           vucomisd  (%eax), %xmm2
641
642 // CHECK: vcomisd  %xmm1, %xmm2
643 // CHECK: encoding: [0xc5,0xf9,0x2f,0xd1]
644           vcomisd  %xmm1, %xmm2
645
646 // CHECK: vcomisd  (%eax), %xmm2
647 // CHECK: encoding: [0xc5,0xf9,0x2f,0x10]
648           vcomisd  (%eax), %xmm2
649
650 // CHECK: vcvttss2si  %xmm1, %eax
651 // CHECK: encoding: [0xc5,0xfa,0x2c,0xc1]
652           vcvttss2si  %xmm1, %eax
653
654 // CHECK: vcvttss2si  (%ecx), %eax
655 // CHECK: encoding: [0xc5,0xfa,0x2c,0x01]
656           vcvttss2si  (%ecx), %eax
657
658 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
659 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
660           vcvtsi2ss  (%eax), %xmm1, %xmm2
661
662 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
663 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
664           vcvtsi2ss  (%eax), %xmm1, %xmm2
665
666 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
667 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
668           vcvtsi2ssl  (%eax), %xmm1, %xmm2
669
670 // CHECK: vcvtsi2ssl  (%eax), %xmm1, %xmm2
671 // CHECK: encoding: [0xc5,0xf2,0x2a,0x10]
672           vcvtsi2ssl  (%eax), %xmm1, %xmm2
673
674 // CHECK: vcvttsd2si  %xmm1, %eax
675 // CHECK: encoding: [0xc5,0xfb,0x2c,0xc1]
676           vcvttsd2si  %xmm1, %eax
677
678 // CHECK: vcvttsd2si  (%ecx), %eax
679 // CHECK: encoding: [0xc5,0xfb,0x2c,0x01]
680           vcvttsd2si  (%ecx), %eax
681
682 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
683 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
684           vcvtsi2sd  (%eax), %xmm1, %xmm2
685
686 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
687 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
688           vcvtsi2sd  (%eax), %xmm1, %xmm2
689
690 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
691 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
692           vcvtsi2sdl  (%eax), %xmm1, %xmm2
693
694 // CHECK: vcvtsi2sdl  (%eax), %xmm1, %xmm2
695 // CHECK: encoding: [0xc5,0xf3,0x2a,0x10]
696           vcvtsi2sdl  (%eax), %xmm1, %xmm2
697
698 // CHECK: vmovaps  (%eax), %xmm2
699 // CHECK: encoding: [0xc5,0xf8,0x28,0x10]
700           vmovaps  (%eax), %xmm2
701
702 // CHECK: vmovaps  %xmm1, %xmm2
703 // CHECK: encoding: [0xc5,0xf8,0x28,0xd1]
704           vmovaps  %xmm1, %xmm2
705
706 // CHECK: vmovaps  %xmm1, (%eax)
707 // CHECK: encoding: [0xc5,0xf8,0x29,0x08]
708           vmovaps  %xmm1, (%eax)
709
710 // CHECK: vmovapd  (%eax), %xmm2
711 // CHECK: encoding: [0xc5,0xf9,0x28,0x10]
712           vmovapd  (%eax), %xmm2
713
714 // CHECK: vmovapd  %xmm1, %xmm2
715 // CHECK: encoding: [0xc5,0xf9,0x28,0xd1]
716           vmovapd  %xmm1, %xmm2
717
718 // CHECK: vmovapd  %xmm1, (%eax)
719 // CHECK: encoding: [0xc5,0xf9,0x29,0x08]
720           vmovapd  %xmm1, (%eax)
721
722 // CHECK: vmovups  (%eax), %xmm2
723 // CHECK: encoding: [0xc5,0xf8,0x10,0x10]
724           vmovups  (%eax), %xmm2
725
726 // CHECK: vmovups  %xmm1, %xmm2
727 // CHECK: encoding: [0xc5,0xf8,0x10,0xd1]
728           vmovups  %xmm1, %xmm2
729
730 // CHECK: vmovups  %xmm1, (%eax)
731 // CHECK: encoding: [0xc5,0xf8,0x11,0x08]
732           vmovups  %xmm1, (%eax)
733
734 // CHECK: vmovupd  (%eax), %xmm2
735 // CHECK: encoding: [0xc5,0xf9,0x10,0x10]
736           vmovupd  (%eax), %xmm2
737
738 // CHECK: vmovupd  %xmm1, %xmm2
739 // CHECK: encoding: [0xc5,0xf9,0x10,0xd1]
740           vmovupd  %xmm1, %xmm2
741
742 // CHECK: vmovupd  %xmm1, (%eax)
743 // CHECK: encoding: [0xc5,0xf9,0x11,0x08]
744           vmovupd  %xmm1, (%eax)
745
746 // CHECK: vmovlps  %xmm1, (%eax)
747 // CHECK: encoding: [0xc5,0xf8,0x13,0x08]
748           vmovlps  %xmm1, (%eax)
749
750 // CHECK: vmovlps  (%eax), %xmm2, %xmm3
751 // CHECK: encoding: [0xc5,0xe8,0x12,0x18]
752           vmovlps  (%eax), %xmm2, %xmm3
753
754 // CHECK: vmovlpd  %xmm1, (%eax)
755 // CHECK: encoding: [0xc5,0xf9,0x13,0x08]
756           vmovlpd  %xmm1, (%eax)
757
758 // CHECK: vmovlpd  (%eax), %xmm2, %xmm3
759 // CHECK: encoding: [0xc5,0xe9,0x12,0x18]
760           vmovlpd  (%eax), %xmm2, %xmm3
761
762 // CHECK: vmovhps  %xmm1, (%eax)
763 // CHECK: encoding: [0xc5,0xf8,0x17,0x08]
764           vmovhps  %xmm1, (%eax)
765
766 // CHECK: vmovhps  (%eax), %xmm2, %xmm3
767 // CHECK: encoding: [0xc5,0xe8,0x16,0x18]
768           vmovhps  (%eax), %xmm2, %xmm3
769
770 // CHECK: vmovhpd  %xmm1, (%eax)
771 // CHECK: encoding: [0xc5,0xf9,0x17,0x08]
772           vmovhpd  %xmm1, (%eax)
773
774 // CHECK: vmovhpd  (%eax), %xmm2, %xmm3
775 // CHECK: encoding: [0xc5,0xe9,0x16,0x18]
776           vmovhpd  (%eax), %xmm2, %xmm3
777
778 // CHECK: vmovlhps  %xmm1, %xmm2, %xmm3
779 // CHECK: encoding: [0xc5,0xe8,0x16,0xd9]
780           vmovlhps  %xmm1, %xmm2, %xmm3
781
782 // CHECK: vmovhlps  %xmm1, %xmm2, %xmm3
783 // CHECK: encoding: [0xc5,0xe8,0x12,0xd9]
784           vmovhlps  %xmm1, %xmm2, %xmm3
785
786 // CHECK: vcvtss2si  %xmm1, %eax
787 // CHECK: encoding: [0xc5,0xfa,0x2d,0xc1]
788           vcvtss2si  %xmm1, %eax
789
790 // CHECK: vcvtss2si  (%eax), %ebx
791 // CHECK: encoding: [0xc5,0xfa,0x2d,0x18]
792           vcvtss2si  (%eax), %ebx
793
794 // CHECK: vcvtss2si  %xmm1, %eax
795 // CHECK: encoding: [0xc5,0xfa,0x2d,0xc1]
796           vcvtss2sil  %xmm1, %eax
797
798 // CHECK: vcvtss2si  (%eax), %ebx
799 // CHECK: encoding: [0xc5,0xfa,0x2d,0x18]
800           vcvtss2sil  (%eax), %ebx
801
802 // CHECK: vcvtdq2ps  %xmm5, %xmm6
803 // CHECK: encoding: [0xc5,0xf8,0x5b,0xf5]
804           vcvtdq2ps  %xmm5, %xmm6
805
806 // CHECK: vcvtdq2ps  (%eax), %xmm6
807 // CHECK: encoding: [0xc5,0xf8,0x5b,0x30]
808           vcvtdq2ps  (%eax), %xmm6
809
810 // CHECK: vcvtsd2ss  %xmm2, %xmm4, %xmm6
811 // CHECK: encoding: [0xc5,0xdb,0x5a,0xf2]
812           vcvtsd2ss  %xmm2, %xmm4, %xmm6
813
814 // CHECK: vcvtsd2ss  (%eax), %xmm4, %xmm6
815 // CHECK: encoding: [0xc5,0xdb,0x5a,0x30]
816           vcvtsd2ss  (%eax), %xmm4, %xmm6
817
818 // CHECK: vcvtps2dq  %xmm2, %xmm3
819 // CHECK: encoding: [0xc5,0xf9,0x5b,0xda]
820           vcvtps2dq  %xmm2, %xmm3
821
822 // CHECK: vcvtps2dq  (%eax), %xmm3
823 // CHECK: encoding: [0xc5,0xf9,0x5b,0x18]
824           vcvtps2dq  (%eax), %xmm3
825
826 // CHECK: vcvtss2sd  %xmm2, %xmm4, %xmm6
827 // CHECK: encoding: [0xc5,0xda,0x5a,0xf2]
828           vcvtss2sd  %xmm2, %xmm4, %xmm6
829
830 // CHECK: vcvtss2sd  (%eax), %xmm4, %xmm6
831 // CHECK: encoding: [0xc5,0xda,0x5a,0x30]
832           vcvtss2sd  (%eax), %xmm4, %xmm6
833
834 // CHECK: vcvtdq2ps  %xmm4, %xmm6
835 // CHECK: encoding: [0xc5,0xf8,0x5b,0xf4]
836           vcvtdq2ps  %xmm4, %xmm6
837
838 // CHECK: vcvtdq2ps  (%ecx), %xmm4
839 // CHECK: encoding: [0xc5,0xf8,0x5b,0x21]
840           vcvtdq2ps  (%ecx), %xmm4
841
842 // CHECK: vcvttps2dq  %xmm2, %xmm3
843 // CHECK: encoding: [0xc5,0xfa,0x5b,0xda]
844           vcvttps2dq  %xmm2, %xmm3
845
846 // CHECK: vcvttps2dq  (%eax), %xmm3
847 // CHECK: encoding: [0xc5,0xfa,0x5b,0x18]
848           vcvttps2dq  (%eax), %xmm3
849
850 // CHECK: vcvtps2pd  %xmm2, %xmm3
851 // CHECK: encoding: [0xc5,0xf8,0x5a,0xda]
852           vcvtps2pd  %xmm2, %xmm3
853
854 // CHECK: vcvtps2pd  (%eax), %xmm3
855 // CHECK: encoding: [0xc5,0xf8,0x5a,0x18]
856           vcvtps2pd  (%eax), %xmm3
857
858 // CHECK: vcvtpd2ps  %xmm2, %xmm3
859 // CHECK: encoding: [0xc5,0xf9,0x5a,0xda]
860           vcvtpd2ps  %xmm2, %xmm3
861
862 // CHECK: vsqrtpd  %xmm1, %xmm2
863 // CHECK: encoding: [0xc5,0xf9,0x51,0xd1]
864           vsqrtpd  %xmm1, %xmm2
865
866 // CHECK: vsqrtpd  (%eax), %xmm2
867 // CHECK: encoding: [0xc5,0xf9,0x51,0x10]
868           vsqrtpd  (%eax), %xmm2
869
870 // CHECK: vsqrtps  %xmm1, %xmm2
871 // CHECK: encoding: [0xc5,0xf8,0x51,0xd1]
872           vsqrtps  %xmm1, %xmm2
873
874 // CHECK: vsqrtps  (%eax), %xmm2
875 // CHECK: encoding: [0xc5,0xf8,0x51,0x10]
876           vsqrtps  (%eax), %xmm2
877
878 // CHECK: vsqrtsd  %xmm1, %xmm2, %xmm3
879 // CHECK: encoding: [0xc5,0xeb,0x51,0xd9]
880           vsqrtsd  %xmm1, %xmm2, %xmm3
881
882 // CHECK: vsqrtsd  (%eax), %xmm2, %xmm3
883 // CHECK: encoding: [0xc5,0xeb,0x51,0x18]
884           vsqrtsd  (%eax), %xmm2, %xmm3
885
886 // CHECK: vsqrtss  %xmm1, %xmm2, %xmm3
887 // CHECK: encoding: [0xc5,0xea,0x51,0xd9]
888           vsqrtss  %xmm1, %xmm2, %xmm3
889
890 // CHECK: vsqrtss  (%eax), %xmm2, %xmm3
891 // CHECK: encoding: [0xc5,0xea,0x51,0x18]
892           vsqrtss  (%eax), %xmm2, %xmm3
893
894 // CHECK: vrsqrtps  %xmm1, %xmm2
895 // CHECK: encoding: [0xc5,0xf8,0x52,0xd1]
896           vrsqrtps  %xmm1, %xmm2
897
898 // CHECK: vrsqrtps  (%eax), %xmm2
899 // CHECK: encoding: [0xc5,0xf8,0x52,0x10]
900           vrsqrtps  (%eax), %xmm2
901
902 // CHECK: vrsqrtss  %xmm1, %xmm2, %xmm3
903 // CHECK: encoding: [0xc5,0xea,0x52,0xd9]
904           vrsqrtss  %xmm1, %xmm2, %xmm3
905
906 // CHECK: vrsqrtss  (%eax), %xmm2, %xmm3
907 // CHECK: encoding: [0xc5,0xea,0x52,0x18]
908           vrsqrtss  (%eax), %xmm2, %xmm3
909
910 // CHECK: vrcpps  %xmm1, %xmm2
911 // CHECK: encoding: [0xc5,0xf8,0x53,0xd1]
912           vrcpps  %xmm1, %xmm2
913
914 // CHECK: vrcpps  (%eax), %xmm2
915 // CHECK: encoding: [0xc5,0xf8,0x53,0x10]
916           vrcpps  (%eax), %xmm2
917
918 // CHECK: vrcpss  %xmm1, %xmm2, %xmm3
919 // CHECK: encoding: [0xc5,0xea,0x53,0xd9]
920           vrcpss  %xmm1, %xmm2, %xmm3
921
922 // CHECK: vrcpss  (%eax), %xmm2, %xmm3
923 // CHECK: encoding: [0xc5,0xea,0x53,0x18]
924           vrcpss  (%eax), %xmm2, %xmm3
925
926 // CHECK: vmovntdq  %xmm1, (%eax)
927 // CHECK: encoding: [0xc5,0xf9,0xe7,0x08]
928           vmovntdq  %xmm1, (%eax)
929
930 // CHECK: vmovntpd  %xmm1, (%eax)
931 // CHECK: encoding: [0xc5,0xf9,0x2b,0x08]
932           vmovntpd  %xmm1, (%eax)
933
934 // CHECK: vmovntps  %xmm1, (%eax)
935 // CHECK: encoding: [0xc5,0xf8,0x2b,0x08]
936           vmovntps  %xmm1, (%eax)
937
938 // CHECK: vldmxcsr  (%eax)
939 // CHECK: encoding: [0xc5,0xf8,0xae,0x10]
940           vldmxcsr  (%eax)
941
942 // CHECK: vstmxcsr  (%eax)
943 // CHECK: encoding: [0xc5,0xf8,0xae,0x18]
944           vstmxcsr  (%eax)
945
946 // CHECK: vldmxcsr  3735928559
947 // CHECK: encoding: [0xc5,0xf8,0xae,0x15,0xef,0xbe,0xad,0xde]
948           vldmxcsr  0xdeadbeef
949
950 // CHECK: vstmxcsr  3735928559
951 // CHECK: encoding: [0xc5,0xf8,0xae,0x1d,0xef,0xbe,0xad,0xde]
952           vstmxcsr  0xdeadbeef
953
954 // CHECK: vpsubb  %xmm1, %xmm2, %xmm3
955 // CHECK: encoding: [0xc5,0xe9,0xf8,0xd9]
956           vpsubb  %xmm1, %xmm2, %xmm3
957
958 // CHECK: vpsubb  (%eax), %xmm2, %xmm3
959 // CHECK: encoding: [0xc5,0xe9,0xf8,0x18]
960           vpsubb  (%eax), %xmm2, %xmm3
961
962 // CHECK: vpsubw  %xmm1, %xmm2, %xmm3
963 // CHECK: encoding: [0xc5,0xe9,0xf9,0xd9]
964           vpsubw  %xmm1, %xmm2, %xmm3
965
966 // CHECK: vpsubw  (%eax), %xmm2, %xmm3
967 // CHECK: encoding: [0xc5,0xe9,0xf9,0x18]
968           vpsubw  (%eax), %xmm2, %xmm3
969
970 // CHECK: vpsubd  %xmm1, %xmm2, %xmm3
971 // CHECK: encoding: [0xc5,0xe9,0xfa,0xd9]
972           vpsubd  %xmm1, %xmm2, %xmm3
973
974 // CHECK: vpsubd  (%eax), %xmm2, %xmm3
975 // CHECK: encoding: [0xc5,0xe9,0xfa,0x18]
976           vpsubd  (%eax), %xmm2, %xmm3
977
978 // CHECK: vpsubq  %xmm1, %xmm2, %xmm3
979 // CHECK: encoding: [0xc5,0xe9,0xfb,0xd9]
980           vpsubq  %xmm1, %xmm2, %xmm3
981
982 // CHECK: vpsubq  (%eax), %xmm2, %xmm3
983 // CHECK: encoding: [0xc5,0xe9,0xfb,0x18]
984           vpsubq  (%eax), %xmm2, %xmm3
985
986 // CHECK: vpsubsb  %xmm1, %xmm2, %xmm3
987 // CHECK: encoding: [0xc5,0xe9,0xe8,0xd9]
988           vpsubsb  %xmm1, %xmm2, %xmm3
989
990 // CHECK: vpsubsb  (%eax), %xmm2, %xmm3
991 // CHECK: encoding: [0xc5,0xe9,0xe8,0x18]
992           vpsubsb  (%eax), %xmm2, %xmm3
993
994 // CHECK: vpsubsw  %xmm1, %xmm2, %xmm3
995 // CHECK: encoding: [0xc5,0xe9,0xe9,0xd9]
996           vpsubsw  %xmm1, %xmm2, %xmm3
997
998 // CHECK: vpsubsw  (%eax), %xmm2, %xmm3
999 // CHECK: encoding: [0xc5,0xe9,0xe9,0x18]
1000           vpsubsw  (%eax), %xmm2, %xmm3
1001
1002 // CHECK: vpsubusb  %xmm1, %xmm2, %xmm3
1003 // CHECK: encoding: [0xc5,0xe9,0xd8,0xd9]
1004           vpsubusb  %xmm1, %xmm2, %xmm3
1005
1006 // CHECK: vpsubusb  (%eax), %xmm2, %xmm3
1007 // CHECK: encoding: [0xc5,0xe9,0xd8,0x18]
1008           vpsubusb  (%eax), %xmm2, %xmm3
1009
1010 // CHECK: vpsubusw  %xmm1, %xmm2, %xmm3
1011 // CHECK: encoding: [0xc5,0xe9,0xd9,0xd9]
1012           vpsubusw  %xmm1, %xmm2, %xmm3
1013
1014 // CHECK: vpsubusw  (%eax), %xmm2, %xmm3
1015 // CHECK: encoding: [0xc5,0xe9,0xd9,0x18]
1016           vpsubusw  (%eax), %xmm2, %xmm3
1017
1018 // CHECK: vpaddb  %xmm1, %xmm2, %xmm3
1019 // CHECK: encoding: [0xc5,0xe9,0xfc,0xd9]
1020           vpaddb  %xmm1, %xmm2, %xmm3
1021
1022 // CHECK: vpaddb  (%eax), %xmm2, %xmm3
1023 // CHECK: encoding: [0xc5,0xe9,0xfc,0x18]
1024           vpaddb  (%eax), %xmm2, %xmm3
1025
1026 // CHECK: vpaddw  %xmm1, %xmm2, %xmm3
1027 // CHECK: encoding: [0xc5,0xe9,0xfd,0xd9]
1028           vpaddw  %xmm1, %xmm2, %xmm3
1029
1030 // CHECK: vpaddw  (%eax), %xmm2, %xmm3
1031 // CHECK: encoding: [0xc5,0xe9,0xfd,0x18]
1032           vpaddw  (%eax), %xmm2, %xmm3
1033
1034 // CHECK: vpaddd  %xmm1, %xmm2, %xmm3
1035 // CHECK: encoding: [0xc5,0xe9,0xfe,0xd9]
1036           vpaddd  %xmm1, %xmm2, %xmm3
1037
1038 // CHECK: vpaddd  (%eax), %xmm2, %xmm3
1039 // CHECK: encoding: [0xc5,0xe9,0xfe,0x18]
1040           vpaddd  (%eax), %xmm2, %xmm3
1041
1042 // CHECK: vpaddq  %xmm1, %xmm2, %xmm3
1043 // CHECK: encoding: [0xc5,0xe9,0xd4,0xd9]
1044           vpaddq  %xmm1, %xmm2, %xmm3
1045
1046 // CHECK: vpaddq  (%eax), %xmm2, %xmm3
1047 // CHECK: encoding: [0xc5,0xe9,0xd4,0x18]
1048           vpaddq  (%eax), %xmm2, %xmm3
1049
1050 // CHECK: vpaddsb  %xmm1, %xmm2, %xmm3
1051 // CHECK: encoding: [0xc5,0xe9,0xec,0xd9]
1052           vpaddsb  %xmm1, %xmm2, %xmm3
1053
1054 // CHECK: vpaddsb  (%eax), %xmm2, %xmm3
1055 // CHECK: encoding: [0xc5,0xe9,0xec,0x18]
1056           vpaddsb  (%eax), %xmm2, %xmm3
1057
1058 // CHECK: vpaddsw  %xmm1, %xmm2, %xmm3
1059 // CHECK: encoding: [0xc5,0xe9,0xed,0xd9]
1060           vpaddsw  %xmm1, %xmm2, %xmm3
1061
1062 // CHECK: vpaddsw  (%eax), %xmm2, %xmm3
1063 // CHECK: encoding: [0xc5,0xe9,0xed,0x18]
1064           vpaddsw  (%eax), %xmm2, %xmm3
1065
1066 // CHECK: vpaddusb  %xmm1, %xmm2, %xmm3
1067 // CHECK: encoding: [0xc5,0xe9,0xdc,0xd9]
1068           vpaddusb  %xmm1, %xmm2, %xmm3
1069
1070 // CHECK: vpaddusb  (%eax), %xmm2, %xmm3
1071 // CHECK: encoding: [0xc5,0xe9,0xdc,0x18]
1072           vpaddusb  (%eax), %xmm2, %xmm3
1073
1074 // CHECK: vpaddusw  %xmm1, %xmm2, %xmm3
1075 // CHECK: encoding: [0xc5,0xe9,0xdd,0xd9]
1076           vpaddusw  %xmm1, %xmm2, %xmm3
1077
1078 // CHECK: vpaddusw  (%eax), %xmm2, %xmm3
1079 // CHECK: encoding: [0xc5,0xe9,0xdd,0x18]
1080           vpaddusw  (%eax), %xmm2, %xmm3
1081
1082 // CHECK: vpmulhuw  %xmm1, %xmm2, %xmm3
1083 // CHECK: encoding: [0xc5,0xe9,0xe4,0xd9]
1084           vpmulhuw  %xmm1, %xmm2, %xmm3
1085
1086 // CHECK: vpmulhuw  (%eax), %xmm2, %xmm3
1087 // CHECK: encoding: [0xc5,0xe9,0xe4,0x18]
1088           vpmulhuw  (%eax), %xmm2, %xmm3
1089
1090 // CHECK: vpmulhw  %xmm1, %xmm2, %xmm3
1091 // CHECK: encoding: [0xc5,0xe9,0xe5,0xd9]
1092           vpmulhw  %xmm1, %xmm2, %xmm3
1093
1094 // CHECK: vpmulhw  (%eax), %xmm2, %xmm3
1095 // CHECK: encoding: [0xc5,0xe9,0xe5,0x18]
1096           vpmulhw  (%eax), %xmm2, %xmm3
1097
1098 // CHECK: vpmullw  %xmm1, %xmm2, %xmm3
1099 // CHECK: encoding: [0xc5,0xe9,0xd5,0xd9]
1100           vpmullw  %xmm1, %xmm2, %xmm3
1101
1102 // CHECK: vpmullw  (%eax), %xmm2, %xmm3
1103 // CHECK: encoding: [0xc5,0xe9,0xd5,0x18]
1104           vpmullw  (%eax), %xmm2, %xmm3
1105
1106 // CHECK: vpmuludq  %xmm1, %xmm2, %xmm3
1107 // CHECK: encoding: [0xc5,0xe9,0xf4,0xd9]
1108           vpmuludq  %xmm1, %xmm2, %xmm3
1109
1110 // CHECK: vpmuludq  (%eax), %xmm2, %xmm3
1111 // CHECK: encoding: [0xc5,0xe9,0xf4,0x18]
1112           vpmuludq  (%eax), %xmm2, %xmm3
1113
1114 // CHECK: vpavgb  %xmm1, %xmm2, %xmm3
1115 // CHECK: encoding: [0xc5,0xe9,0xe0,0xd9]
1116           vpavgb  %xmm1, %xmm2, %xmm3
1117
1118 // CHECK: vpavgb  (%eax), %xmm2, %xmm3
1119 // CHECK: encoding: [0xc5,0xe9,0xe0,0x18]
1120           vpavgb  (%eax), %xmm2, %xmm3
1121
1122 // CHECK: vpavgw  %xmm1, %xmm2, %xmm3
1123 // CHECK: encoding: [0xc5,0xe9,0xe3,0xd9]
1124           vpavgw  %xmm1, %xmm2, %xmm3
1125
1126 // CHECK: vpavgw  (%eax), %xmm2, %xmm3
1127 // CHECK: encoding: [0xc5,0xe9,0xe3,0x18]
1128           vpavgw  (%eax), %xmm2, %xmm3
1129
1130 // CHECK: vpminsw  %xmm1, %xmm2, %xmm3
1131 // CHECK: encoding: [0xc5,0xe9,0xea,0xd9]
1132           vpminsw  %xmm1, %xmm2, %xmm3
1133
1134 // CHECK: vpminsw  (%eax), %xmm2, %xmm3
1135 // CHECK: encoding: [0xc5,0xe9,0xea,0x18]
1136           vpminsw  (%eax), %xmm2, %xmm3
1137
1138 // CHECK: vpminub  %xmm1, %xmm2, %xmm3
1139 // CHECK: encoding: [0xc5,0xe9,0xda,0xd9]
1140           vpminub  %xmm1, %xmm2, %xmm3
1141
1142 // CHECK: vpminub  (%eax), %xmm2, %xmm3
1143 // CHECK: encoding: [0xc5,0xe9,0xda,0x18]
1144           vpminub  (%eax), %xmm2, %xmm3
1145
1146 // CHECK: vpmaxsw  %xmm1, %xmm2, %xmm3
1147 // CHECK: encoding: [0xc5,0xe9,0xee,0xd9]
1148           vpmaxsw  %xmm1, %xmm2, %xmm3
1149
1150 // CHECK: vpmaxsw  (%eax), %xmm2, %xmm3
1151 // CHECK: encoding: [0xc5,0xe9,0xee,0x18]
1152           vpmaxsw  (%eax), %xmm2, %xmm3
1153
1154 // CHECK: vpmaxub  %xmm1, %xmm2, %xmm3
1155 // CHECK: encoding: [0xc5,0xe9,0xde,0xd9]
1156           vpmaxub  %xmm1, %xmm2, %xmm3
1157
1158 // CHECK: vpmaxub  (%eax), %xmm2, %xmm3
1159 // CHECK: encoding: [0xc5,0xe9,0xde,0x18]
1160           vpmaxub  (%eax), %xmm2, %xmm3
1161
1162 // CHECK: vpsadbw  %xmm1, %xmm2, %xmm3
1163 // CHECK: encoding: [0xc5,0xe9,0xf6,0xd9]
1164           vpsadbw  %xmm1, %xmm2, %xmm3
1165
1166 // CHECK: vpsadbw  (%eax), %xmm2, %xmm3
1167 // CHECK: encoding: [0xc5,0xe9,0xf6,0x18]
1168           vpsadbw  (%eax), %xmm2, %xmm3
1169
1170 // CHECK: vpsllw  %xmm1, %xmm2, %xmm3
1171 // CHECK: encoding: [0xc5,0xe9,0xf1,0xd9]
1172           vpsllw  %xmm1, %xmm2, %xmm3
1173
1174 // CHECK: vpsllw  (%eax), %xmm2, %xmm3
1175 // CHECK: encoding: [0xc5,0xe9,0xf1,0x18]
1176           vpsllw  (%eax), %xmm2, %xmm3
1177
1178 // CHECK: vpslld  %xmm1, %xmm2, %xmm3
1179 // CHECK: encoding: [0xc5,0xe9,0xf2,0xd9]
1180           vpslld  %xmm1, %xmm2, %xmm3
1181
1182 // CHECK: vpslld  (%eax), %xmm2, %xmm3
1183 // CHECK: encoding: [0xc5,0xe9,0xf2,0x18]
1184           vpslld  (%eax), %xmm2, %xmm3
1185
1186 // CHECK: vpsllq  %xmm1, %xmm2, %xmm3
1187 // CHECK: encoding: [0xc5,0xe9,0xf3,0xd9]
1188           vpsllq  %xmm1, %xmm2, %xmm3
1189
1190 // CHECK: vpsllq  (%eax), %xmm2, %xmm3
1191 // CHECK: encoding: [0xc5,0xe9,0xf3,0x18]
1192           vpsllq  (%eax), %xmm2, %xmm3
1193
1194 // CHECK: vpsraw  %xmm1, %xmm2, %xmm3
1195 // CHECK: encoding: [0xc5,0xe9,0xe1,0xd9]
1196           vpsraw  %xmm1, %xmm2, %xmm3
1197
1198 // CHECK: vpsraw  (%eax), %xmm2, %xmm3
1199 // CHECK: encoding: [0xc5,0xe9,0xe1,0x18]
1200           vpsraw  (%eax), %xmm2, %xmm3
1201
1202 // CHECK: vpsrad  %xmm1, %xmm2, %xmm3
1203 // CHECK: encoding: [0xc5,0xe9,0xe2,0xd9]
1204           vpsrad  %xmm1, %xmm2, %xmm3
1205
1206 // CHECK: vpsrad  (%eax), %xmm2, %xmm3
1207 // CHECK: encoding: [0xc5,0xe9,0xe2,0x18]
1208           vpsrad  (%eax), %xmm2, %xmm3
1209
1210 // CHECK: vpsrlw  %xmm1, %xmm2, %xmm3
1211 // CHECK: encoding: [0xc5,0xe9,0xd1,0xd9]
1212           vpsrlw  %xmm1, %xmm2, %xmm3
1213
1214 // CHECK: vpsrlw  (%eax), %xmm2, %xmm3
1215 // CHECK: encoding: [0xc5,0xe9,0xd1,0x18]
1216           vpsrlw  (%eax), %xmm2, %xmm3
1217
1218 // CHECK: vpsrld  %xmm1, %xmm2, %xmm3
1219 // CHECK: encoding: [0xc5,0xe9,0xd2,0xd9]
1220           vpsrld  %xmm1, %xmm2, %xmm3
1221
1222 // CHECK: vpsrld  (%eax), %xmm2, %xmm3
1223 // CHECK: encoding: [0xc5,0xe9,0xd2,0x18]
1224           vpsrld  (%eax), %xmm2, %xmm3
1225
1226 // CHECK: vpsrlq  %xmm1, %xmm2, %xmm3
1227 // CHECK: encoding: [0xc5,0xe9,0xd3,0xd9]
1228           vpsrlq  %xmm1, %xmm2, %xmm3
1229
1230 // CHECK: vpsrlq  (%eax), %xmm2, %xmm3
1231 // CHECK: encoding: [0xc5,0xe9,0xd3,0x18]
1232           vpsrlq  (%eax), %xmm2, %xmm3
1233
1234 // CHECK: vpslld  $10, %xmm2, %xmm3
1235 // CHECK: encoding: [0xc5,0xe1,0x72,0xf2,0x0a]
1236           vpslld  $10, %xmm2, %xmm3
1237
1238 // CHECK: vpslldq  $10, %xmm2, %xmm3
1239 // CHECK: encoding: [0xc5,0xe1,0x73,0xfa,0x0a]
1240           vpslldq  $10, %xmm2, %xmm3
1241
1242 // CHECK: vpsllq  $10, %xmm2, %xmm3
1243 // CHECK: encoding: [0xc5,0xe1,0x73,0xf2,0x0a]
1244           vpsllq  $10, %xmm2, %xmm3
1245
1246 // CHECK: vpsllw  $10, %xmm2, %xmm3
1247 // CHECK: encoding: [0xc5,0xe1,0x71,0xf2,0x0a]
1248           vpsllw  $10, %xmm2, %xmm3
1249
1250 // CHECK: vpsrad  $10, %xmm2, %xmm3
1251 // CHECK: encoding: [0xc5,0xe1,0x72,0xe2,0x0a]
1252           vpsrad  $10, %xmm2, %xmm3
1253
1254 // CHECK: vpsraw  $10, %xmm2, %xmm3
1255 // CHECK: encoding: [0xc5,0xe1,0x71,0xe2,0x0a]
1256           vpsraw  $10, %xmm2, %xmm3
1257
1258 // CHECK: vpsrld  $10, %xmm2, %xmm3
1259 // CHECK: encoding: [0xc5,0xe1,0x72,0xd2,0x0a]
1260           vpsrld  $10, %xmm2, %xmm3
1261
1262 // CHECK: vpsrldq  $10, %xmm2, %xmm3
1263 // CHECK: encoding: [0xc5,0xe1,0x73,0xda,0x0a]
1264           vpsrldq  $10, %xmm2, %xmm3
1265
1266 // CHECK: vpsrlq  $10, %xmm2, %xmm3
1267 // CHECK: encoding: [0xc5,0xe1,0x73,0xd2,0x0a]
1268           vpsrlq  $10, %xmm2, %xmm3
1269
1270 // CHECK: vpsrlw  $10, %xmm2, %xmm3
1271 // CHECK: encoding: [0xc5,0xe1,0x71,0xd2,0x0a]
1272           vpsrlw  $10, %xmm2, %xmm3
1273
1274 // CHECK: vpslld  $10, %xmm2, %xmm3
1275 // CHECK: encoding: [0xc5,0xe1,0x72,0xf2,0x0a]
1276           vpslld  $10, %xmm2, %xmm3
1277
1278 // CHECK: vpand  %xmm1, %xmm2, %xmm3
1279 // CHECK: encoding: [0xc5,0xe9,0xdb,0xd9]
1280           vpand  %xmm1, %xmm2, %xmm3
1281
1282 // CHECK: vpand  (%eax), %xmm2, %xmm3
1283 // CHECK: encoding: [0xc5,0xe9,0xdb,0x18]
1284           vpand  (%eax), %xmm2, %xmm3
1285
1286 // CHECK: vpor  %xmm1, %xmm2, %xmm3
1287 // CHECK: encoding: [0xc5,0xe9,0xeb,0xd9]
1288           vpor  %xmm1, %xmm2, %xmm3
1289
1290 // CHECK: vpor  (%eax), %xmm2, %xmm3
1291 // CHECK: encoding: [0xc5,0xe9,0xeb,0x18]
1292           vpor  (%eax), %xmm2, %xmm3
1293
1294 // CHECK: vpxor  %xmm1, %xmm2, %xmm3
1295 // CHECK: encoding: [0xc5,0xe9,0xef,0xd9]
1296           vpxor  %xmm1, %xmm2, %xmm3
1297
1298 // CHECK: vpxor  (%eax), %xmm2, %xmm3
1299 // CHECK: encoding: [0xc5,0xe9,0xef,0x18]
1300           vpxor  (%eax), %xmm2, %xmm3
1301
1302 // CHECK: vpandn  %xmm1, %xmm2, %xmm3
1303 // CHECK: encoding: [0xc5,0xe9,0xdf,0xd9]
1304           vpandn  %xmm1, %xmm2, %xmm3
1305
1306 // CHECK: vpandn  (%eax), %xmm2, %xmm3
1307 // CHECK: encoding: [0xc5,0xe9,0xdf,0x18]
1308           vpandn  (%eax), %xmm2, %xmm3
1309
1310 // CHECK: vpcmpeqb  %xmm1, %xmm2, %xmm3
1311 // CHECK: encoding: [0xc5,0xe9,0x74,0xd9]
1312           vpcmpeqb  %xmm1, %xmm2, %xmm3
1313
1314 // CHECK: vpcmpeqb  (%eax), %xmm2, %xmm3
1315 // CHECK: encoding: [0xc5,0xe9,0x74,0x18]
1316           vpcmpeqb  (%eax), %xmm2, %xmm3
1317
1318 // CHECK: vpcmpeqw  %xmm1, %xmm2, %xmm3
1319 // CHECK: encoding: [0xc5,0xe9,0x75,0xd9]
1320           vpcmpeqw  %xmm1, %xmm2, %xmm3
1321
1322 // CHECK: vpcmpeqw  (%eax), %xmm2, %xmm3
1323 // CHECK: encoding: [0xc5,0xe9,0x75,0x18]
1324           vpcmpeqw  (%eax), %xmm2, %xmm3
1325
1326 // CHECK: vpcmpeqd  %xmm1, %xmm2, %xmm3
1327 // CHECK: encoding: [0xc5,0xe9,0x76,0xd9]
1328           vpcmpeqd  %xmm1, %xmm2, %xmm3
1329
1330 // CHECK: vpcmpeqd  (%eax), %xmm2, %xmm3
1331 // CHECK: encoding: [0xc5,0xe9,0x76,0x18]
1332           vpcmpeqd  (%eax), %xmm2, %xmm3
1333
1334 // CHECK: vpcmpgtb  %xmm1, %xmm2, %xmm3
1335 // CHECK: encoding: [0xc5,0xe9,0x64,0xd9]
1336           vpcmpgtb  %xmm1, %xmm2, %xmm3
1337
1338 // CHECK: vpcmpgtb  (%eax), %xmm2, %xmm3
1339 // CHECK: encoding: [0xc5,0xe9,0x64,0x18]
1340           vpcmpgtb  (%eax), %xmm2, %xmm3
1341
1342 // CHECK: vpcmpgtw  %xmm1, %xmm2, %xmm3
1343 // CHECK: encoding: [0xc5,0xe9,0x65,0xd9]
1344           vpcmpgtw  %xmm1, %xmm2, %xmm3
1345
1346 // CHECK: vpcmpgtw  (%eax), %xmm2, %xmm3
1347 // CHECK: encoding: [0xc5,0xe9,0x65,0x18]
1348           vpcmpgtw  (%eax), %xmm2, %xmm3
1349
1350 // CHECK: vpcmpgtd  %xmm1, %xmm2, %xmm3
1351 // CHECK: encoding: [0xc5,0xe9,0x66,0xd9]
1352           vpcmpgtd  %xmm1, %xmm2, %xmm3
1353
1354 // CHECK: vpcmpgtd  (%eax), %xmm2, %xmm3
1355 // CHECK: encoding: [0xc5,0xe9,0x66,0x18]
1356           vpcmpgtd  (%eax), %xmm2, %xmm3
1357
1358 // CHECK: vpacksswb  %xmm1, %xmm2, %xmm3
1359 // CHECK: encoding: [0xc5,0xe9,0x63,0xd9]
1360           vpacksswb  %xmm1, %xmm2, %xmm3
1361
1362 // CHECK: vpacksswb  (%eax), %xmm2, %xmm3
1363 // CHECK: encoding: [0xc5,0xe9,0x63,0x18]
1364           vpacksswb  (%eax), %xmm2, %xmm3
1365
1366 // CHECK: vpackssdw  %xmm1, %xmm2, %xmm3
1367 // CHECK: encoding: [0xc5,0xe9,0x6b,0xd9]
1368           vpackssdw  %xmm1, %xmm2, %xmm3
1369
1370 // CHECK: vpackssdw  (%eax), %xmm2, %xmm3
1371 // CHECK: encoding: [0xc5,0xe9,0x6b,0x18]
1372           vpackssdw  (%eax), %xmm2, %xmm3
1373
1374 // CHECK: vpackuswb  %xmm1, %xmm2, %xmm3
1375 // CHECK: encoding: [0xc5,0xe9,0x67,0xd9]
1376           vpackuswb  %xmm1, %xmm2, %xmm3
1377
1378 // CHECK: vpackuswb  (%eax), %xmm2, %xmm3
1379 // CHECK: encoding: [0xc5,0xe9,0x67,0x18]
1380           vpackuswb  (%eax), %xmm2, %xmm3
1381
1382 // CHECK: vpshufd  $4, %xmm2, %xmm3
1383 // CHECK: encoding: [0xc5,0xf9,0x70,0xda,0x04]
1384           vpshufd  $4, %xmm2, %xmm3
1385
1386 // CHECK: vpshufd  $4, (%eax), %xmm3
1387 // CHECK: encoding: [0xc5,0xf9,0x70,0x18,0x04]
1388           vpshufd  $4, (%eax), %xmm3
1389
1390 // CHECK: vpshufhw  $4, %xmm2, %xmm3
1391 // CHECK: encoding: [0xc5,0xfa,0x70,0xda,0x04]
1392           vpshufhw  $4, %xmm2, %xmm3
1393
1394 // CHECK: vpshufhw  $4, (%eax), %xmm3
1395 // CHECK: encoding: [0xc5,0xfa,0x70,0x18,0x04]
1396           vpshufhw  $4, (%eax), %xmm3
1397
1398 // CHECK: vpshuflw  $4, %xmm2, %xmm3
1399 // CHECK: encoding: [0xc5,0xfb,0x70,0xda,0x04]
1400           vpshuflw  $4, %xmm2, %xmm3
1401
1402 // CHECK: vpshuflw  $4, (%eax), %xmm3
1403 // CHECK: encoding: [0xc5,0xfb,0x70,0x18,0x04]
1404           vpshuflw  $4, (%eax), %xmm3
1405
1406 // CHECK: vpunpcklbw  %xmm1, %xmm2, %xmm3
1407 // CHECK: encoding: [0xc5,0xe9,0x60,0xd9]
1408           vpunpcklbw  %xmm1, %xmm2, %xmm3
1409
1410 // CHECK: vpunpcklbw  (%eax), %xmm2, %xmm3
1411 // CHECK: encoding: [0xc5,0xe9,0x60,0x18]
1412           vpunpcklbw  (%eax), %xmm2, %xmm3
1413
1414 // CHECK: vpunpcklwd  %xmm1, %xmm2, %xmm3
1415 // CHECK: encoding: [0xc5,0xe9,0x61,0xd9]
1416           vpunpcklwd  %xmm1, %xmm2, %xmm3
1417
1418 // CHECK: vpunpcklwd  (%eax), %xmm2, %xmm3
1419 // CHECK: encoding: [0xc5,0xe9,0x61,0x18]
1420           vpunpcklwd  (%eax), %xmm2, %xmm3
1421
1422 // CHECK: vpunpckldq  %xmm1, %xmm2, %xmm3
1423 // CHECK: encoding: [0xc5,0xe9,0x62,0xd9]
1424           vpunpckldq  %xmm1, %xmm2, %xmm3
1425
1426 // CHECK: vpunpckldq  (%eax), %xmm2, %xmm3
1427 // CHECK: encoding: [0xc5,0xe9,0x62,0x18]
1428           vpunpckldq  (%eax), %xmm2, %xmm3
1429
1430 // CHECK: vpunpcklqdq  %xmm1, %xmm2, %xmm3
1431 // CHECK: encoding: [0xc5,0xe9,0x6c,0xd9]
1432           vpunpcklqdq  %xmm1, %xmm2, %xmm3
1433
1434 // CHECK: vpunpcklqdq  (%eax), %xmm2, %xmm3
1435 // CHECK: encoding: [0xc5,0xe9,0x6c,0x18]
1436           vpunpcklqdq  (%eax), %xmm2, %xmm3
1437
1438 // CHECK: vpunpckhbw  %xmm1, %xmm2, %xmm3
1439 // CHECK: encoding: [0xc5,0xe9,0x68,0xd9]
1440           vpunpckhbw  %xmm1, %xmm2, %xmm3
1441
1442 // CHECK: vpunpckhbw  (%eax), %xmm2, %xmm3
1443 // CHECK: encoding: [0xc5,0xe9,0x68,0x18]
1444           vpunpckhbw  (%eax), %xmm2, %xmm3
1445
1446 // CHECK: vpunpckhwd  %xmm1, %xmm2, %xmm3
1447 // CHECK: encoding: [0xc5,0xe9,0x69,0xd9]
1448           vpunpckhwd  %xmm1, %xmm2, %xmm3
1449
1450 // CHECK: vpunpckhwd  (%eax), %xmm2, %xmm3
1451 // CHECK: encoding: [0xc5,0xe9,0x69,0x18]
1452           vpunpckhwd  (%eax), %xmm2, %xmm3
1453
1454 // CHECK: vpunpckhdq  %xmm1, %xmm2, %xmm3
1455 // CHECK: encoding: [0xc5,0xe9,0x6a,0xd9]
1456           vpunpckhdq  %xmm1, %xmm2, %xmm3
1457
1458 // CHECK: vpunpckhdq  (%eax), %xmm2, %xmm3
1459 // CHECK: encoding: [0xc5,0xe9,0x6a,0x18]
1460           vpunpckhdq  (%eax), %xmm2, %xmm3
1461
1462 // CHECK: vpunpckhqdq  %xmm1, %xmm2, %xmm3
1463 // CHECK: encoding: [0xc5,0xe9,0x6d,0xd9]
1464           vpunpckhqdq  %xmm1, %xmm2, %xmm3
1465
1466 // CHECK: vpunpckhqdq  (%eax), %xmm2, %xmm3
1467 // CHECK: encoding: [0xc5,0xe9,0x6d,0x18]
1468           vpunpckhqdq  (%eax), %xmm2, %xmm3
1469
1470 // CHECK: vpinsrw  $7, %eax, %xmm2, %xmm3
1471 // CHECK: encoding: [0xc5,0xe9,0xc4,0xd8,0x07]
1472           vpinsrw  $7, %eax, %xmm2, %xmm3
1473
1474 // CHECK: vpinsrw  $7, (%eax), %xmm2, %xmm3
1475 // CHECK: encoding: [0xc5,0xe9,0xc4,0x18,0x07]
1476           vpinsrw  $7, (%eax), %xmm2, %xmm3
1477
1478 // CHECK: vpextrw  $7, %xmm2, %eax
1479 // CHECK: encoding: [0xc5,0xf9,0xc5,0xc2,0x07]
1480           vpextrw  $7, %xmm2, %eax
1481
1482 // CHECK: vpmovmskb  %xmm1, %eax
1483 // CHECK: encoding: [0xc5,0xf9,0xd7,0xc1]
1484           vpmovmskb  %xmm1, %eax
1485
1486 // CHECK: vmaskmovdqu  %xmm1, %xmm2
1487 // CHECK: encoding: [0xc5,0xf9,0xf7,0xd1]
1488           vmaskmovdqu  %xmm1, %xmm2
1489
1490 // CHECK: vmovd  %xmm1, %eax
1491 // CHECK: encoding: [0xc5,0xf9,0x7e,0xc8]
1492           vmovd  %xmm1, %eax
1493
1494 // CHECK: vmovd  %xmm1, (%eax)
1495 // CHECK: encoding: [0xc5,0xf9,0x7e,0x08]
1496           vmovd  %xmm1, (%eax)
1497
1498 // CHECK: vmovd  %eax, %xmm1
1499 // CHECK: encoding: [0xc5,0xf9,0x6e,0xc8]
1500           vmovd  %eax, %xmm1
1501
1502 // CHECK: vmovd  (%eax), %xmm1
1503 // CHECK: encoding: [0xc5,0xf9,0x6e,0x08]
1504           vmovd  (%eax), %xmm1
1505
1506 // CHECK: vmovq  %xmm1, (%eax)
1507 // CHECK: encoding: [0xc5,0xf9,0xd6,0x08]
1508           vmovq  %xmm1, (%eax)
1509
1510 // CHECK: vmovq  %xmm1, %xmm2
1511 // CHECK: encoding: [0xc5,0xfa,0x7e,0xd1]
1512           vmovq  %xmm1, %xmm2
1513
1514 // CHECK: vmovq  (%eax), %xmm1
1515 // CHECK: encoding: [0xc5,0xfa,0x7e,0x08]
1516           vmovq  (%eax), %xmm1
1517
1518 // CHECK: vcvtpd2dq  %xmm1, %xmm2
1519 // CHECK: encoding: [0xc5,0xfb,0xe6,0xd1]
1520           vcvtpd2dq  %xmm1, %xmm2
1521
1522 // CHECK: vcvtdq2pd  %xmm1, %xmm2
1523 // CHECK: encoding: [0xc5,0xfa,0xe6,0xd1]
1524           vcvtdq2pd  %xmm1, %xmm2
1525
1526 // CHECK: vcvtdq2pd  (%eax), %xmm2
1527 // CHECK: encoding: [0xc5,0xfa,0xe6,0x10]
1528           vcvtdq2pd  (%eax), %xmm2
1529
1530 // CHECK: vmovshdup  %xmm1, %xmm2
1531 // CHECK: encoding: [0xc5,0xfa,0x16,0xd1]
1532           vmovshdup  %xmm1, %xmm2
1533
1534 // CHECK: vmovshdup  (%eax), %xmm2
1535 // CHECK: encoding: [0xc5,0xfa,0x16,0x10]
1536           vmovshdup  (%eax), %xmm2
1537
1538 // CHECK: vmovsldup  %xmm1, %xmm2
1539 // CHECK: encoding: [0xc5,0xfa,0x12,0xd1]
1540           vmovsldup  %xmm1, %xmm2
1541
1542 // CHECK: vmovsldup  (%eax), %xmm2
1543 // CHECK: encoding: [0xc5,0xfa,0x12,0x10]
1544           vmovsldup  (%eax), %xmm2
1545
1546 // CHECK: vmovddup  %xmm1, %xmm2
1547 // CHECK: encoding: [0xc5,0xfb,0x12,0xd1]
1548           vmovddup  %xmm1, %xmm2
1549
1550 // CHECK: vmovddup  (%eax), %xmm2
1551 // CHECK: encoding: [0xc5,0xfb,0x12,0x10]
1552           vmovddup  (%eax), %xmm2
1553
1554 // CHECK: vaddsubps  %xmm1, %xmm2, %xmm3
1555 // CHECK: encoding: [0xc5,0xeb,0xd0,0xd9]
1556           vaddsubps  %xmm1, %xmm2, %xmm3
1557
1558 // CHECK: vaddsubps  (%eax), %xmm1, %xmm2
1559 // CHECK: encoding: [0xc5,0xf3,0xd0,0x10]
1560           vaddsubps  (%eax), %xmm1, %xmm2
1561
1562 // CHECK: vaddsubpd  %xmm1, %xmm2, %xmm3
1563 // CHECK: encoding: [0xc5,0xe9,0xd0,0xd9]
1564           vaddsubpd  %xmm1, %xmm2, %xmm3
1565
1566 // CHECK: vaddsubpd  (%eax), %xmm1, %xmm2
1567 // CHECK: encoding: [0xc5,0xf1,0xd0,0x10]
1568           vaddsubpd  (%eax), %xmm1, %xmm2
1569
1570 // CHECK: vhaddps  %xmm1, %xmm2, %xmm3
1571 // CHECK: encoding: [0xc5,0xeb,0x7c,0xd9]
1572           vhaddps  %xmm1, %xmm2, %xmm3
1573
1574 // CHECK: vhaddps  (%eax), %xmm2, %xmm3
1575 // CHECK: encoding: [0xc5,0xeb,0x7c,0x18]
1576           vhaddps  (%eax), %xmm2, %xmm3
1577
1578 // CHECK: vhaddpd  %xmm1, %xmm2, %xmm3
1579 // CHECK: encoding: [0xc5,0xe9,0x7c,0xd9]
1580           vhaddpd  %xmm1, %xmm2, %xmm3
1581
1582 // CHECK: vhaddpd  (%eax), %xmm2, %xmm3
1583 // CHECK: encoding: [0xc5,0xe9,0x7c,0x18]
1584           vhaddpd  (%eax), %xmm2, %xmm3
1585
1586 // CHECK: vhsubps  %xmm1, %xmm2, %xmm3
1587 // CHECK: encoding: [0xc5,0xeb,0x7d,0xd9]
1588           vhsubps  %xmm1, %xmm2, %xmm3
1589
1590 // CHECK: vhsubps  (%eax), %xmm2, %xmm3
1591 // CHECK: encoding: [0xc5,0xeb,0x7d,0x18]
1592           vhsubps  (%eax), %xmm2, %xmm3
1593
1594 // CHECK: vhsubpd  %xmm1, %xmm2, %xmm3
1595 // CHECK: encoding: [0xc5,0xe9,0x7d,0xd9]
1596           vhsubpd  %xmm1, %xmm2, %xmm3
1597
1598 // CHECK: vhsubpd  (%eax), %xmm2, %xmm3
1599 // CHECK: encoding: [0xc5,0xe9,0x7d,0x18]
1600           vhsubpd  (%eax), %xmm2, %xmm3
1601
1602 // CHECK: vpabsb  %xmm1, %xmm2
1603 // CHECK: encoding: [0xc4,0xe2,0x79,0x1c,0xd1]
1604           vpabsb  %xmm1, %xmm2
1605
1606 // CHECK: vpabsb  (%eax), %xmm2
1607 // CHECK: encoding: [0xc4,0xe2,0x79,0x1c,0x10]
1608           vpabsb  (%eax), %xmm2
1609
1610 // CHECK: vpabsw  %xmm1, %xmm2
1611 // CHECK: encoding: [0xc4,0xe2,0x79,0x1d,0xd1]
1612           vpabsw  %xmm1, %xmm2
1613
1614 // CHECK: vpabsw  (%eax), %xmm2
1615 // CHECK: encoding: [0xc4,0xe2,0x79,0x1d,0x10]
1616           vpabsw  (%eax), %xmm2
1617
1618 // CHECK: vpabsd  %xmm1, %xmm2
1619 // CHECK: encoding: [0xc4,0xe2,0x79,0x1e,0xd1]
1620           vpabsd  %xmm1, %xmm2
1621
1622 // CHECK: vpabsd  (%eax), %xmm2
1623 // CHECK: encoding: [0xc4,0xe2,0x79,0x1e,0x10]
1624           vpabsd  (%eax), %xmm2
1625
1626 // CHECK: vphaddw  %xmm1, %xmm2, %xmm3
1627 // CHECK: encoding: [0xc4,0xe2,0x69,0x01,0xd9]
1628           vphaddw  %xmm1, %xmm2, %xmm3
1629
1630 // CHECK: vphaddw  (%eax), %xmm2, %xmm3
1631 // CHECK: encoding: [0xc4,0xe2,0x69,0x01,0x18]
1632           vphaddw  (%eax), %xmm2, %xmm3
1633
1634 // CHECK: vphaddd  %xmm1, %xmm2, %xmm3
1635 // CHECK: encoding: [0xc4,0xe2,0x69,0x02,0xd9]
1636           vphaddd  %xmm1, %xmm2, %xmm3
1637
1638 // CHECK: vphaddd  (%eax), %xmm2, %xmm3
1639 // CHECK: encoding: [0xc4,0xe2,0x69,0x02,0x18]
1640           vphaddd  (%eax), %xmm2, %xmm3
1641
1642 // CHECK: vphaddsw  %xmm1, %xmm2, %xmm3
1643 // CHECK: encoding: [0xc4,0xe2,0x69,0x03,0xd9]
1644           vphaddsw  %xmm1, %xmm2, %xmm3
1645
1646 // CHECK: vphaddsw  (%eax), %xmm2, %xmm3
1647 // CHECK: encoding: [0xc4,0xe2,0x69,0x03,0x18]
1648           vphaddsw  (%eax), %xmm2, %xmm3
1649
1650 // CHECK: vphsubw  %xmm1, %xmm2, %xmm3
1651 // CHECK: encoding: [0xc4,0xe2,0x69,0x05,0xd9]
1652           vphsubw  %xmm1, %xmm2, %xmm3
1653
1654 // CHECK: vphsubw  (%eax), %xmm2, %xmm3
1655 // CHECK: encoding: [0xc4,0xe2,0x69,0x05,0x18]
1656           vphsubw  (%eax), %xmm2, %xmm3
1657
1658 // CHECK: vphsubd  %xmm1, %xmm2, %xmm3
1659 // CHECK: encoding: [0xc4,0xe2,0x69,0x06,0xd9]
1660           vphsubd  %xmm1, %xmm2, %xmm3
1661
1662 // CHECK: vphsubd  (%eax), %xmm2, %xmm3
1663 // CHECK: encoding: [0xc4,0xe2,0x69,0x06,0x18]
1664           vphsubd  (%eax), %xmm2, %xmm3
1665
1666 // CHECK: vphsubsw  %xmm1, %xmm2, %xmm3
1667 // CHECK: encoding: [0xc4,0xe2,0x69,0x07,0xd9]
1668           vphsubsw  %xmm1, %xmm2, %xmm3
1669
1670 // CHECK: vphsubsw  (%eax), %xmm2, %xmm3
1671 // CHECK: encoding: [0xc4,0xe2,0x69,0x07,0x18]
1672           vphsubsw  (%eax), %xmm2, %xmm3
1673
1674 // CHECK: vpmaddubsw  %xmm1, %xmm2, %xmm3
1675 // CHECK: encoding: [0xc4,0xe2,0x69,0x04,0xd9]
1676           vpmaddubsw  %xmm1, %xmm2, %xmm3
1677
1678 // CHECK: vpmaddubsw  (%eax), %xmm2, %xmm3
1679 // CHECK: encoding: [0xc4,0xe2,0x69,0x04,0x18]
1680           vpmaddubsw  (%eax), %xmm2, %xmm3
1681
1682 // CHECK: vpshufb  %xmm1, %xmm2, %xmm3
1683 // CHECK: encoding: [0xc4,0xe2,0x69,0x00,0xd9]
1684           vpshufb  %xmm1, %xmm2, %xmm3
1685
1686 // CHECK: vpshufb  (%eax), %xmm2, %xmm3
1687 // CHECK: encoding: [0xc4,0xe2,0x69,0x00,0x18]
1688           vpshufb  (%eax), %xmm2, %xmm3
1689
1690 // CHECK: vpsignb  %xmm1, %xmm2, %xmm3
1691 // CHECK: encoding: [0xc4,0xe2,0x69,0x08,0xd9]
1692           vpsignb  %xmm1, %xmm2, %xmm3
1693
1694 // CHECK: vpsignb  (%eax), %xmm2, %xmm3
1695 // CHECK: encoding: [0xc4,0xe2,0x69,0x08,0x18]
1696           vpsignb  (%eax), %xmm2, %xmm3
1697
1698 // CHECK: vpsignw  %xmm1, %xmm2, %xmm3
1699 // CHECK: encoding: [0xc4,0xe2,0x69,0x09,0xd9]
1700           vpsignw  %xmm1, %xmm2, %xmm3
1701
1702 // CHECK: vpsignw  (%eax), %xmm2, %xmm3
1703 // CHECK: encoding: [0xc4,0xe2,0x69,0x09,0x18]
1704           vpsignw  (%eax), %xmm2, %xmm3
1705
1706 // CHECK: vpsignd  %xmm1, %xmm2, %xmm3
1707 // CHECK: encoding: [0xc4,0xe2,0x69,0x0a,0xd9]
1708           vpsignd  %xmm1, %xmm2, %xmm3
1709
1710 // CHECK: vpsignd  (%eax), %xmm2, %xmm3
1711 // CHECK: encoding: [0xc4,0xe2,0x69,0x0a,0x18]
1712           vpsignd  (%eax), %xmm2, %xmm3
1713
1714 // CHECK: vpmulhrsw  %xmm1, %xmm2, %xmm3
1715 // CHECK: encoding: [0xc4,0xe2,0x69,0x0b,0xd9]
1716           vpmulhrsw  %xmm1, %xmm2, %xmm3
1717
1718 // CHECK: vpmulhrsw  (%eax), %xmm2, %xmm3
1719 // CHECK: encoding: [0xc4,0xe2,0x69,0x0b,0x18]
1720           vpmulhrsw  (%eax), %xmm2, %xmm3
1721
1722 // CHECK: vpalignr  $7, %xmm1, %xmm2, %xmm3
1723 // CHECK: encoding: [0xc4,0xe3,0x69,0x0f,0xd9,0x07]
1724           vpalignr  $7, %xmm1, %xmm2, %xmm3
1725
1726 // CHECK: vpalignr  $7, (%eax), %xmm2, %xmm3
1727 // CHECK: encoding: [0xc4,0xe3,0x69,0x0f,0x18,0x07]
1728           vpalignr  $7, (%eax), %xmm2, %xmm3
1729
1730 // CHECK: vroundsd  $7, %xmm1, %xmm2, %xmm3
1731 // CHECK: encoding: [0xc4,0xe3,0x69,0x0b,0xd9,0x07]
1732           vroundsd  $7, %xmm1, %xmm2, %xmm3
1733
1734 // CHECK: vroundsd  $7, (%eax), %xmm2, %xmm3
1735 // CHECK: encoding: [0xc4,0xe3,0x69,0x0b,0x18,0x07]
1736           vroundsd  $7, (%eax), %xmm2, %xmm3
1737
1738 // CHECK: vroundss  $7, %xmm1, %xmm2, %xmm3
1739 // CHECK: encoding: [0xc4,0xe3,0x69,0x0a,0xd9,0x07]
1740           vroundss  $7, %xmm1, %xmm2, %xmm3
1741
1742 // CHECK: vroundss  $7, (%eax), %xmm2, %xmm3
1743 // CHECK: encoding: [0xc4,0xe3,0x69,0x0a,0x18,0x07]
1744           vroundss  $7, (%eax), %xmm2, %xmm3
1745
1746 // CHECK: vroundpd  $7, %xmm2, %xmm3
1747 // CHECK: encoding: [0xc4,0xe3,0x79,0x09,0xda,0x07]
1748           vroundpd  $7, %xmm2, %xmm3
1749
1750 // CHECK: vroundpd  $7, (%eax), %xmm3
1751 // CHECK: encoding: [0xc4,0xe3,0x79,0x09,0x18,0x07]
1752           vroundpd  $7, (%eax), %xmm3
1753
1754 // CHECK: vroundps  $7, %xmm2, %xmm3
1755 // CHECK: encoding: [0xc4,0xe3,0x79,0x08,0xda,0x07]
1756           vroundps  $7, %xmm2, %xmm3
1757
1758 // CHECK: vroundps  $7, (%eax), %xmm3
1759 // CHECK: encoding: [0xc4,0xe3,0x79,0x08,0x18,0x07]
1760           vroundps  $7, (%eax), %xmm3
1761
1762 // CHECK: vphminposuw  %xmm2, %xmm3
1763 // CHECK: encoding: [0xc4,0xe2,0x79,0x41,0xda]
1764           vphminposuw  %xmm2, %xmm3
1765
1766 // CHECK: vphminposuw  (%eax), %xmm2
1767 // CHECK: encoding: [0xc4,0xe2,0x79,0x41,0x10]
1768           vphminposuw  (%eax), %xmm2
1769
1770 // CHECK: vpackusdw  %xmm2, %xmm3, %xmm1
1771 // CHECK: encoding: [0xc4,0xe2,0x61,0x2b,0xca]
1772           vpackusdw  %xmm2, %xmm3, %xmm1
1773
1774 // CHECK: vpackusdw  (%eax), %xmm2, %xmm3
1775 // CHECK: encoding: [0xc4,0xe2,0x69,0x2b,0x18]
1776           vpackusdw  (%eax), %xmm2, %xmm3
1777
1778 // CHECK: vpcmpeqq  %xmm2, %xmm3, %xmm1
1779 // CHECK: encoding: [0xc4,0xe2,0x61,0x29,0xca]
1780           vpcmpeqq  %xmm2, %xmm3, %xmm1
1781
1782 // CHECK: vpcmpeqq  (%eax), %xmm2, %xmm3
1783 // CHECK: encoding: [0xc4,0xe2,0x69,0x29,0x18]
1784           vpcmpeqq  (%eax), %xmm2, %xmm3
1785
1786 // CHECK: vpminsb  %xmm2, %xmm3, %xmm1
1787 // CHECK: encoding: [0xc4,0xe2,0x61,0x38,0xca]
1788           vpminsb  %xmm2, %xmm3, %xmm1
1789
1790 // CHECK: vpminsb  (%eax), %xmm2, %xmm3
1791 // CHECK: encoding: [0xc4,0xe2,0x69,0x38,0x18]
1792           vpminsb  (%eax), %xmm2, %xmm3
1793
1794 // CHECK: vpminsd  %xmm2, %xmm3, %xmm1
1795 // CHECK: encoding: [0xc4,0xe2,0x61,0x39,0xca]
1796           vpminsd  %xmm2, %xmm3, %xmm1
1797
1798 // CHECK: vpminsd  (%eax), %xmm2, %xmm3
1799 // CHECK: encoding: [0xc4,0xe2,0x69,0x39,0x18]
1800           vpminsd  (%eax), %xmm2, %xmm3
1801
1802 // CHECK: vpminud  %xmm2, %xmm3, %xmm1
1803 // CHECK: encoding: [0xc4,0xe2,0x61,0x3b,0xca]
1804           vpminud  %xmm2, %xmm3, %xmm1
1805
1806 // CHECK: vpminud  (%eax), %xmm2, %xmm3
1807 // CHECK: encoding: [0xc4,0xe2,0x69,0x3b,0x18]
1808           vpminud  (%eax), %xmm2, %xmm3
1809
1810 // CHECK: vpminuw  %xmm2, %xmm3, %xmm1
1811 // CHECK: encoding: [0xc4,0xe2,0x61,0x3a,0xca]
1812           vpminuw  %xmm2, %xmm3, %xmm1
1813
1814 // CHECK: vpminuw  (%eax), %xmm2, %xmm3
1815 // CHECK: encoding: [0xc4,0xe2,0x69,0x3a,0x18]
1816           vpminuw  (%eax), %xmm2, %xmm3
1817
1818 // CHECK: vpmaxsb  %xmm2, %xmm3, %xmm1
1819 // CHECK: encoding: [0xc4,0xe2,0x61,0x3c,0xca]
1820           vpmaxsb  %xmm2, %xmm3, %xmm1
1821
1822 // CHECK: vpmaxsb  (%eax), %xmm2, %xmm3
1823 // CHECK: encoding: [0xc4,0xe2,0x69,0x3c,0x18]
1824           vpmaxsb  (%eax), %xmm2, %xmm3
1825
1826 // CHECK: vpmaxsd  %xmm2, %xmm3, %xmm1
1827 // CHECK: encoding: [0xc4,0xe2,0x61,0x3d,0xca]
1828           vpmaxsd  %xmm2, %xmm3, %xmm1
1829
1830 // CHECK: vpmaxsd  (%eax), %xmm2, %xmm3
1831 // CHECK: encoding: [0xc4,0xe2,0x69,0x3d,0x18]
1832           vpmaxsd  (%eax), %xmm2, %xmm3
1833
1834 // CHECK: vpmaxud  %xmm2, %xmm3, %xmm1
1835 // CHECK: encoding: [0xc4,0xe2,0x61,0x3f,0xca]
1836           vpmaxud  %xmm2, %xmm3, %xmm1
1837
1838 // CHECK: vpmaxud  (%eax), %xmm2, %xmm3
1839 // CHECK: encoding: [0xc4,0xe2,0x69,0x3f,0x18]
1840           vpmaxud  (%eax), %xmm2, %xmm3
1841
1842 // CHECK: vpmaxuw  %xmm2, %xmm3, %xmm1
1843 // CHECK: encoding: [0xc4,0xe2,0x61,0x3e,0xca]
1844           vpmaxuw  %xmm2, %xmm3, %xmm1
1845
1846 // CHECK: vpmaxuw  (%eax), %xmm2, %xmm3
1847 // CHECK: encoding: [0xc4,0xe2,0x69,0x3e,0x18]
1848           vpmaxuw  (%eax), %xmm2, %xmm3
1849
1850 // CHECK: vpmuldq  %xmm2, %xmm3, %xmm1
1851 // CHECK: encoding: [0xc4,0xe2,0x61,0x28,0xca]
1852           vpmuldq  %xmm2, %xmm3, %xmm1
1853
1854 // CHECK: vpmuldq  (%eax), %xmm2, %xmm3
1855 // CHECK: encoding: [0xc4,0xe2,0x69,0x28,0x18]
1856           vpmuldq  (%eax), %xmm2, %xmm3
1857
1858 // CHECK: vpmulld  %xmm2, %xmm5, %xmm1
1859 // CHECK: encoding: [0xc4,0xe2,0x51,0x40,0xca]
1860           vpmulld  %xmm2, %xmm5, %xmm1
1861
1862 // CHECK: vpmulld  (%eax), %xmm5, %xmm3
1863 // CHECK: encoding: [0xc4,0xe2,0x51,0x40,0x18]
1864           vpmulld  (%eax), %xmm5, %xmm3
1865
1866 // CHECK: vblendps  $3, %xmm2, %xmm5, %xmm1
1867 // CHECK: encoding: [0xc4,0xe3,0x51,0x0c,0xca,0x03]
1868           vblendps  $3, %xmm2, %xmm5, %xmm1
1869
1870 // CHECK: vblendps  $3, (%eax), %xmm5, %xmm1
1871 // CHECK: encoding: [0xc4,0xe3,0x51,0x0c,0x08,0x03]
1872           vblendps  $3, (%eax), %xmm5, %xmm1
1873
1874 // CHECK: vblendpd  $3, %xmm2, %xmm5, %xmm1
1875 // CHECK: encoding: [0xc4,0xe3,0x51,0x0d,0xca,0x03]
1876           vblendpd  $3, %xmm2, %xmm5, %xmm1
1877
1878 // CHECK: vblendpd  $3, (%eax), %xmm5, %xmm1
1879 // CHECK: encoding: [0xc4,0xe3,0x51,0x0d,0x08,0x03]
1880           vblendpd  $3, (%eax), %xmm5, %xmm1
1881
1882 // CHECK: vpblendw  $3, %xmm2, %xmm5, %xmm1
1883 // CHECK: encoding: [0xc4,0xe3,0x51,0x0e,0xca,0x03]
1884           vpblendw  $3, %xmm2, %xmm5, %xmm1
1885
1886 // CHECK: vpblendw  $3, (%eax), %xmm5, %xmm1
1887 // CHECK: encoding: [0xc4,0xe3,0x51,0x0e,0x08,0x03]
1888           vpblendw  $3, (%eax), %xmm5, %xmm1
1889
1890 // CHECK: vmpsadbw  $3, %xmm2, %xmm5, %xmm1
1891 // CHECK: encoding: [0xc4,0xe3,0x51,0x42,0xca,0x03]
1892           vmpsadbw  $3, %xmm2, %xmm5, %xmm1
1893
1894 // CHECK: vmpsadbw  $3, (%eax), %xmm5, %xmm1
1895 // CHECK: encoding: [0xc4,0xe3,0x51,0x42,0x08,0x03]
1896           vmpsadbw  $3, (%eax), %xmm5, %xmm1
1897
1898 // CHECK: vdpps  $3, %xmm2, %xmm5, %xmm1
1899 // CHECK: encoding: [0xc4,0xe3,0x51,0x40,0xca,0x03]
1900           vdpps  $3, %xmm2, %xmm5, %xmm1
1901
1902 // CHECK: vdpps  $3, (%eax), %xmm5, %xmm1
1903 // CHECK: encoding: [0xc4,0xe3,0x51,0x40,0x08,0x03]
1904           vdpps  $3, (%eax), %xmm5, %xmm1
1905
1906 // CHECK: vdppd  $3, %xmm2, %xmm5, %xmm1
1907 // CHECK: encoding: [0xc4,0xe3,0x51,0x41,0xca,0x03]
1908           vdppd  $3, %xmm2, %xmm5, %xmm1
1909
1910 // CHECK: vdppd  $3, (%eax), %xmm5, %xmm1
1911 // CHECK: encoding: [0xc4,0xe3,0x51,0x41,0x08,0x03]
1912           vdppd  $3, (%eax), %xmm5, %xmm1
1913
1914 // CHECK: vblendvpd  %xmm2, %xmm5, %xmm1, %xmm3
1915 // CHECK: encoding: [0xc4,0xe3,0x71,0x4b,0xdd,0x20]
1916           vblendvpd  %xmm2, %xmm5, %xmm1, %xmm3
1917
1918 // CHECK: vblendvpd  %xmm2, (%eax), %xmm1, %xmm3
1919 // CHECK: encoding: [0xc4,0xe3,0x71,0x4b,0x18,0x20]
1920           vblendvpd  %xmm2, (%eax), %xmm1, %xmm3
1921
1922 // CHECK: vblendvps  %xmm2, %xmm5, %xmm1, %xmm3
1923 // CHECK: encoding: [0xc4,0xe3,0x71,0x4a,0xdd,0x20]
1924           vblendvps  %xmm2, %xmm5, %xmm1, %xmm3
1925
1926 // CHECK: vblendvps  %xmm2, (%eax), %xmm1, %xmm3
1927 // CHECK: encoding: [0xc4,0xe3,0x71,0x4a,0x18,0x20]
1928           vblendvps  %xmm2, (%eax), %xmm1, %xmm3
1929
1930 // CHECK: vpblendvb  %xmm2, %xmm5, %xmm1, %xmm3
1931 // CHECK: encoding: [0xc4,0xe3,0x71,0x4c,0xdd,0x20]
1932           vpblendvb  %xmm2, %xmm5, %xmm1, %xmm3
1933
1934 // CHECK: vpblendvb  %xmm2, (%eax), %xmm1, %xmm3
1935 // CHECK: encoding: [0xc4,0xe3,0x71,0x4c,0x18,0x20]
1936           vpblendvb  %xmm2, (%eax), %xmm1, %xmm3
1937
1938 // CHECK: vpmovsxbw  %xmm2, %xmm5
1939 // CHECK: encoding: [0xc4,0xe2,0x79,0x20,0xea]
1940           vpmovsxbw  %xmm2, %xmm5
1941
1942 // CHECK: vpmovsxbw  (%eax), %xmm2
1943 // CHECK: encoding: [0xc4,0xe2,0x79,0x20,0x10]
1944           vpmovsxbw  (%eax), %xmm2
1945
1946 // CHECK: vpmovsxwd  %xmm2, %xmm5
1947 // CHECK: encoding: [0xc4,0xe2,0x79,0x23,0xea]
1948           vpmovsxwd  %xmm2, %xmm5
1949
1950 // CHECK: vpmovsxwd  (%eax), %xmm2
1951 // CHECK: encoding: [0xc4,0xe2,0x79,0x23,0x10]
1952           vpmovsxwd  (%eax), %xmm2
1953
1954 // CHECK: vpmovsxdq  %xmm2, %xmm5
1955 // CHECK: encoding: [0xc4,0xe2,0x79,0x25,0xea]
1956           vpmovsxdq  %xmm2, %xmm5
1957
1958 // CHECK: vpmovsxdq  (%eax), %xmm2
1959 // CHECK: encoding: [0xc4,0xe2,0x79,0x25,0x10]
1960           vpmovsxdq  (%eax), %xmm2
1961
1962 // CHECK: vpmovzxbw  %xmm2, %xmm5
1963 // CHECK: encoding: [0xc4,0xe2,0x79,0x30,0xea]
1964           vpmovzxbw  %xmm2, %xmm5
1965
1966 // CHECK: vpmovzxbw  (%eax), %xmm2
1967 // CHECK: encoding: [0xc4,0xe2,0x79,0x30,0x10]
1968           vpmovzxbw  (%eax), %xmm2
1969
1970 // CHECK: vpmovzxwd  %xmm2, %xmm5
1971 // CHECK: encoding: [0xc4,0xe2,0x79,0x33,0xea]
1972           vpmovzxwd  %xmm2, %xmm5
1973
1974 // CHECK: vpmovzxwd  (%eax), %xmm2
1975 // CHECK: encoding: [0xc4,0xe2,0x79,0x33,0x10]
1976           vpmovzxwd  (%eax), %xmm2
1977
1978 // CHECK: vpmovzxdq  %xmm2, %xmm5
1979 // CHECK: encoding: [0xc4,0xe2,0x79,0x35,0xea]
1980           vpmovzxdq  %xmm2, %xmm5
1981
1982 // CHECK: vpmovzxdq  (%eax), %xmm2
1983 // CHECK: encoding: [0xc4,0xe2,0x79,0x35,0x10]
1984           vpmovzxdq  (%eax), %xmm2
1985
1986 // CHECK: vpmovsxbq  %xmm2, %xmm5
1987 // CHECK: encoding: [0xc4,0xe2,0x79,0x22,0xea]
1988           vpmovsxbq  %xmm2, %xmm5
1989
1990 // CHECK: vpmovsxbq  (%eax), %xmm2
1991 // CHECK: encoding: [0xc4,0xe2,0x79,0x22,0x10]
1992           vpmovsxbq  (%eax), %xmm2
1993
1994 // CHECK: vpmovzxbq  %xmm2, %xmm5
1995 // CHECK: encoding: [0xc4,0xe2,0x79,0x32,0xea]
1996           vpmovzxbq  %xmm2, %xmm5
1997
1998 // CHECK: vpmovzxbq  (%eax), %xmm2
1999 // CHECK: encoding: [0xc4,0xe2,0x79,0x32,0x10]
2000           vpmovzxbq  (%eax), %xmm2
2001
2002 // CHECK: vpmovsxbd  %xmm2, %xmm5
2003 // CHECK: encoding: [0xc4,0xe2,0x79,0x21,0xea]
2004           vpmovsxbd  %xmm2, %xmm5
2005
2006 // CHECK: vpmovsxbd  (%eax), %xmm2
2007 // CHECK: encoding: [0xc4,0xe2,0x79,0x21,0x10]
2008           vpmovsxbd  (%eax), %xmm2
2009
2010 // CHECK: vpmovsxwq  %xmm2, %xmm5
2011 // CHECK: encoding: [0xc4,0xe2,0x79,0x24,0xea]
2012           vpmovsxwq  %xmm2, %xmm5
2013
2014 // CHECK: vpmovsxwq  (%eax), %xmm2
2015 // CHECK: encoding: [0xc4,0xe2,0x79,0x24,0x10]
2016           vpmovsxwq  (%eax), %xmm2
2017
2018 // CHECK: vpmovzxbd  %xmm2, %xmm5
2019 // CHECK: encoding: [0xc4,0xe2,0x79,0x31,0xea]
2020           vpmovzxbd  %xmm2, %xmm5
2021
2022 // CHECK: vpmovzxbd  (%eax), %xmm2
2023 // CHECK: encoding: [0xc4,0xe2,0x79,0x31,0x10]
2024           vpmovzxbd  (%eax), %xmm2
2025
2026 // CHECK: vpmovzxwq  %xmm2, %xmm5
2027 // CHECK: encoding: [0xc4,0xe2,0x79,0x34,0xea]
2028           vpmovzxwq  %xmm2, %xmm5
2029
2030 // CHECK: vpmovzxwq  (%eax), %xmm2
2031 // CHECK: encoding: [0xc4,0xe2,0x79,0x34,0x10]
2032           vpmovzxwq  (%eax), %xmm2
2033
2034 // CHECK: vpextrw  $7, %xmm2, %eax
2035 // CHECK: encoding: [0xc5,0xf9,0xc5,0xc2,0x07]
2036           vpextrw  $7, %xmm2, %eax
2037
2038 // CHECK: vpextrw  $7, %xmm2, (%eax)
2039 // CHECK: encoding: [0xc4,0xe3,0x79,0x15,0x10,0x07]
2040           vpextrw  $7, %xmm2, (%eax)
2041
2042 // CHECK: vpextrd  $7, %xmm2, %eax
2043 // CHECK: encoding: [0xc4,0xe3,0x79,0x16,0xd0,0x07]
2044           vpextrd  $7, %xmm2, %eax
2045
2046 // CHECK: vpextrd  $7, %xmm2, (%eax)
2047 // CHECK: encoding: [0xc4,0xe3,0x79,0x16,0x10,0x07]
2048           vpextrd  $7, %xmm2, (%eax)
2049
2050 // CHECK: vpextrb  $7, %xmm2, %eax
2051 // CHECK: encoding: [0xc4,0xe3,0x79,0x14,0xd0,0x07]
2052           vpextrb  $7, %xmm2, %eax
2053
2054 // CHECK: vpextrb  $7, %xmm2, (%eax)
2055 // CHECK: encoding: [0xc4,0xe3,0x79,0x14,0x10,0x07]
2056           vpextrb  $7, %xmm2, (%eax)
2057
2058 // CHECK: vextractps  $7, %xmm2, (%eax)
2059 // CHECK: encoding: [0xc4,0xe3,0x79,0x17,0x10,0x07]
2060           vextractps  $7, %xmm2, (%eax)
2061
2062 // CHECK: vextractps  $7, %xmm2, %eax
2063 // CHECK: encoding: [0xc4,0xe3,0x79,0x17,0xd0,0x07]
2064           vextractps  $7, %xmm2, %eax
2065
2066 // CHECK: vpinsrw  $7, %eax, %xmm2, %xmm5
2067 // CHECK: encoding: [0xc5,0xe9,0xc4,0xe8,0x07]
2068           vpinsrw  $7, %eax, %xmm2, %xmm5
2069
2070 // CHECK: vpinsrw  $7, (%eax), %xmm2, %xmm5
2071 // CHECK: encoding: [0xc5,0xe9,0xc4,0x28,0x07]
2072           vpinsrw  $7, (%eax), %xmm2, %xmm5
2073
2074 // CHECK: vpinsrb  $7, %eax, %xmm2, %xmm5
2075 // CHECK: encoding: [0xc4,0xe3,0x69,0x20,0xe8,0x07]
2076           vpinsrb  $7, %eax, %xmm2, %xmm5
2077
2078 // CHECK: vpinsrb  $7, (%eax), %xmm2, %xmm5
2079 // CHECK: encoding: [0xc4,0xe3,0x69,0x20,0x28,0x07]
2080           vpinsrb  $7, (%eax), %xmm2, %xmm5
2081
2082 // CHECK: vpinsrd  $7, %eax, %xmm2, %xmm5
2083 // CHECK: encoding: [0xc4,0xe3,0x69,0x22,0xe8,0x07]
2084           vpinsrd  $7, %eax, %xmm2, %xmm5
2085
2086 // CHECK: vpinsrd  $7, (%eax), %xmm2, %xmm5
2087 // CHECK: encoding: [0xc4,0xe3,0x69,0x22,0x28,0x07]
2088           vpinsrd  $7, (%eax), %xmm2, %xmm5
2089
2090 // CHECK: vinsertps  $7, %xmm2, %xmm5, %xmm1
2091 // CHECK: encoding: [0xc4,0xe3,0x51,0x21,0xca,0x07]
2092           vinsertps  $7, %xmm2, %xmm5, %xmm1
2093
2094 // CHECK: vinsertps  $7, (%eax), %xmm5, %xmm1
2095 // CHECK: encoding: [0xc4,0xe3,0x51,0x21,0x08,0x07]
2096           vinsertps  $7, (%eax), %xmm5, %xmm1
2097
2098 // CHECK: vptest  %xmm2, %xmm5
2099 // CHECK: encoding: [0xc4,0xe2,0x79,0x17,0xea]
2100           vptest  %xmm2, %xmm5
2101
2102 // CHECK: vptest  (%eax), %xmm2
2103 // CHECK: encoding: [0xc4,0xe2,0x79,0x17,0x10]
2104           vptest  (%eax), %xmm2
2105
2106 // CHECK: vmovntdqa  (%eax), %xmm2
2107 // CHECK: encoding: [0xc4,0xe2,0x79,0x2a,0x10]
2108           vmovntdqa  (%eax), %xmm2
2109
2110 // CHECK: vpcmpgtq  %xmm2, %xmm5, %xmm1
2111 // CHECK: encoding: [0xc4,0xe2,0x51,0x37,0xca]
2112           vpcmpgtq  %xmm2, %xmm5, %xmm1
2113
2114 // CHECK: vpcmpgtq  (%eax), %xmm5, %xmm3
2115 // CHECK: encoding: [0xc4,0xe2,0x51,0x37,0x18]
2116           vpcmpgtq  (%eax), %xmm5, %xmm3
2117
2118 // CHECK: vpcmpistrm  $7, %xmm2, %xmm5
2119 // CHECK: encoding: [0xc4,0xe3,0x79,0x62,0xea,0x07]
2120           vpcmpistrm  $7, %xmm2, %xmm5
2121
2122 // CHECK: vpcmpistrm  $7, (%eax), %xmm5
2123 // CHECK: encoding: [0xc4,0xe3,0x79,0x62,0x28,0x07]
2124           vpcmpistrm  $7, (%eax), %xmm5
2125
2126 // CHECK: vpcmpestrm  $7, %xmm2, %xmm5
2127 // CHECK: encoding: [0xc4,0xe3,0x79,0x60,0xea,0x07]
2128           vpcmpestrm  $7, %xmm2, %xmm5
2129
2130 // CHECK: vpcmpestrm  $7, (%eax), %xmm5
2131 // CHECK: encoding: [0xc4,0xe3,0x79,0x60,0x28,0x07]
2132           vpcmpestrm  $7, (%eax), %xmm5
2133
2134 // CHECK: vpcmpistri  $7, %xmm2, %xmm5
2135 // CHECK: encoding: [0xc4,0xe3,0x79,0x63,0xea,0x07]
2136           vpcmpistri  $7, %xmm2, %xmm5
2137
2138 // CHECK: vpcmpistri  $7, (%eax), %xmm5
2139 // CHECK: encoding: [0xc4,0xe3,0x79,0x63,0x28,0x07]
2140           vpcmpistri  $7, (%eax), %xmm5
2141
2142 // CHECK: vpcmpestri  $7, %xmm2, %xmm5
2143 // CHECK: encoding: [0xc4,0xe3,0x79,0x61,0xea,0x07]
2144           vpcmpestri  $7, %xmm2, %xmm5
2145
2146 // CHECK: vpcmpestri  $7, (%eax), %xmm5
2147 // CHECK: encoding: [0xc4,0xe3,0x79,0x61,0x28,0x07]
2148           vpcmpestri  $7, (%eax), %xmm5
2149
2150 // CHECK: vaesimc  %xmm2, %xmm5
2151 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0xea]
2152           vaesimc  %xmm2, %xmm5
2153
2154 // CHECK: vaesimc  (%eax), %xmm2
2155 // CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x10]
2156           vaesimc  (%eax), %xmm2
2157
2158 // CHECK: vaesenc  %xmm2, %xmm5, %xmm1
2159 // CHECK: encoding: [0xc4,0xe2,0x51,0xdc,0xca]
2160           vaesenc  %xmm2, %xmm5, %xmm1
2161
2162 // CHECK: vaesenc  (%eax), %xmm5, %xmm3
2163 // CHECK: encoding: [0xc4,0xe2,0x51,0xdc,0x18]
2164           vaesenc  (%eax), %xmm5, %xmm3
2165
2166 // CHECK: vaesenclast  %xmm2, %xmm5, %xmm1
2167 // CHECK: encoding: [0xc4,0xe2,0x51,0xdd,0xca]
2168           vaesenclast  %xmm2, %xmm5, %xmm1
2169
2170 // CHECK: vaesenclast  (%eax), %xmm5, %xmm3
2171 // CHECK: encoding: [0xc4,0xe2,0x51,0xdd,0x18]
2172           vaesenclast  (%eax), %xmm5, %xmm3
2173
2174 // CHECK: vaesdec  %xmm2, %xmm5, %xmm1
2175 // CHECK: encoding: [0xc4,0xe2,0x51,0xde,0xca]
2176           vaesdec  %xmm2, %xmm5, %xmm1
2177
2178 // CHECK: vaesdec  (%eax), %xmm5, %xmm3
2179 // CHECK: encoding: [0xc4,0xe2,0x51,0xde,0x18]
2180           vaesdec  (%eax), %xmm5, %xmm3
2181
2182 // CHECK: vaesdeclast  %xmm2, %xmm5, %xmm1
2183 // CHECK: encoding: [0xc4,0xe2,0x51,0xdf,0xca]
2184           vaesdeclast  %xmm2, %xmm5, %xmm1
2185
2186 // CHECK: vaesdeclast  (%eax), %xmm5, %xmm3
2187 // CHECK: encoding: [0xc4,0xe2,0x51,0xdf,0x18]
2188           vaesdeclast  (%eax), %xmm5, %xmm3
2189
2190 // CHECK: vaeskeygenassist  $7, %xmm2, %xmm5
2191 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0xea,0x07]
2192           vaeskeygenassist  $7, %xmm2, %xmm5
2193
2194 // CHECK: vaeskeygenassist  $7, (%eax), %xmm5
2195 // CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x28,0x07]
2196           vaeskeygenassist  $7, (%eax), %xmm5
2197
2198 // CHECK: vcmpeq_uqps  %xmm1, %xmm2, %xmm3
2199 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x08]
2200           vcmpeq_uqps %xmm1, %xmm2, %xmm3
2201
2202 // CHECK: vcmpngeps  %xmm1, %xmm2, %xmm3
2203 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x09]
2204           vcmpngeps %xmm1, %xmm2, %xmm3
2205
2206 // CHECK: vcmpngtps  %xmm1, %xmm2, %xmm3
2207 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0a]
2208           vcmpngtps %xmm1, %xmm2, %xmm3
2209
2210 // CHECK: vcmpfalseps  %xmm1, %xmm2, %xmm3
2211 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0b]
2212           vcmpfalseps %xmm1, %xmm2, %xmm3
2213
2214 // CHECK: vcmpneq_oqps  %xmm1, %xmm2, %xmm3
2215 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0c]
2216           vcmpneq_oqps %xmm1, %xmm2, %xmm3
2217
2218 // CHECK: vcmpgeps  %xmm1, %xmm2, %xmm3
2219 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0d]
2220           vcmpgeps %xmm1, %xmm2, %xmm3
2221
2222 // CHECK: vcmpgtps  %xmm1, %xmm2, %xmm3
2223 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0e]
2224           vcmpgtps %xmm1, %xmm2, %xmm3
2225
2226 // CHECK: vcmptrueps  %xmm1, %xmm2, %xmm3
2227 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x0f]
2228           vcmptrueps %xmm1, %xmm2, %xmm3
2229
2230 // CHECK: vcmpeq_osps  %xmm1, %xmm2, %xmm3
2231 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x10]
2232           vcmpeq_osps %xmm1, %xmm2, %xmm3
2233
2234 // CHECK: vcmplt_oqps  %xmm1, %xmm2, %xmm3
2235 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x11]
2236           vcmplt_oqps %xmm1, %xmm2, %xmm3
2237
2238 // CHECK: vcmple_oqps  %xmm1, %xmm2, %xmm3
2239 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x12]
2240           vcmple_oqps %xmm1, %xmm2, %xmm3
2241
2242 // CHECK: vcmpunord_sps  %xmm1, %xmm2, %xmm3
2243 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x13]
2244           vcmpunord_sps %xmm1, %xmm2, %xmm3
2245
2246 // CHECK: vcmpneq_usps  %xmm1, %xmm2, %xmm3
2247 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x14]
2248           vcmpneq_usps %xmm1, %xmm2, %xmm3
2249
2250 // CHECK: vcmpnlt_uqps   %xmm1, %xmm2, %xmm3
2251 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x15]
2252           vcmpnlt_uqps %xmm1, %xmm2, %xmm3
2253
2254 // CHECK: vcmpnle_uqps   %xmm1, %xmm2, %xmm3
2255 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x16]
2256           vcmpnle_uqps %xmm1, %xmm2, %xmm3
2257
2258 // CHECK: vcmpord_sps  %xmm1, %xmm2, %xmm3
2259 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x17]
2260           vcmpord_sps %xmm1, %xmm2, %xmm3
2261
2262 // CHECK: vcmpeq_usps  %xmm1, %xmm2, %xmm3
2263 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x18]
2264           vcmpeq_usps %xmm1, %xmm2, %xmm3
2265
2266 // CHECK: vcmpnge_uqps  %xmm1, %xmm2, %xmm3
2267 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x19]
2268           vcmpnge_uqps %xmm1, %xmm2, %xmm3
2269
2270 // CHECK: vcmpngt_uqps  %xmm1, %xmm2, %xmm3
2271 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1a]
2272           vcmpngt_uqps %xmm1, %xmm2, %xmm3
2273
2274 // CHECK: vcmpfalse_osps  %xmm1, %xmm2, %xmm3
2275 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1b]
2276           vcmpfalse_osps %xmm1, %xmm2, %xmm3
2277
2278 // CHECK: vcmpneq_osps  %xmm1, %xmm2, %xmm3
2279 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1c]
2280           vcmpneq_osps %xmm1, %xmm2, %xmm3
2281
2282 // CHECK: vcmpge_oqps  %xmm1, %xmm2, %xmm3
2283 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1d]
2284           vcmpge_oqps %xmm1, %xmm2, %xmm3
2285
2286 // CHECK: vcmpgt_oqps  %xmm1, %xmm2, %xmm3
2287 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1e]
2288           vcmpgt_oqps %xmm1, %xmm2, %xmm3
2289
2290 // CHECK: vcmptrue_usps  %xmm1, %xmm2, %xmm3
2291 // CHECK: encoding: [0xc5,0xe8,0xc2,0xd9,0x1f]
2292           vcmptrue_usps %xmm1, %xmm2, %xmm3
2293
2294 // CHECK: vmovaps  (%eax), %ymm2
2295 // CHECK: encoding: [0xc5,0xfc,0x28,0x10]
2296           vmovaps  (%eax), %ymm2
2297
2298 // CHECK: vmovaps  %ymm1, %ymm2
2299 // CHECK: encoding: [0xc5,0xfc,0x28,0xd1]
2300           vmovaps  %ymm1, %ymm2
2301
2302 // CHECK: vmovaps  %ymm1, (%eax)
2303 // CHECK: encoding: [0xc5,0xfc,0x29,0x08]
2304           vmovaps  %ymm1, (%eax)
2305
2306 // CHECK: vmovapd  (%eax), %ymm2
2307 // CHECK: encoding: [0xc5,0xfd,0x28,0x10]
2308           vmovapd  (%eax), %ymm2
2309
2310 // CHECK: vmovapd  %ymm1, %ymm2
2311 // CHECK: encoding: [0xc5,0xfd,0x28,0xd1]
2312           vmovapd  %ymm1, %ymm2
2313
2314 // CHECK: vmovapd  %ymm1, (%eax)
2315 // CHECK: encoding: [0xc5,0xfd,0x29,0x08]
2316           vmovapd  %ymm1, (%eax)
2317
2318 // CHECK: vmovups  (%eax), %ymm2
2319 // CHECK: encoding: [0xc5,0xfc,0x10,0x10]
2320           vmovups  (%eax), %ymm2
2321
2322 // CHECK: vmovups  %ymm1, %ymm2
2323 // CHECK: encoding: [0xc5,0xfc,0x10,0xd1]
2324           vmovups  %ymm1, %ymm2
2325
2326 // CHECK: vmovups  %ymm1, (%eax)
2327 // CHECK: encoding: [0xc5,0xfc,0x11,0x08]
2328           vmovups  %ymm1, (%eax)
2329
2330 // CHECK: vmovupd  (%eax), %ymm2
2331 // CHECK: encoding: [0xc5,0xfd,0x10,0x10]
2332           vmovupd  (%eax), %ymm2
2333
2334 // CHECK: vmovupd  %ymm1, %ymm2
2335 // CHECK: encoding: [0xc5,0xfd,0x10,0xd1]
2336           vmovupd  %ymm1, %ymm2
2337
2338 // CHECK: vmovupd  %ymm1, (%eax)
2339 // CHECK: encoding: [0xc5,0xfd,0x11,0x08]
2340           vmovupd  %ymm1, (%eax)
2341
2342 // CHECK: vunpckhps  %ymm1, %ymm2, %ymm4
2343 // CHECK: encoding: [0xc5,0xec,0x15,0xe1]
2344           vunpckhps  %ymm1, %ymm2, %ymm4
2345
2346 // CHECK: vunpckhpd  %ymm1, %ymm2, %ymm4
2347 // CHECK: encoding: [0xc5,0xed,0x15,0xe1]
2348           vunpckhpd  %ymm1, %ymm2, %ymm4
2349
2350 // CHECK: vunpcklps  %ymm1, %ymm2, %ymm4
2351 // CHECK: encoding: [0xc5,0xec,0x14,0xe1]
2352           vunpcklps  %ymm1, %ymm2, %ymm4
2353
2354 // CHECK: vunpcklpd  %ymm1, %ymm2, %ymm4
2355 // CHECK: encoding: [0xc5,0xed,0x14,0xe1]
2356           vunpcklpd  %ymm1, %ymm2, %ymm4
2357
2358 // CHECK: vunpckhps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2359 // CHECK: encoding: [0xc5,0xec,0x15,0x6c,0xcb,0xfc]
2360           vunpckhps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2361
2362 // CHECK: vunpckhpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2363 // CHECK: encoding: [0xc5,0xed,0x15,0x6c,0xcb,0xfc]
2364           vunpckhpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2365
2366 // CHECK: vunpcklps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2367 // CHECK: encoding: [0xc5,0xec,0x14,0x6c,0xcb,0xfc]
2368           vunpcklps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2369
2370 // CHECK: vunpcklpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2371 // CHECK: encoding: [0xc5,0xed,0x14,0x6c,0xcb,0xfc]
2372           vunpcklpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2373
2374 // CHECK: vmovntdq  %ymm1, (%eax)
2375 // CHECK: encoding: [0xc5,0xfd,0xe7,0x08]
2376           vmovntdq  %ymm1, (%eax)
2377
2378 // CHECK: vmovntpd  %ymm1, (%eax)
2379 // CHECK: encoding: [0xc5,0xfd,0x2b,0x08]
2380           vmovntpd  %ymm1, (%eax)
2381
2382 // CHECK: vmovntps  %ymm1, (%eax)
2383 // CHECK: encoding: [0xc5,0xfc,0x2b,0x08]
2384           vmovntps  %ymm1, (%eax)
2385
2386 // CHECK: vmovmskps  %xmm2, %eax
2387 // CHECK: encoding: [0xc5,0xf8,0x50,0xc2]
2388           vmovmskps  %xmm2, %eax
2389
2390 // CHECK: vmovmskpd  %xmm2, %eax
2391 // CHECK: encoding: [0xc5,0xf9,0x50,0xc2]
2392           vmovmskpd  %xmm2, %eax
2393
2394 // CHECK: vmaxps  %ymm2, %ymm4, %ymm6
2395 // CHECK: encoding: [0xc5,0xdc,0x5f,0xf2]
2396           vmaxps  %ymm2, %ymm4, %ymm6
2397
2398 // CHECK: vmaxpd  %ymm2, %ymm4, %ymm6
2399 // CHECK: encoding: [0xc5,0xdd,0x5f,0xf2]
2400           vmaxpd  %ymm2, %ymm4, %ymm6
2401
2402 // CHECK: vminps  %ymm2, %ymm4, %ymm6
2403 // CHECK: encoding: [0xc5,0xdc,0x5d,0xf2]
2404           vminps  %ymm2, %ymm4, %ymm6
2405
2406 // CHECK: vminpd  %ymm2, %ymm4, %ymm6
2407 // CHECK: encoding: [0xc5,0xdd,0x5d,0xf2]
2408           vminpd  %ymm2, %ymm4, %ymm6
2409
2410 // CHECK: vsubps  %ymm2, %ymm4, %ymm6
2411 // CHECK: encoding: [0xc5,0xdc,0x5c,0xf2]
2412           vsubps  %ymm2, %ymm4, %ymm6
2413
2414 // CHECK: vsubpd  %ymm2, %ymm4, %ymm6
2415 // CHECK: encoding: [0xc5,0xdd,0x5c,0xf2]
2416           vsubpd  %ymm2, %ymm4, %ymm6
2417
2418 // CHECK: vdivps  %ymm2, %ymm4, %ymm6
2419 // CHECK: encoding: [0xc5,0xdc,0x5e,0xf2]
2420           vdivps  %ymm2, %ymm4, %ymm6
2421
2422 // CHECK: vdivpd  %ymm2, %ymm4, %ymm6
2423 // CHECK: encoding: [0xc5,0xdd,0x5e,0xf2]
2424           vdivpd  %ymm2, %ymm4, %ymm6
2425
2426 // CHECK: vaddps  %ymm2, %ymm4, %ymm6
2427 // CHECK: encoding: [0xc5,0xdc,0x58,0xf2]
2428           vaddps  %ymm2, %ymm4, %ymm6
2429
2430 // CHECK: vaddpd  %ymm2, %ymm4, %ymm6
2431 // CHECK: encoding: [0xc5,0xdd,0x58,0xf2]
2432           vaddpd  %ymm2, %ymm4, %ymm6
2433
2434 // CHECK: vmulps  %ymm2, %ymm4, %ymm6
2435 // CHECK: encoding: [0xc5,0xdc,0x59,0xf2]
2436           vmulps  %ymm2, %ymm4, %ymm6
2437
2438 // CHECK: vmulpd  %ymm2, %ymm4, %ymm6
2439 // CHECK: encoding: [0xc5,0xdd,0x59,0xf2]
2440           vmulpd  %ymm2, %ymm4, %ymm6
2441
2442 // CHECK: vmaxps  (%eax), %ymm4, %ymm6
2443 // CHECK: encoding: [0xc5,0xdc,0x5f,0x30]
2444           vmaxps  (%eax), %ymm4, %ymm6
2445
2446 // CHECK: vmaxpd  (%eax), %ymm4, %ymm6
2447 // CHECK: encoding: [0xc5,0xdd,0x5f,0x30]
2448           vmaxpd  (%eax), %ymm4, %ymm6
2449
2450 // CHECK: vminps  (%eax), %ymm4, %ymm6
2451 // CHECK: encoding: [0xc5,0xdc,0x5d,0x30]
2452           vminps  (%eax), %ymm4, %ymm6
2453
2454 // CHECK: vminpd  (%eax), %ymm4, %ymm6
2455 // CHECK: encoding: [0xc5,0xdd,0x5d,0x30]
2456           vminpd  (%eax), %ymm4, %ymm6
2457
2458 // CHECK: vsubps  (%eax), %ymm4, %ymm6
2459 // CHECK: encoding: [0xc5,0xdc,0x5c,0x30]
2460           vsubps  (%eax), %ymm4, %ymm6
2461
2462 // CHECK: vsubpd  (%eax), %ymm4, %ymm6
2463 // CHECK: encoding: [0xc5,0xdd,0x5c,0x30]
2464           vsubpd  (%eax), %ymm4, %ymm6
2465
2466 // CHECK: vdivps  (%eax), %ymm4, %ymm6
2467 // CHECK: encoding: [0xc5,0xdc,0x5e,0x30]
2468           vdivps  (%eax), %ymm4, %ymm6
2469
2470 // CHECK: vdivpd  (%eax), %ymm4, %ymm6
2471 // CHECK: encoding: [0xc5,0xdd,0x5e,0x30]
2472           vdivpd  (%eax), %ymm4, %ymm6
2473
2474 // CHECK: vaddps  (%eax), %ymm4, %ymm6
2475 // CHECK: encoding: [0xc5,0xdc,0x58,0x30]
2476           vaddps  (%eax), %ymm4, %ymm6
2477
2478 // CHECK: vaddpd  (%eax), %ymm4, %ymm6
2479 // CHECK: encoding: [0xc5,0xdd,0x58,0x30]
2480           vaddpd  (%eax), %ymm4, %ymm6
2481
2482 // CHECK: vmulps  (%eax), %ymm4, %ymm6
2483 // CHECK: encoding: [0xc5,0xdc,0x59,0x30]
2484           vmulps  (%eax), %ymm4, %ymm6
2485
2486 // CHECK: vmulpd  (%eax), %ymm4, %ymm6
2487 // CHECK: encoding: [0xc5,0xdd,0x59,0x30]
2488           vmulpd  (%eax), %ymm4, %ymm6
2489
2490 // CHECK: vsqrtpd  %ymm1, %ymm2
2491 // CHECK: encoding: [0xc5,0xfd,0x51,0xd1]
2492           vsqrtpd  %ymm1, %ymm2
2493
2494 // CHECK: vsqrtpd  (%eax), %ymm2
2495 // CHECK: encoding: [0xc5,0xfd,0x51,0x10]
2496           vsqrtpd  (%eax), %ymm2
2497
2498 // CHECK: vsqrtps  %ymm1, %ymm2
2499 // CHECK: encoding: [0xc5,0xfc,0x51,0xd1]
2500           vsqrtps  %ymm1, %ymm2
2501
2502 // CHECK: vsqrtps  (%eax), %ymm2
2503 // CHECK: encoding: [0xc5,0xfc,0x51,0x10]
2504           vsqrtps  (%eax), %ymm2
2505
2506 // CHECK: vrsqrtps  %ymm1, %ymm2
2507 // CHECK: encoding: [0xc5,0xfc,0x52,0xd1]
2508           vrsqrtps  %ymm1, %ymm2
2509
2510 // CHECK: vrsqrtps  (%eax), %ymm2
2511 // CHECK: encoding: [0xc5,0xfc,0x52,0x10]
2512           vrsqrtps  (%eax), %ymm2
2513
2514 // CHECK: vrcpps  %ymm1, %ymm2
2515 // CHECK: encoding: [0xc5,0xfc,0x53,0xd1]
2516           vrcpps  %ymm1, %ymm2
2517
2518 // CHECK: vrcpps  (%eax), %ymm2
2519 // CHECK: encoding: [0xc5,0xfc,0x53,0x10]
2520           vrcpps  (%eax), %ymm2
2521
2522 // CHECK: vandps  %ymm2, %ymm4, %ymm6
2523 // CHECK: encoding: [0xc5,0xdc,0x54,0xf2]
2524           vandps  %ymm2, %ymm4, %ymm6
2525
2526 // CHECK: vandpd  %ymm2, %ymm4, %ymm6
2527 // CHECK: encoding: [0xc5,0xdd,0x54,0xf2]
2528           vandpd  %ymm2, %ymm4, %ymm6
2529
2530 // CHECK: vandps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2531 // CHECK: encoding: [0xc5,0xec,0x54,0x6c,0xcb,0xfc]
2532           vandps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2533
2534 // CHECK: vandpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2535 // CHECK: encoding: [0xc5,0xed,0x54,0x6c,0xcb,0xfc]
2536           vandpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2537
2538 // CHECK: vorps  %ymm2, %ymm4, %ymm6
2539 // CHECK: encoding: [0xc5,0xdc,0x56,0xf2]
2540           vorps  %ymm2, %ymm4, %ymm6
2541
2542 // CHECK: vorpd  %ymm2, %ymm4, %ymm6
2543 // CHECK: encoding: [0xc5,0xdd,0x56,0xf2]
2544           vorpd  %ymm2, %ymm4, %ymm6
2545
2546 // CHECK: vorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2547 // CHECK: encoding: [0xc5,0xec,0x56,0x6c,0xcb,0xfc]
2548           vorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2549
2550 // CHECK: vorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2551 // CHECK: encoding: [0xc5,0xed,0x56,0x6c,0xcb,0xfc]
2552           vorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2553
2554 // CHECK: vxorps  %ymm2, %ymm4, %ymm6
2555 // CHECK: encoding: [0xc5,0xdc,0x57,0xf2]
2556           vxorps  %ymm2, %ymm4, %ymm6
2557
2558 // CHECK: vxorpd  %ymm2, %ymm4, %ymm6
2559 // CHECK: encoding: [0xc5,0xdd,0x57,0xf2]
2560           vxorpd  %ymm2, %ymm4, %ymm6
2561
2562 // CHECK: vxorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2563 // CHECK: encoding: [0xc5,0xec,0x57,0x6c,0xcb,0xfc]
2564           vxorps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2565
2566 // CHECK: vxorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2567 // CHECK: encoding: [0xc5,0xed,0x57,0x6c,0xcb,0xfc]
2568           vxorpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2569
2570 // CHECK: vandnps  %ymm2, %ymm4, %ymm6
2571 // CHECK: encoding: [0xc5,0xdc,0x55,0xf2]
2572           vandnps  %ymm2, %ymm4, %ymm6
2573
2574 // CHECK: vandnpd  %ymm2, %ymm4, %ymm6
2575 // CHECK: encoding: [0xc5,0xdd,0x55,0xf2]
2576           vandnpd  %ymm2, %ymm4, %ymm6
2577
2578 // CHECK: vandnps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2579 // CHECK: encoding: [0xc5,0xec,0x55,0x6c,0xcb,0xfc]
2580           vandnps  -4(%ebx,%ecx,8), %ymm2, %ymm5
2581
2582 // CHECK: vandnpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2583 // CHECK: encoding: [0xc5,0xed,0x55,0x6c,0xcb,0xfc]
2584           vandnpd  -4(%ebx,%ecx,8), %ymm2, %ymm5
2585
2586 // CHECK: vcvtps2pd  %xmm3, %ymm2
2587 // CHECK: encoding: [0xc5,0xfc,0x5a,0xd3]
2588           vcvtps2pd  %xmm3, %ymm2
2589
2590 // CHECK: vcvtps2pd  (%eax), %ymm2
2591 // CHECK: encoding: [0xc5,0xfc,0x5a,0x10]
2592           vcvtps2pd  (%eax), %ymm2
2593
2594 // CHECK: vcvtdq2pd  %xmm3, %ymm2
2595 // CHECK: encoding: [0xc5,0xfe,0xe6,0xd3]
2596           vcvtdq2pd  %xmm3, %ymm2
2597
2598 // CHECK: vcvtdq2pd  (%eax), %ymm2
2599 // CHECK: encoding: [0xc5,0xfe,0xe6,0x10]
2600           vcvtdq2pd  (%eax), %ymm2
2601
2602 // CHECK: vcvtdq2ps  %ymm2, %ymm5
2603 // CHECK: encoding: [0xc5,0xfc,0x5b,0xea]
2604           vcvtdq2ps  %ymm2, %ymm5
2605
2606 // CHECK: vcvtdq2ps  (%eax), %ymm2
2607 // CHECK: encoding: [0xc5,0xfc,0x5b,0x10]
2608           vcvtdq2ps  (%eax), %ymm2
2609
2610 // CHECK: vcvtps2dq  %ymm2, %ymm5
2611 // CHECK: encoding: [0xc5,0xfd,0x5b,0xea]
2612           vcvtps2dq  %ymm2, %ymm5
2613
2614 // CHECK: vcvtps2dq  (%eax), %ymm5
2615 // CHECK: encoding: [0xc5,0xfd,0x5b,0x28]
2616           vcvtps2dq  (%eax), %ymm5
2617
2618 // CHECK: vcvttps2dq  %ymm2, %ymm5
2619 // CHECK: encoding: [0xc5,0xfe,0x5b,0xea]
2620           vcvttps2dq  %ymm2, %ymm5
2621
2622 // CHECK: vcvttps2dq  (%eax), %ymm5
2623 // CHECK: encoding: [0xc5,0xfe,0x5b,0x28]
2624           vcvttps2dq  (%eax), %ymm5
2625
2626 // CHECK: vcvttpd2dq  %xmm1, %xmm5
2627 // CHECK: encoding: [0xc5,0xf9,0xe6,0xe9]
2628           vcvttpd2dq  %xmm1, %xmm5
2629
2630 // CHECK: vcvttpd2dqy %ymm2, %xmm5
2631 // CHECK: encoding: [0xc5,0xfd,0xe6,0xea]
2632           vcvttpd2dq  %ymm2, %xmm5
2633
2634 // CHECK: vcvttpd2dq   %xmm1, %xmm5
2635 // CHECK: encoding: [0xc5,0xf9,0xe6,0xe9]
2636           vcvttpd2dqx  %xmm1, %xmm5
2637
2638 // CHECK: vcvttpd2dqx  (%eax), %xmm1
2639 // CHECK: encoding: [0xc5,0xf9,0xe6,0x08]
2640           vcvttpd2dqx  (%eax), %xmm1
2641
2642 // CHECK: vcvttpd2dqy  %ymm2, %xmm1
2643 // CHECK: encoding: [0xc5,0xfd,0xe6,0xca]
2644           vcvttpd2dqy  %ymm2, %xmm1
2645
2646 // CHECK: vcvttpd2dqy  (%eax), %xmm1
2647 // CHECK: encoding: [0xc5,0xfd,0xe6,0x08]
2648           vcvttpd2dqy  (%eax), %xmm1
2649
2650 // CHECK: vcvtpd2psy %ymm2, %xmm5
2651 // CHECK: encoding: [0xc5,0xfd,0x5a,0xea]
2652           vcvtpd2ps  %ymm2, %xmm5
2653
2654 // CHECK: vcvtpd2ps   %xmm1, %xmm5
2655 // CHECK: encoding: [0xc5,0xf9,0x5a,0xe9]
2656           vcvtpd2psx  %xmm1, %xmm5
2657
2658 // CHECK: vcvtpd2psx  (%eax), %xmm1
2659 // CHECK: encoding: [0xc5,0xf9,0x5a,0x08]
2660           vcvtpd2psx  (%eax), %xmm1
2661
2662 // CHECK: vcvtpd2psy  %ymm2, %xmm1
2663 // CHECK: encoding: [0xc5,0xfd,0x5a,0xca]
2664           vcvtpd2psy  %ymm2, %xmm1
2665
2666 // CHECK: vcvtpd2psy  (%eax), %xmm1
2667 // CHECK: encoding: [0xc5,0xfd,0x5a,0x08]
2668           vcvtpd2psy  (%eax), %xmm1
2669
2670 // CHECK: vcvtpd2dqy %ymm2, %xmm5
2671 // CHECK: encoding: [0xc5,0xff,0xe6,0xea]
2672           vcvtpd2dq  %ymm2, %xmm5
2673
2674 // CHECK: vcvtpd2dqy  %ymm2, %xmm1
2675 // CHECK: encoding: [0xc5,0xff,0xe6,0xca]
2676           vcvtpd2dqy  %ymm2, %xmm1
2677
2678 // CHECK: vcvtpd2dqy  (%eax), %xmm1
2679 // CHECK: encoding: [0xc5,0xff,0xe6,0x08]
2680           vcvtpd2dqy  (%eax), %xmm1
2681
2682 // CHECK: vcvtpd2dq   %xmm1, %xmm5
2683 // CHECK: encoding: [0xc5,0xfb,0xe6,0xe9]
2684           vcvtpd2dqx  %xmm1, %xmm5
2685
2686 // CHECK: vcvtpd2dqx  (%eax), %xmm1
2687 // CHECK: encoding: [0xc5,0xfb,0xe6,0x08]
2688           vcvtpd2dqx  (%eax), %xmm1
2689
2690 // CHECK: vcmpeqps  %ymm1, %ymm2, %ymm3
2691 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x00]
2692           vcmpeqps %ymm1, %ymm2, %ymm3
2693
2694 // CHECK: vcmpleps  %ymm1, %ymm2, %ymm3
2695 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x02]
2696           vcmpleps %ymm1, %ymm2, %ymm3
2697
2698 // CHECK: vcmpltps  %ymm1, %ymm2, %ymm3
2699 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x01]
2700           vcmpltps %ymm1, %ymm2, %ymm3
2701
2702 // CHECK: vcmpneqps  %ymm1, %ymm2, %ymm3
2703 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x04]
2704           vcmpneqps %ymm1, %ymm2, %ymm3
2705
2706 // CHECK: vcmpnleps  %ymm1, %ymm2, %ymm3
2707 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x06]
2708           vcmpnleps %ymm1, %ymm2, %ymm3
2709
2710 // CHECK: vcmpnltps  %ymm1, %ymm2, %ymm3
2711 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x05]
2712           vcmpnltps %ymm1, %ymm2, %ymm3
2713
2714 // CHECK: vcmpordps  %ymm1, %ymm2, %ymm3
2715 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x07]
2716           vcmpordps %ymm1, %ymm2, %ymm3
2717
2718 // CHECK: vcmpunordps  %ymm1, %ymm2, %ymm3
2719 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x03]
2720           vcmpunordps %ymm1, %ymm2, %ymm3
2721
2722 // CHECK: vcmpeqps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2723 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x00]
2724           vcmpeqps -4(%ebx,%ecx,8), %ymm2, %ymm3
2725
2726 // CHECK: vcmpleps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2727 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x02]
2728           vcmpleps -4(%ebx,%ecx,8), %ymm2, %ymm3
2729
2730 // CHECK: vcmpltps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2731 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x01]
2732           vcmpltps -4(%ebx,%ecx,8), %ymm2, %ymm3
2733
2734 // CHECK: vcmpneqps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2735 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x04]
2736           vcmpneqps -4(%ebx,%ecx,8), %ymm2, %ymm3
2737
2738 // CHECK: vcmpnleps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2739 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x06]
2740           vcmpnleps -4(%ebx,%ecx,8), %ymm2, %ymm3
2741
2742 // CHECK: vcmpnltps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2743 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x05]
2744           vcmpnltps -4(%ebx,%ecx,8), %ymm2, %ymm3
2745
2746 // CHECK: vcmpordps  -4(%ebx,%ecx,8), %ymm6, %ymm2
2747 // CHECK: encoding: [0xc5,0xcc,0xc2,0x54,0xcb,0xfc,0x07]
2748           vcmpordps -4(%ebx,%ecx,8), %ymm6, %ymm2
2749
2750 // CHECK: vcmpunordps  -4(%ebx,%ecx,8), %ymm2, %ymm3
2751 // CHECK: encoding: [0xc5,0xec,0xc2,0x5c,0xcb,0xfc,0x03]
2752           vcmpunordps -4(%ebx,%ecx,8), %ymm2, %ymm3
2753
2754 // CHECK: vcmpeqpd  %ymm1, %ymm2, %ymm3
2755 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x00]
2756           vcmpeqpd %ymm1, %ymm2, %ymm3
2757
2758 // CHECK: vcmplepd  %ymm1, %ymm2, %ymm3
2759 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x02]
2760           vcmplepd %ymm1, %ymm2, %ymm3
2761
2762 // CHECK: vcmpltpd  %ymm1, %ymm2, %ymm3
2763 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x01]
2764           vcmpltpd %ymm1, %ymm2, %ymm3
2765
2766 // CHECK: vcmpneqpd  %ymm1, %ymm2, %ymm3
2767 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x04]
2768           vcmpneqpd %ymm1, %ymm2, %ymm3
2769
2770 // CHECK: vcmpnlepd  %ymm1, %ymm2, %ymm3
2771 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x06]
2772           vcmpnlepd %ymm1, %ymm2, %ymm3
2773
2774 // CHECK: vcmpnltpd  %ymm1, %ymm2, %ymm3
2775 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x05]
2776           vcmpnltpd %ymm1, %ymm2, %ymm3
2777
2778 // CHECK: vcmpordpd  %ymm1, %ymm2, %ymm3
2779 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x07]
2780           vcmpordpd %ymm1, %ymm2, %ymm3
2781
2782 // CHECK: vcmpunordpd  %ymm1, %ymm2, %ymm3
2783 // CHECK: encoding: [0xc5,0xed,0xc2,0xd9,0x03]
2784           vcmpunordpd %ymm1, %ymm2, %ymm3
2785
2786 // CHECK: vcmpeqpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2787 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x00]
2788           vcmpeqpd -4(%ebx,%ecx,8), %ymm2, %ymm3
2789
2790 // CHECK: vcmplepd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2791 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x02]
2792           vcmplepd -4(%ebx,%ecx,8), %ymm2, %ymm3
2793
2794 // CHECK: vcmpltpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2795 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x01]
2796           vcmpltpd -4(%ebx,%ecx,8), %ymm2, %ymm3
2797
2798 // CHECK: vcmpneqpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2799 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x04]
2800           vcmpneqpd -4(%ebx,%ecx,8), %ymm2, %ymm3
2801
2802 // CHECK: vcmpnlepd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2803 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x06]
2804           vcmpnlepd -4(%ebx,%ecx,8), %ymm2, %ymm3
2805
2806 // CHECK: vcmpnltpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2807 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x05]
2808           vcmpnltpd -4(%ebx,%ecx,8), %ymm2, %ymm3
2809
2810 // CHECK: vcmpordpd  -4(%ebx,%ecx,8), %ymm6, %ymm2
2811 // CHECK: encoding: [0xc5,0xcd,0xc2,0x54,0xcb,0xfc,0x07]
2812           vcmpordpd -4(%ebx,%ecx,8), %ymm6, %ymm2
2813
2814 // CHECK: vcmpunordpd  -4(%ebx,%ecx,8), %ymm2, %ymm3
2815 // CHECK: encoding: [0xc5,0xed,0xc2,0x5c,0xcb,0xfc,0x03]
2816           vcmpunordpd -4(%ebx,%ecx,8), %ymm2, %ymm3
2817
2818 // CHECK: vcmpeq_uqps  %ymm1, %ymm2, %ymm3
2819 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x08]
2820           vcmpeq_uqps %ymm1, %ymm2, %ymm3
2821
2822 // CHECK: vcmpngeps  %ymm1, %ymm2, %ymm3
2823 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x09]
2824           vcmpngeps %ymm1, %ymm2, %ymm3
2825
2826 // CHECK: vcmpngtps  %ymm1, %ymm2, %ymm3
2827 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0a]
2828           vcmpngtps %ymm1, %ymm2, %ymm3
2829
2830 // CHECK: vcmpfalseps  %ymm1, %ymm2, %ymm3
2831 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0b]
2832           vcmpfalseps %ymm1, %ymm2, %ymm3
2833
2834 // CHECK: vcmpneq_oqps  %ymm1, %ymm2, %ymm3
2835 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0c]
2836           vcmpneq_oqps %ymm1, %ymm2, %ymm3
2837
2838 // CHECK: vcmpgeps  %ymm1, %ymm2, %ymm3
2839 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0d]
2840           vcmpgeps %ymm1, %ymm2, %ymm3
2841
2842 // CHECK: vcmpgtps  %ymm1, %ymm2, %ymm3
2843 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0e]
2844           vcmpgtps %ymm1, %ymm2, %ymm3
2845
2846 // CHECK: vcmptrueps  %ymm1, %ymm2, %ymm3
2847 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x0f]
2848           vcmptrueps %ymm1, %ymm2, %ymm3
2849
2850 // CHECK: vcmpeq_osps  %ymm1, %ymm2, %ymm3
2851 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x10]
2852           vcmpeq_osps %ymm1, %ymm2, %ymm3
2853
2854 // CHECK: vcmplt_oqps  %ymm1, %ymm2, %ymm3
2855 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x11]
2856           vcmplt_oqps %ymm1, %ymm2, %ymm3
2857
2858 // CHECK: vcmple_oqps  %ymm1, %ymm2, %ymm3
2859 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x12]
2860           vcmple_oqps %ymm1, %ymm2, %ymm3
2861
2862 // CHECK: vcmpunord_sps  %ymm1, %ymm2, %ymm3
2863 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x13]
2864           vcmpunord_sps %ymm1, %ymm2, %ymm3
2865
2866 // CHECK: vcmpneq_usps  %ymm1, %ymm2, %ymm3
2867 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x14]
2868           vcmpneq_usps %ymm1, %ymm2, %ymm3
2869
2870 // CHECK: vcmpnlt_uqps  %ymm1, %ymm2, %ymm3
2871 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x15]
2872           vcmpnlt_uqps %ymm1, %ymm2, %ymm3
2873
2874 // CHECK: vcmpnle_uqps  %ymm1, %ymm2, %ymm3
2875 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x16]
2876           vcmpnle_uqps %ymm1, %ymm2, %ymm3
2877
2878 // CHECK: vcmpord_sps  %ymm1, %ymm2, %ymm3
2879 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x17]
2880           vcmpord_sps %ymm1, %ymm2, %ymm3
2881
2882 // CHECK: vcmpeq_usps  %ymm1, %ymm2, %ymm3
2883 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x18]
2884           vcmpeq_usps %ymm1, %ymm2, %ymm3
2885
2886 // CHECK: vcmpnge_uqps  %ymm1, %ymm2, %ymm3
2887 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x19]
2888           vcmpnge_uqps %ymm1, %ymm2, %ymm3
2889
2890 // CHECK: vcmpngt_uqps  %ymm1, %ymm2, %ymm3
2891 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1a]
2892           vcmpngt_uqps %ymm1, %ymm2, %ymm3
2893
2894 // CHECK: vcmpfalse_osps  %ymm1, %ymm2, %ymm3
2895 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1b]
2896           vcmpfalse_osps %ymm1, %ymm2, %ymm3
2897
2898 // CHECK: vcmpneq_osps  %ymm1, %ymm2, %ymm3
2899 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1c]
2900           vcmpneq_osps %ymm1, %ymm2, %ymm3
2901
2902 // CHECK: vcmpge_oqps  %ymm1, %ymm2, %ymm3
2903 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1d]
2904           vcmpge_oqps %ymm1, %ymm2, %ymm3
2905
2906 // CHECK: vcmpgt_oqps  %ymm1, %ymm2, %ymm3
2907 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1e]
2908           vcmpgt_oqps %ymm1, %ymm2, %ymm3
2909
2910 // CHECK: vcmptrue_usps  %ymm1, %ymm2, %ymm3
2911 // CHECK: encoding: [0xc5,0xec,0xc2,0xd9,0x1f]
2912           vcmptrue_usps %ymm1, %ymm2, %ymm3
2913
2914 // CHECK: vaddsubps  %ymm1, %ymm2, %ymm3
2915 // CHECK: encoding: [0xc5,0xef,0xd0,0xd9]
2916           vaddsubps  %ymm1, %ymm2, %ymm3
2917
2918 // CHECK: vaddsubps  (%eax), %ymm1, %ymm2
2919 // CHECK: encoding: [0xc5,0xf7,0xd0,0x10]
2920           vaddsubps  (%eax), %ymm1, %ymm2
2921
2922 // CHECK: vaddsubpd  %ymm1, %ymm2, %ymm3
2923 // CHECK: encoding: [0xc5,0xed,0xd0,0xd9]
2924           vaddsubpd  %ymm1, %ymm2, %ymm3
2925
2926 // CHECK: vaddsubpd  (%eax), %ymm1, %ymm2
2927 // CHECK: encoding: [0xc5,0xf5,0xd0,0x10]
2928           vaddsubpd  (%eax), %ymm1, %ymm2
2929
2930 // CHECK: vhaddps  %ymm1, %ymm2, %ymm3
2931 // CHECK: encoding: [0xc5,0xef,0x7c,0xd9]
2932           vhaddps  %ymm1, %ymm2, %ymm3
2933
2934 // CHECK: vhaddps  (%eax), %ymm2, %ymm3
2935 // CHECK: encoding: [0xc5,0xef,0x7c,0x18]
2936           vhaddps  (%eax), %ymm2, %ymm3
2937
2938 // CHECK: vhaddpd  %ymm1, %ymm2, %ymm3
2939 // CHECK: encoding: [0xc5,0xed,0x7c,0xd9]
2940           vhaddpd  %ymm1, %ymm2, %ymm3
2941
2942 // CHECK: vhaddpd  (%eax), %ymm2, %ymm3
2943 // CHECK: encoding: [0xc5,0xed,0x7c,0x18]
2944           vhaddpd  (%eax), %ymm2, %ymm3
2945
2946 // CHECK: vhsubps  %ymm1, %ymm2, %ymm3
2947 // CHECK: encoding: [0xc5,0xef,0x7d,0xd9]
2948           vhsubps  %ymm1, %ymm2, %ymm3
2949
2950 // CHECK: vhsubps  (%eax), %ymm2, %ymm3
2951 // CHECK: encoding: [0xc5,0xef,0x7d,0x18]
2952           vhsubps  (%eax), %ymm2, %ymm3
2953
2954 // CHECK: vhsubpd  %ymm1, %ymm2, %ymm3
2955 // CHECK: encoding: [0xc5,0xed,0x7d,0xd9]
2956           vhsubpd  %ymm1, %ymm2, %ymm3
2957
2958 // CHECK: vhsubpd  (%eax), %ymm2, %ymm3
2959 // CHECK: encoding: [0xc5,0xed,0x7d,0x18]
2960           vhsubpd  (%eax), %ymm2, %ymm3
2961
2962 // CHECK: vblendps  $3, %ymm2, %ymm5, %ymm1
2963 // CHECK: encoding: [0xc4,0xe3,0x55,0x0c,0xca,0x03]
2964           vblendps  $3, %ymm2, %ymm5, %ymm1
2965
2966 // CHECK: vblendps  $3, (%eax), %ymm5, %ymm1
2967 // CHECK: encoding: [0xc4,0xe3,0x55,0x0c,0x08,0x03]
2968           vblendps  $3, (%eax), %ymm5, %ymm1
2969
2970 // CHECK: vblendpd  $3, %ymm2, %ymm5, %ymm1
2971 // CHECK: encoding: [0xc4,0xe3,0x55,0x0d,0xca,0x03]
2972           vblendpd  $3, %ymm2, %ymm5, %ymm1
2973
2974 // CHECK: vblendpd  $3, (%eax), %ymm5, %ymm1
2975 // CHECK: encoding: [0xc4,0xe3,0x55,0x0d,0x08,0x03]
2976           vblendpd  $3, (%eax), %ymm5, %ymm1
2977
2978 // CHECK: vdpps  $3, %ymm2, %ymm5, %ymm1
2979 // CHECK: encoding: [0xc4,0xe3,0x55,0x40,0xca,0x03]
2980           vdpps  $3, %ymm2, %ymm5, %ymm1
2981
2982 // CHECK: vdpps  $3, (%eax), %ymm5, %ymm1
2983 // CHECK: encoding: [0xc4,0xe3,0x55,0x40,0x08,0x03]
2984           vdpps  $3, (%eax), %ymm5, %ymm1
2985
2986 // CHECK: vbroadcastf128  (%eax), %ymm2
2987 // CHECK: encoding: [0xc4,0xe2,0x7d,0x1a,0x10]
2988           vbroadcastf128  (%eax), %ymm2
2989
2990 // CHECK: vbroadcastsd  (%eax), %ymm2
2991 // CHECK: encoding: [0xc4,0xe2,0x7d,0x19,0x10]
2992           vbroadcastsd  (%eax), %ymm2
2993
2994 // CHECK: vbroadcastss  (%eax), %xmm2
2995 // CHECK: encoding: [0xc4,0xe2,0x79,0x18,0x10]
2996           vbroadcastss  (%eax), %xmm2
2997
2998 // CHECK: vbroadcastss  (%eax), %ymm2
2999 // CHECK: encoding: [0xc4,0xe2,0x7d,0x18,0x10]
3000           vbroadcastss  (%eax), %ymm2
3001
3002 // CHECK: vinsertf128  $7, %xmm2, %ymm2, %ymm5
3003 // CHECK: encoding: [0xc4,0xe3,0x6d,0x18,0xea,0x07]
3004           vinsertf128  $7, %xmm2, %ymm2, %ymm5
3005
3006 // CHECK: vinsertf128  $7, (%eax), %ymm2, %ymm5
3007 // CHECK: encoding: [0xc4,0xe3,0x6d,0x18,0x28,0x07]
3008           vinsertf128  $7, (%eax), %ymm2, %ymm5
3009
3010 // CHECK: vextractf128  $7, %ymm2, %xmm2
3011 // CHECK: encoding: [0xc4,0xe3,0x7d,0x19,0xd2,0x07]
3012           vextractf128  $7, %ymm2, %xmm2
3013
3014 // CHECK: vextractf128  $7, %ymm2, (%eax)
3015 // CHECK: encoding: [0xc4,0xe3,0x7d,0x19,0x10,0x07]
3016           vextractf128  $7, %ymm2, (%eax)
3017
3018 // CHECK: vmaskmovpd  %xmm2, %xmm5, (%eax)
3019 // CHECK: encoding: [0xc4,0xe2,0x51,0x2f,0x10]
3020           vmaskmovpd  %xmm2, %xmm5, (%eax)
3021
3022 // CHECK: vmaskmovpd  %ymm2, %ymm5, (%eax)
3023 // CHECK: encoding: [0xc4,0xe2,0x55,0x2f,0x10]
3024           vmaskmovpd  %ymm2, %ymm5, (%eax)
3025
3026 // CHECK: vmaskmovpd  (%eax), %xmm2, %xmm5
3027 // CHECK: encoding: [0xc4,0xe2,0x69,0x2d,0x28]
3028           vmaskmovpd  (%eax), %xmm2, %xmm5
3029
3030 // CHECK: vmaskmovpd  (%eax), %ymm2, %ymm5
3031 // CHECK: encoding: [0xc4,0xe2,0x6d,0x2d,0x28]
3032           vmaskmovpd  (%eax), %ymm2, %ymm5
3033
3034 // CHECK: vmaskmovps  %xmm2, %xmm5, (%eax)
3035 // CHECK: encoding: [0xc4,0xe2,0x51,0x2e,0x10]
3036           vmaskmovps  %xmm2, %xmm5, (%eax)
3037
3038 // CHECK: vmaskmovps  %ymm2, %ymm5, (%eax)
3039 // CHECK: encoding: [0xc4,0xe2,0x55,0x2e,0x10]
3040           vmaskmovps  %ymm2, %ymm5, (%eax)
3041
3042 // CHECK: vmaskmovps  (%eax), %xmm2, %xmm5
3043 // CHECK: encoding: [0xc4,0xe2,0x69,0x2c,0x28]
3044           vmaskmovps  (%eax), %xmm2, %xmm5
3045
3046 // CHECK: vmaskmovps  (%eax), %ymm2, %ymm5
3047 // CHECK: encoding: [0xc4,0xe2,0x6d,0x2c,0x28]
3048           vmaskmovps  (%eax), %ymm2, %ymm5
3049
3050 // CHECK: vpermilps  $7, %xmm1, %xmm5
3051 // CHECK: encoding: [0xc4,0xe3,0x79,0x04,0xe9,0x07]
3052           vpermilps  $7, %xmm1, %xmm5
3053
3054 // CHECK: vpermilps  $7, %ymm5, %ymm1
3055 // CHECK: encoding: [0xc4,0xe3,0x7d,0x04,0xcd,0x07]
3056           vpermilps  $7, %ymm5, %ymm1
3057
3058 // CHECK: vpermilps  $7, (%eax), %xmm5
3059 // CHECK: encoding: [0xc4,0xe3,0x79,0x04,0x28,0x07]
3060           vpermilps  $7, (%eax), %xmm5
3061
3062 // CHECK: vpermilps  $7, (%eax), %ymm5
3063 // CHECK: encoding: [0xc4,0xe3,0x7d,0x04,0x28,0x07]
3064           vpermilps  $7, (%eax), %ymm5
3065
3066 // CHECK: vpermilps  %xmm1, %xmm5, %xmm1
3067 // CHECK: encoding: [0xc4,0xe2,0x51,0x0c,0xc9]
3068           vpermilps  %xmm1, %xmm5, %xmm1
3069
3070 // CHECK: vpermilps  %ymm1, %ymm5, %ymm1
3071 // CHECK: encoding: [0xc4,0xe2,0x55,0x0c,0xc9]
3072           vpermilps  %ymm1, %ymm5, %ymm1
3073
3074 // CHECK: vpermilps  (%eax), %xmm5, %xmm3
3075 // CHECK: encoding: [0xc4,0xe2,0x51,0x0c,0x18]
3076           vpermilps  (%eax), %xmm5, %xmm3
3077
3078 // CHECK: vpermilps  (%eax), %ymm5, %ymm1
3079 // CHECK: encoding: [0xc4,0xe2,0x55,0x0c,0x08]
3080           vpermilps  (%eax), %ymm5, %ymm1
3081
3082 // CHECK: vpermilpd  $7, %xmm1, %xmm5
3083 // CHECK: encoding: [0xc4,0xe3,0x79,0x05,0xe9,0x07]
3084           vpermilpd  $7, %xmm1, %xmm5
3085
3086 // CHECK: vpermilpd  $7, %ymm5, %ymm1
3087 // CHECK: encoding: [0xc4,0xe3,0x7d,0x05,0xcd,0x07]
3088           vpermilpd  $7, %ymm5, %ymm1
3089
3090 // CHECK: vpermilpd  $7, (%eax), %xmm5
3091 // CHECK: encoding: [0xc4,0xe3,0x79,0x05,0x28,0x07]
3092           vpermilpd  $7, (%eax), %xmm5
3093
3094 // CHECK: vpermilpd  $7, (%eax), %ymm5
3095 // CHECK: encoding: [0xc4,0xe3,0x7d,0x05,0x28,0x07]
3096           vpermilpd  $7, (%eax), %ymm5
3097
3098 // CHECK: vpermilpd  %xmm1, %xmm5, %xmm1
3099 // CHECK: encoding: [0xc4,0xe2,0x51,0x0d,0xc9]
3100           vpermilpd  %xmm1, %xmm5, %xmm1
3101
3102 // CHECK: vpermilpd  %ymm1, %ymm5, %ymm1
3103 // CHECK: encoding: [0xc4,0xe2,0x55,0x0d,0xc9]
3104           vpermilpd  %ymm1, %ymm5, %ymm1
3105
3106 // CHECK: vpermilpd  (%eax), %xmm5, %xmm3
3107 // CHECK: encoding: [0xc4,0xe2,0x51,0x0d,0x18]
3108           vpermilpd  (%eax), %xmm5, %xmm3
3109
3110 // CHECK: vpermilpd  (%eax), %ymm5, %ymm1
3111 // CHECK: encoding: [0xc4,0xe2,0x55,0x0d,0x08]
3112           vpermilpd  (%eax), %ymm5, %ymm1
3113
3114 // CHECK: vperm2f128  $7, %ymm2, %ymm5, %ymm1
3115 // CHECK: encoding: [0xc4,0xe3,0x55,0x06,0xca,0x07]
3116           vperm2f128  $7, %ymm2, %ymm5, %ymm1
3117
3118 // CHECK: vperm2f128  $7, (%eax), %ymm5, %ymm1
3119 // CHECK: encoding: [0xc4,0xe3,0x55,0x06,0x08,0x07]
3120           vperm2f128  $7, (%eax), %ymm5, %ymm1
3121
3122 // CHECK: vzeroall
3123 // CHECK: encoding: [0xc5,0xfc,0x77]
3124           vzeroall
3125
3126 // CHECK: vzeroupper
3127 // CHECK: encoding: [0xc5,0xf8,0x77]
3128           vzeroupper
3129
3130 // CHECK: vcvtsd2si  %xmm4, %ecx
3131 // CHECK: encoding: [0xc5,0xfb,0x2d,0xcc]
3132           vcvtsd2sil  %xmm4, %ecx
3133
3134 // CHECK: vcvtsd2si  (%ecx), %ecx
3135 // CHECK: encoding: [0xc5,0xfb,0x2d,0x09]
3136           vcvtsd2sil  (%ecx), %ecx
3137
3138 // CHECK: vcvtsd2si  %xmm4, %ecx
3139 // CHECK: encoding: [0xc5,0xfb,0x2d,0xcc]
3140           vcvtsd2si  %xmm4, %ecx
3141
3142 // CHECK: vcvtsd2si  (%ecx), %ecx
3143 // CHECK: encoding: [0xc5,0xfb,0x2d,0x09]
3144           vcvtsd2si  (%ecx), %ecx
3145
3146 // CHECK: vcvtsi2sdl  (%ebp), %xmm0, %xmm7
3147 // CHECK: encoding: [0xc5,0xfb,0x2a,0x7d,0x00]
3148           vcvtsi2sdl  (%ebp), %xmm0, %xmm7
3149
3150 // CHECK: vcvtsi2sdl  (%esp), %xmm0, %xmm7
3151 // CHECK: encoding: [0xc5,0xfb,0x2a,0x3c,0x24]
3152           vcvtsi2sdl  (%esp), %xmm0, %xmm7
3153
3154 // CHECK: vcvtsi2sdl  (%ebp), %xmm0, %xmm7
3155 // CHECK: encoding: [0xc5,0xfb,0x2a,0x7d,0x00]
3156           vcvtsi2sd  (%ebp), %xmm0, %xmm7
3157
3158 // CHECK: vcvtsi2sdl  (%esp), %xmm0, %xmm7
3159 // CHECK: encoding: [0xc5,0xfb,0x2a,0x3c,0x24]
3160           vcvtsi2sd  (%esp), %xmm0, %xmm7
3161
3162 // CHECK: vlddqu  (%eax), %ymm2
3163 // CHECK: encoding: [0xc5,0xff,0xf0,0x10]
3164           vlddqu  (%eax), %ymm2
3165
3166 // CHECK: vmovddup  %ymm2, %ymm5
3167 // CHECK: encoding: [0xc5,0xff,0x12,0xea]
3168           vmovddup  %ymm2, %ymm5
3169
3170 // CHECK: vmovddup  (%eax), %ymm2
3171 // CHECK: encoding: [0xc5,0xff,0x12,0x10]
3172           vmovddup  (%eax), %ymm2
3173
3174 // CHECK: vmovdqa  %ymm2, %ymm5
3175 // CHECK: encoding: [0xc5,0xfd,0x6f,0xea]
3176           vmovdqa  %ymm2, %ymm5
3177
3178 // CHECK: vmovdqa  %ymm2, (%eax)
3179 // CHECK: encoding: [0xc5,0xfd,0x7f,0x10]
3180           vmovdqa  %ymm2, (%eax)
3181
3182 // CHECK: vmovdqa  (%eax), %ymm2
3183 // CHECK: encoding: [0xc5,0xfd,0x6f,0x10]
3184           vmovdqa  (%eax), %ymm2
3185
3186 // CHECK: vmovdqu  %ymm2, %ymm5
3187 // CHECK: encoding: [0xc5,0xfe,0x6f,0xea]
3188           vmovdqu  %ymm2, %ymm5
3189
3190 // CHECK: vmovdqu  %ymm2, (%eax)
3191 // CHECK: encoding: [0xc5,0xfe,0x7f,0x10]
3192           vmovdqu  %ymm2, (%eax)
3193
3194 // CHECK: vmovdqu  (%eax), %ymm2
3195 // CHECK: encoding: [0xc5,0xfe,0x6f,0x10]
3196           vmovdqu  (%eax), %ymm2
3197
3198 // CHECK: vmovshdup  %ymm2, %ymm5
3199 // CHECK: encoding: [0xc5,0xfe,0x16,0xea]
3200           vmovshdup  %ymm2, %ymm5
3201
3202 // CHECK: vmovshdup  (%eax), %ymm2
3203 // CHECK: encoding: [0xc5,0xfe,0x16,0x10]
3204           vmovshdup  (%eax), %ymm2
3205
3206 // CHECK: vmovsldup  %ymm2, %ymm5
3207 // CHECK: encoding: [0xc5,0xfe,0x12,0xea]
3208           vmovsldup  %ymm2, %ymm5
3209
3210 // CHECK: vmovsldup  (%eax), %ymm2
3211 // CHECK: encoding: [0xc5,0xfe,0x12,0x10]
3212           vmovsldup  (%eax), %ymm2
3213
3214 // CHECK: vptest  %ymm2, %ymm5
3215 // CHECK: encoding: [0xc4,0xe2,0x7d,0x17,0xea]
3216           vptest  %ymm2, %ymm5
3217
3218 // CHECK: vptest  (%eax), %ymm2
3219 // CHECK: encoding: [0xc4,0xe2,0x7d,0x17,0x10]
3220           vptest  (%eax), %ymm2
3221
3222 // CHECK: vroundpd  $7, %ymm5, %ymm1
3223 // CHECK: encoding: [0xc4,0xe3,0x7d,0x09,0xcd,0x07]
3224           vroundpd  $7, %ymm5, %ymm1
3225
3226 // CHECK: vroundpd  $7, (%eax), %ymm5
3227 // CHECK: encoding: [0xc4,0xe3,0x7d,0x09,0x28,0x07]
3228           vroundpd  $7, (%eax), %ymm5
3229
3230 // CHECK: vroundps  $7, %ymm5, %ymm1
3231 // CHECK: encoding: [0xc4,0xe3,0x7d,0x08,0xcd,0x07]
3232           vroundps  $7, %ymm5, %ymm1
3233
3234 // CHECK: vroundps  $7, (%eax), %ymm5
3235 // CHECK: encoding: [0xc4,0xe3,0x7d,0x08,0x28,0x07]
3236           vroundps  $7, (%eax), %ymm5
3237
3238 // CHECK: vshufpd  $7, %ymm2, %ymm5, %ymm1
3239 // CHECK: encoding: [0xc5,0xd5,0xc6,0xca,0x07]
3240           vshufpd  $7, %ymm2, %ymm5, %ymm1
3241
3242 // CHECK: vshufpd  $7, (%eax), %ymm5, %ymm1
3243 // CHECK: encoding: [0xc5,0xd5,0xc6,0x08,0x07]
3244           vshufpd  $7, (%eax), %ymm5, %ymm1
3245
3246 // CHECK: vshufps  $7, %ymm2, %ymm5, %ymm1
3247 // CHECK: encoding: [0xc5,0xd4,0xc6,0xca,0x07]
3248           vshufps  $7, %ymm2, %ymm5, %ymm1
3249
3250 // CHECK: vshufps  $7, (%eax), %ymm5, %ymm1
3251 // CHECK: encoding: [0xc5,0xd4,0xc6,0x08,0x07]
3252           vshufps  $7, (%eax), %ymm5, %ymm1
3253
3254 // CHECK: vtestpd  %xmm2, %xmm5
3255 // CHECK: encoding: [0xc4,0xe2,0x79,0x0f,0xea]
3256           vtestpd  %xmm2, %xmm5
3257
3258 // CHECK: vtestpd  %ymm2, %ymm5
3259 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0f,0xea]
3260           vtestpd  %ymm2, %ymm5
3261
3262 // CHECK: vtestpd  (%eax), %xmm2
3263 // CHECK: encoding: [0xc4,0xe2,0x79,0x0f,0x10]
3264           vtestpd  (%eax), %xmm2
3265
3266 // CHECK: vtestpd  (%eax), %ymm2
3267 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0f,0x10]
3268           vtestpd  (%eax), %ymm2
3269
3270 // CHECK: vtestps  %xmm2, %xmm5
3271 // CHECK: encoding: [0xc4,0xe2,0x79,0x0e,0xea]
3272           vtestps  %xmm2, %xmm5
3273
3274 // CHECK: vtestps  %ymm2, %ymm5
3275 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0e,0xea]
3276           vtestps  %ymm2, %ymm5
3277
3278 // CHECK: vtestps  (%eax), %xmm2
3279 // CHECK: encoding: [0xc4,0xe2,0x79,0x0e,0x10]
3280           vtestps  (%eax), %xmm2
3281
3282 // CHECK: vtestps  (%eax), %ymm2
3283 // CHECK: encoding: [0xc4,0xe2,0x7d,0x0e,0x10]
3284           vtestps  (%eax), %ymm2
3285
3286 // CHECK: vblendvpd  %ymm0, 57005(%eax,%eiz), %ymm1, %ymm2
3287 // CHECK: encoding: [0xc4,0xe3,0x75,0x4b,0x94,0x20,0xad,0xde,0x00,0x00,0x00]
3288           vblendvpd  %ymm0, 0xdead(%eax,%eiz), %ymm1, %ymm2
3289
3290
3291
3292 // CHECK: vpclmulqdq  $17, %xmm2, %xmm5, %xmm1
3293 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x11]
3294           vpclmulhqhqdq %xmm2, %xmm5, %xmm1
3295
3296 // CHECK: vpclmulqdq  $17, (%eax), %xmm5, %xmm3
3297 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x11]
3298           vpclmulhqhqdq (%eax), %xmm5, %xmm3
3299
3300 // CHECK: vpclmulqdq  $1, %xmm2, %xmm5, %xmm1
3301 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x01]
3302           vpclmulhqlqdq %xmm2, %xmm5, %xmm1
3303
3304 // CHECK: vpclmulqdq  $1, (%eax), %xmm5, %xmm3
3305 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x01]
3306           vpclmulhqlqdq (%eax), %xmm5, %xmm3
3307
3308 // CHECK: vpclmulqdq  $16, %xmm2, %xmm5, %xmm1
3309 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x10]
3310           vpclmullqhqdq %xmm2, %xmm5, %xmm1
3311
3312 // CHECK: vpclmulqdq  $16, (%eax), %xmm5, %xmm3
3313 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x10]
3314           vpclmullqhqdq (%eax), %xmm5, %xmm3
3315
3316 // CHECK: vpclmulqdq  $0, %xmm2, %xmm5, %xmm1
3317 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x00]
3318           vpclmullqlqdq %xmm2, %xmm5, %xmm1
3319
3320 // CHECK: vpclmulqdq  $0, (%eax), %xmm5, %xmm3
3321 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x00]
3322           vpclmullqlqdq (%eax), %xmm5, %xmm3
3323
3324 // CHECK: vpclmulqdq  $17, %xmm2, %xmm5, %xmm1
3325 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0xca,0x11]
3326           vpclmulqdq  $17, %xmm2, %xmm5, %xmm1
3327
3328 // CHECK: vpclmulqdq  $17, (%eax), %xmm5, %xmm3
3329 // CHECK: encoding: [0xc4,0xe3,0x51,0x44,0x18,0x11]
3330           vpclmulqdq  $17, (%eax), %xmm5, %xmm3
3331
3332 // rdar://9795008
3333 // These instructions take a mask not an 8-bit sign extended value.
3334 // CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
3335           vblendps $0x81, %ymm2, %ymm5, %ymm1
3336 // CHECK: vblendps $129, (%eax), %ymm5, %ymm1
3337           vblendps $0x81, (%eax), %ymm5, %ymm1
3338 // CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
3339           vblendpd $0x81, %ymm2, %ymm5, %ymm1
3340 // CHECK: vblendpd $129, (%eax), %ymm5, %ymm1
3341           vblendpd $0x81, (%eax), %ymm5, %ymm1
3342 // CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
3343           vpblendw $0x81, %xmm2, %xmm5, %xmm1
3344 // CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
3345           vmpsadbw $0x81, %xmm2, %xmm5, %xmm1
3346 // CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
3347           vdpps $0x81, %ymm2, %ymm5, %ymm1
3348 // CHECK: vdpps $129, (%eax), %ymm5, %ymm1
3349           vdpps $0x81, (%eax), %ymm5, %ymm1
3350 // CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
3351           vdppd $0x81, %xmm2, %xmm5, %xmm1
3352 // CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
3353           vinsertps $0x81, %xmm3, %xmm2, %xmm1
3354
3355 // CHECK: vcmpps $128, %xmm2, %xmm1, %xmm0
3356 // CHECK: encoding: [0xc5,0xf0,0xc2,0xc2,0x80]
3357 vcmpps $-128, %xmm2, %xmm1, %xmm0
3358
3359 // CHECK: vcmpps $128, %xmm2, %xmm1, %xmm0
3360 // CHECK: encoding: [0xc5,0xf0,0xc2,0xc2,0x80]
3361 vcmpps $128, %xmm2, %xmm1, %xmm0
3362
3363 // CHECK: vcmpps $255, %xmm2, %xmm1, %xmm0
3364 // CHECK: encoding: [0xc5,0xf0,0xc2,0xc2,0xff]
3365 vcmpps $255, %xmm2, %xmm1, %xmm0