Allow VL=1 on AVX scalar instructions.
[binutils.git] / gas / testsuite / gas / i386 / avx-scalar.s
blobfbda32e07544a27736266394562ddeb81e7d15af
1 # Check AVX scalar instructions
3 .allow_index_reg
4 .text
5 _start:
7 # Tests for op xmm/mem64, xmm
8 vcomisd %xmm4,%xmm6
9 vcomisd (%ecx),%xmm4
10 vucomisd %xmm4,%xmm6
11 vucomisd (%ecx),%xmm4
13 # Tests for op mem64, xmm
14 vmovsd (%ecx),%xmm4
16 # Tests for op xmm, mem64
17 vmovsd %xmm4,(%ecx)
19 # Tests for op xmm, regq/mem64
20 # Tests for op regq/mem64, xmm
21 vmovq %xmm4,(%ecx)
22 vmovq (%ecx),%xmm4
24 # Tests for op xmm/mem64, regl
25 vcvtsd2si %xmm4,%ecx
26 vcvtsd2si (%ecx),%ecx
27 vcvttsd2si %xmm4,%ecx
28 vcvttsd2si (%ecx),%ecx
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
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
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
204 # Tests for op xmm/mem32, xmm
205 vcomiss %xmm4,%xmm6
206 vcomiss (%ecx),%xmm4
207 vucomiss %xmm4,%xmm6
208 vucomiss (%ecx),%xmm4
210 # Tests for op mem32, xmm
211 vmovss (%ecx),%xmm4
213 # Tests for op xmm, mem32
214 vmovss %xmm4,(%ecx)
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
223 # Tests for op xmm/mem32, regl
224 vcvtss2si %xmm4,%ecx
225 vcvtss2si (%ecx),%ecx
226 vcvttss2si %xmm4,%ecx
227 vcvttss2si (%ecx),%ecx
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
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
241 # Tests for op xmm, xmm
242 vmovq %xmm4,%xmm6
244 # Tests for op xmm, xmm, xmm
245 vmovsd %xmm4,%xmm6,%xmm2
246 vmovss %xmm4,%xmm6,%xmm2
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
272 .intel_syntax noprefix
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]
282 # Tests for op mem64, xmm
283 vmovsd xmm4,QWORD PTR [ecx]
284 vmovsd xmm4,[ecx]
286 # Tests for op xmm, mem64
287 vmovsd QWORD PTR [ecx],xmm4
288 vmovsd [ecx],xmm4
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]
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]
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
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]
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]
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]
571 # Tests for op mem32, xmm
572 vmovss xmm4,DWORD PTR [ecx]
573 vmovss xmm4,[ecx]
575 # Tests for op xmm, mem32
576 vmovss DWORD PTR [ecx],xmm4
577 vmovss [ecx],xmm4
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]
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]
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]
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
612 # Tests for op xmm, xmm
613 vmovq xmm6,xmm4
615 # Tests for op xmm, xmm, xmm
616 vmovsd xmm2,xmm6,xmm4
617 vmovss xmm2,xmm6,xmm4
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]