Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / i386 / x86-64-opts.s
1 # Check 64bit instructions with encoding options
2
3         .allow_index_reg
4         .text
5 _start:
6
7 # Tests for op reg, reg
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
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
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
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
178         movsd %xmm4,%xmm6
179         movsd.s %xmm4,%xmm6
180         movss %xmm4,%xmm6
181         movss.s %xmm4,%xmm6
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
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
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
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
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
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
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
312         movsd xmm6,xmm4
313         movsd.s xmm6,xmm4
314         movss xmm6,xmm4
315         movss.s xmm6,xmm4
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
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
341 # Tests for op mm, mm
342         movq mm4,mm0
343         movq.s mm4,mm0