i386: Also check R12-R15 registers when optimizing testq to testb
[deliverable/binutils-gdb.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 # Tests for op bnd, bnd
176 bndmov %bnd1,%bnd2
177 bndmov.s %bnd1,%bnd2
178
179 .intel_syntax noprefix
180
181 # Tests for op reg, reg
182 add cl,dl
183 add.s cl,dl
184 add cx,dx
185 add.s cx,dx
186 add ecx,edx
187 add.s ecx,edx
188 adc cl,dl
189 adc.s cl,dl
190 adc cx,dx
191 adc.s cx,dx
192 adc ecx,edx
193 adc.s ecx,edx
194 and cl,dl
195 and.s cl,dl
196 and cx,dx
197 and.s cx,dx
198 and ecx,edx
199 and.s ecx,edx
200 cmp cl,dl
201 cmp.s cl,dl
202 cmp cx,dx
203 cmp.s cx,dx
204 cmp ecx,edx
205 cmp.s ecx,edx
206 mov cl,dl
207 mov.s cl,dl
208 mov cx,dx
209 mov.s cx,dx
210 mov ecx,edx
211 mov.s ecx,edx
212 or cl,dl
213 or.s cl,dl
214 or cx,dx
215 or.s cx,dx
216 or ecx,edx
217 or.s ecx,edx
218 sbb cl,dl
219 sbb.s cl,dl
220 sbb cx,dx
221 sbb.s cx,dx
222 sbb ecx,edx
223 sbb.s ecx,edx
224 sub cl,dl
225 sub.s cl,dl
226 sub cx,dx
227 sub.s cx,dx
228 sub ecx,edx
229 sub.s ecx,edx
230 xor cl,dl
231 xor.s cl,dl
232 xor cx,dx
233 xor.s cx,dx
234 xor ecx,edx
235 xor.s ecx,edx
236
237 # Tests for op ymm, ymm
238 vmovapd ymm6,ymm4
239 vmovapd.s ymm6,ymm4
240 vmovaps ymm6,ymm4
241 vmovaps.s ymm6,ymm4
242 vmovdqa ymm6,ymm4
243 vmovdqa.s ymm6,ymm4
244 vmovdqu ymm6,ymm4
245 vmovdqu.s ymm6,ymm4
246 vmovupd ymm6,ymm4
247 vmovupd.s ymm6,ymm4
248 vmovups ymm6,ymm4
249 vmovups.s ymm6,ymm4
250
251 # Tests for op xmm, xmm
252 movapd xmm6,xmm4
253 movapd.s xmm6,xmm4
254 movaps xmm6,xmm4
255 movaps.s xmm6,xmm4
256 movdqa xmm6,xmm4
257 movdqa.s xmm6,xmm4
258 movdqu xmm6,xmm4
259 movdqu.s xmm6,xmm4
260 movq xmm6,xmm4
261 movq.s xmm6,xmm4
262 movsd xmm6,xmm4
263 movsd.s xmm6,xmm4
264 movss xmm6,xmm4
265 movss.s xmm6,xmm4
266 movupd xmm6,xmm4
267 movupd.s xmm6,xmm4
268 movups xmm6,xmm4
269 movups.s xmm6,xmm4
270 vmovapd xmm6,xmm4
271 vmovapd.s xmm6,xmm4
272 vmovaps xmm6,xmm4
273 vmovaps.s xmm6,xmm4
274 vmovdqa xmm6,xmm4
275 vmovdqa.s xmm6,xmm4
276 vmovdqu xmm6,xmm4
277 vmovdqu.s xmm6,xmm4
278 vmovq xmm6,xmm4
279 vmovq.s xmm6,xmm4
280 vmovupd xmm6,xmm4
281 vmovupd.s xmm6,xmm4
282 vmovups xmm6,xmm4
283 vmovups.s xmm6,xmm4
284
285 # Tests for op xmm, xmm, xmm
286 vmovsd xmm2,xmm6,xmm4
287 vmovsd.s xmm2,xmm6,xmm4
288 vmovss xmm2,xmm6,xmm4
289 vmovss.s xmm2,xmm6,xmm4
290
291 # Tests for op mm, mm
292 movq mm4,mm0
293 movq.s mm4,mm0
294
295 # Tests for op bnd, bnd
296 bndmov bnd1,bnd2
297 bndmov.s bnd1,bnd2
This page took 0.03595 seconds and 4 git commands to generate.