i386: Also check R12-R15 registers when optimizing testq to testb
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-opts.s
CommitLineData
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
This page took 0.556938 seconds and 4 git commands to generate.