i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / x86-64-sse2avx.s
1 # Check 64bit SSE to AVX instructions
2
3         .allow_index_reg
4         .text
5 _start:
6 # Tests for op mem64
7         ldmxcsr (%rcx)
8         stmxcsr (%rcx)
9
10 # Tests for op xmm/mem128, xmm
11         cvtdq2ps %xmm4,%xmm6
12         cvtdq2ps (%rcx),%xmm4
13         cvtpd2dq %xmm4,%xmm6
14         cvtpd2dq (%rcx),%xmm4
15         cvtpd2ps %xmm4,%xmm6
16         cvtpd2ps (%rcx),%xmm4
17         cvtps2dq %xmm4,%xmm6
18         cvtps2dq (%rcx),%xmm4
19         cvttpd2dq %xmm4,%xmm6
20         cvttpd2dq (%rcx),%xmm4
21         cvttps2dq %xmm4,%xmm6
22         cvttps2dq (%rcx),%xmm4
23         movapd %xmm4,%xmm6
24         movapd (%rcx),%xmm4
25         movaps %xmm4,%xmm6
26         movaps (%rcx),%xmm4
27         movdqa %xmm4,%xmm6
28         movdqa (%rcx),%xmm4
29         movdqu %xmm4,%xmm6
30         movdqu (%rcx),%xmm4
31         movshdup %xmm4,%xmm6
32         movshdup (%rcx),%xmm4
33         movsldup %xmm4,%xmm6
34         movsldup (%rcx),%xmm4
35         movupd %xmm4,%xmm6
36         movupd (%rcx),%xmm4
37         movups %xmm4,%xmm6
38         movups (%rcx),%xmm4
39         pabsb %xmm4,%xmm6
40         pabsb (%rcx),%xmm4
41         pabsw %xmm4,%xmm6
42         pabsw (%rcx),%xmm4
43         pabsd %xmm4,%xmm6
44         pabsd (%rcx),%xmm4
45         phminposuw %xmm4,%xmm6
46         phminposuw (%rcx),%xmm4
47         ptest %xmm4,%xmm6
48         ptest (%rcx),%xmm4
49         rcpps %xmm4,%xmm6
50         rcpps (%rcx),%xmm4
51         rsqrtps %xmm4,%xmm6
52         rsqrtps (%rcx),%xmm4
53         sqrtpd %xmm4,%xmm6
54         sqrtpd (%rcx),%xmm4
55         sqrtps %xmm4,%xmm6
56         sqrtps (%rcx),%xmm4
57         aesimc %xmm4,%xmm6
58         aesimc (%rcx),%xmm4
59
60 # Tests for op xmm, xmm/mem128
61         movapd %xmm4,%xmm6
62         movapd %xmm4,(%rcx)
63         movaps %xmm4,%xmm6
64         movaps %xmm4,(%rcx)
65         movdqa %xmm4,%xmm6
66         movdqa %xmm4,(%rcx)
67         movdqu %xmm4,%xmm6
68         movdqu %xmm4,(%rcx)
69         movupd %xmm4,%xmm6
70         movupd %xmm4,(%rcx)
71         movups %xmm4,%xmm6
72         movups %xmm4,(%rcx)
73
74 # Tests for op mem128, xmm
75         lddqu (%rcx),%xmm4
76         movntdqa (%rcx),%xmm4
77
78 # Tests for op xmm, mem128
79         movntdq %xmm4,(%rcx)
80         movntpd %xmm4,(%rcx)
81         movntps %xmm4,(%rcx)
82
83 # Tests for op xmm/mem128, xmm[, xmm]
84         addpd %xmm4,%xmm6
85         addpd (%rcx),%xmm6
86         addps %xmm4,%xmm6
87         addps (%rcx),%xmm6
88         addsubpd %xmm4,%xmm6
89         addsubpd (%rcx),%xmm6
90         addsubps %xmm4,%xmm6
91         addsubps (%rcx),%xmm6
92         andnpd %xmm4,%xmm6
93         andnpd (%rcx),%xmm6
94         andnps %xmm4,%xmm6
95         andnps (%rcx),%xmm6
96         andpd %xmm4,%xmm6
97         andpd (%rcx),%xmm6
98         andps %xmm4,%xmm6
99         andps (%rcx),%xmm6
100         divpd %xmm4,%xmm6
101         divpd (%rcx),%xmm6
102         divps %xmm4,%xmm6
103         divps (%rcx),%xmm6
104         haddpd %xmm4,%xmm6
105         haddpd (%rcx),%xmm6
106         haddps %xmm4,%xmm6
107         haddps (%rcx),%xmm6
108         hsubpd %xmm4,%xmm6
109         hsubpd (%rcx),%xmm6
110         hsubps %xmm4,%xmm6
111         hsubps (%rcx),%xmm6
112         maxpd %xmm4,%xmm6
113         maxpd (%rcx),%xmm6
114         maxps %xmm4,%xmm6
115         maxps (%rcx),%xmm6
116         minpd %xmm4,%xmm6
117         minpd (%rcx),%xmm6
118         minps %xmm4,%xmm6
119         minps (%rcx),%xmm6
120         mulpd %xmm4,%xmm6
121         mulpd (%rcx),%xmm6
122         mulps %xmm4,%xmm6
123         mulps (%rcx),%xmm6
124         orpd %xmm4,%xmm6
125         orpd (%rcx),%xmm6
126         orps %xmm4,%xmm6
127         orps (%rcx),%xmm6
128         packsswb %xmm4,%xmm6
129         packsswb (%rcx),%xmm6
130         packssdw %xmm4,%xmm6
131         packssdw (%rcx),%xmm6
132         packuswb %xmm4,%xmm6
133         packuswb (%rcx),%xmm6
134         packusdw %xmm4,%xmm6
135         packusdw (%rcx),%xmm6
136         paddb %xmm4,%xmm6
137         paddb (%rcx),%xmm6
138         paddw %xmm4,%xmm6
139         paddw (%rcx),%xmm6
140         paddd %xmm4,%xmm6
141         paddd (%rcx),%xmm6
142         paddq %xmm4,%xmm6
143         paddq (%rcx),%xmm6
144         paddsb %xmm4,%xmm6
145         paddsb (%rcx),%xmm6
146         paddsw %xmm4,%xmm6
147         paddsw (%rcx),%xmm6
148         paddusb %xmm4,%xmm6
149         paddusb (%rcx),%xmm6
150         paddusw %xmm4,%xmm6
151         paddusw (%rcx),%xmm6
152         pand %xmm4,%xmm6
153         pand (%rcx),%xmm6
154         pandn %xmm4,%xmm6
155         pandn (%rcx),%xmm6
156         pavgb %xmm4,%xmm6
157         pavgb (%rcx),%xmm6
158         pavgw %xmm4,%xmm6
159         pavgw (%rcx),%xmm6
160         pclmullqlqdq %xmm4,%xmm6
161         pclmullqlqdq (%rcx),%xmm6
162         pclmulhqlqdq %xmm4,%xmm6
163         pclmulhqlqdq (%rcx),%xmm6
164         pclmullqhqdq %xmm4,%xmm6
165         pclmullqhqdq (%rcx),%xmm6
166         pclmulhqhqdq %xmm4,%xmm6
167         pclmulhqhqdq (%rcx),%xmm6
168         pcmpeqb %xmm4,%xmm6
169         pcmpeqb (%rcx),%xmm6
170         pcmpeqw %xmm4,%xmm6
171         pcmpeqw (%rcx),%xmm6
172         pcmpeqd %xmm4,%xmm6
173         pcmpeqd (%rcx),%xmm6
174         pcmpeqq %xmm4,%xmm6
175         pcmpeqq (%rcx),%xmm6
176         pcmpgtb %xmm4,%xmm6
177         pcmpgtb (%rcx),%xmm6
178         pcmpgtw %xmm4,%xmm6
179         pcmpgtw (%rcx),%xmm6
180         pcmpgtd %xmm4,%xmm6
181         pcmpgtd (%rcx),%xmm6
182         pcmpgtq %xmm4,%xmm6
183         pcmpgtq (%rcx),%xmm6
184         phaddw %xmm4,%xmm6
185         phaddw (%rcx),%xmm6
186         phaddd %xmm4,%xmm6
187         phaddd (%rcx),%xmm6
188         phaddsw %xmm4,%xmm6
189         phaddsw (%rcx),%xmm6
190         phsubw %xmm4,%xmm6
191         phsubw (%rcx),%xmm6
192         phsubd %xmm4,%xmm6
193         phsubd (%rcx),%xmm6
194         phsubsw %xmm4,%xmm6
195         phsubsw (%rcx),%xmm6
196         pmaddwd %xmm4,%xmm6
197         pmaddwd (%rcx),%xmm6
198         pmaddubsw %xmm4,%xmm6
199         pmaddubsw (%rcx),%xmm6
200         pmaxsb %xmm4,%xmm6
201         pmaxsb (%rcx),%xmm6
202         pmaxsw %xmm4,%xmm6
203         pmaxsw (%rcx),%xmm6
204         pmaxsd %xmm4,%xmm6
205         pmaxsd (%rcx),%xmm6
206         pmaxub %xmm4,%xmm6
207         pmaxub (%rcx),%xmm6
208         pmaxuw %xmm4,%xmm6
209         pmaxuw (%rcx),%xmm6
210         pmaxud %xmm4,%xmm6
211         pmaxud (%rcx),%xmm6
212         pminsb %xmm4,%xmm6
213         pminsb (%rcx),%xmm6
214         pminsw %xmm4,%xmm6
215         pminsw (%rcx),%xmm6
216         pminsd %xmm4,%xmm6
217         pminsd (%rcx),%xmm6
218         pminub %xmm4,%xmm6
219         pminub (%rcx),%xmm6
220         pminuw %xmm4,%xmm6
221         pminuw (%rcx),%xmm6
222         pminud %xmm4,%xmm6
223         pminud (%rcx),%xmm6
224         pmulhuw %xmm4,%xmm6
225         pmulhuw (%rcx),%xmm6
226         pmulhrsw %xmm4,%xmm6
227         pmulhrsw (%rcx),%xmm6
228         pmulhw %xmm4,%xmm6
229         pmulhw (%rcx),%xmm6
230         pmullw %xmm4,%xmm6
231         pmullw (%rcx),%xmm6
232         pmulld %xmm4,%xmm6
233         pmulld (%rcx),%xmm6
234         pmuludq %xmm4,%xmm6
235         pmuludq (%rcx),%xmm6
236         pmuldq %xmm4,%xmm6
237         pmuldq (%rcx),%xmm6
238         por %xmm4,%xmm6
239         por (%rcx),%xmm6
240         psadbw %xmm4,%xmm6
241         psadbw (%rcx),%xmm6
242         pshufb %xmm4,%xmm6
243         pshufb (%rcx),%xmm6
244         psignb %xmm4,%xmm6
245         psignb (%rcx),%xmm6
246         psignw %xmm4,%xmm6
247         psignw (%rcx),%xmm6
248         psignd %xmm4,%xmm6
249         psignd (%rcx),%xmm6
250         psllw %xmm4,%xmm6
251         psllw (%rcx),%xmm6
252         pslld %xmm4,%xmm6
253         pslld (%rcx),%xmm6
254         psllq %xmm4,%xmm6
255         psllq (%rcx),%xmm6
256         psraw %xmm4,%xmm6
257         psraw (%rcx),%xmm6
258         psrad %xmm4,%xmm6
259         psrad (%rcx),%xmm6
260         psrlw %xmm4,%xmm6
261         psrlw (%rcx),%xmm6
262         psrld %xmm4,%xmm6
263         psrld (%rcx),%xmm6
264         psrlq %xmm4,%xmm6
265         psrlq (%rcx),%xmm6
266         psubb %xmm4,%xmm6
267         psubb (%rcx),%xmm6
268         psubw %xmm4,%xmm6
269         psubw (%rcx),%xmm6
270         psubd %xmm4,%xmm6
271         psubd (%rcx),%xmm6
272         psubq %xmm4,%xmm6
273         psubq (%rcx),%xmm6
274         psubsb %xmm4,%xmm6
275         psubsb (%rcx),%xmm6
276         psubsw %xmm4,%xmm6
277         psubsw (%rcx),%xmm6
278         psubusb %xmm4,%xmm6
279         psubusb (%rcx),%xmm6
280         psubusw %xmm4,%xmm6
281         psubusw (%rcx),%xmm6
282         punpckhbw %xmm4,%xmm6
283         punpckhbw (%rcx),%xmm6
284         punpckhwd %xmm4,%xmm6
285         punpckhwd (%rcx),%xmm6
286         punpckhdq %xmm4,%xmm6
287         punpckhdq (%rcx),%xmm6
288         punpckhqdq %xmm4,%xmm6
289         punpckhqdq (%rcx),%xmm6
290         punpcklbw %xmm4,%xmm6
291         punpcklbw (%rcx),%xmm6
292         punpcklwd %xmm4,%xmm6
293         punpcklwd (%rcx),%xmm6
294         punpckldq %xmm4,%xmm6
295         punpckldq (%rcx),%xmm6
296         punpcklqdq %xmm4,%xmm6
297         punpcklqdq (%rcx),%xmm6
298         pxor %xmm4,%xmm6
299         pxor (%rcx),%xmm6
300         subpd %xmm4,%xmm6
301         subpd (%rcx),%xmm6
302         subps %xmm4,%xmm6
303         subps (%rcx),%xmm6
304         unpckhpd %xmm4,%xmm6
305         unpckhpd (%rcx),%xmm6
306         unpckhps %xmm4,%xmm6
307         unpckhps (%rcx),%xmm6
308         unpcklpd %xmm4,%xmm6
309         unpcklpd (%rcx),%xmm6
310         unpcklps %xmm4,%xmm6
311         unpcklps (%rcx),%xmm6
312         xorpd %xmm4,%xmm6
313         xorpd (%rcx),%xmm6
314         xorps %xmm4,%xmm6
315         xorps (%rcx),%xmm6
316         aesenc %xmm4,%xmm6
317         aesenc (%rcx),%xmm6
318         aesenclast %xmm4,%xmm6
319         aesenclast (%rcx),%xmm6
320         aesdec %xmm4,%xmm6
321         aesdec (%rcx),%xmm6
322         aesdeclast %xmm4,%xmm6
323         aesdeclast (%rcx),%xmm6
324         cmpeqpd %xmm4,%xmm6
325         cmpeqpd (%rcx),%xmm6
326         cmpeqps %xmm4,%xmm6
327         cmpeqps (%rcx),%xmm6
328         cmpltpd %xmm4,%xmm6
329         cmpltpd (%rcx),%xmm6
330         cmpltps %xmm4,%xmm6
331         cmpltps (%rcx),%xmm6
332         cmplepd %xmm4,%xmm6
333         cmplepd (%rcx),%xmm6
334         cmpleps %xmm4,%xmm6
335         cmpleps (%rcx),%xmm6
336         cmpunordpd %xmm4,%xmm6
337         cmpunordpd (%rcx),%xmm6
338         cmpunordps %xmm4,%xmm6
339         cmpunordps (%rcx),%xmm6
340         cmpneqpd %xmm4,%xmm6
341         cmpneqpd (%rcx),%xmm6
342         cmpneqps %xmm4,%xmm6
343         cmpneqps (%rcx),%xmm6
344         cmpnltpd %xmm4,%xmm6
345         cmpnltpd (%rcx),%xmm6
346         cmpnltps %xmm4,%xmm6
347         cmpnltps (%rcx),%xmm6
348         cmpnlepd %xmm4,%xmm6
349         cmpnlepd (%rcx),%xmm6
350         cmpnleps %xmm4,%xmm6
351         cmpnleps (%rcx),%xmm6
352         cmpordpd %xmm4,%xmm6
353         cmpordpd (%rcx),%xmm6
354         cmpordps %xmm4,%xmm6
355         cmpordps (%rcx),%xmm6
356
357 # Tests for op imm8, xmm/mem128, xmm
358         aeskeygenassist $100,%xmm4,%xmm6
359         aeskeygenassist $100,(%rcx),%xmm6
360         pcmpestri $100,%xmm4,%xmm6
361         pcmpestri $100,(%rcx),%xmm6
362         pcmpestriq $100,%xmm4,%xmm6
363         pcmpestril $100,(%rcx),%xmm6
364         pcmpestrm $100,%xmm4,%xmm6
365         pcmpestrm $100,(%rcx),%xmm6
366         pcmpestrmq $100,%xmm4,%xmm6
367         pcmpestrml $100,(%rcx),%xmm6
368         pcmpistri $100,%xmm4,%xmm6
369         pcmpistri $100,(%rcx),%xmm6
370         pcmpistrm $100,%xmm4,%xmm6
371         pcmpistrm $100,(%rcx),%xmm6
372         pshufd $100,%xmm4,%xmm6
373         pshufd $100,(%rcx),%xmm6
374         pshufhw $100,%xmm4,%xmm6
375         pshufhw $100,(%rcx),%xmm6
376         pshuflw $100,%xmm4,%xmm6
377         pshuflw $100,(%rcx),%xmm6
378         roundpd $100,%xmm4,%xmm6
379         roundpd $100,(%rcx),%xmm6
380         roundps $100,%xmm4,%xmm6
381         roundps $100,(%rcx),%xmm6
382
383 # Tests for op imm8, xmm/mem128, xmm[, xmm]
384         blendpd $100,%xmm4,%xmm6
385         blendpd $100,(%rcx),%xmm6
386         blendps $100,%xmm4,%xmm6
387         blendps $100,(%rcx),%xmm6
388         cmppd $100,%xmm4,%xmm6
389         cmppd $100,(%rcx),%xmm6
390         cmpps $100,%xmm4,%xmm6
391         cmpps $100,(%rcx),%xmm6
392         dppd $100,%xmm4,%xmm6
393         dppd $100,(%rcx),%xmm6
394         dpps $100,%xmm4,%xmm6
395         dpps $100,(%rcx),%xmm6
396         mpsadbw $100,%xmm4,%xmm6
397         mpsadbw $100,(%rcx),%xmm6
398         palignr $100,%xmm4,%xmm6
399         palignr $100,(%rcx),%xmm6
400         pblendw $100,%xmm4,%xmm6
401         pblendw $100,(%rcx),%xmm6
402         pclmulqdq $100,%xmm4,%xmm6
403         pclmulqdq $100,(%rcx),%xmm6
404         shufpd $100,%xmm4,%xmm6
405         shufpd $100,(%rcx),%xmm6
406         shufps $100,%xmm4,%xmm6
407         shufps $100,(%rcx),%xmm6
408
409 # Tests for op xmm0, xmm/mem128, xmm[, xmm]
410         blendvpd %xmm0,%xmm4,%xmm6
411         blendvpd %xmm0,(%rcx),%xmm6
412         blendvpd %xmm4,%xmm6
413         blendvpd (%rcx),%xmm6
414         blendvps %xmm0,%xmm4,%xmm6
415         blendvps %xmm0,(%rcx),%xmm6
416         blendvps %xmm4,%xmm6
417         blendvps (%rcx),%xmm6
418         pblendvb %xmm0,%xmm4,%xmm6
419         pblendvb %xmm0,(%rcx),%xmm6
420         pblendvb %xmm4,%xmm6
421         pblendvb (%rcx),%xmm6
422
423 # Tests for op xmm/mem64, xmm
424         comisd %xmm4,%xmm6
425         comisd (%rcx),%xmm4
426         cvtdq2pd %xmm4,%xmm6
427         cvtdq2pd (%rcx),%xmm4
428         cvtps2pd %xmm4,%xmm6
429         cvtps2pd (%rcx),%xmm4
430         movddup %xmm4,%xmm6
431         movddup (%rcx),%xmm4
432         pmovsxbw %xmm4,%xmm6
433         pmovsxbw (%rcx),%xmm4
434         pmovsxwd %xmm4,%xmm6
435         pmovsxwd (%rcx),%xmm4
436         pmovsxdq %xmm4,%xmm6
437         pmovsxdq (%rcx),%xmm4
438         pmovzxbw %xmm4,%xmm6
439         pmovzxbw (%rcx),%xmm4
440         pmovzxwd %xmm4,%xmm6
441         pmovzxwd (%rcx),%xmm4
442         pmovzxdq %xmm4,%xmm6
443         pmovzxdq (%rcx),%xmm4
444         ucomisd %xmm4,%xmm6
445         ucomisd (%rcx),%xmm4
446
447 # Tests for op mem64, xmm
448         movsd (%rcx),%xmm4
449
450 # Tests for op xmm, mem64
451         movlpd %xmm4,(%rcx)
452         movlps %xmm4,(%rcx)
453         movhpd %xmm4,(%rcx)
454         movhps %xmm4,(%rcx)
455         movsd %xmm4,(%rcx)
456
457 # Tests for op xmm, regq/mem64
458 # Tests for op regq/mem64, xmm
459         movd %xmm4,%rcx
460         movd %rcx,%xmm4
461         movq %xmm4,%rcx
462         movq %rcx,%xmm4
463         movq %xmm4,(%rcx)
464         movq (%rcx),%xmm4
465
466 # Tests for op xmm/mem64, regl
467         cvtsd2si %xmm4,%ecx
468         cvtsd2si (%rcx),%ecx
469         cvttsd2si %xmm4,%ecx
470         cvttsd2si (%rcx),%ecx
471
472 # Tests for op xmm/mem64, regq
473         cvtsd2si %xmm4,%rcx
474         cvtsd2si (%rcx),%rcx
475         cvttsd2si %xmm4,%rcx
476         cvttsd2si (%rcx),%rcx
477
478 # Tests for op regq/mem64, xmm[, xmm]
479         cvtsi2sdq %rcx,%xmm4
480         cvtsi2sdq (%rcx),%xmm4
481         cvtsi2ssq %rcx,%xmm4
482         cvtsi2ssq (%rcx),%xmm4
483
484 # Tests for op imm8, regq/mem64, xmm[, xmm]
485         pinsrq $100,%rcx,%xmm4
486         pinsrq $100,(%rcx),%xmm4
487
488 # Testsf for op imm8, xmm, regq/mem64
489         pextrq $100,%xmm4,%rcx
490         pextrq $100,%xmm4,(%rcx)
491
492 # Tests for op mem64, xmm[, xmm]
493         movlpd (%rcx),%xmm4
494         movlps (%rcx),%xmm4
495         movhpd (%rcx),%xmm4
496         movhps (%rcx),%xmm4
497
498 # Tests for op imm8, xmm/mem64, xmm[, xmm]
499         cmpsd $100,%xmm4,%xmm6
500         cmpsd $100,(%rcx),%xmm6
501         roundsd $100,%xmm4,%xmm6
502         roundsd $100,(%rcx),%xmm6
503
504 # Tests for op xmm/mem64, xmm[, xmm]
505         addsd %xmm4,%xmm6
506         addsd (%rcx),%xmm6
507         cvtsd2ss %xmm4,%xmm6
508         cvtsd2ss (%rcx),%xmm6
509         divsd %xmm4,%xmm6
510         divsd (%rcx),%xmm6
511         maxsd %xmm4,%xmm6
512         maxsd (%rcx),%xmm6
513         minsd %xmm4,%xmm6
514         minsd (%rcx),%xmm6
515         mulsd %xmm4,%xmm6
516         mulsd (%rcx),%xmm6
517         sqrtsd %xmm4,%xmm6
518         sqrtsd (%rcx),%xmm6
519         subsd %xmm4,%xmm6
520         subsd (%rcx),%xmm6
521         cmpeqsd %xmm4,%xmm6
522         cmpeqsd (%rcx),%xmm6
523         cmpltsd %xmm4,%xmm6
524         cmpltsd (%rcx),%xmm6
525         cmplesd %xmm4,%xmm6
526         cmplesd (%rcx),%xmm6
527         cmpunordsd %xmm4,%xmm6
528         cmpunordsd (%rcx),%xmm6
529         cmpneqsd %xmm4,%xmm6
530         cmpneqsd (%rcx),%xmm6
531         cmpnltsd %xmm4,%xmm6
532         cmpnltsd (%rcx),%xmm6
533         cmpnlesd %xmm4,%xmm6
534         cmpnlesd (%rcx),%xmm6
535         cmpordsd %xmm4,%xmm6
536         cmpordsd (%rcx),%xmm6
537
538 # Tests for op xmm/mem32, xmm[, xmm]
539         addss %xmm4,%xmm6
540         addss (%rcx),%xmm6
541         cvtss2sd %xmm4,%xmm6
542         cvtss2sd (%rcx),%xmm6
543         divss %xmm4,%xmm6
544         divss (%rcx),%xmm6
545         maxss %xmm4,%xmm6
546         maxss (%rcx),%xmm6
547         minss %xmm4,%xmm6
548         minss (%rcx),%xmm6
549         mulss %xmm4,%xmm6
550         mulss (%rcx),%xmm6
551         rcpss %xmm4,%xmm6
552         rcpss (%rcx),%xmm6
553         rsqrtss %xmm4,%xmm6
554         rsqrtss (%rcx),%xmm6
555         sqrtss %xmm4,%xmm6
556         sqrtss (%rcx),%xmm6
557         subss %xmm4,%xmm6
558         subss (%rcx),%xmm6
559         cmpeqss %xmm4,%xmm6
560         cmpeqss (%rcx),%xmm6
561         cmpltss %xmm4,%xmm6
562         cmpltss (%rcx),%xmm6
563         cmpless %xmm4,%xmm6
564         cmpless (%rcx),%xmm6
565         cmpunordss %xmm4,%xmm6
566         cmpunordss (%rcx),%xmm6
567         cmpneqss %xmm4,%xmm6
568         cmpneqss (%rcx),%xmm6
569         cmpnltss %xmm4,%xmm6
570         cmpnltss (%rcx),%xmm6
571         cmpnless %xmm4,%xmm6
572         cmpnless (%rcx),%xmm6
573         cmpordss %xmm4,%xmm6
574         cmpordss (%rcx),%xmm6
575
576 # Tests for op xmm/mem32, xmm
577         comiss %xmm4,%xmm6
578         comiss (%rcx),%xmm4
579         pmovsxbd %xmm4,%xmm6
580         pmovsxbd (%rcx),%xmm4
581         pmovsxwq %xmm4,%xmm6
582         pmovsxwq (%rcx),%xmm4
583         pmovzxbd %xmm4,%xmm6
584         pmovzxbd (%rcx),%xmm4
585         pmovzxwq %xmm4,%xmm6
586         pmovzxwq (%rcx),%xmm4
587         ucomiss %xmm4,%xmm6
588         ucomiss (%rcx),%xmm4
589
590 # Tests for op mem32, xmm
591         movss (%rcx),%xmm4
592
593 # Tests for op xmm, mem32
594         movss %xmm4,(%rcx)
595
596 # Tests for op xmm, regl/mem32
597 # Tests for op regl/mem32, xmm
598         movd %xmm4,%ecx
599         movd %xmm4,(%rcx)
600         movd %ecx,%xmm4
601         movd (%rcx),%xmm4
602
603 # Tests for op xmm/mem32, regl
604         cvtss2si %xmm4,%ecx
605         cvtss2si (%rcx),%ecx
606         cvttss2si %xmm4,%ecx
607         cvttss2si (%rcx),%ecx
608
609 # Tests for op xmm/mem32, regq
610         cvtss2si %xmm4,%rcx
611         cvtss2si (%rcx),%rcx
612         cvttss2si %xmm4,%rcx
613         cvttss2si (%rcx),%rcx
614
615 # Tests for op xmm, regq
616         movmskpd %xmm4,%rcx
617         movmskps %xmm4,%rcx
618         pmovmskb %xmm4,%rcx
619
620 # Tests for op imm8, xmm, regq/mem32
621         extractps $100,%xmm4,%rcx
622         extractps $100,%xmm4,(%rcx)
623 # Tests for op imm8, xmm, regl/mem32
624         pextrd $100,%xmm4,%ecx
625         pextrd $100,%xmm4,(%rcx)
626         extractps $100,%xmm4,%ecx
627         extractps $100,%xmm4,(%rcx)
628
629 # Tests for op regl/mem32, xmm[, xmm]
630         cvtsi2sd %ecx,%xmm4
631         cvtsi2sd (%rcx),%xmm4
632         cvtsi2ss %ecx,%xmm4
633         cvtsi2ss (%rcx),%xmm4
634
635 # Tests for op imm8, xmm/mem32, xmm[, xmm]
636         cmpss $100,%xmm4,%xmm6
637         cmpss $100,(%rcx),%xmm6
638         insertps $100,%xmm4,%xmm6
639         insertps $100,(%rcx),%xmm6
640         roundss $100,%xmm4,%xmm6
641         roundss $100,(%rcx),%xmm6
642
643 # Tests for op xmm/m16, xmm
644         pmovsxbq %xmm4,%xmm6
645         pmovsxbq (%rcx),%xmm4
646         pmovzxbq %xmm4,%xmm6
647         pmovzxbq (%rcx),%xmm4
648
649 # Tests for op imm8, xmm, regl/mem16
650         pextrw $100,%xmm4,%ecx
651         pextrw $100,%xmm4,(%rcx)
652
653 # Tests for op imm8, xmm, regq/mem16
654         pextrw $100,%xmm4,%rcx
655         pextrw $100,%xmm4,(%rcx)
656
657 # Tests for op imm8, regl/mem16, xmm[, xmm]
658         pinsrw $100,%ecx,%xmm4
659         pinsrw $100,(%rcx),%xmm4
660
661
662         pinsrw $100,%rcx,%xmm4
663         pinsrw $100,(%rcx),%xmm4
664
665 # Tests for op imm8, xmm, regl/mem8
666         pextrb $100,%xmm4,%ecx
667         pextrb $100,%xmm4,(%rcx)
668
669 # Tests for op imm8, regl/mem8, xmm[, xmm]
670         pinsrb $100,%ecx,%xmm4
671         pinsrb $100,(%rcx),%xmm4
672
673 # Tests for op imm8, xmm, regq
674         pextrw $100,%xmm4,%rcx
675 # Tests for op imm8, xmm, regq/mem8
676         pextrb $100,%xmm4,%rcx
677         pextrb $100,%xmm4,(%rcx)
678
679 # Tests for op imm8, regl/mem8, xmm[, xmm]
680         pinsrb $100,%ecx,%xmm4
681         pinsrb $100,(%rcx),%xmm4
682
683 # Tests for op xmm, xmm
684         maskmovdqu %xmm4,%xmm6
685         movq %xmm4,%xmm6
686
687 # Tests for op xmm, regl
688         movmskpd %xmm4,%ecx
689         movmskps %xmm4,%ecx
690         pmovmskb %xmm4,%ecx
691 # Tests for op xmm, xmm[, xmm]
692         movhlps %xmm4,%xmm6
693         movlhps %xmm4,%xmm6
694         movsd %xmm4,%xmm6
695         movss %xmm4,%xmm6
696
697 # Tests for op imm8, xmm[, xmm]
698         pslld $100,%xmm4
699         pslldq $100,%xmm4
700         psllq $100,%xmm4
701         psllw $100,%xmm4
702         psrad $100,%xmm4
703         psraw $100,%xmm4
704         psrld $100,%xmm4
705         psrldq $100,%xmm4
706         psrlq $100,%xmm4
707         psrlw $100,%xmm4
708
709 # Tests for op imm8, xmm, regl
710         pextrw $100,%xmm4,%ecx
711
712
713         .intel_syntax noprefix
714 # Tests for op mem64
715         ldmxcsr DWORD PTR [rcx]
716         stmxcsr DWORD PTR [rcx]
717
718 # Tests for op xmm/mem128, xmm
719         cvtdq2ps xmm6,xmm4
720         cvtdq2ps xmm4,XMMWORD PTR [rcx]
721         cvtpd2dq xmm6,xmm4
722         cvtpd2dq xmm4,XMMWORD PTR [rcx]
723         cvtpd2ps xmm6,xmm4
724         cvtpd2ps xmm4,XMMWORD PTR [rcx]
725         cvtps2dq xmm6,xmm4
726         cvtps2dq xmm4,XMMWORD PTR [rcx]
727         cvttpd2dq xmm6,xmm4
728         cvttpd2dq xmm4,XMMWORD PTR [rcx]
729         cvttps2dq xmm6,xmm4
730         cvttps2dq xmm4,XMMWORD PTR [rcx]
731         movapd xmm6,xmm4
732         movapd xmm4,XMMWORD PTR [rcx]
733         movaps xmm6,xmm4
734         movaps xmm4,XMMWORD PTR [rcx]
735         movdqa xmm6,xmm4
736         movdqa xmm4,XMMWORD PTR [rcx]
737         movdqu xmm6,xmm4
738         movdqu xmm4,XMMWORD PTR [rcx]
739         movshdup xmm6,xmm4
740         movshdup xmm4,XMMWORD PTR [rcx]
741         movsldup xmm6,xmm4
742         movsldup xmm4,XMMWORD PTR [rcx]
743         movupd xmm6,xmm4
744         movupd xmm4,XMMWORD PTR [rcx]
745         movups xmm6,xmm4
746         movups xmm4,XMMWORD PTR [rcx]
747         pabsb xmm6,xmm4
748         pabsb xmm4,XMMWORD PTR [rcx]
749         pabsw xmm6,xmm4
750         pabsw xmm4,XMMWORD PTR [rcx]
751         pabsd xmm6,xmm4
752         pabsd xmm4,XMMWORD PTR [rcx]
753         phminposuw xmm6,xmm4
754         phminposuw xmm4,XMMWORD PTR [rcx]
755         ptest xmm6,xmm4
756         ptest xmm4,XMMWORD PTR [rcx]
757         rcpps xmm6,xmm4
758         rcpps xmm4,XMMWORD PTR [rcx]
759         rsqrtps xmm6,xmm4
760         rsqrtps xmm4,XMMWORD PTR [rcx]
761         sqrtpd xmm6,xmm4
762         sqrtpd xmm4,XMMWORD PTR [rcx]
763         sqrtps xmm6,xmm4
764         sqrtps xmm4,XMMWORD PTR [rcx]
765         aesimc xmm6,xmm4
766         aesimc xmm4,XMMWORD PTR [rcx]
767
768 # Tests for op xmm, xmm/mem128
769         movapd xmm6,xmm4
770         movapd XMMWORD PTR [rcx],xmm4
771         movaps xmm6,xmm4
772         movaps XMMWORD PTR [rcx],xmm4
773         movdqa xmm6,xmm4
774         movdqa XMMWORD PTR [rcx],xmm4
775         movdqu xmm6,xmm4
776         movdqu XMMWORD PTR [rcx],xmm4
777         movupd xmm6,xmm4
778         movupd XMMWORD PTR [rcx],xmm4
779         movups xmm6,xmm4
780         movups XMMWORD PTR [rcx],xmm4
781
782 # Tests for op mem128, xmm
783         lddqu xmm4,XMMWORD PTR [rcx]
784         movntdqa xmm4,XMMWORD PTR [rcx]
785
786 # Tests for op xmm, mem128
787         movntdq XMMWORD PTR [rcx],xmm4
788         movntpd XMMWORD PTR [rcx],xmm4
789         movntps XMMWORD PTR [rcx],xmm4
790
791 # Tests for op xmm/mem128, xmm[, xmm]
792         addpd xmm6,xmm4
793         addpd xmm6,XMMWORD PTR [rcx]
794         addps xmm6,xmm4
795         addps xmm6,XMMWORD PTR [rcx]
796         addsubpd xmm6,xmm4
797         addsubpd xmm6,XMMWORD PTR [rcx]
798         addsubps xmm6,xmm4
799         addsubps xmm6,XMMWORD PTR [rcx]
800         andnpd xmm6,xmm4
801         andnpd xmm6,XMMWORD PTR [rcx]
802         andnps xmm6,xmm4
803         andnps xmm6,XMMWORD PTR [rcx]
804         andpd xmm6,xmm4
805         andpd xmm6,XMMWORD PTR [rcx]
806         andps xmm6,xmm4
807         andps xmm6,XMMWORD PTR [rcx]
808         divpd xmm6,xmm4
809         divpd xmm6,XMMWORD PTR [rcx]
810         divps xmm6,xmm4
811         divps xmm6,XMMWORD PTR [rcx]
812         haddpd xmm6,xmm4
813         haddpd xmm6,XMMWORD PTR [rcx]
814         haddps xmm6,xmm4
815         haddps xmm6,XMMWORD PTR [rcx]
816         hsubpd xmm6,xmm4
817         hsubpd xmm6,XMMWORD PTR [rcx]
818         hsubps xmm6,xmm4
819         hsubps xmm6,XMMWORD PTR [rcx]
820         maxpd xmm6,xmm4
821         maxpd xmm6,XMMWORD PTR [rcx]
822         maxps xmm6,xmm4
823         maxps xmm6,XMMWORD PTR [rcx]
824         minpd xmm6,xmm4
825         minpd xmm6,XMMWORD PTR [rcx]
826         minps xmm6,xmm4
827         minps xmm6,XMMWORD PTR [rcx]
828         mulpd xmm6,xmm4
829         mulpd xmm6,XMMWORD PTR [rcx]
830         mulps xmm6,xmm4
831         mulps xmm6,XMMWORD PTR [rcx]
832         orpd xmm6,xmm4
833         orpd xmm6,XMMWORD PTR [rcx]
834         orps xmm6,xmm4
835         orps xmm6,XMMWORD PTR [rcx]
836         packsswb xmm6,xmm4
837         packsswb xmm6,XMMWORD PTR [rcx]
838         packssdw xmm6,xmm4
839         packssdw xmm6,XMMWORD PTR [rcx]
840         packuswb xmm6,xmm4
841         packuswb xmm6,XMMWORD PTR [rcx]
842         packusdw xmm6,xmm4
843         packusdw xmm6,XMMWORD PTR [rcx]
844         paddb xmm6,xmm4
845         paddb xmm6,XMMWORD PTR [rcx]
846         paddw xmm6,xmm4
847         paddw xmm6,XMMWORD PTR [rcx]
848         paddd xmm6,xmm4
849         paddd xmm6,XMMWORD PTR [rcx]
850         paddq xmm6,xmm4
851         paddq xmm6,XMMWORD PTR [rcx]
852         paddsb xmm6,xmm4
853         paddsb xmm6,XMMWORD PTR [rcx]
854         paddsw xmm6,xmm4
855         paddsw xmm6,XMMWORD PTR [rcx]
856         paddusb xmm6,xmm4
857         paddusb xmm6,XMMWORD PTR [rcx]
858         paddusw xmm6,xmm4
859         paddusw xmm6,XMMWORD PTR [rcx]
860         pand xmm6,xmm4
861         pand xmm6,XMMWORD PTR [rcx]
862         pandn xmm6,xmm4
863         pandn xmm6,XMMWORD PTR [rcx]
864         pavgb xmm6,xmm4
865         pavgb xmm6,XMMWORD PTR [rcx]
866         pavgw xmm6,xmm4
867         pavgw xmm6,XMMWORD PTR [rcx]
868         pclmullqlqdq xmm6,xmm4
869         pclmullqlqdq xmm6,XMMWORD PTR [rcx]
870         pclmulhqlqdq xmm6,xmm4
871         pclmulhqlqdq xmm6,XMMWORD PTR [rcx]
872         pclmullqhqdq xmm6,xmm4
873         pclmullqhqdq xmm6,XMMWORD PTR [rcx]
874         pclmulhqhqdq xmm6,xmm4
875         pclmulhqhqdq xmm6,XMMWORD PTR [rcx]
876         pcmpeqb xmm6,xmm4
877         pcmpeqb xmm6,XMMWORD PTR [rcx]
878         pcmpeqw xmm6,xmm4
879         pcmpeqw xmm6,XMMWORD PTR [rcx]
880         pcmpeqd xmm6,xmm4
881         pcmpeqd xmm6,XMMWORD PTR [rcx]
882         pcmpeqq xmm6,xmm4
883         pcmpeqq xmm6,XMMWORD PTR [rcx]
884         pcmpgtb xmm6,xmm4
885         pcmpgtb xmm6,XMMWORD PTR [rcx]
886         pcmpgtw xmm6,xmm4
887         pcmpgtw xmm6,XMMWORD PTR [rcx]
888         pcmpgtd xmm6,xmm4
889         pcmpgtd xmm6,XMMWORD PTR [rcx]
890         pcmpgtq xmm6,xmm4
891         pcmpgtq xmm6,XMMWORD PTR [rcx]
892         phaddw xmm6,xmm4
893         phaddw xmm6,XMMWORD PTR [rcx]
894         phaddd xmm6,xmm4
895         phaddd xmm6,XMMWORD PTR [rcx]
896         phaddsw xmm6,xmm4
897         phaddsw xmm6,XMMWORD PTR [rcx]
898         phsubw xmm6,xmm4
899         phsubw xmm6,XMMWORD PTR [rcx]
900         phsubd xmm6,xmm4
901         phsubd xmm6,XMMWORD PTR [rcx]
902         phsubsw xmm6,xmm4
903         phsubsw xmm6,XMMWORD PTR [rcx]
904         pmaddwd xmm6,xmm4
905         pmaddwd xmm6,XMMWORD PTR [rcx]
906         pmaddubsw xmm6,xmm4
907         pmaddubsw xmm6,XMMWORD PTR [rcx]
908         pmaxsb xmm6,xmm4
909         pmaxsb xmm6,XMMWORD PTR [rcx]
910         pmaxsw xmm6,xmm4
911         pmaxsw xmm6,XMMWORD PTR [rcx]
912         pmaxsd xmm6,xmm4
913         pmaxsd xmm6,XMMWORD PTR [rcx]
914         pmaxub xmm6,xmm4
915         pmaxub xmm6,XMMWORD PTR [rcx]
916         pmaxuw xmm6,xmm4
917         pmaxuw xmm6,XMMWORD PTR [rcx]
918         pmaxud xmm6,xmm4
919         pmaxud xmm6,XMMWORD PTR [rcx]
920         pminsb xmm6,xmm4
921         pminsb xmm6,XMMWORD PTR [rcx]
922         pminsw xmm6,xmm4
923         pminsw xmm6,XMMWORD PTR [rcx]
924         pminsd xmm6,xmm4
925         pminsd xmm6,XMMWORD PTR [rcx]
926         pminub xmm6,xmm4
927         pminub xmm6,XMMWORD PTR [rcx]
928         pminuw xmm6,xmm4
929         pminuw xmm6,XMMWORD PTR [rcx]
930         pminud xmm6,xmm4
931         pminud xmm6,XMMWORD PTR [rcx]
932         pmulhuw xmm6,xmm4
933         pmulhuw xmm6,XMMWORD PTR [rcx]
934         pmulhrsw xmm6,xmm4
935         pmulhrsw xmm6,XMMWORD PTR [rcx]
936         pmulhw xmm6,xmm4
937         pmulhw xmm6,XMMWORD PTR [rcx]
938         pmullw xmm6,xmm4
939         pmullw xmm6,XMMWORD PTR [rcx]
940         pmulld xmm6,xmm4
941         pmulld xmm6,XMMWORD PTR [rcx]
942         pmuludq xmm6,xmm4
943         pmuludq xmm6,XMMWORD PTR [rcx]
944         pmuldq xmm6,xmm4
945         pmuldq xmm6,XMMWORD PTR [rcx]
946         por xmm6,xmm4
947         por xmm6,XMMWORD PTR [rcx]
948         psadbw xmm6,xmm4
949         psadbw xmm6,XMMWORD PTR [rcx]
950         pshufb xmm6,xmm4
951         pshufb xmm6,XMMWORD PTR [rcx]
952         psignb xmm6,xmm4
953         psignb xmm6,XMMWORD PTR [rcx]
954         psignw xmm6,xmm4
955         psignw xmm6,XMMWORD PTR [rcx]
956         psignd xmm6,xmm4
957         psignd xmm6,XMMWORD PTR [rcx]
958         psllw xmm6,xmm4
959         psllw xmm6,XMMWORD PTR [rcx]
960         pslld xmm6,xmm4
961         pslld xmm6,XMMWORD PTR [rcx]
962         psllq xmm6,xmm4
963         psllq xmm6,XMMWORD PTR [rcx]
964         psraw xmm6,xmm4
965         psraw xmm6,XMMWORD PTR [rcx]
966         psrad xmm6,xmm4
967         psrad xmm6,XMMWORD PTR [rcx]
968         psrlw xmm6,xmm4
969         psrlw xmm6,XMMWORD PTR [rcx]
970         psrld xmm6,xmm4
971         psrld xmm6,XMMWORD PTR [rcx]
972         psrlq xmm6,xmm4
973         psrlq xmm6,XMMWORD PTR [rcx]
974         psubb xmm6,xmm4
975         psubb xmm6,XMMWORD PTR [rcx]
976         psubw xmm6,xmm4
977         psubw xmm6,XMMWORD PTR [rcx]
978         psubd xmm6,xmm4
979         psubd xmm6,XMMWORD PTR [rcx]
980         psubq xmm6,xmm4
981         psubq xmm6,XMMWORD PTR [rcx]
982         psubsb xmm6,xmm4
983         psubsb xmm6,XMMWORD PTR [rcx]
984         psubsw xmm6,xmm4
985         psubsw xmm6,XMMWORD PTR [rcx]
986         psubusb xmm6,xmm4
987         psubusb xmm6,XMMWORD PTR [rcx]
988         psubusw xmm6,xmm4
989         psubusw xmm6,XMMWORD PTR [rcx]
990         punpckhbw xmm6,xmm4
991         punpckhbw xmm6,XMMWORD PTR [rcx]
992         punpckhwd xmm6,xmm4
993         punpckhwd xmm6,XMMWORD PTR [rcx]
994         punpckhdq xmm6,xmm4
995         punpckhdq xmm6,XMMWORD PTR [rcx]
996         punpckhqdq xmm6,xmm4
997         punpckhqdq xmm6,XMMWORD PTR [rcx]
998         punpcklbw xmm6,xmm4
999         punpcklbw xmm6,XMMWORD PTR [rcx]
1000         punpcklwd xmm6,xmm4
1001         punpcklwd xmm6,XMMWORD PTR [rcx]
1002         punpckldq xmm6,xmm4
1003         punpckldq xmm6,XMMWORD PTR [rcx]
1004         punpcklqdq xmm6,xmm4
1005         punpcklqdq xmm6,XMMWORD PTR [rcx]
1006         pxor xmm6,xmm4
1007         pxor xmm6,XMMWORD PTR [rcx]
1008         subpd xmm6,xmm4
1009         subpd xmm6,XMMWORD PTR [rcx]
1010         subps xmm6,xmm4
1011         subps xmm6,XMMWORD PTR [rcx]
1012         unpckhpd xmm6,xmm4
1013         unpckhpd xmm6,XMMWORD PTR [rcx]
1014         unpckhps xmm6,xmm4
1015         unpckhps xmm6,XMMWORD PTR [rcx]
1016         unpcklpd xmm6,xmm4
1017         unpcklpd xmm6,XMMWORD PTR [rcx]
1018         unpcklps xmm6,xmm4
1019         unpcklps xmm6,XMMWORD PTR [rcx]
1020         xorpd xmm6,xmm4
1021         xorpd xmm6,XMMWORD PTR [rcx]
1022         xorps xmm6,xmm4
1023         xorps xmm6,XMMWORD PTR [rcx]
1024         aesenc xmm6,xmm4
1025         aesenc xmm6,XMMWORD PTR [rcx]
1026         aesenclast xmm6,xmm4
1027         aesenclast xmm6,XMMWORD PTR [rcx]
1028         aesdec xmm6,xmm4
1029         aesdec xmm6,XMMWORD PTR [rcx]
1030         aesdeclast xmm6,xmm4
1031         aesdeclast xmm6,XMMWORD PTR [rcx]
1032         cmpeqpd xmm6,xmm4
1033         cmpeqpd xmm6,XMMWORD PTR [rcx]
1034         cmpeqps xmm6,xmm4
1035         cmpeqps xmm6,XMMWORD PTR [rcx]
1036         cmpltpd xmm6,xmm4
1037         cmpltpd xmm6,XMMWORD PTR [rcx]
1038         cmpltps xmm6,xmm4
1039         cmpltps xmm6,XMMWORD PTR [rcx]
1040         cmplepd xmm6,xmm4
1041         cmplepd xmm6,XMMWORD PTR [rcx]
1042         cmpleps xmm6,xmm4
1043         cmpleps xmm6,XMMWORD PTR [rcx]
1044         cmpunordpd xmm6,xmm4
1045         cmpunordpd xmm6,XMMWORD PTR [rcx]
1046         cmpunordps xmm6,xmm4
1047         cmpunordps xmm6,XMMWORD PTR [rcx]
1048         cmpneqpd xmm6,xmm4
1049         cmpneqpd xmm6,XMMWORD PTR [rcx]
1050         cmpneqps xmm6,xmm4
1051         cmpneqps xmm6,XMMWORD PTR [rcx]
1052         cmpnltpd xmm6,xmm4
1053         cmpnltpd xmm6,XMMWORD PTR [rcx]
1054         cmpnltps xmm6,xmm4
1055         cmpnltps xmm6,XMMWORD PTR [rcx]
1056         cmpnlepd xmm6,xmm4
1057         cmpnlepd xmm6,XMMWORD PTR [rcx]
1058         cmpnleps xmm6,xmm4
1059         cmpnleps xmm6,XMMWORD PTR [rcx]
1060         cmpordpd xmm6,xmm4
1061         cmpordpd xmm6,XMMWORD PTR [rcx]
1062         cmpordps xmm6,xmm4
1063         cmpordps xmm6,XMMWORD PTR [rcx]
1064
1065 # Tests for op imm8, xmm/mem128, xmm
1066         aeskeygenassist xmm6,xmm4,100
1067         aeskeygenassist xmm6,XMMWORD PTR [rcx],100
1068         pcmpestri xmm6,xmm4,100
1069         pcmpestri xmm6,XMMWORD PTR [rcx],100
1070         pcmpestrm xmm6,xmm4,100
1071         pcmpestrm xmm6,XMMWORD PTR [rcx],100
1072         pcmpistri xmm6,xmm4,100
1073         pcmpistri xmm6,XMMWORD PTR [rcx],100
1074         pcmpistrm xmm6,xmm4,100
1075         pcmpistrm xmm6,XMMWORD PTR [rcx],100
1076         pshufd xmm6,xmm4,100
1077         pshufd xmm6,XMMWORD PTR [rcx],100
1078         pshufhw xmm6,xmm4,100
1079         pshufhw xmm6,XMMWORD PTR [rcx],100
1080         pshuflw xmm6,xmm4,100
1081         pshuflw xmm6,XMMWORD PTR [rcx],100
1082         roundpd xmm6,xmm4,100
1083         roundpd xmm6,XMMWORD PTR [rcx],100
1084         roundps xmm6,xmm4,100
1085         roundps xmm6,XMMWORD PTR [rcx],100
1086
1087 # Tests for op imm8, xmm/mem128, xmm[, xmm]
1088         blendpd xmm6,xmm4,100
1089         blendpd xmm6,XMMWORD PTR [rcx],100
1090         blendps xmm6,xmm4,100
1091         blendps xmm6,XMMWORD PTR [rcx],100
1092         cmppd xmm6,xmm4,100
1093         cmppd xmm6,XMMWORD PTR [rcx],100
1094         cmpps xmm6,xmm4,100
1095         cmpps xmm6,XMMWORD PTR [rcx],100
1096         dppd xmm6,xmm4,100
1097         dppd xmm6,XMMWORD PTR [rcx],100
1098         dpps xmm6,xmm4,100
1099         dpps xmm6,XMMWORD PTR [rcx],100
1100         mpsadbw xmm6,xmm4,100
1101         mpsadbw xmm6,XMMWORD PTR [rcx],100
1102         palignr xmm6,xmm4,100
1103         palignr xmm6,XMMWORD PTR [rcx],100
1104         pblendw xmm6,xmm4,100
1105         pblendw xmm6,XMMWORD PTR [rcx],100
1106         pclmulqdq xmm6,xmm4,100
1107         pclmulqdq xmm6,XMMWORD PTR [rcx],100
1108         shufpd xmm6,xmm4,100
1109         shufpd xmm6,XMMWORD PTR [rcx],100
1110         shufps xmm6,xmm4,100
1111         shufps xmm6,XMMWORD PTR [rcx],100
1112
1113 # Tests for op xmm0, xmm/mem128, xmm[, xmm]
1114         blendvpd xmm6,xmm4,xmm0
1115         blendvpd xmm6,XMMWORD PTR [rcx],xmm0
1116         blendvpd xmm6,xmm4
1117         blendvpd xmm6,XMMWORD PTR [rcx]
1118         blendvps xmm6,xmm4,xmm0
1119         blendvps xmm6,XMMWORD PTR [rcx],xmm0
1120         blendvps xmm6,xmm4
1121         blendvps xmm6,XMMWORD PTR [rcx]
1122         pblendvb xmm6,xmm4,xmm0
1123         pblendvb xmm6,XMMWORD PTR [rcx],xmm0
1124         pblendvb xmm6,xmm4
1125         pblendvb xmm6,XMMWORD PTR [rcx]
1126
1127 # Tests for op xmm/mem64, xmm
1128         comisd xmm6,xmm4
1129         comisd xmm4,QWORD PTR [rcx]
1130         cvtdq2pd xmm6,xmm4
1131         cvtdq2pd xmm4,QWORD PTR [rcx]
1132         cvtps2pd xmm6,xmm4
1133         cvtps2pd xmm4,QWORD PTR [rcx]
1134         movddup xmm6,xmm4
1135         movddup xmm4,QWORD PTR [rcx]
1136         pmovsxbw xmm6,xmm4
1137         pmovsxbw xmm4,QWORD PTR [rcx]
1138         pmovsxwd xmm6,xmm4
1139         pmovsxwd xmm4,QWORD PTR [rcx]
1140         pmovsxdq xmm6,xmm4
1141         pmovsxdq xmm4,QWORD PTR [rcx]
1142         pmovzxbw xmm6,xmm4
1143         pmovzxbw xmm4,QWORD PTR [rcx]
1144         pmovzxwd xmm6,xmm4
1145         pmovzxwd xmm4,QWORD PTR [rcx]
1146         pmovzxdq xmm6,xmm4
1147         pmovzxdq xmm4,QWORD PTR [rcx]
1148         ucomisd xmm6,xmm4
1149         ucomisd xmm4,QWORD PTR [rcx]
1150
1151 # Tests for op mem64, xmm
1152         movsd xmm4,QWORD PTR [rcx]
1153
1154 # Tests for op xmm, mem64
1155         movlpd QWORD PTR [rcx],xmm4
1156         movlps QWORD PTR [rcx],xmm4
1157         movhpd QWORD PTR [rcx],xmm4
1158         movhps QWORD PTR [rcx],xmm4
1159         movsd QWORD PTR [rcx],xmm4
1160
1161 # Tests for op xmm, regq/mem64
1162 # Tests for op regq/mem64, xmm
1163         movd rcx,xmm4
1164         movd xmm4,rcx
1165         movq rcx,xmm4
1166         movq xmm4,rcx
1167         movq QWORD PTR [rcx],xmm4
1168         movq xmm4,QWORD PTR [rcx]
1169
1170 # Tests for op xmm/mem64, regl
1171         cvtsd2si ecx,xmm4
1172         cvtsd2si ecx,QWORD PTR [rcx]
1173         cvttsd2si ecx,xmm4
1174         cvttsd2si ecx,QWORD PTR [rcx]
1175
1176 # Tests for op xmm/mem64, regq
1177         cvtsd2si rcx,xmm4
1178         cvtsd2si rcx,QWORD PTR [rcx]
1179         cvttsd2si rcx,xmm4
1180         cvttsd2si rcx,QWORD PTR [rcx]
1181
1182 # Tests for op regq/mem64, xmm[, xmm]
1183         cvtsi2sdq xmm4,rcx
1184         cvtsi2sdq xmm4,QWORD PTR [rcx]
1185         cvtsi2ssq xmm4,rcx
1186         cvtsi2ssq xmm4,QWORD PTR [rcx]
1187
1188 # Tests for op imm8, regq/mem64, xmm[, xmm]
1189         pinsrq xmm4,rcx,100
1190         pinsrq xmm4,QWORD PTR [rcx],100
1191
1192 # Testsf for op imm8, xmm, regq/mem64
1193         pextrq rcx,xmm4,100
1194         pextrq QWORD PTR [rcx],xmm4,100
1195
1196 # Tests for op mem64, xmm[, xmm]
1197         movlpd xmm4,QWORD PTR [rcx]
1198         movlps xmm4,QWORD PTR [rcx]
1199         movhpd xmm4,QWORD PTR [rcx]
1200         movhps xmm4,QWORD PTR [rcx]
1201
1202 # Tests for op imm8, xmm/mem64, xmm[, xmm]
1203         cmpsd xmm6,xmm4,100
1204         cmpsd xmm6,QWORD PTR [rcx],100
1205         roundsd xmm6,xmm4,100
1206         roundsd xmm6,QWORD PTR [rcx],100
1207
1208 # Tests for op xmm/mem64, xmm[, xmm]
1209         addsd xmm6,xmm4
1210         addsd xmm6,QWORD PTR [rcx]
1211         cvtsd2ss xmm6,xmm4
1212         cvtsd2ss xmm6,QWORD PTR [rcx]
1213         divsd xmm6,xmm4
1214         divsd xmm6,QWORD PTR [rcx]
1215         maxsd xmm6,xmm4
1216         maxsd xmm6,QWORD PTR [rcx]
1217         minsd xmm6,xmm4
1218         minsd xmm6,QWORD PTR [rcx]
1219         mulsd xmm6,xmm4
1220         mulsd xmm6,QWORD PTR [rcx]
1221         sqrtsd xmm6,xmm4
1222         sqrtsd xmm6,QWORD PTR [rcx]
1223         subsd xmm6,xmm4
1224         subsd xmm6,QWORD PTR [rcx]
1225         cmpeqsd xmm6,xmm4
1226         cmpeqsd xmm6,QWORD PTR [rcx]
1227         cmpltsd xmm6,xmm4
1228         cmpltsd xmm6,QWORD PTR [rcx]
1229         cmplesd xmm6,xmm4
1230         cmplesd xmm6,QWORD PTR [rcx]
1231         cmpunordsd xmm6,xmm4
1232         cmpunordsd xmm6,QWORD PTR [rcx]
1233         cmpneqsd xmm6,xmm4
1234         cmpneqsd xmm6,QWORD PTR [rcx]
1235         cmpnltsd xmm6,xmm4
1236         cmpnltsd xmm6,QWORD PTR [rcx]
1237         cmpnlesd xmm6,xmm4
1238         cmpnlesd xmm6,QWORD PTR [rcx]
1239         cmpordsd xmm6,xmm4
1240         cmpordsd xmm6,QWORD PTR [rcx]
1241
1242 # Tests for op xmm/mem32, xmm[, xmm]
1243         addss xmm6,xmm4
1244         addss xmm6,DWORD PTR [rcx]
1245         cvtss2sd xmm6,xmm4
1246         cvtss2sd xmm6,DWORD PTR [rcx]
1247         divss xmm6,xmm4
1248         divss xmm6,DWORD PTR [rcx]
1249         maxss xmm6,xmm4
1250         maxss xmm6,DWORD PTR [rcx]
1251         minss xmm6,xmm4
1252         minss xmm6,DWORD PTR [rcx]
1253         mulss xmm6,xmm4
1254         mulss xmm6,DWORD PTR [rcx]
1255         rcpss xmm6,xmm4
1256         rcpss xmm6,DWORD PTR [rcx]
1257         rsqrtss xmm6,xmm4
1258         rsqrtss xmm6,DWORD PTR [rcx]
1259         sqrtss xmm6,xmm4
1260         sqrtss xmm6,DWORD PTR [rcx]
1261         subss xmm6,xmm4
1262         subss xmm6,DWORD PTR [rcx]
1263         cmpeqss xmm6,xmm4
1264         cmpeqss xmm6,DWORD PTR [rcx]
1265         cmpltss xmm6,xmm4
1266         cmpltss xmm6,DWORD PTR [rcx]
1267         cmpless xmm6,xmm4
1268         cmpless xmm6,DWORD PTR [rcx]
1269         cmpunordss xmm6,xmm4
1270         cmpunordss xmm6,DWORD PTR [rcx]
1271         cmpneqss xmm6,xmm4
1272         cmpneqss xmm6,DWORD PTR [rcx]
1273         cmpnltss xmm6,xmm4
1274         cmpnltss xmm6,DWORD PTR [rcx]
1275         cmpnless xmm6,xmm4
1276         cmpnless xmm6,DWORD PTR [rcx]
1277         cmpordss xmm6,xmm4
1278         cmpordss xmm6,DWORD PTR [rcx]
1279
1280 # Tests for op xmm/mem32, xmm
1281         comiss xmm6,xmm4
1282         comiss xmm4,DWORD PTR [rcx]
1283         pmovsxbd xmm6,xmm4
1284         pmovsxbd xmm4,DWORD PTR [rcx]
1285         pmovsxwq xmm6,xmm4
1286         pmovsxwq xmm4,DWORD PTR [rcx]
1287         pmovzxbd xmm6,xmm4
1288         pmovzxbd xmm4,DWORD PTR [rcx]
1289         pmovzxwq xmm6,xmm4
1290         pmovzxwq xmm4,DWORD PTR [rcx]
1291         ucomiss xmm6,xmm4
1292         ucomiss xmm4,DWORD PTR [rcx]
1293
1294 # Tests for op mem32, xmm
1295         movss xmm4,DWORD PTR [rcx]
1296
1297 # Tests for op xmm, mem32
1298         movss DWORD PTR [rcx],xmm4
1299
1300 # Tests for op xmm, regl/mem32
1301 # Tests for op regl/mem32, xmm
1302         movd ecx,xmm4
1303         movd DWORD PTR [rcx],xmm4
1304         movd xmm4,ecx
1305         movd xmm4,DWORD PTR [rcx]
1306
1307 # Tests for op xmm/mem32, regl
1308         cvtss2si ecx,xmm4
1309         cvtss2si ecx,DWORD PTR [rcx]
1310         cvttss2si ecx,xmm4
1311         cvttss2si ecx,DWORD PTR [rcx]
1312
1313 # Tests for op xmm/mem32, regq
1314         cvtss2si rcx,xmm4
1315         cvtss2si rcx,DWORD PTR [rcx]
1316         cvttss2si rcx,xmm4
1317         cvttss2si rcx,DWORD PTR [rcx]
1318
1319 # Tests for op xmm, regq
1320         movmskpd rcx,xmm4
1321         movmskps rcx,xmm4
1322         pmovmskb rcx,xmm4
1323
1324 # Tests for op imm8, xmm, regq/mem32
1325         extractps rcx,xmm4,100
1326         extractps DWORD PTR [rcx],xmm4,100
1327 # Tests for op imm8, xmm, regl/mem32
1328         pextrd ecx,xmm4,100
1329         pextrd DWORD PTR [rcx],xmm4,100
1330         extractps ecx,xmm4,100
1331         extractps DWORD PTR [rcx],xmm4,100
1332
1333 # Tests for op regl/mem32, xmm[, xmm]
1334         cvtsi2sd xmm4,ecx
1335         cvtsi2sd xmm4,DWORD PTR [rcx]
1336         cvtsi2ss xmm4,ecx
1337         cvtsi2ss xmm4,DWORD PTR [rcx]
1338
1339 # Tests for op imm8, xmm/mem32, xmm[, xmm]
1340         cmpss xmm6,xmm4,100
1341         cmpss xmm6,DWORD PTR [rcx],100
1342         insertps xmm6,xmm4,100
1343         insertps xmm6,DWORD PTR [rcx],100
1344         roundss xmm6,xmm4,100
1345         roundss xmm6,DWORD PTR [rcx],100
1346
1347 # Tests for op xmm/m16, xmm
1348         pmovsxbq xmm6,xmm4
1349         pmovsxbq xmm4,WORD PTR [rcx]
1350         pmovzxbq xmm6,xmm4
1351         pmovzxbq xmm4,WORD PTR [rcx]
1352
1353 # Tests for op imm8, xmm, regl/mem16
1354         pextrw ecx,xmm4,100
1355         pextrw WORD PTR [rcx],xmm4,100
1356
1357 # Tests for op imm8, xmm, regq/mem16
1358         pextrw rcx,xmm4,100
1359         pextrw WORD PTR [rcx],xmm4,100
1360
1361 # Tests for op imm8, regl/mem16, xmm[, xmm]
1362         pinsrw xmm4,ecx,100
1363         pinsrw xmm4,WORD PTR [rcx],100
1364
1365
1366         pinsrw xmm4,rcx,100
1367         pinsrw xmm4,WORD PTR [rcx],100
1368
1369 # Tests for op imm8, xmm, regl/mem8
1370         pextrb ecx,xmm4,100
1371         pextrb BYTE PTR [rcx],xmm4,100
1372
1373 # Tests for op imm8, regl/mem8, xmm[, xmm]
1374         pinsrb xmm4,ecx,100
1375         pinsrb xmm4,BYTE PTR [rcx],100
1376
1377 # Tests for op imm8, xmm, regq
1378         pextrw rcx,xmm4,100
1379 # Tests for op imm8, xmm, regq/mem8
1380         pextrb rcx,xmm4,100
1381         pextrb BYTE PTR [rcx],xmm4,100
1382
1383 # Tests for op imm8, regl/mem8, xmm[, xmm]
1384         pinsrb xmm4,ecx,100
1385         pinsrb xmm4,BYTE PTR [rcx],100
1386
1387 # Tests for op xmm, xmm
1388         maskmovdqu xmm6,xmm4
1389         movq xmm6,xmm4
1390
1391 # Tests for op xmm, regl
1392         movmskpd ecx,xmm4
1393         movmskps ecx,xmm4
1394         pmovmskb ecx,xmm4
1395 # Tests for op xmm, xmm[, xmm]
1396         movhlps xmm6,xmm4
1397         movlhps xmm6,xmm4
1398         movsd xmm6,xmm4
1399         movss xmm6,xmm4
1400
1401 # Tests for op imm8, xmm[, xmm]
1402         pslld xmm4,100
1403         pslldq xmm4,100
1404         psllq xmm4,100
1405         psllw xmm4,100
1406         psrad xmm4,100
1407         psraw xmm4,100
1408         psrld xmm4,100
1409         psrldq xmm4,100
1410         psrlq xmm4,100
1411         psrlw xmm4,100
1412
1413 # Tests for op imm8, xmm, regl
1414         pextrw ecx,xmm4,100
1415