Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / i386 / opts.s
1 # Check 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         adc %dl,%cl
21         adc.s %dl,%cl
22         adc %dx,%cx
23         adc.s %dx,%cx
24         adc %edx,%ecx
25         adc.s %edx,%ecx
26         adcb %dl,%cl
27         adcb.s %dl,%cl
28         adcw %dx,%cx
29         adcw.s %dx,%cx
30         adcl %edx,%ecx
31         adcl.s %edx,%ecx
32         and %dl,%cl
33         and.s %dl,%cl
34         and %dx,%cx
35         and.s %dx,%cx
36         and %edx,%ecx
37         and.s %edx,%ecx
38         andb %dl,%cl
39         andb.s %dl,%cl
40         andw %dx,%cx
41         andw.s %dx,%cx
42         andl %edx,%ecx
43         andl.s %edx,%ecx
44         cmp %dl,%cl
45         cmp.s %dl,%cl
46         cmp %dx,%cx
47         cmp.s %dx,%cx
48         cmp %edx,%ecx
49         cmp.s %edx,%ecx
50         cmpb %dl,%cl
51         cmpb.s %dl,%cl
52         cmpw %dx,%cx
53         cmpw.s %dx,%cx
54         cmpl %edx,%ecx
55         cmpl.s %edx,%ecx
56         mov %dl,%cl
57         mov.s %dl,%cl
58         mov %dx,%cx
59         mov.s %dx,%cx
60         mov %edx,%ecx
61         mov.s %edx,%ecx
62         movb %dl,%cl
63         movb.s %dl,%cl
64         movw %dx,%cx
65         movw.s %dx,%cx
66         movl %edx,%ecx
67         movl.s %edx,%ecx
68         or %dl,%cl
69         or.s %dl,%cl
70         or %dx,%cx
71         or.s %dx,%cx
72         or %edx,%ecx
73         or.s %edx,%ecx
74         orb %dl,%cl
75         orb.s %dl,%cl
76         orw %dx,%cx
77         orw.s %dx,%cx
78         orl %edx,%ecx
79         orl.s %edx,%ecx
80         sbb %dl,%cl
81         sbb.s %dl,%cl
82         sbb %dx,%cx
83         sbb.s %dx,%cx
84         sbb %edx,%ecx
85         sbb.s %edx,%ecx
86         sbbb %dl,%cl
87         sbbb.s %dl,%cl
88         sbbw %dx,%cx
89         sbbw.s %dx,%cx
90         sbbl %edx,%ecx
91         sbbl.s %edx,%ecx
92         sub %dl,%cl
93         sub.s %dl,%cl
94         sub %dx,%cx
95         sub.s %dx,%cx
96         sub %edx,%ecx
97         sub.s %edx,%ecx
98         subb %dl,%cl
99         subb.s %dl,%cl
100         subw %dx,%cx
101         subw.s %dx,%cx
102         subl %edx,%ecx
103         subl.s %edx,%ecx
104         xor %dl,%cl
105         xor.s %dl,%cl
106         xor %dx,%cx
107         xor.s %dx,%cx
108         xor %edx,%ecx
109         xor.s %edx,%ecx
110         xorb %dl,%cl
111         xorb.s %dl,%cl
112         xorw %dx,%cx
113         xorw.s %dx,%cx
114         xorl %edx,%ecx
115         xorl.s %edx,%ecx
116
117 # Tests for op ymm, ymm
118         vmovapd %ymm4,%ymm6
119         vmovapd.s %ymm4,%ymm6
120         vmovaps %ymm4,%ymm6
121         vmovaps.s %ymm4,%ymm6
122         vmovdqa %ymm4,%ymm6
123         vmovdqa.s %ymm4,%ymm6
124         vmovdqu %ymm4,%ymm6
125         vmovdqu.s %ymm4,%ymm6
126         vmovupd %ymm4,%ymm6
127         vmovupd.s %ymm4,%ymm6
128         vmovups %ymm4,%ymm6
129         vmovups.s %ymm4,%ymm6
130
131 # Tests for op xmm, xmm
132         movapd %xmm4,%xmm6
133         movapd.s %xmm4,%xmm6
134         movaps %xmm4,%xmm6
135         movaps.s %xmm4,%xmm6
136         movdqa %xmm4,%xmm6
137         movdqa.s %xmm4,%xmm6
138         movdqu %xmm4,%xmm6
139         movdqu.s %xmm4,%xmm6
140         movq %xmm4,%xmm6
141         movq.s %xmm4,%xmm6
142         movsd %xmm4,%xmm6
143         movsd.s %xmm4,%xmm6
144         movss %xmm4,%xmm6
145         movss.s %xmm4,%xmm6
146         movupd %xmm4,%xmm6
147         movupd.s %xmm4,%xmm6
148         movups %xmm4,%xmm6
149         movups.s %xmm4,%xmm6
150         vmovapd %xmm4,%xmm6
151         vmovapd.s %xmm4,%xmm6
152         vmovaps %xmm4,%xmm6
153         vmovaps.s %xmm4,%xmm6
154         vmovdqa %xmm4,%xmm6
155         vmovdqa.s %xmm4,%xmm6
156         vmovdqu %xmm4,%xmm6
157         vmovdqu.s %xmm4,%xmm6
158         vmovq %xmm4,%xmm6
159         vmovq.s %xmm4,%xmm6
160         vmovupd %xmm4,%xmm6
161         vmovupd.s %xmm4,%xmm6
162         vmovups %xmm4,%xmm6
163         vmovups.s %xmm4,%xmm6
164
165 # Tests for op xmm, xmm, xmm
166         vmovsd %xmm4,%xmm6,%xmm2
167         vmovsd.s %xmm4,%xmm6,%xmm2
168         vmovss %xmm4,%xmm6,%xmm2
169         vmovss.s %xmm4,%xmm6,%xmm2
170
171 # Tests for op mm, mm
172         movq %mm0,%mm4
173         movq.s %mm0,%mm4
174
175         .intel_syntax noprefix
176
177 # Tests for op reg, reg
178         add cl,dl
179         add.s cl,dl
180         add cx,dx
181         add.s cx,dx
182         add ecx,edx
183         add.s ecx,edx
184         adc cl,dl
185         adc.s cl,dl
186         adc cx,dx
187         adc.s cx,dx
188         adc ecx,edx
189         adc.s ecx,edx
190         and cl,dl
191         and.s cl,dl
192         and cx,dx
193         and.s cx,dx
194         and ecx,edx
195         and.s ecx,edx
196         cmp cl,dl
197         cmp.s cl,dl
198         cmp cx,dx
199         cmp.s cx,dx
200         cmp ecx,edx
201         cmp.s ecx,edx
202         mov cl,dl
203         mov.s cl,dl
204         mov cx,dx
205         mov.s cx,dx
206         mov ecx,edx
207         mov.s ecx,edx
208         or cl,dl
209         or.s cl,dl
210         or cx,dx
211         or.s cx,dx
212         or ecx,edx
213         or.s ecx,edx
214         sbb cl,dl
215         sbb.s cl,dl
216         sbb cx,dx
217         sbb.s cx,dx
218         sbb ecx,edx
219         sbb.s ecx,edx
220         sub cl,dl
221         sub.s cl,dl
222         sub cx,dx
223         sub.s cx,dx
224         sub ecx,edx
225         sub.s ecx,edx
226         xor cl,dl
227         xor.s cl,dl
228         xor cx,dx
229         xor.s cx,dx
230         xor ecx,edx
231         xor.s ecx,edx
232
233 # Tests for op ymm, ymm
234         vmovapd ymm6,ymm4
235         vmovapd.s ymm6,ymm4
236         vmovaps ymm6,ymm4
237         vmovaps.s ymm6,ymm4
238         vmovdqa ymm6,ymm4
239         vmovdqa.s ymm6,ymm4
240         vmovdqu ymm6,ymm4
241         vmovdqu.s ymm6,ymm4
242         vmovupd ymm6,ymm4
243         vmovupd.s ymm6,ymm4
244         vmovups ymm6,ymm4
245         vmovups.s ymm6,ymm4
246
247 # Tests for op xmm, xmm
248         movapd xmm6,xmm4
249         movapd.s xmm6,xmm4
250         movaps xmm6,xmm4
251         movaps.s xmm6,xmm4
252         movdqa xmm6,xmm4
253         movdqa.s xmm6,xmm4
254         movdqu xmm6,xmm4
255         movdqu.s xmm6,xmm4
256         movq xmm6,xmm4
257         movq.s xmm6,xmm4
258         movsd xmm6,xmm4
259         movsd.s xmm6,xmm4
260         movss xmm6,xmm4
261         movss.s xmm6,xmm4
262         movupd xmm6,xmm4
263         movupd.s xmm6,xmm4
264         movups xmm6,xmm4
265         movups.s xmm6,xmm4
266         vmovapd xmm6,xmm4
267         vmovapd.s xmm6,xmm4
268         vmovaps xmm6,xmm4
269         vmovaps.s xmm6,xmm4
270         vmovdqa xmm6,xmm4
271         vmovdqa.s xmm6,xmm4
272         vmovdqu xmm6,xmm4
273         vmovdqu.s xmm6,xmm4
274         vmovq xmm6,xmm4
275         vmovq.s xmm6,xmm4
276         vmovupd xmm6,xmm4
277         vmovupd.s xmm6,xmm4
278         vmovups xmm6,xmm4
279         vmovups.s xmm6,xmm4
280
281 # Tests for op xmm, xmm, xmm
282         vmovsd xmm2,xmm6,xmm4
283         vmovsd.s xmm2,xmm6,xmm4
284         vmovss xmm2,xmm6,xmm4
285         vmovss.s xmm2,xmm6,xmm4
286
287 # Tests for op mm, mm
288         movq mm4,mm0
289         movq.s mm4,mm0