Commit | Line | Data |
---|---|---|
539f890d L |
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 | ||
539f890d L |
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 | ||
539f890d L |
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 | ||
539f890d L |
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. | |
539f890d | 234 | vcvtsi2sdl 0x1234,%xmm0,%xmm7 |
539f890d | 235 | vcvtsi2sdl (%ebp),%xmm0,%xmm7 |
539f890d | 236 | vcvtsi2sdl (%esp),%xmm0,%xmm7 |
539f890d | 237 | vcvtsi2sdl 0x99(%ebp),%xmm0,%xmm7 |
539f890d | 238 | vcvtsi2sdl 0x99(,%eiz),%xmm0,%xmm7 |
539f890d | 239 | vcvtsi2sdl 0x99(,%eiz,2),%xmm0,%xmm7 |
539f890d | 240 | vcvtsi2sdl 0x99(%eax,%eiz),%xmm0,%xmm7 |
539f890d | 241 | vcvtsi2sdl 0x99(%eax,%eiz,2),%xmm0,%xmm7 |
539f890d | 242 | vcvtsi2sdl 0x99(%eax,%ebx,4),%xmm0,%xmm7 |
539f890d | 243 | vcvtsi2sdl 0x99(%esp,%ecx,8),%xmm0,%xmm7 |
539f890d L |
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 | ||
539f890d L |
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 | ||
539f890d L |
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 | ||
539f890d L |
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. | |
539f890d | 575 | vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234 |
539f890d | 576 | vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp] |
539f890d | 577 | vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+0x99] |
539f890d | 578 | vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*1+0x99] |
539f890d | 579 | vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*2+0x99] |
539f890d | 580 | vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*1+0x99] |
539f890d | 581 | vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*2+0x99] |
539f890d | 582 | vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+ebx*4+0x99] |
539f890d | 583 | vcvtsi2sd xmm7,xmm0,DWORD PTR [esp+ecx*8+0x99] |
539f890d | 584 | vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+edx*1+0x99] |