x86: improve operand reversal
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / pseudos.s
1 # Check instructions with pseudo prefixes for encoding
2
3 .text
4 _start:
5 {vex3} vmovaps %xmm7,%xmm2
6 {vex3} {load} vmovaps %xmm7,%xmm2
7 {vex3} {store} vmovaps %xmm7,%xmm2
8 vmovaps %xmm7,%xmm2
9 {vex2} vmovaps %xmm7,%xmm2
10 {vex2} {load} vmovaps %xmm7,%xmm2
11 {vex2} {store} vmovaps %xmm7,%xmm2
12 {vex3} vmovaps (%eax),%xmm2
13 vmovaps (%eax),%xmm2
14 {vex2} vmovaps (%eax),%xmm2
15 {evex} vmovaps (%eax),%xmm2
16 {disp32} vmovaps (%eax),%xmm2
17 {evex} {disp8} vmovaps (%eax),%xmm2
18 {evex} {disp32} vmovaps (%eax),%xmm2
19
20 mov %ecx, %eax
21 {load} mov %ecx, %eax
22 {store} mov %ecx, %eax
23 adc %ecx, %eax
24 {load} adc %ecx, %eax
25 {store} adc %ecx, %eax
26 add %ecx, %eax
27 {load} add %ecx, %eax
28 {store} add %ecx, %eax
29 and %ecx, %eax
30 {load} and %ecx, %eax
31 {store} and %ecx, %eax
32 cmp %ecx, %eax
33 {load} cmp %ecx, %eax
34 {store} cmp %ecx, %eax
35 or %ecx, %eax
36 {load} or %ecx, %eax
37 {store} or %ecx, %eax
38 sbb %ecx, %eax
39 {load} sbb %ecx, %eax
40 {store} sbb %ecx, %eax
41 sub %ecx, %eax
42 {load} sub %ecx, %eax
43 {store} sub %ecx, %eax
44 xor %ecx, %eax
45 {load} xor %ecx, %eax
46 {store} xor %ecx, %eax
47
48 {load} mov 0x12345678, %eax
49 {load} mov %eax, 0x12345678
50 {store} mov 0x12345678, %eax
51 {store} mov %eax, 0x12345678
52 {load} mov %eax, (%edi)
53 {load} mov (%edi), %eax
54 {store} mov %eax, (%edi)
55 {store} mov (%edi), %eax
56 {load} mov %es, %edi
57 {load} mov %eax, %gs
58 {store} mov %es, %edi
59 {store} mov %eax, %gs
60 {load} mov %cr0, %edi
61 {load} mov %eax, %cr7
62 {store} mov %cr0, %edi
63 {store} mov %eax, %cr7
64 {load} mov %dr0, %edi
65 {load} mov %eax, %dr7
66 {store} mov %dr0, %edi
67 {store} mov %eax, %dr7
68 {load} adc %eax, (%edi)
69 {load} adc (%edi), %eax
70 {store} adc %eax, (%edi)
71 {store} adc (%edi), %eax
72 {load} add %eax, (%edi)
73 {load} add (%edi), %eax
74 {store} add %eax, (%edi)
75 {store} add (%edi), %eax
76 {load} and %eax, (%edi)
77 {load} and (%edi), %eax
78 {store} and %eax, (%edi)
79 {store} and (%edi), %eax
80 {load} cmp %eax, (%edi)
81 {load} cmp (%edi), %eax
82 {store} cmp %eax, (%edi)
83 {store} cmp (%edi), %eax
84 {load} or %eax, (%edi)
85 {load} or (%edi), %eax
86 {store} or %eax, (%edi)
87 {store} or (%edi), %eax
88 {load} sbb %eax, (%edi)
89 {load} sbb (%edi), %eax
90 {store} sbb %eax, (%edi)
91 {store} sbb (%edi), %eax
92 {load} sub %eax, (%edi)
93 {load} sub (%edi), %eax
94 {store} sub %eax, (%edi)
95 {store} sub (%edi), %eax
96 {load} xor %eax, (%edi)
97 {load} xor (%edi), %eax
98 {store} xor %eax, (%edi)
99 {store} xor (%edi), %eax
100
101 fadd %st, %st
102 {load} fadd %st, %st
103 {store} fadd %st, %st
104 fdiv %st, %st
105 {load} fdiv %st, %st
106 {store} fdiv %st, %st
107 fdivr %st, %st
108 {load} fdivr %st, %st
109 {store} fdivr %st, %st
110 fmul %st, %st
111 {load} fmul %st, %st
112 {store} fmul %st, %st
113 fsub %st, %st
114 {load} fsub %st, %st
115 {store} fsub %st, %st
116 fsubr %st, %st
117 {load} fsubr %st, %st
118 {store} fsubr %st, %st
119
120 movq %mm0, %mm7
121 {load} movq %mm0, %mm7
122 {store} movq %mm0, %mm7
123
124 movaps %xmm0, %xmm7
125 {load} movaps %xmm0, %xmm7
126 {store} movaps %xmm0, %xmm7
127 movups %xmm0, %xmm7
128 {load} movups %xmm0, %xmm7
129 {store} movups %xmm0, %xmm7
130 movss %xmm0, %xmm7
131 {load} movss %xmm0, %xmm7
132 {store} movss %xmm0, %xmm7
133 movapd %xmm0, %xmm7
134 {load} movapd %xmm0, %xmm7
135 {store} movapd %xmm0, %xmm7
136 movupd %xmm0, %xmm7
137 {load} movupd %xmm0, %xmm7
138 {store} movupd %xmm0, %xmm7
139 movsd %xmm0, %xmm7
140 {load} movsd %xmm0, %xmm7
141 {store} movsd %xmm0, %xmm7
142 movdqa %xmm0, %xmm7
143 {load} movdqa %xmm0, %xmm7
144 {store} movdqa %xmm0, %xmm7
145 movdqu %xmm0, %xmm7
146 {load} movdqu %xmm0, %xmm7
147 {store} movdqu %xmm0, %xmm7
148 movq %xmm0, %xmm7
149 {load} movq %xmm0, %xmm7
150 {store} movq %xmm0, %xmm7
151 vmovaps %xmm0, %xmm7
152 {load} vmovaps %xmm0, %xmm7
153 {store} vmovaps %xmm0, %xmm7
154 vmovaps %zmm0, %zmm7
155 {load} vmovaps %zmm0, %zmm7
156 {store} vmovaps %zmm0, %zmm7
157 vmovaps %xmm0, %xmm7{%k7}
158 {load} vmovaps %xmm0, %xmm7{%k7}
159 {store} vmovaps %xmm0, %xmm7{%k7}
160 vmovups %zmm0, %zmm7
161 {load} vmovups %zmm0, %zmm7
162 {store} vmovups %zmm0, %zmm7
163 vmovups %xmm0, %xmm7
164 {load} vmovups %xmm0, %xmm7
165 {store} vmovups %xmm0, %xmm7
166 vmovups %xmm0, %xmm7{%k7}
167 {load} vmovups %xmm0, %xmm7{%k7}
168 {store} vmovups %xmm0, %xmm7{%k7}
169 vmovss %xmm0, %xmm1, %xmm7
170 {load} vmovss %xmm0, %xmm1, %xmm7
171 {store} vmovss %xmm0, %xmm1, %xmm7
172 vmovss %xmm0, %xmm1, %xmm7{%k7}
173 {load} vmovss %xmm0, %xmm1, %xmm7{%k7}
174 {store} vmovss %xmm0, %xmm1, %xmm7{%k7}
175 vmovapd %xmm0, %xmm7
176 {load} vmovapd %xmm0, %xmm7
177 {store} vmovapd %xmm0, %xmm7
178 vmovapd %zmm0, %zmm7
179 {load} vmovapd %zmm0, %zmm7
180 {store} vmovapd %zmm0, %zmm7
181 vmovapd %xmm0, %xmm7{%k7}
182 {load} vmovapd %xmm0, %xmm7{%k7}
183 {store} vmovapd %xmm0, %xmm7{%k7}
184 vmovupd %xmm0, %xmm7
185 {load} vmovupd %xmm0, %xmm7
186 {store} vmovupd %xmm0, %xmm7
187 vmovupd %zmm0, %zmm7
188 {load} vmovupd %zmm0, %zmm7
189 {store} vmovupd %zmm0, %zmm7
190 vmovupd %xmm0, %xmm7{%k7}
191 {load} vmovupd %xmm0, %xmm7{%k7}
192 {store} vmovupd %xmm0, %xmm7{%k7}
193 vmovsd %xmm0, %xmm1, %xmm7
194 {load} vmovsd %xmm0, %xmm1, %xmm7
195 {store} vmovsd %xmm0, %xmm1, %xmm7
196 vmovsd %xmm0, %xmm1, %xmm7{%k7}
197 {load} vmovsd %xmm0, %xmm1, %xmm7{%k7}
198 {store} vmovsd %xmm0, %xmm1, %xmm7{%k7}
199 vmovdqa %xmm0, %xmm7
200 {load} vmovdqa %xmm0, %xmm7
201 {store} vmovdqa %xmm0, %xmm7
202 vmovdqa32 %zmm0, %zmm7
203 {load} vmovdqa32 %zmm0, %zmm7
204 {store} vmovdqa32 %zmm0, %zmm7
205 vmovdqa32 %xmm0, %xmm7
206 {load} vmovdqa32 %xmm0, %xmm7
207 {store} vmovdqa32 %xmm0, %xmm7
208 vmovdqa64 %zmm0, %zmm7
209 {load} vmovdqa64 %zmm0, %zmm7
210 {store} vmovdqa64 %zmm0, %zmm7
211 vmovdqa64 %xmm0, %xmm7
212 {load} vmovdqa64 %xmm0, %xmm7
213 {store} vmovdqa64 %xmm0, %xmm7
214 vmovdqu %xmm0, %xmm7
215 {load} vmovdqu %xmm0, %xmm7
216 {store} vmovdqu %xmm0, %xmm7
217 vmovdqu8 %zmm0, %zmm7
218 {load} vmovdqu8 %zmm0, %zmm7
219 {store} vmovdqu8 %zmm0, %zmm7
220 vmovdqu8 %xmm0, %xmm7
221 {load} vmovdqu8 %xmm0, %xmm7
222 {store} vmovdqu8 %zmm0, %zmm7
223 vmovdqu16 %zmm0, %zmm7
224 {load} vmovdqu16 %zmm0, %zmm7
225 {store} vmovdqu16 %zmm0, %zmm7
226 vmovdqu16 %xmm0, %xmm7
227 {load} vmovdqu16 %xmm0, %xmm7
228 {store} vmovdqu16 %xmm0, %xmm7
229 vmovdqu32 %zmm0, %zmm7
230 {load} vmovdqu32 %zmm0, %zmm7
231 {store} vmovdqu32 %zmm0, %zmm7
232 vmovdqu32 %xmm0, %xmm7
233 {load} vmovdqu32 %xmm0, %xmm7
234 {store} vmovdqu32 %xmm0, %xmm7
235 vmovdqu64 %zmm0, %zmm7
236 {load} vmovdqu64 %zmm0, %zmm7
237 {store} vmovdqu64 %zmm0, %zmm7
238 vmovdqu64 %xmm0, %xmm7
239 {load} vmovdqu64 %xmm0, %xmm7
240 {store} vmovdqu64 %xmm0, %xmm7
241 vmovq %xmm0, %xmm7
242 {load} vmovq %xmm0, %xmm7
243 {store} vmovq %xmm0, %xmm7
244 {evex} vmovq %xmm0, %xmm7
245 {load} {evex} vmovq %xmm0, %xmm7
246 {store} {evex} vmovq %xmm0, %xmm7
247
248 bndmov %bnd3, %bnd0
249 {load} bndmov %bnd3, %bnd0
250 {store} bndmov %bnd3, %bnd0
251
252 movaps (%eax),%xmm2
253 {load} movaps (%eax),%xmm2
254 {store} movaps (%eax),%xmm2
255 {disp8} movaps (%eax),%xmm2
256 {disp32} movaps (%eax),%xmm2
257 movaps -1(%eax),%xmm2
258 {disp8} movaps -1(%eax),%xmm2
259 {disp32} movaps -1(%eax),%xmm2
260 movaps 128(%eax),%xmm2
261 {disp8} movaps 128(%eax),%xmm2
262 {disp32} movaps 128(%eax),%xmm2
263
264 .intel_syntax noprefix
265 {vex3} vmovaps xmm2,xmm7
266 {vex3} {load} vmovaps xmm2,xmm7
267 {vex3} {store} vmovaps xmm2,xmm7
268 vmovaps xmm2,xmm7
269 {vex2} vmovaps xmm2,xmm7
270 {vex2} {load} vmovaps xmm2,xmm7
271 {vex2} {store} vmovaps xmm2,xmm7
272 {vex3} vmovaps xmm2,XMMWORD PTR [eax]
273 vmovaps xmm2,XMMWORD PTR [eax]
274 {vex2} vmovaps xmm2,XMMWORD PTR [eax]
275 {evex} vmovaps xmm2,XMMWORD PTR [eax]
276 {disp32} vmovaps xmm2,XMMWORD PTR [eax]
277 {evex} {disp8} vmovaps xmm2,XMMWORD PTR [eax]
278 {evex} {disp32} vmovaps xmm2,XMMWORD PTR [eax]
279 mov eax,ecx
280 {load} mov eax,ecx
281 {store} mov eax,ecx
282 movaps xmm2,XMMWORD PTR [eax]
283 {load} movaps xmm2,XMMWORD PTR [eax]
284 {store} movaps xmm2,XMMWORD PTR [eax]
285 {disp8} movaps xmm2,XMMWORD PTR [eax]
286 {disp32} movaps xmm2,XMMWORD PTR [eax]
287 movaps xmm2,XMMWORD PTR [eax-1]
288 {disp8} movaps xmm2,XMMWORD PTR [eax-1]
289 {disp32} movaps xmm2,XMMWORD PTR [eax-1]
290 movaps xmm2,XMMWORD PTR [eax+128]
291 {disp8} movaps xmm2,XMMWORD PTR [eax+128]
292 {disp32} movaps xmm2,XMMWORD PTR [eax+128]
This page took 0.035402 seconds and 4 git commands to generate.