1# Check 64bit AVX scalar instructions
2
3	.allow_index_reg
4	.text
5_start:
6
7# Tests for op xmm/mem64, xmm
8	vcomisd %xmm4,%xmm6
9	vcomisd (%rcx),%xmm4
10	vucomisd %xmm4,%xmm6
11	vucomisd (%rcx),%xmm4
12
13# Tests for op mem64, xmm
14	vmovsd (%rcx),%xmm4
15
16# Tests for op xmm, mem64
17	vmovsd %xmm4,(%rcx)
18
19# Tests for op xmm/mem64, regl
20	vcvtsd2si %xmm4,%ecx
21	vcvtsd2si (%rcx),%ecx
22	vcvttsd2si %xmm4,%ecx
23	vcvttsd2si (%rcx),%ecx
24
25# Tests for op xmm/mem64, regq
26	vcvtsd2si %xmm4,%rcx
27	vcvtsd2si (%rcx),%rcx
28	vcvttsd2si %xmm4,%rcx
29	vcvttsd2si (%rcx),%rcx
30
31# Tests for op regq/mem64, xmm, xmm
32	vcvtsi2sdq %rcx,%xmm4,%xmm6
33	vcvtsi2sdq (%rcx),%xmm4,%xmm6
34	vcvtsi2ssq %rcx,%xmm4,%xmm6
35	vcvtsi2ssq (%rcx),%xmm4,%xmm6
36
37# Tests for op imm8, xmm/mem64, xmm, xmm
38	vcmpsd $7,%xmm4,%xmm6,%xmm2
39	vcmpsd $7,(%rcx),%xmm6,%xmm2
40	vroundsd $7,%xmm4,%xmm6,%xmm2
41	vroundsd $7,(%rcx),%xmm6,%xmm2
42
43# Tests for op xmm/mem64, xmm, xmm
44	vaddsd %xmm4,%xmm6,%xmm2
45	vaddsd (%rcx),%xmm6,%xmm2
46	vcvtsd2ss %xmm4,%xmm6,%xmm2
47	vcvtsd2ss (%rcx),%xmm6,%xmm2
48	vdivsd %xmm4,%xmm6,%xmm2
49	vdivsd (%rcx),%xmm6,%xmm2
50	vmaxsd %xmm4,%xmm6,%xmm2
51	vmaxsd (%rcx),%xmm6,%xmm2
52	vminsd %xmm4,%xmm6,%xmm2
53	vminsd (%rcx),%xmm6,%xmm2
54	vmulsd %xmm4,%xmm6,%xmm2
55	vmulsd (%rcx),%xmm6,%xmm2
56	vsqrtsd %xmm4,%xmm6,%xmm2
57	vsqrtsd (%rcx),%xmm6,%xmm2
58	vsubsd %xmm4,%xmm6,%xmm2
59	vsubsd (%rcx),%xmm6,%xmm2
60	vcmpeqsd %xmm4,%xmm6,%xmm2
61	vcmpeqsd (%rcx),%xmm6,%xmm2
62	vcmpltsd %xmm4,%xmm6,%xmm2
63	vcmpltsd (%rcx),%xmm6,%xmm2
64	vcmplesd %xmm4,%xmm6,%xmm2
65	vcmplesd (%rcx),%xmm6,%xmm2
66	vcmpunordsd %xmm4,%xmm6,%xmm2
67	vcmpunordsd (%rcx),%xmm6,%xmm2
68	vcmpneqsd %xmm4,%xmm6,%xmm2
69	vcmpneqsd (%rcx),%xmm6,%xmm2
70	vcmpnltsd %xmm4,%xmm6,%xmm2
71	vcmpnltsd (%rcx),%xmm6,%xmm2
72	vcmpnlesd %xmm4,%xmm6,%xmm2
73	vcmpnlesd (%rcx),%xmm6,%xmm2
74	vcmpordsd %xmm4,%xmm6,%xmm2
75	vcmpordsd (%rcx),%xmm6,%xmm2
76	vcmpeq_uqsd %xmm4,%xmm6,%xmm2
77	vcmpeq_uqsd (%rcx),%xmm6,%xmm2
78	vcmpngesd %xmm4,%xmm6,%xmm2
79	vcmpngesd (%rcx),%xmm6,%xmm2
80	vcmpngtsd %xmm4,%xmm6,%xmm2
81	vcmpngtsd (%rcx),%xmm6,%xmm2
82	vcmpfalsesd %xmm4,%xmm6,%xmm2
83	vcmpfalsesd (%rcx),%xmm6,%xmm2
84	vcmpneq_oqsd %xmm4,%xmm6,%xmm2
85	vcmpneq_oqsd (%rcx),%xmm6,%xmm2
86	vcmpgesd %xmm4,%xmm6,%xmm2
87	vcmpgesd (%rcx),%xmm6,%xmm2
88	vcmpgtsd %xmm4,%xmm6,%xmm2
89	vcmpgtsd (%rcx),%xmm6,%xmm2
90	vcmptruesd %xmm4,%xmm6,%xmm2
91	vcmptruesd (%rcx),%xmm6,%xmm2
92	vcmpeq_ossd %xmm4,%xmm6,%xmm2
93	vcmpeq_ossd (%rcx),%xmm6,%xmm2
94	vcmplt_oqsd %xmm4,%xmm6,%xmm2
95	vcmplt_oqsd (%rcx),%xmm6,%xmm2
96	vcmple_oqsd %xmm4,%xmm6,%xmm2
97	vcmple_oqsd (%rcx),%xmm6,%xmm2
98	vcmpunord_ssd %xmm4,%xmm6,%xmm2
99	vcmpunord_ssd (%rcx),%xmm6,%xmm2
100	vcmpneq_ussd %xmm4,%xmm6,%xmm2
101	vcmpneq_ussd (%rcx),%xmm6,%xmm2
102	vcmpnlt_uqsd %xmm4,%xmm6,%xmm2
103	vcmpnlt_uqsd (%rcx),%xmm6,%xmm2
104	vcmpnle_uqsd %xmm4,%xmm6,%xmm2
105	vcmpnle_uqsd (%rcx),%xmm6,%xmm2
106	vcmpord_ssd %xmm4,%xmm6,%xmm2
107	vcmpord_ssd (%rcx),%xmm6,%xmm2
108	vcmpeq_ussd %xmm4,%xmm6,%xmm2
109	vcmpeq_ussd (%rcx),%xmm6,%xmm2
110	vcmpnge_uqsd %xmm4,%xmm6,%xmm2
111	vcmpnge_uqsd (%rcx),%xmm6,%xmm2
112	vcmpngt_uqsd %xmm4,%xmm6,%xmm2
113	vcmpngt_uqsd (%rcx),%xmm6,%xmm2
114	vcmpfalse_ossd %xmm4,%xmm6,%xmm2
115	vcmpfalse_ossd (%rcx),%xmm6,%xmm2
116	vcmpneq_ossd %xmm4,%xmm6,%xmm2
117	vcmpneq_ossd (%rcx),%xmm6,%xmm2
118	vcmpge_oqsd %xmm4,%xmm6,%xmm2
119	vcmpge_oqsd (%rcx),%xmm6,%xmm2
120	vcmpgt_oqsd %xmm4,%xmm6,%xmm2
121	vcmpgt_oqsd (%rcx),%xmm6,%xmm2
122	vcmptrue_ussd %xmm4,%xmm6,%xmm2
123	vcmptrue_ussd (%rcx),%xmm6,%xmm2
124
125# Tests for op xmm/mem32, xmm, xmm
126	vaddss %xmm4,%xmm6,%xmm2
127	vaddss (%rcx),%xmm6,%xmm2
128	vcvtss2sd %xmm4,%xmm6,%xmm2
129	vcvtss2sd (%rcx),%xmm6,%xmm2
130	vdivss %xmm4,%xmm6,%xmm2
131	vdivss (%rcx),%xmm6,%xmm2
132	vmaxss %xmm4,%xmm6,%xmm2
133	vmaxss (%rcx),%xmm6,%xmm2
134	vminss %xmm4,%xmm6,%xmm2
135	vminss (%rcx),%xmm6,%xmm2
136	vmulss %xmm4,%xmm6,%xmm2
137	vmulss (%rcx),%xmm6,%xmm2
138	vrcpss %xmm4,%xmm6,%xmm2
139	vrcpss (%rcx),%xmm6,%xmm2
140	vrsqrtss %xmm4,%xmm6,%xmm2
141	vrsqrtss (%rcx),%xmm6,%xmm2
142	vsqrtss %xmm4,%xmm6,%xmm2
143	vsqrtss (%rcx),%xmm6,%xmm2
144	vsubss %xmm4,%xmm6,%xmm2
145	vsubss (%rcx),%xmm6,%xmm2
146	vcmpeqss %xmm4,%xmm6,%xmm2
147	vcmpeqss (%rcx),%xmm6,%xmm2
148	vcmpltss %xmm4,%xmm6,%xmm2
149	vcmpltss (%rcx),%xmm6,%xmm2
150	vcmpless %xmm4,%xmm6,%xmm2
151	vcmpless (%rcx),%xmm6,%xmm2
152	vcmpunordss %xmm4,%xmm6,%xmm2
153	vcmpunordss (%rcx),%xmm6,%xmm2
154	vcmpneqss %xmm4,%xmm6,%xmm2
155	vcmpneqss (%rcx),%xmm6,%xmm2
156	vcmpnltss %xmm4,%xmm6,%xmm2
157	vcmpnltss (%rcx),%xmm6,%xmm2
158	vcmpnless %xmm4,%xmm6,%xmm2
159	vcmpnless (%rcx),%xmm6,%xmm2
160	vcmpordss %xmm4,%xmm6,%xmm2
161	vcmpordss (%rcx),%xmm6,%xmm2
162	vcmpeq_uqss %xmm4,%xmm6,%xmm2
163	vcmpeq_uqss (%rcx),%xmm6,%xmm2
164	vcmpngess %xmm4,%xmm6,%xmm2
165	vcmpngess (%rcx),%xmm6,%xmm2
166	vcmpngtss %xmm4,%xmm6,%xmm2
167	vcmpngtss (%rcx),%xmm6,%xmm2
168	vcmpfalsess %xmm4,%xmm6,%xmm2
169	vcmpfalsess (%rcx),%xmm6,%xmm2
170	vcmpneq_oqss %xmm4,%xmm6,%xmm2
171	vcmpneq_oqss (%rcx),%xmm6,%xmm2
172	vcmpgess %xmm4,%xmm6,%xmm2
173	vcmpgess (%rcx),%xmm6,%xmm2
174	vcmpgtss %xmm4,%xmm6,%xmm2
175	vcmpgtss (%rcx),%xmm6,%xmm2
176	vcmptruess %xmm4,%xmm6,%xmm2
177	vcmptruess (%rcx),%xmm6,%xmm2
178	vcmpeq_osss %xmm4,%xmm6,%xmm2
179	vcmpeq_osss (%rcx),%xmm6,%xmm2
180	vcmplt_oqss %xmm4,%xmm6,%xmm2
181	vcmplt_oqss (%rcx),%xmm6,%xmm2
182	vcmple_oqss %xmm4,%xmm6,%xmm2
183	vcmple_oqss (%rcx),%xmm6,%xmm2
184	vcmpunord_sss %xmm4,%xmm6,%xmm2
185	vcmpunord_sss (%rcx),%xmm6,%xmm2
186	vcmpneq_usss %xmm4,%xmm6,%xmm2
187	vcmpneq_usss (%rcx),%xmm6,%xmm2
188	vcmpnlt_uqss %xmm4,%xmm6,%xmm2
189	vcmpnlt_uqss (%rcx),%xmm6,%xmm2
190	vcmpnle_uqss %xmm4,%xmm6,%xmm2
191	vcmpnle_uqss (%rcx),%xmm6,%xmm2
192	vcmpord_sss %xmm4,%xmm6,%xmm2
193	vcmpord_sss (%rcx),%xmm6,%xmm2
194	vcmpeq_usss %xmm4,%xmm6,%xmm2
195	vcmpeq_usss (%rcx),%xmm6,%xmm2
196	vcmpnge_uqss %xmm4,%xmm6,%xmm2
197	vcmpnge_uqss (%rcx),%xmm6,%xmm2
198	vcmpngt_uqss %xmm4,%xmm6,%xmm2
199	vcmpngt_uqss (%rcx),%xmm6,%xmm2
200	vcmpfalse_osss %xmm4,%xmm6,%xmm2
201	vcmpfalse_osss (%rcx),%xmm6,%xmm2
202	vcmpneq_osss %xmm4,%xmm6,%xmm2
203	vcmpneq_osss (%rcx),%xmm6,%xmm2
204	vcmpge_oqss %xmm4,%xmm6,%xmm2
205	vcmpge_oqss (%rcx),%xmm6,%xmm2
206	vcmpgt_oqss %xmm4,%xmm6,%xmm2
207	vcmpgt_oqss (%rcx),%xmm6,%xmm2
208	vcmptrue_usss %xmm4,%xmm6,%xmm2
209	vcmptrue_usss (%rcx),%xmm6,%xmm2
210
211# Tests for op xmm/mem32, xmm
212	vcomiss %xmm4,%xmm6
213	vcomiss (%rcx),%xmm4
214	vucomiss %xmm4,%xmm6
215	vucomiss (%rcx),%xmm4
216
217# Tests for op mem32, xmm
218	vmovss (%rcx),%xmm4
219
220# Tests for op xmm, mem32
221	vmovss %xmm4,(%rcx)
222
223# Tests for op xmm/mem32, regl
224	vcvtss2si %xmm4,%ecx
225	vcvtss2si (%rcx),%ecx
226	vcvttss2si %xmm4,%ecx
227	vcvttss2si (%rcx),%ecx
228
229# Tests for op xmm/mem32, regq
230	vcvtss2si %xmm4,%rcx
231	vcvtss2si (%rcx),%rcx
232	vcvttss2si %xmm4,%rcx
233	vcvttss2si (%rcx),%rcx
234
235# Tests for op regl/mem32, xmm, xmm
236	vcvtsi2sd %ecx,%xmm4,%xmm6
237	vcvtsi2sdl (%rcx),%xmm4,%xmm6
238	vcvtsi2ss %ecx,%xmm4,%xmm6
239	vcvtsi2ssl (%rcx),%xmm4,%xmm6
240
241# Tests for op imm8, xmm/mem32, xmm, xmm
242	vcmpss $7,%xmm4,%xmm6,%xmm2
243	vcmpss $7,(%rcx),%xmm6,%xmm2
244	vroundss $7,%xmm4,%xmm6,%xmm2
245	vroundss $7,(%rcx),%xmm6,%xmm2
246
247# Tests for op xmm, xmm, xmm
248	vmovsd %xmm4,%xmm6,%xmm2
249	vmovss %xmm4,%xmm6,%xmm2
250
251#Tests with different memory and register operands.
252	vcvtsi2sdl 0x12345678,%xmm8,%xmm15
253	vcvtsi2sdl (%rbp),%xmm8,%xmm15
254	vcvtsi2sdl (%rsp),%xmm8,%xmm15
255	vcvtsi2sdl 0x99(%rbp),%xmm8,%xmm15
256	vcvtsi2sdl 0x99(%r15),%xmm8,%xmm15
257	vcvtsi2sdl 0x99(%rip),%xmm8,%xmm15
258	vcvtsi2sdl 0x99(%rsp),%xmm8,%xmm15
259	vcvtsi2sdl 0x99(%r12),%xmm8,%xmm15
260	vcvtsi2sdl -0x99(,%riz),%xmm8,%xmm15
261	vcvtsi2sdl -0x99(,%riz,2),%xmm8,%xmm15
262	vcvtsi2sdl -0x99(%rbx,%riz),%xmm8,%xmm15
263	vcvtsi2sdl -0x99(%rbx,%riz,2),%xmm8,%xmm15
264	vcvtsi2sdl -0x99(%r12,%r15,4),%xmm8,%xmm15
265	vcvtsi2sdl -0x99(%r8,%r15,8),%xmm8,%xmm15
266	vcvtsi2sdl -0x99(%rbp,%r13,4),%xmm8,%xmm15
267	vcvtsi2sdl -0x99(%rsp,%r12,1),%xmm8,%xmm15
268# Tests for all register operands.
269	vcvtsd2si %xmm8,%r8d
270	vcvtsi2sdl %r8d,%xmm8,%xmm15
271# Tests for different memory/register operand
272	vcvtsd2si (%rcx),%r8
273	vcvtss2si (%rcx),%r8
274
275	.intel_syntax noprefix
276
277# Tests for op xmm/mem64, xmm
278	vcomisd xmm6,xmm4
279	vcomisd xmm4,QWORD PTR [rcx]
280	vcomisd xmm4,[rcx]
281	vucomisd xmm6,xmm4
282	vucomisd xmm4,QWORD PTR [rcx]
283	vucomisd xmm4,[rcx]
284
285# Tests for op mem64, xmm
286	vmovsd xmm4,QWORD PTR [rcx]
287	vmovsd xmm4,[rcx]
288
289# Tests for op xmm, mem64
290	vmovsd QWORD PTR [rcx],xmm4
291	vmovsd [rcx],xmm4
292
293# Tests for op xmm/mem64, regl
294	vcvtsd2si ecx,xmm4
295	vcvtsd2si ecx,QWORD PTR [rcx]
296	vcvtsd2si ecx,[rcx]
297	vcvttsd2si ecx,xmm4
298	vcvttsd2si ecx,QWORD PTR [rcx]
299	vcvttsd2si ecx,[rcx]
300
301# Tests for op xmm/mem64, regq
302	vcvtsd2si rcx,xmm4
303	vcvtsd2si rcx,QWORD PTR [rcx]
304	vcvtsd2si rcx,[rcx]
305	vcvttsd2si rcx,xmm4
306	vcvttsd2si rcx,QWORD PTR [rcx]
307	vcvttsd2si rcx,[rcx]
308
309# Tests for op regq/mem64, xmm, xmm
310	vcvtsi2sdq xmm6,xmm4,rcx
311	vcvtsi2sdq xmm6,xmm4,QWORD PTR [rcx]
312	vcvtsi2sdq xmm6,xmm4,[rcx]
313	vcvtsi2ssq xmm6,xmm4,rcx
314	vcvtsi2ssq xmm6,xmm4,QWORD PTR [rcx]
315	vcvtsi2ssq xmm6,xmm4,[rcx]
316
317# Tests for op imm8, xmm/mem64, xmm, xmm
318	vcmpsd xmm2,xmm6,xmm4,7
319	vcmpsd xmm2,xmm6,QWORD PTR [rcx],7
320	vcmpsd xmm2,xmm6,[rcx],7
321	vroundsd xmm2,xmm6,xmm4,7
322	vroundsd xmm2,xmm6,QWORD PTR [rcx],7
323	vroundsd xmm2,xmm6,[rcx],7
324
325# Tests for op xmm/mem64, xmm, xmm
326	vaddsd xmm2,xmm6,xmm4
327	vaddsd xmm2,xmm6,QWORD PTR [rcx]
328	vaddsd xmm2,xmm6,[rcx]
329	vcvtsd2ss xmm2,xmm6,xmm4
330	vcvtsd2ss xmm2,xmm6,QWORD PTR [rcx]
331	vcvtsd2ss xmm2,xmm6,[rcx]
332	vdivsd xmm2,xmm6,xmm4
333	vdivsd xmm2,xmm6,QWORD PTR [rcx]
334	vdivsd xmm2,xmm6,[rcx]
335	vmaxsd xmm2,xmm6,xmm4
336	vmaxsd xmm2,xmm6,QWORD PTR [rcx]
337	vmaxsd xmm2,xmm6,[rcx]
338	vminsd xmm2,xmm6,xmm4
339	vminsd xmm2,xmm6,QWORD PTR [rcx]
340	vminsd xmm2,xmm6,[rcx]
341	vmulsd xmm2,xmm6,xmm4
342	vmulsd xmm2,xmm6,QWORD PTR [rcx]
343	vmulsd xmm2,xmm6,[rcx]
344	vsqrtsd xmm2,xmm6,xmm4
345	vsqrtsd xmm2,xmm6,QWORD PTR [rcx]
346	vsqrtsd xmm2,xmm6,[rcx]
347	vsubsd xmm2,xmm6,xmm4
348	vsubsd xmm2,xmm6,QWORD PTR [rcx]
349	vsubsd xmm2,xmm6,[rcx]
350	vcmpeqsd xmm2,xmm6,xmm4
351	vcmpeqsd xmm2,xmm6,QWORD PTR [rcx]
352	vcmpeqsd xmm2,xmm6,[rcx]
353	vcmpltsd xmm2,xmm6,xmm4
354	vcmpltsd xmm2,xmm6,QWORD PTR [rcx]
355	vcmpltsd xmm2,xmm6,[rcx]
356	vcmplesd xmm2,xmm6,xmm4
357	vcmplesd xmm2,xmm6,QWORD PTR [rcx]
358	vcmplesd xmm2,xmm6,[rcx]
359	vcmpunordsd xmm2,xmm6,xmm4
360	vcmpunordsd xmm2,xmm6,QWORD PTR [rcx]
361	vcmpunordsd xmm2,xmm6,[rcx]
362	vcmpneqsd xmm2,xmm6,xmm4
363	vcmpneqsd xmm2,xmm6,QWORD PTR [rcx]
364	vcmpneqsd xmm2,xmm6,[rcx]
365	vcmpnltsd xmm2,xmm6,xmm4
366	vcmpnltsd xmm2,xmm6,QWORD PTR [rcx]
367	vcmpnltsd xmm2,xmm6,[rcx]
368	vcmpnlesd xmm2,xmm6,xmm4
369	vcmpnlesd xmm2,xmm6,QWORD PTR [rcx]
370	vcmpnlesd xmm2,xmm6,[rcx]
371	vcmpordsd xmm2,xmm6,xmm4
372	vcmpordsd xmm2,xmm6,QWORD PTR [rcx]
373	vcmpordsd xmm2,xmm6,[rcx]
374	vcmpeq_uqsd xmm2,xmm6,xmm4
375	vcmpeq_uqsd xmm2,xmm6,QWORD PTR [rcx]
376	vcmpeq_uqsd xmm2,xmm6,[rcx]
377	vcmpngesd xmm2,xmm6,xmm4
378	vcmpngesd xmm2,xmm6,QWORD PTR [rcx]
379	vcmpngesd xmm2,xmm6,[rcx]
380	vcmpngtsd xmm2,xmm6,xmm4
381	vcmpngtsd xmm2,xmm6,QWORD PTR [rcx]
382	vcmpngtsd xmm2,xmm6,[rcx]
383	vcmpfalsesd xmm2,xmm6,xmm4
384	vcmpfalsesd xmm2,xmm6,QWORD PTR [rcx]
385	vcmpfalsesd xmm2,xmm6,[rcx]
386	vcmpneq_oqsd xmm2,xmm6,xmm4
387	vcmpneq_oqsd xmm2,xmm6,QWORD PTR [rcx]
388	vcmpneq_oqsd xmm2,xmm6,[rcx]
389	vcmpgesd xmm2,xmm6,xmm4
390	vcmpgesd xmm2,xmm6,QWORD PTR [rcx]
391	vcmpgesd xmm2,xmm6,[rcx]
392	vcmpgtsd xmm2,xmm6,xmm4
393	vcmpgtsd xmm2,xmm6,QWORD PTR [rcx]
394	vcmpgtsd xmm2,xmm6,[rcx]
395	vcmptruesd xmm2,xmm6,xmm4
396	vcmptruesd xmm2,xmm6,QWORD PTR [rcx]
397	vcmptruesd xmm2,xmm6,[rcx]
398	vcmpeq_ossd xmm2,xmm6,xmm4
399	vcmpeq_ossd xmm2,xmm6,QWORD PTR [rcx]
400	vcmpeq_ossd xmm2,xmm6,[rcx]
401	vcmplt_oqsd xmm2,xmm6,xmm4
402	vcmplt_oqsd xmm2,xmm6,QWORD PTR [rcx]
403	vcmplt_oqsd xmm2,xmm6,[rcx]
404	vcmple_oqsd xmm2,xmm6,xmm4
405	vcmple_oqsd xmm2,xmm6,QWORD PTR [rcx]
406	vcmple_oqsd xmm2,xmm6,[rcx]
407	vcmpunord_ssd xmm2,xmm6,xmm4
408	vcmpunord_ssd xmm2,xmm6,QWORD PTR [rcx]
409	vcmpunord_ssd xmm2,xmm6,[rcx]
410	vcmpneq_ussd xmm2,xmm6,xmm4
411	vcmpneq_ussd xmm2,xmm6,QWORD PTR [rcx]
412	vcmpneq_ussd xmm2,xmm6,[rcx]
413	vcmpnlt_uqsd xmm2,xmm6,xmm4
414	vcmpnlt_uqsd xmm2,xmm6,QWORD PTR [rcx]
415	vcmpnlt_uqsd xmm2,xmm6,[rcx]
416	vcmpnle_uqsd xmm2,xmm6,xmm4
417	vcmpnle_uqsd xmm2,xmm6,QWORD PTR [rcx]
418	vcmpnle_uqsd xmm2,xmm6,[rcx]
419	vcmpord_ssd xmm2,xmm6,xmm4
420	vcmpord_ssd xmm2,xmm6,QWORD PTR [rcx]
421	vcmpord_ssd xmm2,xmm6,[rcx]
422	vcmpeq_ussd xmm2,xmm6,xmm4
423	vcmpeq_ussd xmm2,xmm6,QWORD PTR [rcx]
424	vcmpeq_ussd xmm2,xmm6,[rcx]
425	vcmpnge_uqsd xmm2,xmm6,xmm4
426	vcmpnge_uqsd xmm2,xmm6,QWORD PTR [rcx]
427	vcmpnge_uqsd xmm2,xmm6,[rcx]
428	vcmpngt_uqsd xmm2,xmm6,xmm4
429	vcmpngt_uqsd xmm2,xmm6,QWORD PTR [rcx]
430	vcmpngt_uqsd xmm2,xmm6,[rcx]
431	vcmpfalse_ossd xmm2,xmm6,xmm4
432	vcmpfalse_ossd xmm2,xmm6,QWORD PTR [rcx]
433	vcmpfalse_ossd xmm2,xmm6,[rcx]
434	vcmpneq_ossd xmm2,xmm6,xmm4
435	vcmpneq_ossd xmm2,xmm6,QWORD PTR [rcx]
436	vcmpneq_ossd xmm2,xmm6,[rcx]
437	vcmpge_oqsd xmm2,xmm6,xmm4
438	vcmpge_oqsd xmm2,xmm6,QWORD PTR [rcx]
439	vcmpge_oqsd xmm2,xmm6,[rcx]
440	vcmpgt_oqsd xmm2,xmm6,xmm4
441	vcmpgt_oqsd xmm2,xmm6,QWORD PTR [rcx]
442	vcmpgt_oqsd xmm2,xmm6,[rcx]
443	vcmptrue_ussd xmm2,xmm6,xmm4
444	vcmptrue_ussd xmm2,xmm6,QWORD PTR [rcx]
445	vcmptrue_ussd xmm2,xmm6,[rcx]
446
447# Tests for op xmm/mem32, xmm, xmm
448	vaddss xmm2,xmm6,xmm4
449	vaddss xmm2,xmm6,DWORD PTR [rcx]
450	vaddss xmm2,xmm6,[rcx]
451	vcvtss2sd xmm2,xmm6,xmm4
452	vcvtss2sd xmm2,xmm6,DWORD PTR [rcx]
453	vcvtss2sd xmm2,xmm6,[rcx]
454	vdivss xmm2,xmm6,xmm4
455	vdivss xmm2,xmm6,DWORD PTR [rcx]
456	vdivss xmm2,xmm6,[rcx]
457	vmaxss xmm2,xmm6,xmm4
458	vmaxss xmm2,xmm6,DWORD PTR [rcx]
459	vmaxss xmm2,xmm6,[rcx]
460	vminss xmm2,xmm6,xmm4
461	vminss xmm2,xmm6,DWORD PTR [rcx]
462	vminss xmm2,xmm6,[rcx]
463	vmulss xmm2,xmm6,xmm4
464	vmulss xmm2,xmm6,DWORD PTR [rcx]
465	vmulss xmm2,xmm6,[rcx]
466	vrcpss xmm2,xmm6,xmm4
467	vrcpss xmm2,xmm6,DWORD PTR [rcx]
468	vrcpss xmm2,xmm6,[rcx]
469	vrsqrtss xmm2,xmm6,xmm4
470	vrsqrtss xmm2,xmm6,DWORD PTR [rcx]
471	vrsqrtss xmm2,xmm6,[rcx]
472	vsqrtss xmm2,xmm6,xmm4
473	vsqrtss xmm2,xmm6,DWORD PTR [rcx]
474	vsqrtss xmm2,xmm6,[rcx]
475	vsubss xmm2,xmm6,xmm4
476	vsubss xmm2,xmm6,DWORD PTR [rcx]
477	vsubss xmm2,xmm6,[rcx]
478	vcmpeqss xmm2,xmm6,xmm4
479	vcmpeqss xmm2,xmm6,DWORD PTR [rcx]
480	vcmpeqss xmm2,xmm6,[rcx]
481	vcmpltss xmm2,xmm6,xmm4
482	vcmpltss xmm2,xmm6,DWORD PTR [rcx]
483	vcmpltss xmm2,xmm6,[rcx]
484	vcmpless xmm2,xmm6,xmm4
485	vcmpless xmm2,xmm6,DWORD PTR [rcx]
486	vcmpless xmm2,xmm6,[rcx]
487	vcmpunordss xmm2,xmm6,xmm4
488	vcmpunordss xmm2,xmm6,DWORD PTR [rcx]
489	vcmpunordss xmm2,xmm6,[rcx]
490	vcmpneqss xmm2,xmm6,xmm4
491	vcmpneqss xmm2,xmm6,DWORD PTR [rcx]
492	vcmpneqss xmm2,xmm6,[rcx]
493	vcmpnltss xmm2,xmm6,xmm4
494	vcmpnltss xmm2,xmm6,DWORD PTR [rcx]
495	vcmpnltss xmm2,xmm6,[rcx]
496	vcmpnless xmm2,xmm6,xmm4
497	vcmpnless xmm2,xmm6,DWORD PTR [rcx]
498	vcmpnless xmm2,xmm6,[rcx]
499	vcmpordss xmm2,xmm6,xmm4
500	vcmpordss xmm2,xmm6,DWORD PTR [rcx]
501	vcmpordss xmm2,xmm6,[rcx]
502	vcmpeq_uqss xmm2,xmm6,xmm4
503	vcmpeq_uqss xmm2,xmm6,DWORD PTR [rcx]
504	vcmpeq_uqss xmm2,xmm6,[rcx]
505	vcmpngess xmm2,xmm6,xmm4
506	vcmpngess xmm2,xmm6,DWORD PTR [rcx]
507	vcmpngess xmm2,xmm6,[rcx]
508	vcmpngtss xmm2,xmm6,xmm4
509	vcmpngtss xmm2,xmm6,DWORD PTR [rcx]
510	vcmpngtss xmm2,xmm6,[rcx]
511	vcmpfalsess xmm2,xmm6,xmm4
512	vcmpfalsess xmm2,xmm6,DWORD PTR [rcx]
513	vcmpfalsess xmm2,xmm6,[rcx]
514	vcmpneq_oqss xmm2,xmm6,xmm4
515	vcmpneq_oqss xmm2,xmm6,DWORD PTR [rcx]
516	vcmpneq_oqss xmm2,xmm6,[rcx]
517	vcmpgess xmm2,xmm6,xmm4
518	vcmpgess xmm2,xmm6,DWORD PTR [rcx]
519	vcmpgess xmm2,xmm6,[rcx]
520	vcmpgtss xmm2,xmm6,xmm4
521	vcmpgtss xmm2,xmm6,DWORD PTR [rcx]
522	vcmpgtss xmm2,xmm6,[rcx]
523	vcmptruess xmm2,xmm6,xmm4
524	vcmptruess xmm2,xmm6,DWORD PTR [rcx]
525	vcmptruess xmm2,xmm6,[rcx]
526	vcmpeq_osss xmm2,xmm6,xmm4
527	vcmpeq_osss xmm2,xmm6,DWORD PTR [rcx]
528	vcmpeq_osss xmm2,xmm6,[rcx]
529	vcmplt_oqss xmm2,xmm6,xmm4
530	vcmplt_oqss xmm2,xmm6,DWORD PTR [rcx]
531	vcmplt_oqss xmm2,xmm6,[rcx]
532	vcmple_oqss xmm2,xmm6,xmm4
533	vcmple_oqss xmm2,xmm6,DWORD PTR [rcx]
534	vcmple_oqss xmm2,xmm6,[rcx]
535	vcmpunord_sss xmm2,xmm6,xmm4
536	vcmpunord_sss xmm2,xmm6,DWORD PTR [rcx]
537	vcmpunord_sss xmm2,xmm6,[rcx]
538	vcmpneq_usss xmm2,xmm6,xmm4
539	vcmpneq_usss xmm2,xmm6,DWORD PTR [rcx]
540	vcmpneq_usss xmm2,xmm6,[rcx]
541	vcmpnlt_uqss xmm2,xmm6,xmm4
542	vcmpnlt_uqss xmm2,xmm6,DWORD PTR [rcx]
543	vcmpnlt_uqss xmm2,xmm6,[rcx]
544	vcmpnle_uqss xmm2,xmm6,xmm4
545	vcmpnle_uqss xmm2,xmm6,DWORD PTR [rcx]
546	vcmpnle_uqss xmm2,xmm6,[rcx]
547	vcmpord_sss xmm2,xmm6,xmm4
548	vcmpord_sss xmm2,xmm6,DWORD PTR [rcx]
549	vcmpord_sss xmm2,xmm6,[rcx]
550	vcmpeq_usss xmm2,xmm6,xmm4
551	vcmpeq_usss xmm2,xmm6,DWORD PTR [rcx]
552	vcmpeq_usss xmm2,xmm6,[rcx]
553	vcmpnge_uqss xmm2,xmm6,xmm4
554	vcmpnge_uqss xmm2,xmm6,DWORD PTR [rcx]
555	vcmpnge_uqss xmm2,xmm6,[rcx]
556	vcmpngt_uqss xmm2,xmm6,xmm4
557	vcmpngt_uqss xmm2,xmm6,DWORD PTR [rcx]
558	vcmpngt_uqss xmm2,xmm6,[rcx]
559	vcmpfalse_osss xmm2,xmm6,xmm4
560	vcmpfalse_osss xmm2,xmm6,DWORD PTR [rcx]
561	vcmpfalse_osss xmm2,xmm6,[rcx]
562	vcmpneq_osss xmm2,xmm6,xmm4
563	vcmpneq_osss xmm2,xmm6,DWORD PTR [rcx]
564	vcmpneq_osss xmm2,xmm6,[rcx]
565	vcmpge_oqss xmm2,xmm6,xmm4
566	vcmpge_oqss xmm2,xmm6,DWORD PTR [rcx]
567	vcmpge_oqss xmm2,xmm6,[rcx]
568	vcmpgt_oqss xmm2,xmm6,xmm4
569	vcmpgt_oqss xmm2,xmm6,DWORD PTR [rcx]
570	vcmpgt_oqss xmm2,xmm6,[rcx]
571	vcmptrue_usss xmm2,xmm6,xmm4
572	vcmptrue_usss xmm2,xmm6,DWORD PTR [rcx]
573	vcmptrue_usss xmm2,xmm6,[rcx]
574
575# Tests for op xmm/mem32, xmm
576	vcomiss xmm6,xmm4
577	vcomiss xmm4,DWORD PTR [rcx]
578	vcomiss xmm4,[rcx]
579	vucomiss xmm6,xmm4
580	vucomiss xmm4,DWORD PTR [rcx]
581	vucomiss xmm4,[rcx]
582
583# Tests for op mem32, xmm
584	vmovss xmm4,DWORD PTR [rcx]
585	vmovss xmm4,[rcx]
586
587# Tests for op xmm, mem32
588	vmovss DWORD PTR [rcx],xmm4
589	vmovss [rcx],xmm4
590
591# Tests for op xmm/mem32, regl
592	vcvtss2si ecx,xmm4
593	vcvtss2si ecx,DWORD PTR [rcx]
594	vcvtss2si ecx,[rcx]
595	vcvttss2si ecx,xmm4
596	vcvttss2si ecx,DWORD PTR [rcx]
597	vcvttss2si ecx,[rcx]
598
599# Tests for op xmm/mem32, regq
600	vcvtss2si rcx,xmm4
601	vcvtss2si rcx,DWORD PTR [rcx]
602	vcvtss2si rcx,[rcx]
603	vcvttss2si rcx,xmm4
604	vcvttss2si rcx,DWORD PTR [rcx]
605	vcvttss2si rcx,[rcx]
606
607# Tests for op regl/mem32, xmm, xmm
608	vcvtsi2sd xmm6,xmm4,ecx
609	vcvtsi2sd xmm6,xmm4,DWORD PTR [rcx]
610	vcvtsi2ss xmm6,xmm4,ecx
611	vcvtsi2ss xmm6,xmm4,DWORD PTR [rcx]
612
613# Tests for op imm8, xmm/mem32, xmm, xmm
614	vcmpss xmm2,xmm6,xmm4,7
615	vcmpss xmm2,xmm6,DWORD PTR [rcx],7
616	vcmpss xmm2,xmm6,[rcx],7
617	vroundss xmm2,xmm6,xmm4,7
618	vroundss xmm2,xmm6,DWORD PTR [rcx],7
619	vroundss xmm2,xmm6,[rcx],7
620
621# Tests for op xmm, xmm, xmm
622	vmovsd xmm2,xmm6,xmm4
623	vmovss xmm2,xmm6,xmm4
624
625#Tests with different memory and register operands.
626	vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
627	vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp]
628	vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+0x99]
629	vcvtsi2sd xmm15,xmm8,DWORD PTR [r15+0x99]
630	vcvtsi2sd xmm15,xmm8,DWORD PTR [rip+0x99]
631	vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+0x99]
632	vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+0x99]
633	vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*1-0x99]
634	vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*2-0x99]
635	vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*1-0x99]
636	vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*2-0x99]
637	vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+r15*4-0x99]
638	vcvtsi2sd xmm15,xmm8,DWORD PTR [r8+r15*8-0x99]
639	vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+r12*4-0x99]
640	vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+r13*1-0x99]
641# Tests for all register operands.
642	vcvtsd2si r8d,xmm8
643	vcvtsi2sd xmm15,xmm8,r8d
644# Tests for different memory/register operand
645	vcvtsd2si r8,QWORD PTR  [rcx]
646	vcvtss2si r8,DWORD PTR  [rcx]
647