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