Commit | Line | Data |
---|---|---|
86fa6981 L |
1 | # Check 64bit 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 (%rax),%xmm2 | |
13 | vmovaps (%rax),%xmm2 | |
14 | {vex2} vmovaps (%rax),%xmm2 | |
15 | {evex} vmovaps (%rax),%xmm2 | |
16 | {disp32} vmovaps (%rax),%xmm2 | |
17 | {evex} {disp8} vmovaps (%rax),%xmm2 | |
18 | {evex} {disp32} vmovaps (%rax),%xmm2 | |
64c49ab3 | 19 | |
86fa6981 L |
20 | mov %rcx, %rax |
21 | {load} mov %rcx, %rax | |
22 | {store} mov %rcx, %rax | |
64c49ab3 JB |
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 0x123456789abcdef0, %eax | |
53 | {load} mov %eax, 0x123456789abcdef0 | |
54 | {store} mov 0x123456789abcdef0, %eax | |
55 | {store} mov %eax, 0x123456789abcdef0 | |
56 | {load} movabs 0x123456789abcdef0, %eax | |
57 | {load} movabs %eax, 0x123456789abcdef0 | |
58 | {store} movabs 0x123456789abcdef0, %eax | |
59 | {store} movabs %eax, 0x123456789abcdef0 | |
60 | {load} mov %eax, (%rdi) | |
61 | {load} mov (%rdi), %eax | |
62 | {store} mov %eax, (%rdi) | |
63 | {store} mov (%rdi), %eax | |
64 | {load} mov %es, %edi | |
65 | {load} mov %eax, %gs | |
66 | {store} mov %es, %edi | |
67 | {store} mov %eax, %gs | |
68 | {load} mov %cr0, %rdi | |
69 | {load} mov %rax, %cr7 | |
70 | {store} mov %cr0, %rdi | |
71 | {store} mov %rax, %cr7 | |
72 | {load} mov %dr0, %rdi | |
73 | {load} mov %rax, %dr7 | |
74 | {store} mov %dr0, %rdi | |
75 | {store} mov %rax, %dr7 | |
dbbc8b7e JB |
76 | {load} kmovb %k0, %edi |
77 | {load} kmovb %eax, %k7 | |
78 | {store} kmovb %k0, %edi | |
79 | {store} kmovb %eax, %k7 | |
80 | {load} kmovd %k0, %edi | |
81 | {load} kmovd %eax, %k7 | |
82 | {store} kmovd %k0, %edi | |
83 | {store} kmovd %eax, %k7 | |
84 | {load} kmovq %k0, %rdi | |
85 | {load} kmovq %rax, %k7 | |
86 | {store} kmovq %k0, %rdi | |
87 | {store} kmovq %rax, %k7 | |
88 | {load} kmovw %k0, %edi | |
89 | {load} kmovw %eax, %k7 | |
90 | {store} kmovw %k0, %edi | |
91 | {store} kmovw %eax, %k7 | |
92 | {load} kmovb %k0, %k7 | |
93 | {store} kmovb %k0, %k7 | |
94 | {load} kmovd %k0, %k7 | |
95 | {store} kmovd %k0, %k7 | |
96 | {load} kmovq %k0, %k7 | |
97 | {store} kmovq %k0, %k7 | |
98 | {load} kmovw %k0, %k7 | |
99 | {store} kmovw %k0, %k7 | |
64c49ab3 JB |
100 | {load} adc %eax, (%rdi) |
101 | {load} adc (%rdi), %eax | |
102 | {store} adc %eax, (%rdi) | |
103 | {store} adc (%rdi), %eax | |
104 | {load} add %eax, (%rdi) | |
105 | {load} add (%rdi), %eax | |
106 | {store} add %eax, (%rdi) | |
107 | {store} add (%rdi), %eax | |
108 | {load} and %eax, (%rdi) | |
109 | {load} and (%rdi), %eax | |
110 | {store} and %eax, (%rdi) | |
111 | {store} and (%rdi), %eax | |
112 | {load} cmp %eax, (%rdi) | |
113 | {load} cmp (%rdi), %eax | |
114 | {store} cmp %eax, (%rdi) | |
115 | {store} cmp (%rdi), %eax | |
116 | {load} or %eax, (%rdi) | |
117 | {load} or (%rdi), %eax | |
118 | {store} or %eax, (%rdi) | |
119 | {store} or (%rdi), %eax | |
120 | {load} sbb %eax, (%rdi) | |
121 | {load} sbb (%rdi), %eax | |
122 | {store} sbb %eax, (%rdi) | |
123 | {store} sbb (%rdi), %eax | |
124 | {load} sub %eax, (%rdi) | |
125 | {load} sub (%rdi), %eax | |
126 | {store} sub %eax, (%rdi) | |
127 | {store} sub (%rdi), %eax | |
128 | {load} xor %eax, (%rdi) | |
129 | {load} xor (%rdi), %eax | |
130 | {store} xor %eax, (%rdi) | |
131 | {store} xor (%rdi), %eax | |
132 | ||
133 | fadd %st, %st | |
134 | {load} fadd %st, %st | |
135 | {store} fadd %st, %st | |
136 | fdiv %st, %st | |
137 | {load} fdiv %st, %st | |
138 | {store} fdiv %st, %st | |
139 | fdivr %st, %st | |
140 | {load} fdivr %st, %st | |
141 | {store} fdivr %st, %st | |
142 | fmul %st, %st | |
143 | {load} fmul %st, %st | |
144 | {store} fmul %st, %st | |
145 | fsub %st, %st | |
146 | {load} fsub %st, %st | |
147 | {store} fsub %st, %st | |
148 | fsubr %st, %st | |
149 | {load} fsubr %st, %st | |
150 | {store} fsubr %st, %st | |
151 | ||
152 | movq %mm0, %mm7 | |
153 | {load} movq %mm0, %mm7 | |
154 | {store} movq %mm0, %mm7 | |
155 | ||
156 | movaps %xmm0, %xmm7 | |
157 | {load} movaps %xmm0, %xmm7 | |
158 | {store} movaps %xmm0, %xmm7 | |
159 | movups %xmm0, %xmm7 | |
160 | {load} movups %xmm0, %xmm7 | |
161 | {store} movups %xmm0, %xmm7 | |
162 | movss %xmm0, %xmm7 | |
163 | {load} movss %xmm0, %xmm7 | |
164 | {store} movss %xmm0, %xmm7 | |
165 | movapd %xmm0, %xmm7 | |
166 | {load} movapd %xmm0, %xmm7 | |
167 | {store} movapd %xmm0, %xmm7 | |
168 | movupd %xmm0, %xmm7 | |
169 | {load} movupd %xmm0, %xmm7 | |
170 | {store} movupd %xmm0, %xmm7 | |
171 | movsd %xmm0, %xmm7 | |
172 | {load} movsd %xmm0, %xmm7 | |
173 | {store} movsd %xmm0, %xmm7 | |
174 | movdqa %xmm0, %xmm7 | |
175 | {load} movdqa %xmm0, %xmm7 | |
176 | {store} movdqa %xmm0, %xmm7 | |
177 | movdqu %xmm0, %xmm7 | |
178 | {load} movdqu %xmm0, %xmm7 | |
179 | {store} movdqu %xmm0, %xmm7 | |
180 | movq %xmm0, %xmm7 | |
181 | {load} movq %xmm0, %xmm7 | |
182 | {store} movq %xmm0, %xmm7 | |
183 | vmovaps %xmm0, %xmm7 | |
184 | {load} vmovaps %xmm0, %xmm7 | |
185 | {store} vmovaps %xmm0, %xmm7 | |
186 | vmovaps %zmm0, %zmm7 | |
187 | {load} vmovaps %zmm0, %zmm7 | |
188 | {store} vmovaps %zmm0, %zmm7 | |
189 | vmovaps %xmm0, %xmm7{%k7} | |
190 | {load} vmovaps %xmm0, %xmm7{%k7} | |
191 | {store} vmovaps %xmm0, %xmm7{%k7} | |
192 | vmovups %zmm0, %zmm7 | |
193 | {load} vmovups %zmm0, %zmm7 | |
194 | {store} vmovups %zmm0, %zmm7 | |
195 | vmovups %xmm0, %xmm7 | |
196 | {load} vmovups %xmm0, %xmm7 | |
197 | {store} vmovups %xmm0, %xmm7 | |
198 | vmovups %xmm0, %xmm7{%k7} | |
199 | {load} vmovups %xmm0, %xmm7{%k7} | |
200 | {store} vmovups %xmm0, %xmm7{%k7} | |
201 | vmovss %xmm0, %xmm1, %xmm7 | |
202 | {load} vmovss %xmm0, %xmm1, %xmm7 | |
203 | {store} vmovss %xmm0, %xmm1, %xmm7 | |
204 | vmovss %xmm0, %xmm1, %xmm7{%k7} | |
205 | {load} vmovss %xmm0, %xmm1, %xmm7{%k7} | |
206 | {store} vmovss %xmm0, %xmm1, %xmm7{%k7} | |
207 | vmovapd %xmm0, %xmm7 | |
208 | {load} vmovapd %xmm0, %xmm7 | |
209 | {store} vmovapd %xmm0, %xmm7 | |
210 | vmovapd %zmm0, %zmm7 | |
211 | {load} vmovapd %zmm0, %zmm7 | |
212 | {store} vmovapd %zmm0, %zmm7 | |
213 | vmovapd %xmm0, %xmm7{%k7} | |
214 | {load} vmovapd %xmm0, %xmm7{%k7} | |
215 | {store} vmovapd %xmm0, %xmm7{%k7} | |
216 | vmovupd %xmm0, %xmm7 | |
217 | {load} vmovupd %xmm0, %xmm7 | |
218 | {store} vmovupd %xmm0, %xmm7 | |
219 | vmovupd %zmm0, %zmm7 | |
220 | {load} vmovupd %zmm0, %zmm7 | |
221 | {store} vmovupd %zmm0, %zmm7 | |
222 | vmovupd %xmm0, %xmm7{%k7} | |
223 | {load} vmovupd %xmm0, %xmm7{%k7} | |
224 | {store} vmovupd %xmm0, %xmm7{%k7} | |
225 | vmovsd %xmm0, %xmm1, %xmm7 | |
226 | {load} vmovsd %xmm0, %xmm1, %xmm7 | |
227 | {store} vmovsd %xmm0, %xmm1, %xmm7 | |
228 | vmovsd %xmm0, %xmm1, %xmm7{%k7} | |
229 | {load} vmovsd %xmm0, %xmm1, %xmm7{%k7} | |
230 | {store} vmovsd %xmm0, %xmm1, %xmm7{%k7} | |
231 | vmovdqa %xmm0, %xmm7 | |
232 | {load} vmovdqa %xmm0, %xmm7 | |
233 | {store} vmovdqa %xmm0, %xmm7 | |
234 | vmovdqa32 %zmm0, %zmm7 | |
235 | {load} vmovdqa32 %zmm0, %zmm7 | |
236 | {store} vmovdqa32 %zmm0, %zmm7 | |
237 | vmovdqa32 %xmm0, %xmm7 | |
238 | {load} vmovdqa32 %xmm0, %xmm7 | |
239 | {store} vmovdqa32 %xmm0, %xmm7 | |
240 | vmovdqa64 %zmm0, %zmm7 | |
241 | {load} vmovdqa64 %zmm0, %zmm7 | |
242 | {store} vmovdqa64 %zmm0, %zmm7 | |
243 | vmovdqa64 %xmm0, %xmm7 | |
244 | {load} vmovdqa64 %xmm0, %xmm7 | |
245 | {store} vmovdqa64 %xmm0, %xmm7 | |
246 | vmovdqu %xmm0, %xmm7 | |
247 | {load} vmovdqu %xmm0, %xmm7 | |
248 | {store} vmovdqu %xmm0, %xmm7 | |
249 | vmovdqu8 %zmm0, %zmm7 | |
250 | {load} vmovdqu8 %zmm0, %zmm7 | |
251 | {store} vmovdqu8 %zmm0, %zmm7 | |
252 | vmovdqu8 %xmm0, %xmm7 | |
253 | {load} vmovdqu8 %xmm0, %xmm7 | |
254 | {store} vmovdqu8 %zmm0, %zmm7 | |
255 | vmovdqu16 %zmm0, %zmm7 | |
256 | {load} vmovdqu16 %zmm0, %zmm7 | |
257 | {store} vmovdqu16 %zmm0, %zmm7 | |
258 | vmovdqu16 %xmm0, %xmm7 | |
259 | {load} vmovdqu16 %xmm0, %xmm7 | |
260 | {store} vmovdqu16 %xmm0, %xmm7 | |
261 | vmovdqu32 %zmm0, %zmm7 | |
262 | {load} vmovdqu32 %zmm0, %zmm7 | |
263 | {store} vmovdqu32 %zmm0, %zmm7 | |
264 | vmovdqu32 %xmm0, %xmm7 | |
265 | {load} vmovdqu32 %xmm0, %xmm7 | |
266 | {store} vmovdqu32 %xmm0, %xmm7 | |
267 | vmovdqu64 %zmm0, %zmm7 | |
268 | {load} vmovdqu64 %zmm0, %zmm7 | |
269 | {store} vmovdqu64 %zmm0, %zmm7 | |
270 | vmovdqu64 %xmm0, %xmm7 | |
271 | {load} vmovdqu64 %xmm0, %xmm7 | |
272 | {store} vmovdqu64 %xmm0, %xmm7 | |
273 | vmovq %xmm0, %xmm7 | |
274 | {load} vmovq %xmm0, %xmm7 | |
275 | {store} vmovq %xmm0, %xmm7 | |
276 | {evex} vmovq %xmm0, %xmm7 | |
277 | {load} {evex} vmovq %xmm0, %xmm7 | |
278 | {store} {evex} vmovq %xmm0, %xmm7 | |
279 | ||
563c7eef JB |
280 | pextrw $0, %xmm0, %edi |
281 | {load} pextrw $0, %xmm0, %edi | |
282 | {store} pextrw $0, %xmm0, %edi | |
283 | ||
284 | vpextrw $0, %xmm0, %edi | |
285 | {load} vpextrw $0, %xmm0, %edi | |
286 | {store} vpextrw $0, %xmm0, %edi | |
287 | ||
288 | {evex} vpextrw $0, %xmm0, %edi | |
289 | {load} {evex} vpextrw $0, %xmm0, %edi | |
290 | {store} {evex} vpextrw $0, %xmm0, %edi | |
291 | ||
64c49ab3 JB |
292 | bndmov %bnd3, %bnd0 |
293 | {load} bndmov %bnd3, %bnd0 | |
294 | {store} bndmov %bnd3, %bnd0 | |
295 | ||
86fa6981 L |
296 | movaps (%rax),%xmm2 |
297 | {load} movaps (%rax),%xmm2 | |
298 | {store} movaps (%rax),%xmm2 | |
299 | {disp8} movaps (%rax),%xmm2 | |
300 | {disp32} movaps (%rax),%xmm2 | |
301 | movaps -1(%rax),%xmm2 | |
302 | {disp8} movaps -1(%rax),%xmm2 | |
303 | {disp32} movaps -1(%rax),%xmm2 | |
304 | movaps 128(%rax),%xmm2 | |
305 | {disp8} movaps 128(%rax),%xmm2 | |
306 | {disp32} movaps 128(%rax),%xmm2 | |
6b6b6807 L |
307 | {rex} mov %al,%ah |
308 | {rex} movl %eax,%ebx | |
309 | {rex} movl %eax,%r14d | |
310 | {rex} movl %eax,(%r8) | |
311 | {rex} movaps %xmm7,%xmm2 | |
312 | {rex} movaps %xmm7,%xmm12 | |
313 | {rex} movaps (%rcx),%xmm2 | |
314 | {rex} movaps (%r8),%xmm2 | |
315 | {rex} phaddw (%rcx),%mm0 | |
316 | {rex} phaddw (%r8),%mm0 | |
317 | {rex} vmovaps %xmm7,%xmm2 | |
318 | {rex} vmovaps %xmm17,%xmm2 | |
319 | {rex} rorx $7,%eax,%ebx | |
86fa6981 L |
320 | |
321 | .intel_syntax noprefix | |
322 | {vex3} vmovaps xmm2,xmm7 | |
323 | {vex3} {load} vmovaps xmm2,xmm7 | |
324 | {vex3} {store} vmovaps xmm2,xmm7 | |
325 | vmovaps xmm2,xmm7 | |
326 | {vex2} vmovaps xmm2,xmm7 | |
327 | {vex2} {load} vmovaps xmm2,xmm7 | |
328 | {vex2} {store} vmovaps xmm2,xmm7 | |
329 | {vex3} vmovaps xmm2,XMMWORD PTR [rax] | |
330 | vmovaps xmm2,XMMWORD PTR [rax] | |
331 | {vex2} vmovaps xmm2,XMMWORD PTR [rax] | |
332 | {evex} vmovaps xmm2,XMMWORD PTR [rax] | |
333 | {disp32} vmovaps xmm2,XMMWORD PTR [rax] | |
334 | {evex} {disp8} vmovaps xmm2,XMMWORD PTR [rax] | |
335 | {evex} {disp32} vmovaps xmm2,XMMWORD PTR [rax] | |
336 | mov rax,rcx | |
337 | {load} mov rax,rcx | |
338 | {store} mov rax,rcx | |
339 | movaps xmm2,XMMWORD PTR [rax] | |
340 | {load} movaps xmm2,XMMWORD PTR [rax] | |
341 | {store} movaps xmm2,XMMWORD PTR [rax] | |
342 | {disp8} movaps xmm2,XMMWORD PTR [rax] | |
343 | {disp32} movaps xmm2,XMMWORD PTR [rax] | |
344 | movaps xmm2,XMMWORD PTR [rax-1] | |
345 | {disp8} movaps xmm2,XMMWORD PTR [rax-1] | |
346 | {disp32} movaps xmm2,XMMWORD PTR [rax-1] | |
347 | movaps xmm2,XMMWORD PTR [rax+128] | |
348 | {disp8} movaps xmm2,XMMWORD PTR [rax+128] | |
349 | {disp32} movaps xmm2,XMMWORD PTR [rax+128] | |
6b6b6807 L |
350 | {rex} mov ah,al |
351 | {rex} mov ebx,eax | |
352 | {rex} mov r14d,eax | |
353 | {rex} mov DWORD PTR [r8],eax | |
354 | {rex} movaps xmm2,xmm7 | |
355 | {rex} movaps xmm12,xmm7 | |
356 | {rex} movaps xmm2,XMMWORD PTR [rcx] | |
357 | {rex} movaps xmm2,XMMWORD PTR [r8] | |
358 | {rex} phaddw mm0,QWORD PTR [rcx] | |
359 | {rex} phaddw mm0,QWORD PTR [r8] | |
360 | {rex} vmovaps xmm2,xmm7 | |
361 | {rex} vmovaps xmm2,xmm17 | |
362 | {rex} rorx ebx,eax,0x7 |