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