gdb: Convert language la_word_break_characters field to a method
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-opcode.s
1 .text
2 # Prefixes
3 # O16 A32 OV REX OPCODE ; NOTES
4
5 # CALL
6 CALLq *(%r8) # -- -- -- 41 FF 10 ; REX to access upper reg.
7 CALLq *(%rax) # -- -- -- -- FF 10
8 CALLq *(%r8) # -- -- -- 41 FF 10 ; REX to access upper reg.
9 CALLq *(%rax) # -- -- -- -- FF 10
10
11 # RET
12 lretl # -- -- -- -- CB
13 lretq # -- -- -- 48 CB
14 retq # -- -- -- -- C3
15
16 # IRET
17 IRETL # -- -- -- -- CF ; 32-bit operand size
18 IRETW # 66 -- -- -- CF ; O16 for 16-bit operand size
19 IRETQ # -- -- -- 48 CF ; REX for 64-bit operand size
20
21 # CMP
22
23 # MOV
24 MOVw %cs,(%r8) # -- -- -- 41 8C 08 ; REX to access upper reg.
25 MOVw %cs,(%rax) # -- -- -- -- 8C 08
26 MOVw %ss,(%r8) # -- -- -- 41 8C 10 ; REX to access upper reg.
27 MOVw %ss,(%rax) # -- -- -- -- 8C 10
28 MOVw %fs,(%r8) # -- -- -- 41 8C 20 ; REX to access upper reg.
29 MOVw %fs,(%rax) # -- -- -- -- 8C 20
30 MOVw (%r8),%ss # -- -- -- 41 8E 10 ; REX to access upper reg.
31 MOVw (%rax),%ss # -- -- -- -- 8E 10
32 MOVw (%r8),%fs # -- -- -- 41 8E 20 ; REX to access upper reg.
33 MOVw (%rax),%fs # -- -- -- -- 8E 20
34 MOVb $0,(%r8) # -- -- -- 41 C6 00 00 ; REX to access upper reg.
35 MOVb $0,(%rax) # -- -- -- -- C6 00 00
36 MOVw $0x7000,(%r8) # 66 -- -- 41 C7 00 00 70 ; REX to access upper reg. O16 for 16-bit operand size
37 MOVw $0x7000,(%rax) # 66 -- -- -- C7 00 00 70 ; O16 for 16-bit operand size
38 MOVl $0x70000000,(%r8) # -- -- -- 41 C7 00 00 00 00 70 ; REX to access upper reg.
39 MOVl $0x70000000,(%rax) # -- -- -- -- C7 00 00 00 00 70
40 MOVb $0,(%r8) # -- -- -- 41 C6 00 00 ; REX to access upper reg.
41 MOVb $0,(%rax) # -- -- -- -- C6 00 00
42 MOVw $0x7000,(%r8) # 66 -- -- -- 41 C7 00 00 70 ; O16 for 16-bit operand size
43 MOVw $0x7000,(%rax) # 66 -- -- -- C7 00 00 70 ; O16 for 16-bit operand size
44 MOVl $0x70000000,(%rax) # -- -- -- -- C7 00 00 00 00 70
45 MOVb $0,(%r8) # -- -- -- 41 C6 00 00 ; REX to access upper reg.
46 MOVb $0,(%rax) # -- -- -- -- C6 00 00
47 MOVw $0x7000,(%r8) # 66 -- -- 41 C7 00 00 70 ; REX to access upper reg. O16 for 16-bit operand size
48 MOVw $0x7000,(%rax) # 66 -- -- -- C7 00 00 70 ; O16 for 16-bit operand size
49 MOVl $0x70000000,(%r8) # -- -- -- 41 C7 00 00 00 00 70 ; REX to access upper reg.
50 MOVl $0x70000000,(%rax) # -- -- -- -- C7 00 00 00 00 70
51 MOVq $0x70000000,(%r8) # -- -- -- 49 C7 00 00 00 00 70 ; REX for 64-bit operand size. REX to access upper reg.
52 MOVq $0x70000000,(%rax) # -- -- -- 48 C7 00 00 00 00 70 ; REX for 64-bit operand size
53
54 # LFS etc
55 LFS (%rax), %ecx # -- -- -- -- 0F B4 ..
56 LFSl (%rcx), %eax # -- -- -- -- 0F B4 ..
57 LFS (%rax), %cx # 66 -- -- -- 0F B4 ..
58 LFSw (%rcx), %ax # 66 -- -- -- 0F B4 ..
59 LGS (%rcx), %edx # -- -- -- -- 0F B5 ..
60 LGSl (%rdx), %ecx # -- -- -- -- 0F B5 ..
61 LGS (%rcx), %dx # 66 -- -- -- 0F B5 ..
62 LGSw (%rdx), %cx # 66 -- -- -- 0F B5 ..
63 LSS (%rdx), %ebx # -- -- -- -- 0F B2 ..
64 LSSl (%rbx), %edx # -- -- -- -- 0F B2 ..
65 LSS (%rdx), %bx # 66 -- -- -- 0F B2 ..
66 LSSw (%rbx), %dx # 66 -- -- -- 0F B2 ..
67
68 # MOVNTI
69 MOVNTI %eax,(%r8) # -- -- -- 41 0f c3 00 ; REX to access upper reg.
70 MOVNTI %eax,(%rax) # -- -- -- -- 0f c3 00
71 MOVNTI %rax,(%r8) # -- -- -- 49 0F C3 00 ; REX to access upper reg. REX for 64-bit operand size
72 MOVNTI %rax,(%rax) # -- -- -- 48 0F C3 00 ; REX for 64-bit operand size. REX to access upper reg.
73 MOVNTI %r8,(%r8) # -- -- -- 4D 0F C3 00 ; REX to access upper reg. REX for 64-bit operand size
74 MOVNTI %r8,(%rax) # -- -- -- 4C 0F C3 00 ; REX to access upper reg. REX for 64-bit operand size
75
76 # Conditionals
77
78 # LOOP
79 LOOP . # -- -- -- -- E2 FE ; RCX used as counter.
80 LOOPq . # -- -- -- -- E2 FE ; RCX used as counter.
81 LOOPl . # -- 67 -- -- E2 FD ; ECX used as counter.
82
83
84 # Jcc
85 # 66 -- -- -- 77 FD ; O16 override: (Addr64) = ZEXT(Addr16)
86 # 66 -- -- -- 0F 87 F9 FF FF FF ; O16 override: (Addr64) = ZEXT(Addr16)
87
88 # J*CXZ
89 JRCXZ . # -- -- -- -- E3 FE ; RCX used as counter.
90 JECXZ . # -- 67 -- -- E3 FD ; ECX used as counter.
91
92
93
94 # Integer
95
96 # IDIV
97
98 IDIVb (%r8) # -- -- -- 41 F6 38 ; Sign extended result. REX to access upper reg.
99 IDIVb (%rax) # -- -- -- -- F6 38 ; Sign extended result
100 IDIVw (%r8) # 66 -- -- 41 F7 38 ; Sign extended result. REX to access upper reg. O16 for 16-bit
101 IDIVw (%rax) # 66 -- -- -- F7 38 ; Sign extended result. O16 for 16-bit operand size
102 IDIVl (%r8) # -- -- -- 41 F7 38 ; Sign extended result. REX to access upper reg
103 IDIVl (%rax) # -- -- -- -- F7 38 ; Sign extended result
104 IDIVq (%r8) # -- -- -- 49 F7 38 ; Sign extended result. REX for 64-bit operand size. REX to access u
105 IDIVq (%rax) # -- -- -- 48 F7 38 ; Sign extended result. REX for 64-bit operand size
106
107 # IMUL
108 IMULb (%r8) # -- -- -- 41 F6 28 ; Sign extended result. REX to access upper reg
109 IMULb (%rax) # -- -- -- -- F6 28 ; Sign extended result
110 IMULw (%r8) # 66 -- -- 41 F7 28 ; Sign extended result. O16 for 16-bit operand size. REX to access
111 IMULw (%rax) # 66 -- -- -- F7 28 ; Sign extended result. O16 for 16-bit operand size
112 IMULl (%r8) # -- -- -- 41 F7 28 ; Sign extended result. REX to access upper reg
113 IMULl (%rax) # -- -- -- -- F7 28 ; Sign extended result
114 IMULq (%r8) # -- -- -- 49 F7 28 ; Sign extended result. REX for 64-bit operand size. REX to access u
115 IMULq (%rax) # -- -- -- 48 F7 28 ; Sign extended result. REX for 64-bit operand size
116
117
118
119 # SIMD/SSE
120
121 # ADDPD
122 ADDPD (%r8),%xmm0 # -- -- 66 41 0F 58 00 ; REX to access upper reg. OVR 128bit MMinstr.
123 ADDPD (%rax),%xmm0 # -- -- 66 -- 0F 58 00 ; OVR 128bit MMinstr.
124 ADDPD (%r8),%xmm15 # -- -- 66 45 0F 58 38 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
125 ADDPD (%rax),%xmm15 # -- -- 66 44 0F 58 38 ; REX to access upper XMM reg. OVR 128bit MMinstr.
126 ADDPD (%r8),%xmm8 # -- -- 66 45 0F 58 00 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
127 ADDPD (%rax),%xmm8 # -- -- 66 44 0F 58 00 ; REX to access upper XMM reg. OVR 128bit MMinstr.
128 ADDPD (%r8),%xmm7 # -- -- 66 41 0F 58 38 ; REX to access upper reg. OVR 128bit MMinstr.
129 ADDPD (%rax),%xmm7 # -- -- 66 -- 0F 58 38 ; OVR 128bit MMinstr.
130 ADDPD %xmm0,%xmm0 # -- -- 66 -- 0F 58 C0 ; OVR 128bit MMinstr.
131 ADDPD %xmm15,%xmm15 # -- -- 66 45 0F 58 FF ; REX to access upper XMM reg. OVR 128bit MMinstr.
132 ADDPD %xmm15,%xmm8 # -- -- 66 45 0F 58 C7 ; REX to access upper XMM reg. OVR 128bit MMinstr.
133
134 # CMPPD
135
136 # CVTSD2SI
137 CVTSD2SIq (%r8),%rax # -- -- F2 49 0f 2d 00 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
138 CVTSD2SIq (%rax),%rax # -- -- F2 48 0f 2d 00 ; OVR 128-bit media instruction override REX for 64-bit operand size
139 CVTSD2SIq (%r8),%r8 # -- -- F2 4D 0f 2d 00 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
140 CVTSD2SIq (%rax),%r8 # -- -- F2 4C 0f 2d 00 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
141 CVTSD2SIq %xmm0,%rax # -- -- F2 48 0f 2d c0 ; OVR 128-bit media instruction override REX for 64-bit operand size
142 CVTSD2SIq %xmm15,%r8 # -- -- F2 4D 0f 2d c7 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
143 CVTSD2SIq %xmm15,%rax # -- -- F2 49 0f 2d c7 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg
144 CVTSD2SIq %xmm8,%r8 # -- -- F2 4D 0f 2d c0 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
145 CVTSD2SIq %xmm8,%rax # -- -- F2 49 0f 2d c0 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg
146 CVTSD2SIq %xmm7,%r8 # -- -- F2 4C 0f 2d c7 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
147 CVTSD2SIq %xmm7,%rax # -- -- F2 48 0f 2d c7 ; OVR 128-bit media instruction override REX for 64-bit operand size
148 CVTSD2SIq %xmm0,%r8 # -- -- F2 4C 0f 2d c0 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
149
150 # CVTTSD2SI
151 CVTTSD2SIq (%r8),%rax # -- -- F2 49 0f 2c 00 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
152 CVTTSD2SIq (%rax),%rax # -- -- F2 48 0f 2c 00 ; OVR 128-bit media instruction override REX for 64-bit operand size
153 CVTTSD2SIq (%r8),%r8 # -- -- F2 4D 0f 2c 00 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
154 CVTTSD2SIq (%rax),%r8 # -- -- F2 4C 0f 2c 00 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
155 CVTTSD2SIq %xmm0,%rax # -- -- F2 48 0f 2c c0 ; OVR 128-bit media instruction override REX for 64-bit operand size
156 CVTTSD2SIq %xmm15,%r8 # -- -- F2 4D 0f 2c c7 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
157 CVTTSD2SIq %xmm15,%rax # -- -- F2 49 0f 2c c7 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg
158 CVTTSD2SIq %xmm8,%r8 # -- -- F2 4D 0f 2c c0 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
159 CVTTSD2SIq %xmm8,%rax # -- -- F2 49 0f 2c c0 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper XMM reg
160 CVTTSD2SIq %xmm7,%r8 # -- -- F2 4C 0f 2c c7 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
161 CVTTSD2SIq %xmm7,%rax # -- -- F2 48 0f 2c c7 ; OVR 128-bit media instruction override REX for 64-bit operand size
162 CVTTSD2SIq %xmm0,%r8 # -- -- F2 4C 0f 2c c0 ; OVR 128-bit media instruction override REX for 64-bit operand size REX to access upper reg.
163
164 # CVTSS2SI
165 CVTSS2SIq (%r8),%rax # -- -- F3 49 0f 2d 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
166 CVTSS2SIq (%rax),%rax # -- -- F3 48 0f 2d 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
167 CVTSS2SIq (%r8),%r8 # -- -- F3 4D 0f 2d 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
168 CVTSS2SIq (%rax),%r8 # -- -- F3 4C 0f 2d 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
169 CVTSS2SIq %xmm0,%rax # -- -- F3 48 0f 2d c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
170 CVTSS2SIq %xmm15,%r8 # -- -- F3 4D 0f 2d c7 ; OVR 128-bit media instruction override Result is sign extended REX to access upper XMM reg REX to access upper reg.
171 CVTSS2SIq %xmm15,%rax # -- -- F3 49 0f 2d c7 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper XMM reg
172 CVTSS2SIq %xmm8,%r8 # -- -- F3 4D 0f 2d c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
173 CVTSS2SIq %xmm8,%rax # -- -- F3 49 0f 2d c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
174 CVTSS2SIq %xmm7,%r8 # -- -- F3 4C 0f 2d c7 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
175 CVTSS2SIq %xmm7,%rax # -- -- F3 48 0f 2d c7 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
176 CVTSS2SIq %xmm0,%r8 # -- -- F3 4C 0f 2d c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
177
178 # CVTTSS2SI
179 CVTTSS2SIq (%r8),%rax # -- -- F3 49 0f 2c 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
180 CVTTSS2SIq (%rax),%rax # -- -- F3 48 0f 2c 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
181 CVTTSS2SIq (%r8),%r8 # -- -- F3 4D 0f 2c 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
182 CVTTSS2SIq (%rax),%r8 # -- -- F3 4C 0f 2c 00 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
183 CVTTSS2SIq %xmm0,%rax # -- -- F3 48 0f 2c c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
184 CVTTSS2SIq %xmm15,%r8 # -- -- F3 4D 0f 2c c7 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
185 CVTTSS2SIq %xmm15,%rax # -- -- F3 49 0f 2c c7 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper XMM reg
186 CVTTSS2SIq %xmm8,%r8 # -- -- F3 4D 0f 2c c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper XMM reg REX to access upper reg.
187 CVTTSS2SIq %xmm8,%rax # -- -- F3 49 0f 2c c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size
188 CVTTSS2SIq %xmm7,%r8 # -- -- F3 4C 0f 2c c7 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
189 CVTTSS2SIq %xmm7,%rax # -- -- F3 48 0f 2c c7 ; OVR 128-bit media instruction override Result is sign extended
190 CVTTSS2SIq %xmm0,%r8 # -- -- F3 4C 0f 2c c0 ; OVR 128-bit media instruction override Result is sign extended REX for 64-bit operand size REX to access upper reg.
191
192 # CVTSI2SS
193 CVTSI2SSl (%r8),%xmm0 # -- -- F3 41 0f 2a 00 ; OVR 128-bit media instruction override REX to access upper reg.
194 CVTSI2SSl (%rax),%xmm0 # -- -- F3 -- 0f 2a 00 ; OVR 128-bit media instruction override
195 CVTSI2SSl (%r8),%xmm15 # -- -- F3 45 0f 2a 38 ; OVR 128-bit media instruction override REX to access upper XMM reg REX to access upper reg.
196 CVTSI2SSl (%rax),%xmm15 # -- -- F3 44 0f 2a 38 ; OVR 128-bit media instruction override REX to access upper XMM reg
197 CVTSI2SSl (%r8),%xmm8 # -- -- F3 45 0f 2a 00 ; OVR 128-bit media instruction override REX to access upper XMM reg REX to access upper reg.
198 CVTSI2SSl (%rax),%xmm8 # -- -- F3 44 0f 2a 00 ; OVR 128-bit media instruction override REX to access upper XMM reg
199 CVTSI2SSl (%r8),%xmm7 # -- -- F3 41 0f 2a 38 ; OVR 128-bit media instruction override REX to access upper reg.
200 CVTSI2SSl (%rax),%xmm7 # -- -- F3 -- 0f 2a 38 ; OVR 128-bit media instruction override
201 CVTSI2SS %eax,%xmm0 # -- -- F3 -- 0f 2a c0 ; OVR 128-bit media instruction override
202 CVTSI2SS %eax,%xmm15 # -- -- F3 44 0f 2a f8 ; OVR 128-bit media instruction override REX to access upper XMM reg
203 CVTSI2SS %eax,%xmm8 # -- -- F3 44 0f 2a c0 ; OVR 128-bit media instruction override REX to access upper XMM reg
204 CVTSI2SS %eax,%xmm7 # -- -- F3 -- 0f 2a f8 ; OVR 128-bit media instruction override
205 CVTSI2SSl (%r8),%xmm0 # -- -- F3 41 0f 2a 00 ; OVR 128-bit media instruction override REX to access upper reg.
206 CVTSI2SSl (%rax),%xmm0 # -- -- F3 -- 0f 2a 00 ; OVR 128-bit media instruction override
207 CVTSI2SSl (%r8),%xmm15 # -- -- F3 45 0f 2a 38 ; OVR 128-bit media instruction override REX to access upper XMM reg REX to access upper reg.
208 CVTSI2SSl (%rax),%xmm15 # -- -- F3 44 0f 2a 38 ; OVR 128-bit media instruction override REX to access upper XMM reg
209 CVTSI2SSl (%r8),%xmm8 # -- -- F3 45 0f 2a 00 ; OVR 128-bit media instruction override REX to access upper XMM reg REX to access upper reg.
210 CVTSI2SSl (%rax),%xmm8 # -- -- F3 44 0f 2a 00 ; OVR 128-bit media instruction override REX to access upper XMM reg
211 CVTSI2SSl (%r8),%xmm7 # -- -- F3 41 0f 2a 38 ; OVR 128-bit media instruction override REX to access upper reg.
212 CVTSI2SSl (%rax),%xmm7 # -- -- F3 -- 0f 2a 38 ; OVR 128-bit media instruction override
213
214 # CVTSI2SD
215 CVTSI2SDl (%r8),%xmm0 # -- -- F2 41 0F 2A 00 ; REX to access upper reg. OVR 128bit MMinstr.
216 CVTSI2SDl (%rax),%xmm0 # -- -- F2 -- 0F 2A 00 ; OVR 128bit MMinstr.
217 CVTSI2SDl (%r8),%xmm15 # -- -- F2 45 0F 2A 38 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
218 CVTSI2SDl (%rax),%xmm15 # -- -- F2 44 0F 2A 38 ; REX to access upper XMM reg. OVR 128bit MMinstr.
219 CVTSI2SDl (%r8),%xmm8 # -- -- F2 45 0F 2A 00 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
220 CVTSI2SDl (%rax),%xmm8 # -- -- F2 44 0F 2A 00 ; REX to access upper XMM reg. OVR 128bit MMinstr.
221 CVTSI2SDl (%r8),%xmm7 # -- -- F2 41 0F 2A 38 ; REX to access upper reg. OVR 128bit MMinstr.
222 CVTSI2SDl (%rax),%xmm7 # -- -- F2 -- 0F 2A 38 ; OVR 128bit MMinstr.
223 CVTSI2SD %eax,%xmm0 # -- -- F2 -- 0F 2A C0 ; OVR 128bit MMinstr.
224 CVTSI2SD %eax,%xmm15 # -- -- F2 44 0F 2A F8 ; REX to access upper XMM reg. OVR 128bit MMinstr.
225 CVTSI2SD %eax,%xmm8 # -- -- F2 44 0F 2A C0 ; REX to access upper XMM reg. OVR 128bit MMinstr.
226 CVTSI2SD %eax,%xmm7 # -- -- F2 -- 0F 2A F8 ; OVR 128bit MMinstr.
227 CVTSI2SDl (%r8),%xmm0 # -- -- F2 41 0F 2A 00 ; REX to access upper reg. OVR 128bit MMinstr.
228 CVTSI2SDl (%rax),%xmm0 # -- -- F2 -- 0F 2A 00 ; OVR 128bit MMinstr.
229 CVTSI2SDl (%r8),%xmm15 # -- -- F2 45 0F 2A 38 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
230 CVTSI2SDl (%rax),%xmm15 # -- -- F2 44 0F 2A 38 ; REX to access upper XMM reg. OVR 128bit MMinstr.
231 CVTSI2SDl (%r8),%xmm8 # -- -- F2 45 0F 2A 00 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
232 CVTSI2SDl (%rax),%xmm8 # -- -- F2 44 0F 2A 00 ; REX to access upper XMM reg. OVR 128bit MMinstr.
233 CVTSI2SDl (%r8),%xmm7 # -- -- F2 41 0F 2A 38 ; REX to access upper reg. OVR 128bit MMinstr.
234 CVTSI2SDl (%rax),%xmm7 # -- -- F2 -- 0F 2A 38 ; OVR 128bit MMinstr.
235
236 # MOVD
237 MOVD (%r8),%xmm0 # -- -- 66 41 0F 6E 00 ; REX to access upper reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
238 MOVD (%rax),%xmm0 # -- -- 66 -- 0F 6E 00 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
239 MOVD (%r8),%xmm15 # -- -- 66 45 0F 6E 38 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data32)
240 MOVD (%rax),%xmm15 # -- -- 66 44 0F 6E 38 ; REX to access upper XMM reg. OVR 128bit MMinstr.
241 MOVD (%r8),%xmm8 # -- -- 66 45 0F 6E 00 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data32)
242 MOVD (%rax),%xmm8 # -- -- 66 44 0F 6E 00 ; REX to access upper XMM reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
243 MOVD (%r8),%xmm7 # -- -- 66 41 0F 6E 38 ; REX to access upper reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
244 MOVD (%rax),%xmm7 # -- -- 66 -- 0F 6E 38 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
245 MOVD %eax,%xmm0 # -- -- 66 -- 0F 6E C0 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
246 MOVD %eax,%xmm15 # -- -- 66 44 0F 6E F8 ; REX to access upper XMM reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
247 MOVD %eax,%xmm8 # -- -- 66 44 0F 6E C0 ; REX to access upper XMM reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
248 MOVD %eax,%xmm7 # -- -- 66 -- 0F 6E F8 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
249 MOVD %xmm0,(%r8) # -- -- 66 41 0F 7E 00 ; REX to access upper reg. OVR 128bit MMinstr.
250 MOVD %xmm0,(%rax) # -- -- 66 -- 0F 7E 00 ; OVR 128bit MMinstr.
251 MOVD %xmm15,(%r8) # -- -- 66 45 0F 7E 38 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
252 MOVD %xmm15,(%rax) # -- -- 66 44 0F 7E 38 ; REX to access upper XMM reg. OVR 128bit MMinstr.
253 MOVD %xmm8,(%r8) # -- -- 66 45 0F 7E 00 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
254 MOVD %xmm8,(%rax) # -- -- 66 44 0F 7E 00 ; REX to access upper XMM reg. OVR 128bit MMinstr.
255 MOVD %xmm7,(%r8) # -- -- 66 41 0F 7E 38 ; REX to access upper reg. OVR 128bit MMinstr.
256 MOVD %xmm7,(%rax) # -- -- 66 -- 0F 7E 38 ; OVR 128bit MMinstr.
257 MOVD %xmm0,%eax # -- -- 66 -- 0F 7E C0 ; OVR 128bit MMinstr.
258 MOVD %xmm15,%eax # -- -- 66 44 0F 7E F8 ; REX to access upper XMM reg. OVR 128bit MMinstr.
259 MOVD %xmm8,%eax # -- -- 66 44 0F 7E C0 ; REX to access upper XMM reg. OVR 128bit MMinstr.
260 MOVD %xmm7,%eax # -- -- 66 -- 0F 7E F8 ; OVR 128bit MMinstr.
261 MOVD %rax,%xmm0 # -- -- 66 48 0F 6E C0 ; Data128 = ZEXT(Data64). OVR 128bit MMinstr. REX for 64-bit operand size.
262 MOVD %r8,%xmm0 # -- -- 66 49 0F 6E C0 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr. REX for 64-bit operand size.
263 MOVD %r8,%xmm15 # -- -- 66 4D 0F 6E F8 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr. REX for 64-bit operand size.
264 MOVD %xmm0,%rax # -- -- 66 48 0F 7E C0 ; OVR 128bit MMinstr. REX for 64-bit operand size.
265 MOVD %xmm0,%r8 # -- -- 66 49 0F 7E C0 ; OVR 128bit MMinstr. REX for 64-bit operand size.
266 MOVD %xmm7,%r8 # -- -- 66 49 0F 7E F8 ; OVR 128bit MMinstr. REX for 64-bit operand size.
267
268 # MOVQ
269 MOVQ (%r8),%xmm0 # -- -- F3 41 0F 7E 00 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
270 MOVQ (%rax),%xmm0 # -- -- F3 -- 0F 7E 00 ; Data128 = ZEXT(Data64). OVR 128bit MMinstr.
271 MOVQ (%r8),%xmm15 # -- -- F3 45 0F 7E 38 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data64)
272 MOVQ (%rax),%xmm15 # -- -- F3 44 0F 7E 38 ; REX to access upper XMM reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
273 MOVQ (%r8),%xmm8 # -- -- F3 45 0F 7E 00 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data64)
274 MOVQ (%rax),%xmm8 # -- -- F3 44 0F 7E 00 ; REX to access upper XMM reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
275 MOVQ (%r8),%xmm7 # -- -- F3 41 0F 7E 38 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
276 MOVQ (%rax),%xmm7 # -- -- F3 -- 0F 7E 38 ; Data128 = ZEXT(Data64). OVR 128bit MMinstr.
277 MOVQ %xmm0,%xmm0 # -- -- F3 -- 0F 7E C0 ; OVR 128bit MMinstr.
278 MOVQ %xmm15,%xmm15 # -- -- F3 45 0F 7E FF ; REX to access upper XMM reg. OVR 128bit MMinstr.
279 MOVQ %xmm15,%xmm8 # -- -- F3 45 0F 7E C7 ; REX to access upper XMM reg. OVR 128bit MMinstr.
280 MOVQ %xmm15,%xmm7 # -- -- F3 41 0F 7E FF ; REX to access upper XMM reg. OVR 128bit MMinstr.
281 MOVQ %xmm15,%xmm0 # -- -- F3 41 0F 7E C7 ; REX to access upper XMM reg. OVR 128bit MMinstr.
282 MOVQ %xmm8,%xmm15 # -- -- F3 45 0F 7E F8 ; REX to access upper XMM reg. OVR 128bit MMinstr.
283 MOVQ %xmm8,%xmm8 # -- -- F3 45 0F 7E C0 ; REX to access upper XMM reg. OVR 128bit MMinstr.
284 MOVQ %xmm8,%xmm7 # -- -- F3 41 0F 7E F8 ; REX to access upper XMM reg. OVR 128bit MMinstr.
285 MOVQ %xmm8,%xmm0 # -- -- F3 41 0F 7E C0 ; REX to access upper XMM reg. OVR 128bit MMinstr.
286 MOVQ %xmm7,%xmm15 # -- -- F3 44 0F 7E FF ; REX to access upper XMM reg. OVR 128bit MMinstr.
287 MOVQ %xmm7,%xmm8 # -- -- F3 44 0F 7E C7 ; REX to access upper XMM reg. OVR 128bit MMinstr.
288 MOVQ %xmm7,%xmm7 # -- -- F3 -- 0F 7E FF ; OVR 128bit MMinstr.
289 MOVQ %xmm7,%xmm0 # -- -- F3 -- 0F 7E C7 ; OVR 128bit MMinstr.
290 MOVQ %xmm0,%xmm15 # -- -- F3 44 0F 7E F8 ; REX to access upper XMM reg. OVR 128bit MMinstr.
291 MOVQ %xmm0,%xmm8 # -- -- F3 44 0F 7E C0 ; REX to access upper XMM reg. OVR 128bit MMinstr.
292 MOVQ %xmm0,%xmm7 # -- -- F3 -- 0F 7E F8 ; OVR 128bit MMinstr.
293 MOVQ %xmm0,(%r8) # -- -- 66 41 0F D6 00 ; REX to access upper reg. OVR 128bit MMinstr.
294 MOVQ %xmm0,(%rax) # -- -- 66 -- 0F D6 00 ; OVR 128bit MMinstr.
295 MOVQ %xmm15,(%r8) # -- -- 66 45 0F D6 38 ; REX to access upper reg. OVR 128bit MMinstr.
296 MOVQ %xmm15,(%rax) # -- -- 66 44 0F D6 38 ; REX to access upper XMM reg. OVR 128bit MMinstr.
297 MOVQ %xmm8,(%r8) # -- -- 66 45 0F D6 00 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
298 MOVQ %xmm8,(%rax) # -- -- 66 44 0F D6 00 ; REX to access upper XMM reg. OVR 128bit MMinstr.
299 MOVQ %xmm7,(%r8) # -- -- 66 41 0F D6 38 ; REX to access upper reg. OVR 128bit MMinstr.
300
301 # 64-bit MMX
302
303 # CVTPD2PI
304
305 # MOVD
306 MOVD (%r8),%mm0 # -- -- -- 41 0F 6E 00 ; REX to access upper reg. Data64 = ZEXT(Data32)
307 MOVD (%rax),%mm0 # -- -- -- -- 0F 6E 00 ; Data64 = ZEXT(Data32)
308 MOVD (%r8),%mm7 # -- -- -- 41 0F 6E 38 ; REX to access upper reg. Data64 = ZEXT(Data32)
309 MOVD (%rax),%mm7 # -- -- -- -- 0F 6E 38 ; Data64 = ZEXT(Data32)
310 MOVD %eax,%mm0 # -- -- -- -- 0F 6E C0 ; Data64 = ZEXT(Data32)
311 MOVD %eax,%mm7 # -- -- -- -- 0F 6E F8 ; Data64 = ZEXT(Data32)
312 MOVD %mm0,(%r8) # -- -- -- 41 0F 7E 00 ; REX to access upper reg.
313 MOVD %mm0,(%rax) # -- -- -- -- 0F 7E 00
314 MOVD %mm7,(%r8) # -- -- -- 41 0F 7E 38 ; REX to access upper reg.
315 MOVD %mm7,(%rax) # -- -- -- -- 0F 7E 38
316 MOVD %mm0,%eax # -- -- -- -- 0F 7E C0
317 MOVD %mm7,%eax # -- -- -- -- 0F 7E F8
318
319 # MOVQ
320 MOVQ (%r8),%mm0 # -- -- -- 41 0F 6F 00 ; REX to access upper reg.
321 MOVQ (%rax),%mm0 # -- -- -- -- 0F 6F 00
322 MOVQ (%r8),%mm7 # -- -- -- 41 0F 6F 38 ; REX to access upper reg.
323 MOVQ (%rax),%mm7 # -- -- -- -- 0F 6F 38
324 MOVQ %mm0,(%r8) # -- -- -- 41 0F 7F 00 ; REX to access upper reg.
325 MOVQ %mm0,(%rax) # -- -- -- -- 0F 7F 00
326 MOVQ %mm7,(%r8) # -- -- -- 41 0F 7F 38 ; REX to access upper reg.
327 MOVQ %mm7,(%rax) # -- -- -- -- 0F 7F 38
328
329 # X87
330 # FADDP
331
332
333 # FDIV
334
335 # Stack Operations
336
337 # POP
338 POPq (%r8) # -- -- -- 41 8F 00 ; REX to access upper reg.
339 POPq (%rax) # -- -- -- -- 8F 00
340 POP %fs # -- -- -- -- 0F A1
341 POPq %fs # -- -- -- -- 0F A1
342 POP %gs # -- -- -- -- 0F A9
343 POPq %gs # -- -- -- -- 0F A9
344 POPF # -- -- -- -- 9D
345 POPFq # -- -- -- -- 9D
346
347 # PUSH
348 PUSHq (%r8) # -- -- -- 41 FF 30 ; REX to access upper reg.
349 PUSHq (%rax) # -- -- -- -- FF 30
350 PUSH %fs # -- -- -- -- 0F A0
351 PUSHq %fs # -- -- -- -- 0F A0
352 PUSH %gs # -- -- -- -- 0F A8
353 PUSHq %gs # -- -- -- -- 0F A8
354 PUSHF # -- -- -- -- 9C
355 PUSHFq # -- -- -- -- 9C
356
357
358
359
360
361 # MMX/XMM/x87 State
362 # FNSAVE
363 # FRSTOR
364 # FSAVE
365 # FXRSTOR
366 # FXSAVE
367 # EMMS
368 EMMS # -- -- -- -- 0F 77
369 # FEMMS
370 FEMMS # -- -- -- -- 0F 0E
371
372 # LEA calculation
373
374 # MISC System Instructions
375 # CLFLUSH
376
377 # INVD
378 INVD # -- -- -- -- 0F 08
379
380 # INVLPG
381 INVLPG (%r8) # -- -- -- 41 0F 01 38 ; REX to access upper reg.
382 INVLPG (%rax) # -- -- -- -- 0F 01 38
383 INVLPG (%r8) # -- -- -- 41 0F 01 38 ; REX to access upper reg.
384 INVLPG (%rax) # -- -- -- -- 0F 01 38
385 INVLPG (%r8) # -- -- -- 41 0F 01 38 ; REX to access upper reg.
386 INVLPG (%rax) # -- -- -- -- 0F 01 38
387
388 # LAR
389
390 # LGDT
391
392 # LIDT
393
394
395 # LLDT
396
397 # SGDT
398
399 # SIDT
400
401 # SLDT
402 # SLDT (%eax) # -- 67 -- -- 0F 00 00 ; A32 override: (Addr64) = ZEXT(Addr32 )
403 SLDT %eax # -- -- -- -- 0F 00 C0
404 SLDT %rax # -- -- -- 48 0F 00 C0
405 SLDT %ax # 66 -- -- -- 0F 00 C0
406 SLDT (%rax) # -- -- -- -- 0F 00 00
407
408 # SWAPGS
409
410
411
412 # IO
413
414 # OUT
415 OUT %al,$0 # -- -- -- -- E6 00
416 OUT %ax,$0 # 66 -- -- -- E7 00 ; O16 for 16-bit operand size
417 OUT %eax,$0 # -- -- -- -- E7 00
418
419 # IN
420
421
422
423 xchg %ax,%ax # 66 -- -- -- 90
424 xchg %eax,%eax # -- -- -- -- 87 C0
425 xchg %rax,%rax # -- -- -- -- 90
426 rex64 xchg %rax,%rax # -- -- -- 48 90
427 xchg %rax,%r8 # -- -- -- 49 90
428 xchg %eax,%r8d # -- -- -- 41 90
429 xchg %r8d,%eax # -- -- -- 41 90
430 xchg %eax,%r9d # -- -- -- 41 91
431 xchg %r9d,%eax # -- -- -- 41 91
432 xchg %ebx,%eax # -- -- -- 93
433 xchg %eax,%ebx # -- -- -- 93
434 xchg %ax,%r8w # -- -- -- 66 41 90
435 xchg %r8w,%ax # -- -- -- 66 41 90
436 xchg %ax,%r9w # -- -- -- 66 41 91
437 xchg %r9w,%ax # -- -- -- 66 41 91
438
439 smsw %rax # -- -- -- 48 0F 01 e0
440 smsw %eax # -- -- -- -- 0F 01 e0
441 smsw %ax # 66 -- -- -- 0F 01 e0
442 smsw (%rax) # -- -- -- -- 0F 01 20
443
444 str %rax # -- -- -- 48 0F 00 c8
445 str %eax # -- -- -- -- 0F 00 c8
446 str %ax # 66 -- -- -- 0F 00 c8
447 str (%rax) # -- -- -- -- 0F 00 08
448
449 syscall # -- -- -- -- 0F 05
450 sysretl # -- -- -- -- 0F 07
451 sysretq # -- -- -- 48 0F 07
452
453 swapgs # -- -- -- -- 0F 01 f8
454
455 pushw $0x2222
456
457 .byte 0xf6, 0xc9, 0x01
458 .byte 0x66, 0xf7, 0xc9, 0x02, 0x00
459 .byte 0xf7, 0xc9, 0x04, 0x00, 0x00, 0x00
460 .byte 0x48, 0xf7, 0xc9, 0x08, 0x00, 0x00, 0x00
461 .byte 0xc0, 0xf0, 0x02
462 .byte 0xc1, 0xf0, 0x01
463 .byte 0x48, 0xc1, 0xf0, 0x01
464 .byte 0xd0, 0xf0
465 .byte 0xd1, 0xf0
466 .byte 0x48, 0xd1, 0xf0
467 .byte 0xd2, 0xf0
468 .byte 0xd3, 0xf0
469 .byte 0x48, 0xd3, 0xf0
This page took 0.04002 seconds and 4 git commands to generate.