aad9b2737754d355c4b3f99c8ddde08102527d4a
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86_64.s
1 .text
2 .intel_syntax noprefix
3 # REX prefix and addressing modes.
4 add edx,ecx
5 add edx,r9d
6 add r10d,ecx
7 add rdx,rcx
8 add r10,r9
9 add r8d,eax
10 add r8w,ax
11 add r8,rax
12 add eax,0x44332211
13 add rax,0xfffffffff4332211
14 add ax,0x4433
15 add rax,0x44332211
16 add dl,cl
17 add bh,dh
18 add dil,sil
19 add r15b,sil
20 add dil,r14b
21 add r15b,r14b
22 PUSH RAX
23 PUSH R8
24 POP R9
25 ADD AL,0x11
26 ADD AH,0x11
27 ADD SPL,0x11
28 ADD R8B,0x11
29 ADD R12B,0x11
30 MOV RAX,CR0
31 MOV R8,CR0
32 MOV RAX,CR8
33 MOV CR8,RAX
34 REP MOVSQ #[RSI],[RDI]
35 REP MOVSW #[RSI,[RDI]
36 REP MOVSQ #[RSI],[RDI]
37 MOV AL, 0x11
38 MOV AH, 0x11
39 MOV SPL, 0x11
40 MOV R12B, 0x11
41 MOV EAX,0x11223344
42 MOV R8D,0x11223344
43 MOV RAX,0x1122334455667788
44 MOV R8,0x1122334455667788
45 add eax,[rax]
46 ADD EAX,[R8]
47 ADD R8D,[R8]
48 ADD RAX,[R8]
49 ADD EAX,[0x22222222+RIP]
50 ADD EAX,[RBP+0x00]
51 ADD EAX,[0x22222222]
52 ADD EAX,[R13+0]
53 ADD EAX,[RAX+RAX*4]
54 ADD EAX,[R8+RAX*4]
55 ADD R8D,[R8+RAX*4]
56 ADD EAX,[R8+R8*4]
57 ADD [RCX+R8*4],R8D
58 ADD EDX,[RAX+RAX*8]
59 ADD EDX,[RAX+RCX*8]
60 ADD EDX,[RAX+RDX*8]
61 ADD EDX,[RAX+RBX*8]
62 ADD EDX,[RAX]
63 ADD EDX,[RAX+RBP*8]
64 ADD EDX,[RAX+RSI*8]
65 ADD EDX,[RAX+RDI*8]
66 ADD EDX,[RAX+R8*8]
67 ADD EDX,[RAX+R9*8]
68 ADD EDX,[RAX+R10*8]
69 ADD EDX,[RAX+R11*8]
70 ADD EDX,[RAX+R12*8]
71 ADD EDX,[RAX+R13*8]
72 ADD EDX,[RAX+R14*8]
73 ADD EDX,[RAX+R15*8]
74 ADD ECX,0x11
75 ADD DWORD PTR [RAX],0x11
76 ADD QWORD PTR [RAX],0x11
77 ADD DWORD PTR [R8],0x11
78 ADD DWORD PTR [RCX+RAX*4],0x11
79 ADD DWORD PTR [R9+RAX*4],0x11
80 ADD DWORD PTR [RCX+R8*4],0x11
81 ADD DWORD PTR [0x22222222+RIP],0x33
82 ADD QWORD PTR [RIP+0x22222222],0x33
83 ADD DWORD PTR [RIP+0x22222222],0x33333333
84 ADD QWORD PTR [RIP+0x22222222],0x33333333
85 ADD DWORD PTR [RAX*8+0x22222222],0x33
86 ADD DWORD PTR [RAX+0x22222222],0x33
87 ADD DWORD PTR [RAX+0x22222222],0x33
88 ADD DWORD PTR [R8+RBP*8],0x33
89 ADD DWORD PTR [0x22222222],0x33
90 #new instructions
91 MOVABS AL,[0x8877665544332211]
92 MOVABS EAX,[0x8877665544332211]
93 MOVABS [0x8877665544332211],AL
94 MOVABS [0x8877665544332211],EAX
95 MOVABS RAX,[0x8877665544332211]
96 MOVABS [0x8877665544332211],RAX
97 cqo
98 cdqe
99 movsx rax, eax
100 movsx rax, ax
101 movsx rax, al
102 bar:
103 .att_syntax
104 #testcase for symbol references.
105
106 #immediates - various sizes:
107
108 mov $symbol, %al
109 mov $symbol, %ax
110 mov $symbol, %eax
111 mov $symbol, %rax
112
113 #addressing modes:
114
115 #absolute 64bit addressing
116 movabs symbol, %eax
117
118 #absolute 32bit addressing
119 mov symbol, %eax
120
121 #arithmetic
122 mov symbol(%rax), %eax
123
124 #RIP relative
125 mov symbol(%rip), %eax
126
127 .intel_syntax noprefix
128
129 #immediates - various sizes:
130 mov al, flat:symbol
131 mov ax, flat:symbol
132 mov eax, flat:symbol
133 mov rax, flat:symbol
134
135 #parts aren't supported by the parser, yet (and not at all for symbol refs)
136 #mov eax, high part symbol
137 #mov eax, low part symbol
138
139 #addressing modes
140
141 #absolute 64bit addressing
142 movabs eax, [symbol]
143
144 #absolute 32bit addressing
145 mov eax, [symbol]
146
147 #arithmetic
148 mov eax, [rax+symbol]
149
150 #RIP relative
151 mov eax, [rip+symbol]
152
153 foo:
154 .att_syntax
155 #absolute 64bit addressing
156 mov 0x8877665544332211,%al
157 mov 0x8877665544332211,%ax
158 mov 0x8877665544332211,%eax
159 mov 0x8877665544332211,%rax
160 mov %al,0x8877665544332211
161 mov %ax,0x8877665544332211
162 mov %eax,0x8877665544332211
163 mov %rax,0x8877665544332211
164 movb 0x8877665544332211,%al
165 movw 0x8877665544332211,%ax
166 movl 0x8877665544332211,%eax
167 movq 0x8877665544332211,%rax
168 movb %al,0x8877665544332211
169 movw %ax,0x8877665544332211
170 movl %eax,0x8877665544332211
171 movq %rax,0x8877665544332211
172
173 #absolute signed 32bit addressing
174 mov 0xffffffffff332211,%al
175 mov 0xffffffffff332211,%ax
176 mov 0xffffffffff332211,%eax
177 mov 0xffffffffff332211,%rax
178 mov %al,0xffffffffff332211
179 mov %ax,0xffffffffff332211
180 mov %eax,0xffffffffff332211
181 mov %rax,0xffffffffff332211
182 movb 0xffffffffff332211,%al
183 movw 0xffffffffff332211,%ax
184 movl 0xffffffffff332211,%eax
185 movq 0xffffffffff332211,%rax
186 movb %al,0xffffffffff332211
187 movw %ax,0xffffffffff332211
188 movl %eax,0xffffffffff332211
189 movq %rax,0xffffffffff332211
190
191 cmpxchg16b (%rax)
192
193 .intel_syntax noprefix
194 cmpxchg16b oword ptr [rax]
195
196 # Get a good alignment.
197 .p2align 4,0
This page took 0.035214 seconds and 4 git commands to generate.