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