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
1326