OSDN Git Service

Fix VEX decoding in i386 mode. Fixes PR11008.
[android-x86/external-llvm.git] / test / MC / Disassembler / X86 / x86-32.txt
1 # RUN: llvm-mc --disassemble %s -triple=i686-apple-darwin9 | FileCheck %s
2
3 # Coverage
4
5 # CHECK: pushl
6 0xff 0x34 0x24
7
8 # CHECK: popl
9 0x58
10
11 # CHECK: calll
12 0xff 0xd0
13
14 # CHECK: incl
15 0x40
16
17 # CHECK: leave
18 0xc9
19
20 # PR8873: some instructions not recognized in 32-bit mode
21
22 # CHECK: fld
23 0xdd 0x04 0x24
24
25 # CHECK: pshufb
26 0x0f 0x38 0x00 0xc0
27
28 # CHECK: crc32b %al, %eax
29 0xf2 0x0f 0x38 0xf0 0xc0
30
31 # CHECK: crc32w %ax, %eax
32 0x66 0xf2 0x0f 0x38 0xf1 0xc0
33
34
35 # CHECK: int    $33
36 0xCD 0x21 
37
38 # CHECK: int    $33
39 0xCD 0x21
40
41
42 # CHECK: addb   %al, (%eax)
43 0 0
44
45 # CHECK: calll  -1234
46 0xe8 0x2e 0xfb 0xff 0xff
47
48 # CHECK: lfence
49 0x0f 0xae 0xe8
50
51 # CHECK: mfence
52 0x0f 0xae 0xf0
53
54 # CHECK: monitor
55 0x0f 0x01 0xc8
56
57 # CHECK: mwait
58 0x0f 0x01 0xc9
59
60 # CHECK: vmcall
61 0x0f 0x01 0xc1
62
63 # CHECK: vmlaunch
64 0x0f 0x01 0xc2
65
66 # CHECK: vmresume
67 0x0f 0x01 0xc3
68
69 # CHECK: vmxoff
70 0x0f 0x01 0xc4
71
72 # CHECK: swapgs
73 0x0f 0x01 0xf8
74
75 # CHECK: rdtscp
76 0x0f 0x01 0xf9
77
78 # CHECK: vmxon
79 0xf3 0x0f 0xc7 0x30
80
81 # CHECK: vmptrld
82 0x0f 0xc7 0x30
83
84 # CHECK: vmptrst
85 0x0f 0xc7 0x38
86
87 # CHECK: movl $0, -4(%ebp)
88 0xc7 0x45 0xfc 0x00 0x00 0x00 0x00
89
90 # CHECK: movl   %cr0, %ecx
91 0x0f 0x20 0xc1
92
93 # CHECK: leal   4(%esp), %ecx
94 0x8d 0x4c 0x24 0x04 
95
96 # CHECK: enter  $1, $2
97 0xc8 0x01 0x00 0x02
98
99 # CHECK: movw   $47416, -66(%ebp)
100 0x66 0xc7 0x45 0xbe 0x38 0xb9
101
102 # CHECK: vaddpd %ymm13, %ymm1, %ymm0
103 0xc4 0xc1 0x75 0x58 0xc5
104
105 # CHECK: vaddps %ymm3, %ymm1, %ymm0
106 0xc5 0xf4 0x58 0xc3
107
108 # CHECK: vandpd %ymm13, %ymm1, %ymm0
109 0xc4 0xc1 0x75 0x54 0xc5
110
111 # CHECK: vandps %ymm3, %ymm1, %ymm0
112 0xc5 0xf4 0x54 0xc3
113
114 # CHECK: vzeroall
115 0xc5 0xfc 0x77
116
117 # CHECK: vcvtps2pd %xmm0, %ymm0
118 0xc5 0xfc 0x5a 0xc0
119
120 # CHECK: vandps (%edx), %xmm1, %xmm7
121 0xc5 0xf0 0x54 0x3a
122
123 # CHECK: vcvtss2sil %xmm0, %eax
124 0xc5 0xfa 0x2d 0xc0
125
126 # CHECK: vcvtsd2si %xmm0, %eax
127 0xc5 0xfb 0x2d 0xc0
128
129 # CHECK: vcvtsd2si %xmm0, %rax
130 0xc4 0xe1 0xfb 0x2d 0xc0
131
132 # CHECK: vmaskmovpd %xmm0, %xmm1, (%eax)
133 0xc4 0xe2 0x71 0x2f 0x00
134
135 # CHECK: vmovapd %xmm0, %xmm2
136 0xc5 0xf9 0x28 0xd0
137
138 # Check these special case instructions that the immediate is not sign-extend.
139 # CHECK: blendps $129, %xmm2, %xmm1
140 0x66 0x0f 0x3a 0x0c 0xca 0x81
141
142 # CHECK: blendpd $129, %xmm2, %xmm1
143 0x66 0x0f 0x3a 0x0d 0xca 0x81
144
145 # CHECK: pblendw $129, %xmm2, %xmm1
146 0x66 0x0f 0x3a 0x0e 0xca 0x81
147
148 # CHECK: mpsadbw $129, %xmm2, %xmm1
149 0x66 0x0f 0x3a 0x42 0xca 0x81
150
151 # CHECK: dpps $129, %xmm2, %xmm1
152 0x66 0x0f 0x3a 0x40 0xca 0x81
153
154 # CHECK: dppd $129, %xmm2, %xmm1
155 0x66 0x0f 0x3a 0x41 0xca 0x81
156
157 # CHECK: insertps $129, %xmm2, %xmm1
158 0x66 0x0f 0x3a 0x21 0xca 0x81
159
160 # CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
161 0xc4 0xe3 0x55 0x0c 0xca 0x81
162
163 # CHECK: vblendps $129, (%eax), %ymm5, %ymm1
164 0xc4 0xe3 0x55 0x0c 0x08 0x81
165
166 # CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
167 0xc4 0xe3 0x55 0x0d 0xca 0x81
168
169 # CHECK: vblendpd $129, (%eax), %ymm5, %ymm1
170 0xc4 0xe3 0x55 0x0d 0x08 0x81
171
172 # CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
173 0xc4 0xe3 0x51 0x0e 0xca 0x81
174
175 # CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
176 0xc4 0xe3 0x51 0x42 0xca 0x81
177
178 # CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
179 0xc4 0xe3 0x55 0x40 0xca 0x81
180
181 # CHECK: vdpps $129, (%eax), %ymm5, %ymm1
182 0xc4 0xe3 0x55 0x40 0x08 0x81
183
184 # CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
185 0xc4 0xe3 0x51 0x41 0xca 0x81
186
187 # CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
188 0xc4 0xe3 0x69 0x21 0xcb 0x81
189
190 # CHECK: pause
191 0xf3 0x90
192
193 # CHECK: addl %eax, %edi
194 0x01 0xc7
195
196 # CHECK: addl %edi, %eax
197 0x03 0xc7
198
199 # CHECK: movl %eax, %edi
200 0x89 0xc7
201
202 # CHECK: movl %edi, %eax
203 0x8b 0xc7
204
205 # CHECK: movups %xmm1, %xmm0
206 0x0f 0x10 0xc1
207
208 # CHECK: movups %xmm0, %xmm1
209 0x0f 0x11 0xc1
210
211 # CHECK: movaps %xmm1, %xmm0
212 0x0f 0x28 0xc1
213
214 # CHECK: movaps %xmm0, %xmm1
215 0x0f 0x29 0xc1
216
217 # CHECK: movupd %xmm1, %xmm0
218 0x66 0x0f 0x10 0xc1
219
220 # CHECK: movupd %xmm0, %xmm1
221 0x66 0x0f 0x11 0xc1
222
223 # CHECK: movapd %xmm1, %xmm0
224 0x66 0x0f 0x28 0xc1
225
226 # CHECK: movapd %xmm0, %xmm1
227 0x66 0x0f 0x29 0xc1
228
229 # CHECK: vmovups %xmm1, %xmm0
230 0xc5 0xf8 0x10 0xc1
231
232 # CHECK: vmovups %xmm0, %xmm1
233 0xc5 0xf8 0x11 0xc1
234
235 # CHECK: vmovaps %xmm1, %xmm0
236 0xc5 0xf8 0x28 0xc1
237
238 # CHECK: vmovaps %xmm0, %xmm1
239 0xc5 0xf8 0x29 0xc1
240
241 # CHECK: vmovupd %xmm1, %xmm0
242 0xc5 0xf9 0x10 0xc1
243
244 # CHECK: vmovupd %xmm0, %xmm1
245 0xc5 0xf9 0x11 0xc1
246
247 # CHECK: vmovapd %xmm1, %xmm0
248 0xc5 0xf9 0x28 0xc1
249
250 # CHECK: vmovapd %xmm0, %xmm1
251 0xc5 0xf9 0x29 0xc1
252
253 # CHECK: vmovups %ymm1, %ymm0
254 0xc5 0xfc 0x10 0xc1
255
256 # CHECK: vmovups %ymm0, %ymm1
257 0xc5 0xfc 0x11 0xc1
258
259 # CHECK: vmovaps %ymm1, %ymm0
260 0xc5 0xfc 0x28 0xc1
261
262 # CHECK: vmovaps %ymm0, %ymm1
263 0xc5 0xfc 0x29 0xc1
264
265 # CHECK: movdqa %xmm1, %xmm0
266 0x66 0x0f 0x6f 0xc1
267
268 # CHECK: movdqa %xmm0, %xmm1
269 0x66 0x0f 0x7f 0xc1
270
271 # CHECK: movdqu %xmm1, %xmm0
272 0xf3 0x0f 0x6f 0xc1
273
274 # CHECK: movdqu %xmm0, %xmm1
275 0xf3 0x0f 0x7f 0xc1
276
277 # CHECK: vmovdqa %xmm1, %xmm0
278 0xc5 0xf9 0x6f 0xc1
279
280 # CHECK: vmovdqa %xmm0, %xmm1
281 0xc5 0xf9 0x7f 0xc1
282
283 # CHECK: vmovdqa %ymm1, %ymm0
284 0xc5 0xfd 0x6f 0xc1
285
286 # CHECK: vmovdqa %ymm0, %ymm1
287 0xc5 0xfd 0x7f 0xc1
288
289 # CHECK: vmovdqu %xmm1, %xmm0
290 0xc5 0xfa 0x6f 0xc1
291
292 # CHECK: vmovdqu %xmm0, %xmm1
293 0xc5 0xfa 0x7f 0xc1
294
295 # CHECK: vmovdqu %ymm1, %ymm0
296 0xc5 0xfe 0x6f 0xc1
297
298 # CHECK: vmovdqu %ymm0, %ymm1
299 0xc5 0xfe 0x7f 0xc1
300
301 # CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
302 0xc4 0xe3 0x69 0x4a 0xd9 0x41
303
304 # CHECK: vroundpd $0, %xmm0, %xmm0
305 0xc4 0xe3 0x79 0x09 0xc0 0x00
306
307 # CHECK: vroundps $0, %xmm0, %xmm0
308 0xc4 0xe3 0x79 0x08 0xc0 0x00
309
310 # CHECK: vroundpd $0, %ymm0, %ymm0
311 0xc4 0xe3 0x7d 0x09 0xc0 0x00
312
313 # CHECK: vroundps $0, %ymm0, %ymm0
314 0xc4 0xe3 0x7d 0x08 0xc0 0x00
315
316 # CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
317 0xc4 0xe3 0x79 0x0a 0xc0 0x00
318
319 # CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
320 0xc4 0xe3 0x79 0x0b 0xc0 0x00
321