Upload Tizen:Base source
[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         pcmpestrm $100,%xmm4,%xmm6
363         pcmpestrm $100,(%rcx),%xmm6
364         pcmpistri $100,%xmm4,%xmm6
365         pcmpistri $100,(%rcx),%xmm6
366         pcmpistrm $100,%xmm4,%xmm6
367         pcmpistrm $100,(%rcx),%xmm6
368         pshufd $100,%xmm4,%xmm6
369         pshufd $100,(%rcx),%xmm6
370         pshufhw $100,%xmm4,%xmm6
371         pshufhw $100,(%rcx),%xmm6
372         pshuflw $100,%xmm4,%xmm6
373         pshuflw $100,(%rcx),%xmm6
374         roundpd $100,%xmm4,%xmm6
375         roundpd $100,(%rcx),%xmm6
376         roundps $100,%xmm4,%xmm6
377         roundps $100,(%rcx),%xmm6
378
379 # Tests for op imm8, xmm/mem128, xmm[, xmm]
380         blendpd $100,%xmm4,%xmm6
381         blendpd $100,(%rcx),%xmm6
382         blendps $100,%xmm4,%xmm6
383         blendps $100,(%rcx),%xmm6
384         cmppd $100,%xmm4,%xmm6
385         cmppd $100,(%rcx),%xmm6
386         cmpps $100,%xmm4,%xmm6
387         cmpps $100,(%rcx),%xmm6
388         dppd $100,%xmm4,%xmm6
389         dppd $100,(%rcx),%xmm6
390         dpps $100,%xmm4,%xmm6
391         dpps $100,(%rcx),%xmm6
392         mpsadbw $100,%xmm4,%xmm6
393         mpsadbw $100,(%rcx),%xmm6
394         palignr $100,%xmm4,%xmm6
395         palignr $100,(%rcx),%xmm6
396         pblendw $100,%xmm4,%xmm6
397         pblendw $100,(%rcx),%xmm6
398         pclmulqdq $100,%xmm4,%xmm6
399         pclmulqdq $100,(%rcx),%xmm6
400         shufpd $100,%xmm4,%xmm6
401         shufpd $100,(%rcx),%xmm6
402         shufps $100,%xmm4,%xmm6
403         shufps $100,(%rcx),%xmm6
404
405 # Tests for op xmm0, xmm/mem128, xmm[, xmm]
406         blendvpd %xmm0,%xmm4,%xmm6
407         blendvpd %xmm0,(%rcx),%xmm6
408         blendvpd %xmm4,%xmm6
409         blendvpd (%rcx),%xmm6
410         blendvps %xmm0,%xmm4,%xmm6
411         blendvps %xmm0,(%rcx),%xmm6
412         blendvps %xmm4,%xmm6
413         blendvps (%rcx),%xmm6
414         pblendvb %xmm0,%xmm4,%xmm6
415         pblendvb %xmm0,(%rcx),%xmm6
416         pblendvb %xmm4,%xmm6
417         pblendvb (%rcx),%xmm6
418
419 # Tests for op xmm/mem64, xmm
420         comisd %xmm4,%xmm6
421         comisd (%rcx),%xmm4
422         cvtdq2pd %xmm4,%xmm6
423         cvtdq2pd (%rcx),%xmm4
424         cvtps2pd %xmm4,%xmm6
425         cvtps2pd (%rcx),%xmm4
426         movddup %xmm4,%xmm6
427         movddup (%rcx),%xmm4
428         pmovsxbw %xmm4,%xmm6
429         pmovsxbw (%rcx),%xmm4
430         pmovsxwd %xmm4,%xmm6
431         pmovsxwd (%rcx),%xmm4
432         pmovsxdq %xmm4,%xmm6
433         pmovsxdq (%rcx),%xmm4
434         pmovzxbw %xmm4,%xmm6
435         pmovzxbw (%rcx),%xmm4
436         pmovzxwd %xmm4,%xmm6
437         pmovzxwd (%rcx),%xmm4
438         pmovzxdq %xmm4,%xmm6
439         pmovzxdq (%rcx),%xmm4
440         ucomisd %xmm4,%xmm6
441         ucomisd (%rcx),%xmm4
442
443 # Tests for op mem64, xmm
444         movsd (%rcx),%xmm4
445
446 # Tests for op xmm, mem64
447         movlpd %xmm4,(%rcx)
448         movlps %xmm4,(%rcx)
449         movhpd %xmm4,(%rcx)
450         movhps %xmm4,(%rcx)
451         movsd %xmm4,(%rcx)
452
453 # Tests for op xmm, regq/mem64
454 # Tests for op regq/mem64, xmm
455         movd %xmm4,%rcx
456         movd %rcx,%xmm4
457         movq %xmm4,%rcx
458         movq %rcx,%xmm4
459         movq %xmm4,(%rcx)
460         movq (%rcx),%xmm4
461
462 # Tests for op xmm/mem64, regl
463         cvtsd2si %xmm4,%ecx
464         cvtsd2si (%rcx),%ecx
465         cvttsd2si %xmm4,%ecx
466         cvttsd2si (%rcx),%ecx
467
468 # Tests for op xmm/mem64, regq
469         cvtsd2si %xmm4,%rcx
470         cvtsd2si (%rcx),%rcx
471         cvttsd2si %xmm4,%rcx
472         cvttsd2si (%rcx),%rcx
473
474 # Tests for op regq/mem64, xmm[, xmm]
475         cvtsi2sdq %rcx,%xmm4
476         cvtsi2sdq (%rcx),%xmm4
477         cvtsi2ssq %rcx,%xmm4
478         cvtsi2ssq (%rcx),%xmm4
479
480 # Tests for op imm8, regq/mem64, xmm[, xmm]
481         pinsrq $100,%rcx,%xmm4
482         pinsrq $100,(%rcx),%xmm4
483
484 # Testsf for op imm8, xmm, regq/mem64
485         pextrq $100,%xmm4,%rcx
486         pextrq $100,%xmm4,(%rcx)
487
488 # Tests for op mem64, xmm[, xmm]
489         movlpd (%rcx),%xmm4
490         movlps (%rcx),%xmm4
491         movhpd (%rcx),%xmm4
492         movhps (%rcx),%xmm4
493
494 # Tests for op imm8, xmm/mem64, xmm[, xmm]
495         cmpsd $100,%xmm4,%xmm6
496         cmpsd $100,(%rcx),%xmm6
497         roundsd $100,%xmm4,%xmm6
498         roundsd $100,(%rcx),%xmm6
499
500 # Tests for op xmm/mem64, xmm[, xmm]
501         addsd %xmm4,%xmm6
502         addsd (%rcx),%xmm6
503         cvtsd2ss %xmm4,%xmm6
504         cvtsd2ss (%rcx),%xmm6
505         divsd %xmm4,%xmm6
506         divsd (%rcx),%xmm6
507         maxsd %xmm4,%xmm6
508         maxsd (%rcx),%xmm6
509         minsd %xmm4,%xmm6
510         minsd (%rcx),%xmm6
511         mulsd %xmm4,%xmm6
512         mulsd (%rcx),%xmm6
513         sqrtsd %xmm4,%xmm6
514         sqrtsd (%rcx),%xmm6
515         subsd %xmm4,%xmm6
516         subsd (%rcx),%xmm6
517         cmpeqsd %xmm4,%xmm6
518         cmpeqsd (%rcx),%xmm6
519         cmpltsd %xmm4,%xmm6
520         cmpltsd (%rcx),%xmm6
521         cmplesd %xmm4,%xmm6
522         cmplesd (%rcx),%xmm6
523         cmpunordsd %xmm4,%xmm6
524         cmpunordsd (%rcx),%xmm6
525         cmpneqsd %xmm4,%xmm6
526         cmpneqsd (%rcx),%xmm6
527         cmpnltsd %xmm4,%xmm6
528         cmpnltsd (%rcx),%xmm6
529         cmpnlesd %xmm4,%xmm6
530         cmpnlesd (%rcx),%xmm6
531         cmpordsd %xmm4,%xmm6
532         cmpordsd (%rcx),%xmm6
533
534 # Tests for op xmm/mem32, xmm[, xmm]
535         addss %xmm4,%xmm6
536         addss (%rcx),%xmm6
537         cvtss2sd %xmm4,%xmm6
538         cvtss2sd (%rcx),%xmm6
539         divss %xmm4,%xmm6
540         divss (%rcx),%xmm6
541         maxss %xmm4,%xmm6
542         maxss (%rcx),%xmm6
543         minss %xmm4,%xmm6
544         minss (%rcx),%xmm6
545         mulss %xmm4,%xmm6
546         mulss (%rcx),%xmm6
547         rcpss %xmm4,%xmm6
548         rcpss (%rcx),%xmm6
549         rsqrtss %xmm4,%xmm6
550         rsqrtss (%rcx),%xmm6
551         sqrtss %xmm4,%xmm6
552         sqrtss (%rcx),%xmm6
553         subss %xmm4,%xmm6
554         subss (%rcx),%xmm6
555         cmpeqss %xmm4,%xmm6
556         cmpeqss (%rcx),%xmm6
557         cmpltss %xmm4,%xmm6
558         cmpltss (%rcx),%xmm6
559         cmpless %xmm4,%xmm6
560         cmpless (%rcx),%xmm6
561         cmpunordss %xmm4,%xmm6
562         cmpunordss (%rcx),%xmm6
563         cmpneqss %xmm4,%xmm6
564         cmpneqss (%rcx),%xmm6
565         cmpnltss %xmm4,%xmm6
566         cmpnltss (%rcx),%xmm6
567         cmpnless %xmm4,%xmm6
568         cmpnless (%rcx),%xmm6
569         cmpordss %xmm4,%xmm6
570         cmpordss (%rcx),%xmm6
571
572 # Tests for op xmm/mem32, xmm
573         comiss %xmm4,%xmm6
574         comiss (%rcx),%xmm4
575         pmovsxbd %xmm4,%xmm6
576         pmovsxbd (%rcx),%xmm4
577         pmovsxwq %xmm4,%xmm6
578         pmovsxwq (%rcx),%xmm4
579         pmovzxbd %xmm4,%xmm6
580         pmovzxbd (%rcx),%xmm4
581         pmovzxwq %xmm4,%xmm6
582         pmovzxwq (%rcx),%xmm4
583         ucomiss %xmm4,%xmm6
584         ucomiss (%rcx),%xmm4
585
586 # Tests for op mem32, xmm
587         movss (%rcx),%xmm4
588
589 # Tests for op xmm, mem32
590         movss %xmm4,(%rcx)
591
592 # Tests for op xmm, regl/mem32
593 # Tests for op regl/mem32, xmm
594         movd %xmm4,%ecx
595         movd %xmm4,(%rcx)
596         movd %ecx,%xmm4
597         movd (%rcx),%xmm4
598
599 # Tests for op xmm/mem32, regl
600         cvtss2si %xmm4,%ecx
601         cvtss2si (%rcx),%ecx
602         cvttss2si %xmm4,%ecx
603         cvttss2si (%rcx),%ecx
604
605 # Tests for op xmm/mem32, regq
606         cvtss2si %xmm4,%rcx
607         cvtss2si (%rcx),%rcx
608         cvttss2si %xmm4,%rcx
609         cvttss2si (%rcx),%rcx
610
611 # Tests for op xmm, regq
612         movmskpd %xmm4,%rcx
613         movmskps %xmm4,%rcx
614         pmovmskb %xmm4,%rcx
615
616 # Tests for op imm8, xmm, regq/mem32
617         extractps $100,%xmm4,%rcx
618         extractps $100,%xmm4,(%rcx)
619 # Tests for op imm8, xmm, regl/mem32
620         pextrd $100,%xmm4,%ecx
621         pextrd $100,%xmm4,(%rcx)
622         extractps $100,%xmm4,%ecx
623         extractps $100,%xmm4,(%rcx)
624
625 # Tests for op regl/mem32, xmm[, xmm]
626         cvtsi2sd %ecx,%xmm4
627         cvtsi2sd (%rcx),%xmm4
628         cvtsi2ss %ecx,%xmm4
629         cvtsi2ss (%rcx),%xmm4
630
631 # Tests for op imm8, xmm/mem32, xmm[, xmm]
632         cmpss $100,%xmm4,%xmm6
633         cmpss $100,(%rcx),%xmm6
634         insertps $100,%xmm4,%xmm6
635         insertps $100,(%rcx),%xmm6
636         roundss $100,%xmm4,%xmm6
637         roundss $100,(%rcx),%xmm6
638
639 # Tests for op xmm/m16, xmm
640         pmovsxbq %xmm4,%xmm6
641         pmovsxbq (%rcx),%xmm4
642         pmovzxbq %xmm4,%xmm6
643         pmovzxbq (%rcx),%xmm4
644
645 # Tests for op imm8, xmm, regl/mem16
646         pextrw $100,%xmm4,%ecx
647         pextrw $100,%xmm4,(%rcx)
648
649 # Tests for op imm8, xmm, regq/mem16
650         pextrw $100,%xmm4,%rcx
651         pextrw $100,%xmm4,(%rcx)
652
653 # Tests for op imm8, regl/mem16, xmm[, xmm]
654         pinsrw $100,%ecx,%xmm4
655         pinsrw $100,(%rcx),%xmm4
656
657
658         pinsrw $100,%rcx,%xmm4
659         pinsrw $100,(%rcx),%xmm4
660
661 # Tests for op imm8, xmm, regl/mem8
662         pextrb $100,%xmm4,%ecx
663         pextrb $100,%xmm4,(%rcx)
664
665 # Tests for op imm8, regl/mem8, xmm[, xmm]
666         pinsrb $100,%ecx,%xmm4
667         pinsrb $100,(%rcx),%xmm4
668
669 # Tests for op imm8, xmm, regq
670         pextrw $100,%xmm4,%rcx
671 # Tests for op imm8, xmm, regq/mem8
672         pextrb $100,%xmm4,%rcx
673         pextrb $100,%xmm4,(%rcx)
674
675 # Tests for op imm8, regl/mem8, xmm[, xmm]
676         pinsrb $100,%ecx,%xmm4
677         pinsrb $100,(%rcx),%xmm4
678
679 # Tests for op xmm, xmm
680         maskmovdqu %xmm4,%xmm6
681         movq %xmm4,%xmm6
682
683 # Tests for op xmm, regl
684         movmskpd %xmm4,%ecx
685         movmskps %xmm4,%ecx
686         pmovmskb %xmm4,%ecx
687 # Tests for op xmm, xmm[, xmm]
688         movhlps %xmm4,%xmm6
689         movlhps %xmm4,%xmm6
690         movsd %xmm4,%xmm6
691         movss %xmm4,%xmm6
692
693 # Tests for op imm8, xmm[, xmm]
694         pslld $100,%xmm4
695         pslldq $100,%xmm4
696         psllq $100,%xmm4
697         psllw $100,%xmm4
698         psrad $100,%xmm4
699         psraw $100,%xmm4
700         psrld $100,%xmm4
701         psrldq $100,%xmm4
702         psrlq $100,%xmm4
703         psrlw $100,%xmm4
704
705 # Tests for op imm8, xmm, regl
706         pextrw $100,%xmm4,%ecx
707
708
709         .intel_syntax noprefix
710 # Tests for op mem64
711         ldmxcsr DWORD PTR [rcx]
712         stmxcsr DWORD PTR [rcx]
713
714 # Tests for op xmm/mem128, xmm
715         cvtdq2ps xmm6,xmm4
716         cvtdq2ps xmm4,XMMWORD PTR [rcx]
717         cvtpd2dq xmm6,xmm4
718         cvtpd2dq xmm4,XMMWORD PTR [rcx]
719         cvtpd2ps xmm6,xmm4
720         cvtpd2ps xmm4,XMMWORD PTR [rcx]
721         cvtps2dq xmm6,xmm4
722         cvtps2dq xmm4,XMMWORD PTR [rcx]
723         cvttpd2dq xmm6,xmm4
724         cvttpd2dq xmm4,XMMWORD PTR [rcx]
725         cvttps2dq xmm6,xmm4
726         cvttps2dq xmm4,XMMWORD PTR [rcx]
727         movapd xmm6,xmm4
728         movapd xmm4,XMMWORD PTR [rcx]
729         movaps xmm6,xmm4
730         movaps xmm4,XMMWORD PTR [rcx]
731         movdqa xmm6,xmm4
732         movdqa xmm4,XMMWORD PTR [rcx]
733         movdqu xmm6,xmm4
734         movdqu xmm4,XMMWORD PTR [rcx]
735         movshdup xmm6,xmm4
736         movshdup xmm4,XMMWORD PTR [rcx]
737         movsldup xmm6,xmm4
738         movsldup xmm4,XMMWORD PTR [rcx]
739         movupd xmm6,xmm4
740         movupd xmm4,XMMWORD PTR [rcx]
741         movups xmm6,xmm4
742         movups xmm4,XMMWORD PTR [rcx]
743         pabsb xmm6,xmm4
744         pabsb xmm4,XMMWORD PTR [rcx]
745         pabsw xmm6,xmm4
746         pabsw xmm4,XMMWORD PTR [rcx]
747         pabsd xmm6,xmm4
748         pabsd xmm4,XMMWORD PTR [rcx]
749         phminposuw xmm6,xmm4
750         phminposuw xmm4,XMMWORD PTR [rcx]
751         ptest xmm6,xmm4
752         ptest xmm4,XMMWORD PTR [rcx]
753         rcpps xmm6,xmm4
754         rcpps xmm4,XMMWORD PTR [rcx]
755         rsqrtps xmm6,xmm4
756         rsqrtps xmm4,XMMWORD PTR [rcx]
757         sqrtpd xmm6,xmm4
758         sqrtpd xmm4,XMMWORD PTR [rcx]
759         sqrtps xmm6,xmm4
760         sqrtps xmm4,XMMWORD PTR [rcx]
761         aesimc xmm6,xmm4
762         aesimc xmm4,XMMWORD PTR [rcx]
763
764 # Tests for op xmm, xmm/mem128
765         movapd xmm6,xmm4
766         movapd XMMWORD PTR [rcx],xmm4
767         movaps xmm6,xmm4
768         movaps XMMWORD PTR [rcx],xmm4
769         movdqa xmm6,xmm4
770         movdqa XMMWORD PTR [rcx],xmm4
771         movdqu xmm6,xmm4
772         movdqu XMMWORD PTR [rcx],xmm4
773         movupd xmm6,xmm4
774         movupd XMMWORD PTR [rcx],xmm4
775         movups xmm6,xmm4
776         movups XMMWORD PTR [rcx],xmm4
777
778 # Tests for op mem128, xmm
779         lddqu xmm4,XMMWORD PTR [rcx]
780         movntdqa xmm4,XMMWORD PTR [rcx]
781
782 # Tests for op xmm, mem128
783         movntdq XMMWORD PTR [rcx],xmm4
784         movntpd XMMWORD PTR [rcx],xmm4
785         movntps XMMWORD PTR [rcx],xmm4
786
787 # Tests for op xmm/mem128, xmm[, xmm]
788         addpd xmm6,xmm4
789         addpd xmm6,XMMWORD PTR [rcx]
790         addps xmm6,xmm4
791         addps xmm6,XMMWORD PTR [rcx]
792         addsubpd xmm6,xmm4
793         addsubpd xmm6,XMMWORD PTR [rcx]
794         addsubps xmm6,xmm4
795         addsubps xmm6,XMMWORD PTR [rcx]
796         andnpd xmm6,xmm4
797         andnpd xmm6,XMMWORD PTR [rcx]
798         andnps xmm6,xmm4
799         andnps xmm6,XMMWORD PTR [rcx]
800         andpd xmm6,xmm4
801         andpd xmm6,XMMWORD PTR [rcx]
802         andps xmm6,xmm4
803         andps xmm6,XMMWORD PTR [rcx]
804         divpd xmm6,xmm4
805         divpd xmm6,XMMWORD PTR [rcx]
806         divps xmm6,xmm4
807         divps xmm6,XMMWORD PTR [rcx]
808         haddpd xmm6,xmm4
809         haddpd xmm6,XMMWORD PTR [rcx]
810         haddps xmm6,xmm4
811         haddps xmm6,XMMWORD PTR [rcx]
812         hsubpd xmm6,xmm4
813         hsubpd xmm6,XMMWORD PTR [rcx]
814         hsubps xmm6,xmm4
815         hsubps xmm6,XMMWORD PTR [rcx]
816         maxpd xmm6,xmm4
817         maxpd xmm6,XMMWORD PTR [rcx]
818         maxps xmm6,xmm4
819         maxps xmm6,XMMWORD PTR [rcx]
820         minpd xmm6,xmm4
821         minpd xmm6,XMMWORD PTR [rcx]
822         minps xmm6,xmm4
823         minps xmm6,XMMWORD PTR [rcx]
824         mulpd xmm6,xmm4
825         mulpd xmm6,XMMWORD PTR [rcx]
826         mulps xmm6,xmm4
827         mulps xmm6,XMMWORD PTR [rcx]
828         orpd xmm6,xmm4
829         orpd xmm6,XMMWORD PTR [rcx]
830         orps xmm6,xmm4
831         orps xmm6,XMMWORD PTR [rcx]
832         packsswb xmm6,xmm4
833         packsswb xmm6,XMMWORD PTR [rcx]
834         packssdw xmm6,xmm4
835         packssdw xmm6,XMMWORD PTR [rcx]
836         packuswb xmm6,xmm4
837         packuswb xmm6,XMMWORD PTR [rcx]
838         packusdw xmm6,xmm4
839         packusdw xmm6,XMMWORD PTR [rcx]
840         paddb xmm6,xmm4
841         paddb xmm6,XMMWORD PTR [rcx]
842         paddw xmm6,xmm4
843         paddw xmm6,XMMWORD PTR [rcx]
844         paddd xmm6,xmm4
845         paddd xmm6,XMMWORD PTR [rcx]
846         paddq xmm6,xmm4
847         paddq xmm6,XMMWORD PTR [rcx]
848         paddsb xmm6,xmm4
849         paddsb xmm6,XMMWORD PTR [rcx]
850         paddsw xmm6,xmm4
851         paddsw xmm6,XMMWORD PTR [rcx]
852         paddusb xmm6,xmm4
853         paddusb xmm6,XMMWORD PTR [rcx]
854         paddusw xmm6,xmm4
855         paddusw xmm6,XMMWORD PTR [rcx]
856         pand xmm6,xmm4
857         pand xmm6,XMMWORD PTR [rcx]
858         pandn xmm6,xmm4
859         pandn xmm6,XMMWORD PTR [rcx]
860         pavgb xmm6,xmm4
861         pavgb xmm6,XMMWORD PTR [rcx]
862         pavgw xmm6,xmm4
863         pavgw xmm6,XMMWORD PTR [rcx]
864         pclmullqlqdq xmm6,xmm4
865         pclmullqlqdq xmm6,XMMWORD PTR [rcx]
866         pclmulhqlqdq xmm6,xmm4
867         pclmulhqlqdq xmm6,XMMWORD PTR [rcx]
868         pclmullqhqdq xmm6,xmm4
869         pclmullqhqdq xmm6,XMMWORD PTR [rcx]
870         pclmulhqhqdq xmm6,xmm4
871         pclmulhqhqdq xmm6,XMMWORD PTR [rcx]
872         pcmpeqb xmm6,xmm4
873         pcmpeqb xmm6,XMMWORD PTR [rcx]
874         pcmpeqw xmm6,xmm4
875         pcmpeqw xmm6,XMMWORD PTR [rcx]
876         pcmpeqd xmm6,xmm4
877         pcmpeqd xmm6,XMMWORD PTR [rcx]
878         pcmpeqq xmm6,xmm4
879         pcmpeqq xmm6,XMMWORD PTR [rcx]
880         pcmpgtb xmm6,xmm4
881         pcmpgtb xmm6,XMMWORD PTR [rcx]
882         pcmpgtw xmm6,xmm4
883         pcmpgtw xmm6,XMMWORD PTR [rcx]
884         pcmpgtd xmm6,xmm4
885         pcmpgtd xmm6,XMMWORD PTR [rcx]
886         pcmpgtq xmm6,xmm4
887         pcmpgtq xmm6,XMMWORD PTR [rcx]
888         phaddw xmm6,xmm4
889         phaddw xmm6,XMMWORD PTR [rcx]
890         phaddd xmm6,xmm4
891         phaddd xmm6,XMMWORD PTR [rcx]
892         phaddsw xmm6,xmm4
893         phaddsw xmm6,XMMWORD PTR [rcx]
894         phsubw xmm6,xmm4
895         phsubw xmm6,XMMWORD PTR [rcx]
896         phsubd xmm6,xmm4
897         phsubd xmm6,XMMWORD PTR [rcx]
898         phsubsw xmm6,xmm4
899         phsubsw xmm6,XMMWORD PTR [rcx]
900         pmaddwd xmm6,xmm4
901         pmaddwd xmm6,XMMWORD PTR [rcx]
902         pmaddubsw xmm6,xmm4
903         pmaddubsw xmm6,XMMWORD PTR [rcx]
904         pmaxsb xmm6,xmm4
905         pmaxsb xmm6,XMMWORD PTR [rcx]
906         pmaxsw xmm6,xmm4
907         pmaxsw xmm6,XMMWORD PTR [rcx]
908         pmaxsd xmm6,xmm4
909         pmaxsd xmm6,XMMWORD PTR [rcx]
910         pmaxub xmm6,xmm4
911         pmaxub xmm6,XMMWORD PTR [rcx]
912         pmaxuw xmm6,xmm4
913         pmaxuw xmm6,XMMWORD PTR [rcx]
914         pmaxud xmm6,xmm4
915         pmaxud xmm6,XMMWORD PTR [rcx]
916         pminsb xmm6,xmm4
917         pminsb xmm6,XMMWORD PTR [rcx]
918         pminsw xmm6,xmm4
919         pminsw xmm6,XMMWORD PTR [rcx]
920         pminsd xmm6,xmm4
921         pminsd xmm6,XMMWORD PTR [rcx]
922         pminub xmm6,xmm4
923         pminub xmm6,XMMWORD PTR [rcx]
924         pminuw xmm6,xmm4
925         pminuw xmm6,XMMWORD PTR [rcx]
926         pminud xmm6,xmm4
927         pminud xmm6,XMMWORD PTR [rcx]
928         pmulhuw xmm6,xmm4
929         pmulhuw xmm6,XMMWORD PTR [rcx]
930         pmulhrsw xmm6,xmm4
931         pmulhrsw xmm6,XMMWORD PTR [rcx]
932         pmulhw xmm6,xmm4
933         pmulhw xmm6,XMMWORD PTR [rcx]
934         pmullw xmm6,xmm4
935         pmullw xmm6,XMMWORD PTR [rcx]
936         pmulld xmm6,xmm4
937         pmulld xmm6,XMMWORD PTR [rcx]
938         pmuludq xmm6,xmm4
939         pmuludq xmm6,XMMWORD PTR [rcx]
940         pmuldq xmm6,xmm4
941         pmuldq xmm6,XMMWORD PTR [rcx]
942         por xmm6,xmm4
943         por xmm6,XMMWORD PTR [rcx]
944         psadbw xmm6,xmm4
945         psadbw xmm6,XMMWORD PTR [rcx]
946         pshufb xmm6,xmm4
947         pshufb xmm6,XMMWORD PTR [rcx]
948         psignb xmm6,xmm4
949         psignb xmm6,XMMWORD PTR [rcx]
950         psignw xmm6,xmm4
951         psignw xmm6,XMMWORD PTR [rcx]
952         psignd xmm6,xmm4
953         psignd xmm6,XMMWORD PTR [rcx]
954         psllw xmm6,xmm4
955         psllw xmm6,XMMWORD PTR [rcx]
956         pslld xmm6,xmm4
957         pslld xmm6,XMMWORD PTR [rcx]
958         psllq xmm6,xmm4
959         psllq xmm6,XMMWORD PTR [rcx]
960         psraw xmm6,xmm4
961         psraw xmm6,XMMWORD PTR [rcx]
962         psrad xmm6,xmm4
963         psrad xmm6,XMMWORD PTR [rcx]
964         psrlw xmm6,xmm4
965         psrlw xmm6,XMMWORD PTR [rcx]
966         psrld xmm6,xmm4
967         psrld xmm6,XMMWORD PTR [rcx]
968         psrlq xmm6,xmm4
969         psrlq xmm6,XMMWORD PTR [rcx]
970         psubb xmm6,xmm4
971         psubb xmm6,XMMWORD PTR [rcx]
972         psubw xmm6,xmm4
973         psubw xmm6,XMMWORD PTR [rcx]
974         psubd xmm6,xmm4
975         psubd xmm6,XMMWORD PTR [rcx]
976         psubq xmm6,xmm4
977         psubq xmm6,XMMWORD PTR [rcx]
978         psubsb xmm6,xmm4
979         psubsb xmm6,XMMWORD PTR [rcx]
980         psubsw xmm6,xmm4
981         psubsw xmm6,XMMWORD PTR [rcx]
982         psubusb xmm6,xmm4
983         psubusb xmm6,XMMWORD PTR [rcx]
984         psubusw xmm6,xmm4
985         psubusw xmm6,XMMWORD PTR [rcx]
986         punpckhbw xmm6,xmm4
987         punpckhbw xmm6,XMMWORD PTR [rcx]
988         punpckhwd xmm6,xmm4
989         punpckhwd xmm6,XMMWORD PTR [rcx]
990         punpckhdq xmm6,xmm4
991         punpckhdq xmm6,XMMWORD PTR [rcx]
992         punpckhqdq xmm6,xmm4
993         punpckhqdq xmm6,XMMWORD PTR [rcx]
994         punpcklbw xmm6,xmm4
995         punpcklbw xmm6,XMMWORD PTR [rcx]
996         punpcklwd xmm6,xmm4
997         punpcklwd xmm6,XMMWORD PTR [rcx]
998         punpckldq xmm6,xmm4
999         punpckldq xmm6,XMMWORD PTR [rcx]
1000         punpcklqdq xmm6,xmm4
1001         punpcklqdq xmm6,XMMWORD PTR [rcx]
1002         pxor xmm6,xmm4
1003         pxor xmm6,XMMWORD PTR [rcx]
1004         subpd xmm6,xmm4
1005         subpd xmm6,XMMWORD PTR [rcx]
1006         subps xmm6,xmm4
1007         subps xmm6,XMMWORD PTR [rcx]
1008         unpckhpd xmm6,xmm4
1009         unpckhpd xmm6,XMMWORD PTR [rcx]
1010         unpckhps xmm6,xmm4
1011         unpckhps xmm6,XMMWORD PTR [rcx]
1012         unpcklpd xmm6,xmm4
1013         unpcklpd xmm6,XMMWORD PTR [rcx]
1014         unpcklps xmm6,xmm4
1015         unpcklps xmm6,XMMWORD PTR [rcx]
1016         xorpd xmm6,xmm4
1017         xorpd xmm6,XMMWORD PTR [rcx]
1018         xorps xmm6,xmm4
1019         xorps xmm6,XMMWORD PTR [rcx]
1020         aesenc xmm6,xmm4
1021         aesenc xmm6,XMMWORD PTR [rcx]
1022         aesenclast xmm6,xmm4
1023         aesenclast xmm6,XMMWORD PTR [rcx]
1024         aesdec xmm6,xmm4
1025         aesdec xmm6,XMMWORD PTR [rcx]
1026         aesdeclast xmm6,xmm4
1027         aesdeclast xmm6,XMMWORD PTR [rcx]
1028         cmpeqpd xmm6,xmm4
1029         cmpeqpd xmm6,XMMWORD PTR [rcx]
1030         cmpeqps xmm6,xmm4
1031         cmpeqps xmm6,XMMWORD PTR [rcx]
1032         cmpltpd xmm6,xmm4
1033         cmpltpd xmm6,XMMWORD PTR [rcx]
1034         cmpltps xmm6,xmm4
1035         cmpltps xmm6,XMMWORD PTR [rcx]
1036         cmplepd xmm6,xmm4
1037         cmplepd xmm6,XMMWORD PTR [rcx]
1038         cmpleps xmm6,xmm4
1039         cmpleps xmm6,XMMWORD PTR [rcx]
1040         cmpunordpd xmm6,xmm4
1041         cmpunordpd xmm6,XMMWORD PTR [rcx]
1042         cmpunordps xmm6,xmm4
1043         cmpunordps xmm6,XMMWORD PTR [rcx]
1044         cmpneqpd xmm6,xmm4
1045         cmpneqpd xmm6,XMMWORD PTR [rcx]
1046         cmpneqps xmm6,xmm4
1047         cmpneqps xmm6,XMMWORD PTR [rcx]
1048         cmpnltpd xmm6,xmm4
1049         cmpnltpd xmm6,XMMWORD PTR [rcx]
1050         cmpnltps xmm6,xmm4
1051         cmpnltps xmm6,XMMWORD PTR [rcx]
1052         cmpnlepd xmm6,xmm4
1053         cmpnlepd xmm6,XMMWORD PTR [rcx]
1054         cmpnleps xmm6,xmm4
1055         cmpnleps xmm6,XMMWORD PTR [rcx]
1056         cmpordpd xmm6,xmm4
1057         cmpordpd xmm6,XMMWORD PTR [rcx]
1058         cmpordps xmm6,xmm4
1059         cmpordps xmm6,XMMWORD PTR [rcx]
1060
1061 # Tests for op imm8, xmm/mem128, xmm
1062         aeskeygenassist xmm6,xmm4,100
1063         aeskeygenassist xmm6,XMMWORD PTR [rcx],100
1064         pcmpestri xmm6,xmm4,100
1065         pcmpestri xmm6,XMMWORD PTR [rcx],100
1066         pcmpestrm xmm6,xmm4,100
1067         pcmpestrm xmm6,XMMWORD PTR [rcx],100
1068         pcmpistri xmm6,xmm4,100
1069         pcmpistri xmm6,XMMWORD PTR [rcx],100
1070         pcmpistrm xmm6,xmm4,100
1071         pcmpistrm xmm6,XMMWORD PTR [rcx],100
1072         pshufd xmm6,xmm4,100
1073         pshufd xmm6,XMMWORD PTR [rcx],100
1074         pshufhw xmm6,xmm4,100
1075         pshufhw xmm6,XMMWORD PTR [rcx],100
1076         pshuflw xmm6,xmm4,100
1077         pshuflw xmm6,XMMWORD PTR [rcx],100
1078         roundpd xmm6,xmm4,100
1079         roundpd xmm6,XMMWORD PTR [rcx],100
1080         roundps xmm6,xmm4,100
1081         roundps xmm6,XMMWORD PTR [rcx],100
1082
1083 # Tests for op imm8, xmm/mem128, xmm[, xmm]
1084         blendpd xmm6,xmm4,100
1085         blendpd xmm6,XMMWORD PTR [rcx],100
1086         blendps xmm6,xmm4,100
1087         blendps xmm6,XMMWORD PTR [rcx],100
1088         cmppd xmm6,xmm4,100
1089         cmppd xmm6,XMMWORD PTR [rcx],100
1090         cmpps xmm6,xmm4,100
1091         cmpps xmm6,XMMWORD PTR [rcx],100
1092         dppd xmm6,xmm4,100
1093         dppd xmm6,XMMWORD PTR [rcx],100
1094         dpps xmm6,xmm4,100
1095         dpps xmm6,XMMWORD PTR [rcx],100
1096         mpsadbw xmm6,xmm4,100
1097         mpsadbw xmm6,XMMWORD PTR [rcx],100
1098         palignr xmm6,xmm4,100
1099         palignr xmm6,XMMWORD PTR [rcx],100
1100         pblendw xmm6,xmm4,100
1101         pblendw xmm6,XMMWORD PTR [rcx],100
1102         pclmulqdq xmm6,xmm4,100
1103         pclmulqdq xmm6,XMMWORD PTR [rcx],100
1104         shufpd xmm6,xmm4,100
1105         shufpd xmm6,XMMWORD PTR [rcx],100
1106         shufps xmm6,xmm4,100
1107         shufps xmm6,XMMWORD PTR [rcx],100
1108
1109 # Tests for op xmm0, xmm/mem128, xmm[, xmm]
1110         blendvpd xmm6,xmm4,xmm0
1111         blendvpd xmm6,XMMWORD PTR [rcx],xmm0
1112         blendvpd xmm6,xmm4
1113         blendvpd xmm6,XMMWORD PTR [rcx]
1114         blendvps xmm6,xmm4,xmm0
1115         blendvps xmm6,XMMWORD PTR [rcx],xmm0
1116         blendvps xmm6,xmm4
1117         blendvps xmm6,XMMWORD PTR [rcx]
1118         pblendvb xmm6,xmm4,xmm0
1119         pblendvb xmm6,XMMWORD PTR [rcx],xmm0
1120         pblendvb xmm6,xmm4
1121         pblendvb xmm6,XMMWORD PTR [rcx]
1122
1123 # Tests for op xmm/mem64, xmm
1124         comisd xmm6,xmm4
1125         comisd xmm4,QWORD PTR [rcx]
1126         cvtdq2pd xmm6,xmm4
1127         cvtdq2pd xmm4,QWORD PTR [rcx]
1128         cvtps2pd xmm6,xmm4
1129         cvtps2pd xmm4,QWORD PTR [rcx]
1130         movddup xmm6,xmm4
1131         movddup xmm4,QWORD PTR [rcx]
1132         pmovsxbw xmm6,xmm4
1133         pmovsxbw xmm4,QWORD PTR [rcx]
1134         pmovsxwd xmm6,xmm4
1135         pmovsxwd xmm4,QWORD PTR [rcx]
1136         pmovsxdq xmm6,xmm4
1137         pmovsxdq xmm4,QWORD PTR [rcx]
1138         pmovzxbw xmm6,xmm4
1139         pmovzxbw xmm4,QWORD PTR [rcx]
1140         pmovzxwd xmm6,xmm4
1141         pmovzxwd xmm4,QWORD PTR [rcx]
1142         pmovzxdq xmm6,xmm4
1143         pmovzxdq xmm4,QWORD PTR [rcx]
1144         ucomisd xmm6,xmm4
1145         ucomisd xmm4,QWORD PTR [rcx]
1146
1147 # Tests for op mem64, xmm
1148         movsd xmm4,QWORD PTR [rcx]
1149
1150 # Tests for op xmm, mem64
1151         movlpd QWORD PTR [rcx],xmm4
1152         movlps QWORD PTR [rcx],xmm4
1153         movhpd QWORD PTR [rcx],xmm4
1154         movhps QWORD PTR [rcx],xmm4
1155         movsd QWORD PTR [rcx],xmm4
1156
1157 # Tests for op xmm, regq/mem64
1158 # Tests for op regq/mem64, xmm
1159         movd rcx,xmm4
1160         movd xmm4,rcx
1161         movq rcx,xmm4
1162         movq xmm4,rcx
1163         movq QWORD PTR [rcx],xmm4
1164         movq xmm4,QWORD PTR [rcx]
1165
1166 # Tests for op xmm/mem64, regl
1167         cvtsd2si ecx,xmm4
1168         cvtsd2si ecx,QWORD PTR [rcx]
1169         cvttsd2si ecx,xmm4
1170         cvttsd2si ecx,QWORD PTR [rcx]
1171
1172 # Tests for op xmm/mem64, regq
1173         cvtsd2si rcx,xmm4
1174         cvtsd2si rcx,QWORD PTR [rcx]
1175         cvttsd2si rcx,xmm4
1176         cvttsd2si rcx,QWORD PTR [rcx]
1177
1178 # Tests for op regq/mem64, xmm[, xmm]
1179         cvtsi2sdq xmm4,rcx
1180         cvtsi2sdq xmm4,QWORD PTR [rcx]
1181         cvtsi2ssq xmm4,rcx
1182         cvtsi2ssq xmm4,QWORD PTR [rcx]
1183
1184 # Tests for op imm8, regq/mem64, xmm[, xmm]
1185         pinsrq xmm4,rcx,100
1186         pinsrq xmm4,QWORD PTR [rcx],100
1187
1188 # Testsf for op imm8, xmm, regq/mem64
1189         pextrq rcx,xmm4,100
1190         pextrq QWORD PTR [rcx],xmm4,100
1191
1192 # Tests for op mem64, xmm[, xmm]
1193         movlpd xmm4,QWORD PTR [rcx]
1194         movlps xmm4,QWORD PTR [rcx]
1195         movhpd xmm4,QWORD PTR [rcx]
1196         movhps xmm4,QWORD PTR [rcx]
1197
1198 # Tests for op imm8, xmm/mem64, xmm[, xmm]
1199         cmpsd xmm6,xmm4,100
1200         cmpsd xmm6,QWORD PTR [rcx],100
1201         roundsd xmm6,xmm4,100
1202         roundsd xmm6,QWORD PTR [rcx],100
1203
1204 # Tests for op xmm/mem64, xmm[, xmm]
1205         addsd xmm6,xmm4
1206         addsd xmm6,QWORD PTR [rcx]
1207         cvtsd2ss xmm6,xmm4
1208         cvtsd2ss xmm6,QWORD PTR [rcx]
1209         divsd xmm6,xmm4
1210         divsd xmm6,QWORD PTR [rcx]
1211         maxsd xmm6,xmm4
1212         maxsd xmm6,QWORD PTR [rcx]
1213         minsd xmm6,xmm4
1214         minsd xmm6,QWORD PTR [rcx]
1215         mulsd xmm6,xmm4
1216         mulsd xmm6,QWORD PTR [rcx]
1217         sqrtsd xmm6,xmm4
1218         sqrtsd xmm6,QWORD PTR [rcx]
1219         subsd xmm6,xmm4
1220         subsd xmm6,QWORD PTR [rcx]
1221         cmpeqsd xmm6,xmm4
1222         cmpeqsd xmm6,QWORD PTR [rcx]
1223         cmpltsd xmm6,xmm4
1224         cmpltsd xmm6,QWORD PTR [rcx]
1225         cmplesd xmm6,xmm4
1226         cmplesd xmm6,QWORD PTR [rcx]
1227         cmpunordsd xmm6,xmm4
1228         cmpunordsd xmm6,QWORD PTR [rcx]
1229         cmpneqsd xmm6,xmm4
1230         cmpneqsd xmm6,QWORD PTR [rcx]
1231         cmpnltsd xmm6,xmm4
1232         cmpnltsd xmm6,QWORD PTR [rcx]
1233         cmpnlesd xmm6,xmm4
1234         cmpnlesd xmm6,QWORD PTR [rcx]
1235         cmpordsd xmm6,xmm4
1236         cmpordsd xmm6,QWORD PTR [rcx]
1237
1238 # Tests for op xmm/mem32, xmm[, xmm]
1239         addss xmm6,xmm4
1240         addss xmm6,DWORD PTR [rcx]
1241         cvtss2sd xmm6,xmm4
1242         cvtss2sd xmm6,DWORD PTR [rcx]
1243         divss xmm6,xmm4
1244         divss xmm6,DWORD PTR [rcx]
1245         maxss xmm6,xmm4
1246         maxss xmm6,DWORD PTR [rcx]
1247         minss xmm6,xmm4
1248         minss xmm6,DWORD PTR [rcx]
1249         mulss xmm6,xmm4
1250         mulss xmm6,DWORD PTR [rcx]
1251         rcpss xmm6,xmm4
1252         rcpss xmm6,DWORD PTR [rcx]
1253         rsqrtss xmm6,xmm4
1254         rsqrtss xmm6,DWORD PTR [rcx]
1255         sqrtss xmm6,xmm4
1256         sqrtss xmm6,DWORD PTR [rcx]
1257         subss xmm6,xmm4
1258         subss xmm6,DWORD PTR [rcx]
1259         cmpeqss xmm6,xmm4
1260         cmpeqss xmm6,DWORD PTR [rcx]
1261         cmpltss xmm6,xmm4
1262         cmpltss xmm6,DWORD PTR [rcx]
1263         cmpless xmm6,xmm4
1264         cmpless xmm6,DWORD PTR [rcx]
1265         cmpunordss xmm6,xmm4
1266         cmpunordss xmm6,DWORD PTR [rcx]
1267         cmpneqss xmm6,xmm4
1268         cmpneqss xmm6,DWORD PTR [rcx]
1269         cmpnltss xmm6,xmm4
1270         cmpnltss xmm6,DWORD PTR [rcx]
1271         cmpnless xmm6,xmm4
1272         cmpnless xmm6,DWORD PTR [rcx]
1273         cmpordss xmm6,xmm4
1274         cmpordss xmm6,DWORD PTR [rcx]
1275
1276 # Tests for op xmm/mem32, xmm
1277         comiss xmm6,xmm4
1278         comiss xmm4,DWORD PTR [rcx]
1279         pmovsxbd xmm6,xmm4
1280         pmovsxbd xmm4,DWORD PTR [rcx]
1281         pmovsxwq xmm6,xmm4
1282         pmovsxwq xmm4,DWORD PTR [rcx]
1283         pmovzxbd xmm6,xmm4
1284         pmovzxbd xmm4,DWORD PTR [rcx]
1285         pmovzxwq xmm6,xmm4
1286         pmovzxwq xmm4,DWORD PTR [rcx]
1287         ucomiss xmm6,xmm4
1288         ucomiss xmm4,DWORD PTR [rcx]
1289
1290 # Tests for op mem32, xmm
1291         movss xmm4,DWORD PTR [rcx]
1292
1293 # Tests for op xmm, mem32
1294         movss DWORD PTR [rcx],xmm4
1295
1296 # Tests for op xmm, regl/mem32
1297 # Tests for op regl/mem32, xmm
1298         movd ecx,xmm4
1299         movd DWORD PTR [rcx],xmm4
1300         movd xmm4,ecx
1301         movd xmm4,DWORD PTR [rcx]
1302
1303 # Tests for op xmm/mem32, regl
1304         cvtss2si ecx,xmm4
1305         cvtss2si ecx,DWORD PTR [rcx]
1306         cvttss2si ecx,xmm4
1307         cvttss2si ecx,DWORD PTR [rcx]
1308
1309 # Tests for op xmm/mem32, regq
1310         cvtss2si rcx,xmm4
1311         cvtss2si rcx,DWORD PTR [rcx]
1312         cvttss2si rcx,xmm4
1313         cvttss2si rcx,DWORD PTR [rcx]
1314
1315 # Tests for op xmm, regq
1316         movmskpd rcx,xmm4
1317         movmskps rcx,xmm4
1318         pmovmskb rcx,xmm4
1319
1320 # Tests for op imm8, xmm, regq/mem32
1321         extractps rcx,xmm4,100
1322         extractps DWORD PTR [rcx],xmm4,100
1323 # Tests for op imm8, xmm, regl/mem32
1324         pextrd ecx,xmm4,100
1325         pextrd DWORD PTR [rcx],xmm4,100
1326         extractps ecx,xmm4,100
1327         extractps DWORD PTR [rcx],xmm4,100
1328
1329 # Tests for op regl/mem32, xmm[, xmm]
1330         cvtsi2sd xmm4,ecx
1331         cvtsi2sd xmm4,DWORD PTR [rcx]
1332         cvtsi2ss xmm4,ecx
1333         cvtsi2ss xmm4,DWORD PTR [rcx]
1334
1335 # Tests for op imm8, xmm/mem32, xmm[, xmm]
1336         cmpss xmm6,xmm4,100
1337         cmpss xmm6,DWORD PTR [rcx],100
1338         insertps xmm6,xmm4,100
1339         insertps xmm6,DWORD PTR [rcx],100
1340         roundss xmm6,xmm4,100
1341         roundss xmm6,DWORD PTR [rcx],100
1342
1343 # Tests for op xmm/m16, xmm
1344         pmovsxbq xmm6,xmm4
1345         pmovsxbq xmm4,WORD PTR [rcx]
1346         pmovzxbq xmm6,xmm4
1347         pmovzxbq xmm4,WORD PTR [rcx]
1348
1349 # Tests for op imm8, xmm, regl/mem16
1350         pextrw ecx,xmm4,100
1351         pextrw WORD PTR [rcx],xmm4,100
1352
1353 # Tests for op imm8, xmm, regq/mem16
1354         pextrw rcx,xmm4,100
1355         pextrw WORD PTR [rcx],xmm4,100
1356
1357 # Tests for op imm8, regl/mem16, xmm[, xmm]
1358         pinsrw xmm4,ecx,100
1359         pinsrw xmm4,WORD PTR [rcx],100
1360
1361
1362         pinsrw xmm4,rcx,100
1363         pinsrw xmm4,WORD PTR [rcx],100
1364
1365 # Tests for op imm8, xmm, regl/mem8
1366         pextrb ecx,xmm4,100
1367         pextrb BYTE PTR [rcx],xmm4,100
1368
1369 # Tests for op imm8, regl/mem8, xmm[, xmm]
1370         pinsrb xmm4,ecx,100
1371         pinsrb xmm4,BYTE PTR [rcx],100
1372
1373 # Tests for op imm8, xmm, regq
1374         pextrw rcx,xmm4,100
1375 # Tests for op imm8, xmm, regq/mem8
1376         pextrb rcx,xmm4,100
1377         pextrb BYTE PTR [rcx],xmm4,100
1378
1379 # Tests for op imm8, regl/mem8, xmm[, xmm]
1380         pinsrb xmm4,ecx,100
1381         pinsrb xmm4,BYTE PTR [rcx],100
1382
1383 # Tests for op xmm, xmm
1384         maskmovdqu xmm6,xmm4
1385         movq xmm6,xmm4
1386
1387 # Tests for op xmm, regl
1388         movmskpd ecx,xmm4
1389         movmskps ecx,xmm4
1390         pmovmskb ecx,xmm4
1391 # Tests for op xmm, xmm[, xmm]
1392         movhlps xmm6,xmm4
1393         movlhps xmm6,xmm4
1394         movsd xmm6,xmm4
1395         movss xmm6,xmm4
1396
1397 # Tests for op imm8, xmm[, xmm]
1398         pslld xmm4,100
1399         pslldq xmm4,100
1400         psllq xmm4,100
1401         psllw xmm4,100
1402         psrad xmm4,100
1403         psraw xmm4,100
1404         psrld xmm4,100
1405         psrldq xmm4,100
1406         psrlq xmm4,100
1407         psrlw xmm4,100
1408
1409 # Tests for op imm8, xmm, regl
1410         pextrw ecx,xmm4,100
1411