Commit | Line | Data |
---|---|---|
b6169b20 L |
1 | # Check 64bit instructions with encoding options |
2 | ||
3 | .allow_index_reg | |
4 | .text | |
5 | _start: | |
6 | ||
7 | # Tests for op reg, reg | |
c7532693 L |
8 | add %dl,%cl |
9 | add.s %dl,%cl | |
10 | add %dx,%cx | |
11 | add.s %dx,%cx | |
12 | add %edx,%ecx | |
13 | add.s %edx,%ecx | |
14 | addb %dl,%cl | |
15 | addb.s %dl,%cl | |
16 | addw %dx,%cx | |
17 | addw.s %dx,%cx | |
18 | addl %edx,%ecx | |
19 | addl.s %edx,%ecx | |
20 | add %rdx,%rcx | |
21 | add.s %rdx,%rcx | |
22 | addq %rdx,%rcx | |
23 | addq.s %rdx,%rcx | |
24 | adc %dl,%cl | |
25 | adc.s %dl,%cl | |
26 | adc %dx,%cx | |
27 | adc.s %dx,%cx | |
28 | adc %edx,%ecx | |
29 | adc.s %edx,%ecx | |
30 | adcb %dl,%cl | |
31 | adcb.s %dl,%cl | |
32 | adcw %dx,%cx | |
33 | adcw.s %dx,%cx | |
34 | adcl %edx,%ecx | |
35 | adcl.s %edx,%ecx | |
36 | adc %rdx,%rcx | |
37 | adc.s %rdx,%rcx | |
38 | adcq %rdx,%rcx | |
39 | adcq.s %rdx,%rcx | |
40 | and %dl,%cl | |
41 | and.s %dl,%cl | |
42 | and %dx,%cx | |
43 | and.s %dx,%cx | |
44 | and %edx,%ecx | |
45 | and.s %edx,%ecx | |
46 | andb %dl,%cl | |
47 | andb.s %dl,%cl | |
48 | andw %dx,%cx | |
49 | andw.s %dx,%cx | |
50 | andl %edx,%ecx | |
51 | andl.s %edx,%ecx | |
52 | and %rdx,%rcx | |
53 | and.s %rdx,%rcx | |
54 | andq %rdx,%rcx | |
55 | andq.s %rdx,%rcx | |
56 | cmp %dl,%cl | |
57 | cmp.s %dl,%cl | |
58 | cmp %dx,%cx | |
59 | cmp.s %dx,%cx | |
60 | cmp %edx,%ecx | |
61 | cmp.s %edx,%ecx | |
62 | cmpb %dl,%cl | |
63 | cmpb.s %dl,%cl | |
64 | cmpw %dx,%cx | |
65 | cmpw.s %dx,%cx | |
66 | cmpl %edx,%ecx | |
67 | cmpl.s %edx,%ecx | |
68 | cmp %rdx,%rcx | |
69 | cmp.s %rdx,%rcx | |
70 | cmpq %rdx,%rcx | |
71 | cmpq.s %rdx,%rcx | |
b6169b20 L |
72 | mov %dl,%cl |
73 | mov.s %dl,%cl | |
74 | mov %dx,%cx | |
75 | mov.s %dx,%cx | |
76 | mov %edx,%ecx | |
77 | mov.s %edx,%ecx | |
78 | movb %dl,%cl | |
79 | movb.s %dl,%cl | |
80 | movw %dx,%cx | |
81 | movw.s %dx,%cx | |
82 | movl %edx,%ecx | |
83 | movl.s %edx,%ecx | |
84 | mov %rdx,%rcx | |
85 | mov.s %rdx,%rcx | |
86 | movq %rdx,%rcx | |
87 | movq.s %rdx,%rcx | |
c7532693 L |
88 | or %dl,%cl |
89 | or.s %dl,%cl | |
90 | or %dx,%cx | |
91 | or.s %dx,%cx | |
92 | or %edx,%ecx | |
93 | or.s %edx,%ecx | |
94 | orb %dl,%cl | |
95 | orb.s %dl,%cl | |
96 | orw %dx,%cx | |
97 | orw.s %dx,%cx | |
98 | orl %edx,%ecx | |
99 | orl.s %edx,%ecx | |
100 | or %rdx,%rcx | |
101 | or.s %rdx,%rcx | |
102 | orq %rdx,%rcx | |
103 | orq.s %rdx,%rcx | |
104 | sbb %dl,%cl | |
105 | sbb.s %dl,%cl | |
106 | sbb %dx,%cx | |
107 | sbb.s %dx,%cx | |
108 | sbb %edx,%ecx | |
109 | sbb.s %edx,%ecx | |
110 | sbbb %dl,%cl | |
111 | sbbb.s %dl,%cl | |
112 | sbbw %dx,%cx | |
113 | sbbw.s %dx,%cx | |
114 | sbbl %edx,%ecx | |
115 | sbbl.s %edx,%ecx | |
116 | sbb %rdx,%rcx | |
117 | sbb.s %rdx,%rcx | |
118 | sbbq %rdx,%rcx | |
119 | sbbq.s %rdx,%rcx | |
120 | sub %dl,%cl | |
121 | sub.s %dl,%cl | |
122 | sub %dx,%cx | |
123 | sub.s %dx,%cx | |
124 | sub %edx,%ecx | |
125 | sub.s %edx,%ecx | |
126 | subb %dl,%cl | |
127 | subb.s %dl,%cl | |
128 | subw %dx,%cx | |
129 | subw.s %dx,%cx | |
130 | subl %edx,%ecx | |
131 | subl.s %edx,%ecx | |
132 | sub %rdx,%rcx | |
133 | sub.s %rdx,%rcx | |
134 | subq %rdx,%rcx | |
135 | subq.s %rdx,%rcx | |
136 | xor %dl,%cl | |
137 | xor.s %dl,%cl | |
138 | xor %dx,%cx | |
139 | xor.s %dx,%cx | |
140 | xor %edx,%ecx | |
141 | xor.s %edx,%ecx | |
142 | xorb %dl,%cl | |
143 | xorb.s %dl,%cl | |
144 | xorw %dx,%cx | |
145 | xorw.s %dx,%cx | |
146 | xorl %edx,%ecx | |
147 | xorl.s %edx,%ecx | |
148 | xor %rdx,%rcx | |
149 | xor.s %rdx,%rcx | |
150 | xorq %rdx,%rcx | |
151 | xorq.s %rdx,%rcx | |
b6169b20 L |
152 | |
153 | # Tests for op ymm, ymm | |
154 | vmovapd %ymm4,%ymm6 | |
155 | vmovapd.s %ymm4,%ymm6 | |
156 | vmovaps %ymm4,%ymm6 | |
157 | vmovaps.s %ymm4,%ymm6 | |
158 | vmovdqa %ymm4,%ymm6 | |
159 | vmovdqa.s %ymm4,%ymm6 | |
160 | vmovdqu %ymm4,%ymm6 | |
161 | vmovdqu.s %ymm4,%ymm6 | |
162 | vmovupd %ymm4,%ymm6 | |
163 | vmovupd.s %ymm4,%ymm6 | |
164 | vmovups %ymm4,%ymm6 | |
165 | vmovups.s %ymm4,%ymm6 | |
166 | ||
167 | # Tests for op xmm, xmm | |
168 | movapd %xmm4,%xmm6 | |
169 | movapd.s %xmm4,%xmm6 | |
170 | movaps %xmm4,%xmm6 | |
171 | movaps.s %xmm4,%xmm6 | |
172 | movdqa %xmm4,%xmm6 | |
173 | movdqa.s %xmm4,%xmm6 | |
174 | movdqu %xmm4,%xmm6 | |
175 | movdqu.s %xmm4,%xmm6 | |
176 | movq %xmm4,%xmm6 | |
177 | movq.s %xmm4,%xmm6 | |
fa99fab2 L |
178 | movsd %xmm4,%xmm6 |
179 | movsd.s %xmm4,%xmm6 | |
180 | movss %xmm4,%xmm6 | |
181 | movss.s %xmm4,%xmm6 | |
b6169b20 L |
182 | movupd %xmm4,%xmm6 |
183 | movupd.s %xmm4,%xmm6 | |
184 | movups %xmm4,%xmm6 | |
185 | movups.s %xmm4,%xmm6 | |
186 | vmovapd %xmm4,%xmm6 | |
187 | vmovapd.s %xmm4,%xmm6 | |
188 | vmovaps %xmm4,%xmm6 | |
189 | vmovaps.s %xmm4,%xmm6 | |
190 | vmovdqa %xmm4,%xmm6 | |
191 | vmovdqa.s %xmm4,%xmm6 | |
192 | vmovdqu %xmm4,%xmm6 | |
193 | vmovdqu.s %xmm4,%xmm6 | |
194 | vmovq %xmm4,%xmm6 | |
195 | vmovq.s %xmm4,%xmm6 | |
196 | vmovupd %xmm4,%xmm6 | |
197 | vmovupd.s %xmm4,%xmm6 | |
198 | vmovups %xmm4,%xmm6 | |
199 | vmovups.s %xmm4,%xmm6 | |
200 | ||
fa99fab2 L |
201 | # Tests for op xmm, xmm, xmm |
202 | vmovsd %xmm4,%xmm6,%xmm2 | |
203 | vmovsd.s %xmm4,%xmm6,%xmm2 | |
204 | vmovss %xmm4,%xmm6,%xmm2 | |
205 | vmovss.s %xmm4,%xmm6,%xmm2 | |
206 | ||
b6169b20 L |
207 | # Tests for op mm, mm |
208 | movq %mm0,%mm4 | |
209 | movq.s %mm0,%mm4 | |
210 | ||
211 | .intel_syntax noprefix | |
212 | ||
213 | # Tests for op reg, reg | |
c7532693 L |
214 | add cl,dl |
215 | add.s cl,dl | |
216 | add cx,dx | |
217 | add.s cx,dx | |
218 | add ecx,edx | |
219 | add.s ecx,edx | |
220 | add rcx,rdx | |
221 | add.s rcx,rdx | |
222 | adc cl,dl | |
223 | adc.s cl,dl | |
224 | adc cx,dx | |
225 | adc.s cx,dx | |
226 | adc ecx,edx | |
227 | adc.s ecx,edx | |
228 | adc rcx,rdx | |
229 | adc.s rcx,rdx | |
230 | and cl,dl | |
231 | and.s cl,dl | |
232 | and cx,dx | |
233 | and.s cx,dx | |
234 | and ecx,edx | |
235 | and.s ecx,edx | |
236 | and rcx,rdx | |
237 | and.s rcx,rdx | |
238 | cmp cl,dl | |
239 | cmp.s cl,dl | |
240 | cmp cx,dx | |
241 | cmp.s cx,dx | |
242 | cmp ecx,edx | |
243 | cmp.s ecx,edx | |
244 | cmp rcx,rdx | |
245 | cmp.s rcx,rdx | |
b6169b20 L |
246 | mov cl,dl |
247 | mov.s cl,dl | |
248 | mov cx,dx | |
249 | mov.s cx,dx | |
250 | mov ecx,edx | |
251 | mov.s ecx,edx | |
252 | mov rcx,rdx | |
253 | mov.s rcx,rdx | |
c7532693 L |
254 | or cl,dl |
255 | or.s cl,dl | |
256 | or cx,dx | |
257 | or.s cx,dx | |
258 | or ecx,edx | |
259 | or.s ecx,edx | |
260 | or rcx,rdx | |
261 | or.s rcx,rdx | |
262 | sbb cl,dl | |
263 | sbb.s cl,dl | |
264 | sbb cx,dx | |
265 | sbb.s cx,dx | |
266 | sbb ecx,edx | |
267 | sbb.s ecx,edx | |
268 | sbb rcx,rdx | |
269 | sbb.s rcx,rdx | |
270 | sub cl,dl | |
271 | sub.s cl,dl | |
272 | sub cx,dx | |
273 | sub.s cx,dx | |
274 | sub ecx,edx | |
275 | sub.s ecx,edx | |
276 | sub rcx,rdx | |
277 | sub.s rcx,rdx | |
278 | xor cl,dl | |
279 | xor.s cl,dl | |
280 | xor cx,dx | |
281 | xor.s cx,dx | |
282 | xor ecx,edx | |
283 | xor.s ecx,edx | |
284 | xor rcx,rdx | |
285 | xor.s rcx,rdx | |
b6169b20 L |
286 | |
287 | # Tests for op ymm, ymm | |
288 | vmovapd ymm6,ymm4 | |
289 | vmovapd.s ymm6,ymm4 | |
290 | vmovaps ymm6,ymm4 | |
291 | vmovaps.s ymm6,ymm4 | |
292 | vmovdqa ymm6,ymm4 | |
293 | vmovdqa.s ymm6,ymm4 | |
294 | vmovdqu ymm6,ymm4 | |
295 | vmovdqu.s ymm6,ymm4 | |
296 | vmovupd ymm6,ymm4 | |
297 | vmovupd.s ymm6,ymm4 | |
298 | vmovups ymm6,ymm4 | |
299 | vmovups.s ymm6,ymm4 | |
300 | ||
301 | # Tests for op xmm, xmm | |
302 | movapd xmm6,xmm4 | |
303 | movapd.s xmm6,xmm4 | |
304 | movaps xmm6,xmm4 | |
305 | movaps.s xmm6,xmm4 | |
306 | movdqa xmm6,xmm4 | |
307 | movdqa.s xmm6,xmm4 | |
308 | movdqu xmm6,xmm4 | |
309 | movdqu.s xmm6,xmm4 | |
310 | movq xmm6,xmm4 | |
311 | movq.s xmm6,xmm4 | |
fa99fab2 L |
312 | movsd xmm6,xmm4 |
313 | movsd.s xmm6,xmm4 | |
314 | movss xmm6,xmm4 | |
315 | movss.s xmm6,xmm4 | |
b6169b20 L |
316 | movupd xmm6,xmm4 |
317 | movupd.s xmm6,xmm4 | |
318 | movups xmm6,xmm4 | |
319 | movups.s xmm6,xmm4 | |
320 | vmovapd xmm6,xmm4 | |
321 | vmovapd.s xmm6,xmm4 | |
322 | vmovaps xmm6,xmm4 | |
323 | vmovaps.s xmm6,xmm4 | |
324 | vmovdqa xmm6,xmm4 | |
325 | vmovdqa.s xmm6,xmm4 | |
326 | vmovdqu xmm6,xmm4 | |
327 | vmovdqu.s xmm6,xmm4 | |
328 | vmovq xmm6,xmm4 | |
329 | vmovq.s xmm6,xmm4 | |
330 | vmovupd xmm6,xmm4 | |
331 | vmovupd.s xmm6,xmm4 | |
332 | vmovups xmm6,xmm4 | |
333 | vmovups.s xmm6,xmm4 | |
334 | ||
fa99fab2 L |
335 | # Tests for op xmm, xmm, xmm |
336 | vmovsd xmm2,xmm6,xmm4 | |
337 | vmovsd.s xmm2,xmm6,xmm4 | |
338 | vmovss xmm2,xmm6,xmm4 | |
339 | vmovss.s xmm2,xmm6,xmm4 | |
340 | ||
b6169b20 L |
341 | # Tests for op mm, mm |
342 | movq mm4,mm0 | |
343 | movq.s mm4,mm0 |