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