x86: Add {rex} pseudo prefix
[external/binutils.git] / gas / testsuite / gas / i386 / x86-64-pseudos.s
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
19         mov %rcx, %rax
20         {load} mov %rcx, %rax
21         {store} mov %rcx, %rax
22         movaps (%rax),%xmm2
23         {load} movaps (%rax),%xmm2
24         {store} movaps (%rax),%xmm2
25         {disp8} movaps (%rax),%xmm2
26         {disp32} movaps (%rax),%xmm2
27         movaps -1(%rax),%xmm2
28         {disp8} movaps -1(%rax),%xmm2
29         {disp32} movaps -1(%rax),%xmm2
30         movaps 128(%rax),%xmm2
31         {disp8} movaps 128(%rax),%xmm2
32         {disp32} movaps 128(%rax),%xmm2
33         {rex} mov %al,%ah
34         {rex} movl %eax,%ebx
35         {rex} movl %eax,%r14d
36         {rex} movl %eax,(%r8)
37         {rex} movaps %xmm7,%xmm2
38         {rex} movaps %xmm7,%xmm12
39         {rex} movaps (%rcx),%xmm2
40         {rex} movaps (%r8),%xmm2
41         {rex} phaddw (%rcx),%mm0
42         {rex} phaddw (%r8),%mm0
43         {rex} vmovaps %xmm7,%xmm2
44         {rex} vmovaps %xmm17,%xmm2
45         {rex} rorx $7,%eax,%ebx
46
47         .intel_syntax noprefix
48         {vex3} vmovaps xmm2,xmm7
49         {vex3} {load} vmovaps xmm2,xmm7
50         {vex3} {store} vmovaps xmm2,xmm7
51         vmovaps xmm2,xmm7
52         {vex2} vmovaps xmm2,xmm7
53         {vex2} {load} vmovaps xmm2,xmm7
54         {vex2} {store} vmovaps xmm2,xmm7
55         {vex3} vmovaps xmm2,XMMWORD PTR [rax]
56         vmovaps xmm2,XMMWORD PTR [rax]
57         {vex2} vmovaps xmm2,XMMWORD PTR [rax]
58         {evex} vmovaps xmm2,XMMWORD PTR [rax]
59         {disp32} vmovaps xmm2,XMMWORD PTR [rax]
60         {evex} {disp8} vmovaps xmm2,XMMWORD PTR [rax]
61         {evex} {disp32} vmovaps xmm2,XMMWORD PTR [rax]
62         mov rax,rcx
63         {load} mov rax,rcx
64         {store} mov rax,rcx
65         movaps xmm2,XMMWORD PTR [rax]
66         {load} movaps xmm2,XMMWORD PTR [rax]
67         {store} movaps xmm2,XMMWORD PTR [rax]
68         {disp8} movaps xmm2,XMMWORD PTR [rax]
69         {disp32} movaps xmm2,XMMWORD PTR [rax]
70         movaps xmm2,XMMWORD PTR [rax-1]
71         {disp8} movaps xmm2,XMMWORD PTR [rax-1]
72         {disp32} movaps xmm2,XMMWORD PTR [rax-1]
73         movaps xmm2,XMMWORD PTR [rax+128]
74         {disp8} movaps xmm2,XMMWORD PTR [rax+128]
75         {disp32} movaps xmm2,XMMWORD PTR [rax+128]
76         {rex} mov ah,al
77         {rex} mov ebx,eax
78         {rex} mov r14d,eax
79         {rex} mov DWORD PTR [r8],eax
80         {rex} movaps xmm2,xmm7
81         {rex} movaps xmm12,xmm7
82         {rex} movaps xmm2,XMMWORD PTR [rcx]
83         {rex} movaps xmm2,XMMWORD PTR [r8]
84         {rex} phaddw mm0,QWORD PTR [rcx]
85         {rex} phaddw mm0,QWORD PTR [r8]
86         {rex} vmovaps xmm2,xmm7
87         {rex} vmovaps xmm2,xmm17
88         {rex} rorx ebx,eax,0x7