* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
[binutils.git] / gas / testsuite / gas / i386 / x86_64.s
blobd65054eb768c50bffc507056bbdd7b765f6b08a3
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.
106 #immediates - various sizes:
108 mov $symbol, %al
109 mov $symbol, %ax
110 mov $symbol, %eax
111 mov $symbol, %rax
113 #addressing modes:
115 #absolute 64bit addressing
116 movabs symbol, %eax
118 #absolute 32bit addressing
119 mov symbol, %eax
121 #arithmetic
122 mov symbol(%rax), %eax
124 #RIP relative
125 mov symbol(%rip), %eax
127 .intel_syntax noprefix
129 #immediates - various sizes:
130 mov al, flat symbol
131 mov ax, flat symbol
132 mov eax, flat symbol
133 mov rax, flat symbol
135 #parts
136 mov eax, high part symbol
137 mov eax, low part symbol
139 #addressing modes
141 #absolute 64bit addressing
142 movabs eax, [symbol]
144 #absolute 32bit addressing
145 mov eax, [symbol]
147 #arithmetic
148 mov eax, [rax+symbol]
150 #RIP relative
151 mov eax, [rip+symbol]
153 # Get a good alignment.
154 .p2align 4,0