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