• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc --disassemble %s -triple=i686-apple-darwin9 | FileCheck %s
2
3# Coverage
4
5# CHECK: pushl
60xff 0x34 0x24
7
8# CHECK: popl
90x58
10
11# CHECK: calll
120xff 0xd0
13
14# CHECK: incl
150x40
16
17# CHECK: leave
180xc9
19
20# PR8873: some instructions not recognized in 32-bit mode
21
22# CHECK: fld
230xdd 0x04 0x24
24
25# CHECK: pshufb
260x0f 0x38 0x00 0xc0
27
28# CHECK: crc32b %al, %eax
290xf2 0x0f 0x38 0xf0 0xc0
30
31# CHECK: crc32w %ax, %eax
320x66 0xf2 0x0f 0x38 0xf1 0xc0
33
34# CHECK: crc32l %eax, %eax
350xf2 0x0f 0x38 0xf1 0xc0
36
37
38# CHECK: int	$33
390xCD 0x21
40
41# CHECK: int	$33
420xCD 0x21
43
44
45# CHECK: addb	%al, (%eax)
460 0
47
48# CHECK: calll	-1234
490xe8 0x2e 0xfb 0xff 0xff
50
51# CHECK: lfence
520x0f 0xae 0xe8
53
54# CHECK: mfence
550x0f 0xae 0xf0
56
57# CHECK: monitor
580x0f 0x01 0xc8
59
60# CHECK: mwait
610x0f 0x01 0xc9
62
63# CHECK: vmcall
640x0f 0x01 0xc1
65
66# CHECK: vmlaunch
670x0f 0x01 0xc2
68
69# CHECK: vmresume
700x0f 0x01 0xc3
71
72# CHECK: vmxoff
730x0f 0x01 0xc4
74
75# CHECK: swapgs
760x0f 0x01 0xf8
77
78# CHECK: rdtscp
790x0f 0x01 0xf9
80
81# CHECK: vmxon
820xf3 0x0f 0xc7 0x30
83
84# CHECK: vmptrld
850x0f 0xc7 0x30
86
87# CHECK: vmptrst
880x0f 0xc7 0x38
89
90# CHECK: movl $0, -4(%ebp)
910xc7 0x45 0xfc 0x00 0x00 0x00 0x00
92
93# CHECK: movl	%cr0, %ecx
940x0f 0x20 0xc1
95
96# CHECK: leal	4(%esp), %ecx
970x8d 0x4c 0x24 0x04
98
99# CHECK: enter	$1, $2
1000xc8 0x01 0x00 0x02
101
102# CHECK: movw	$47416, -66(%ebp)
1030x66 0xc7 0x45 0xbe 0x38 0xb9
104
105# CHECK: vaddpd	%ymm5, %ymm1, %ymm0
1060xc4 0xc1 0x75 0x58 0xc5
107
108# CHECK: vaddps	%ymm3, %ymm1, %ymm0
1090xc5 0xf4 0x58 0xc3
110
111# CHECK: vandpd	%ymm5, %ymm1, %ymm0
1120xc4 0xc1 0x75 0x54 0xc5
113
114# CHECK: vandps	%ymm3, %ymm1, %ymm0
1150xc5 0xf4 0x54 0xc3
116
117# CHECK: vzeroall
1180xc5 0xfc 0x77
119
120# CHECK: vcvtps2pd %xmm0, %ymm0
1210xc5 0xfc 0x5a 0xc0
122
123# CHECK: vandps (%edx), %xmm1, %xmm7
1240xc5 0xf0 0x54 0x3a
125
126# CHECK: vcvtss2sil %xmm0, %eax
1270xc5 0xfa 0x2d 0xc0
128
129# CHECK: vcvtsd2si %xmm0, %eax
1300xc5 0xfb 0x2d 0xc0
131
132# CHECK: vcvtsd2si %xmm0, %eax
1330xc4 0xe1 0x7b 0x2d 0xc0
134
135# CHECK: vmaskmovpd %xmm0, %xmm1, (%eax)
1360xc4 0xe2 0x71 0x2f 0x00
137
138# CHECK: vmovapd %xmm0, %xmm2
1390xc5 0xf9 0x28 0xd0
140
141# Check these special case instructions that the immediate is not sign-extend.
142# CHECK: blendps $129, %xmm2, %xmm1
1430x66 0x0f 0x3a 0x0c 0xca 0x81
144
145# CHECK: blendpd $129, %xmm2, %xmm1
1460x66 0x0f 0x3a 0x0d 0xca 0x81
147
148# CHECK: pblendw $129, %xmm2, %xmm1
1490x66 0x0f 0x3a 0x0e 0xca 0x81
150
151# CHECK: mpsadbw $129, %xmm2, %xmm1
1520x66 0x0f 0x3a 0x42 0xca 0x81
153
154# CHECK: dpps $129, %xmm2, %xmm1
1550x66 0x0f 0x3a 0x40 0xca 0x81
156
157# CHECK: dppd $129, %xmm2, %xmm1
1580x66 0x0f 0x3a 0x41 0xca 0x81
159
160# CHECK: insertps $129, %xmm2, %xmm1
1610x66 0x0f 0x3a 0x21 0xca 0x81
162
163# CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
1640xc4 0xe3 0x55 0x0c 0xca 0x81
165
166# CHECK: vblendps $129, (%eax), %ymm5, %ymm1
1670xc4 0xe3 0x55 0x0c 0x08 0x81
168
169# CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
1700xc4 0xe3 0x55 0x0d 0xca 0x81
171
172# CHECK: vblendpd $129, (%eax), %ymm5, %ymm1
1730xc4 0xe3 0x55 0x0d 0x08 0x81
174
175# CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
1760xc4 0xe3 0x51 0x0e 0xca 0x81
177
178# CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
1790xc4 0xe3 0x51 0x42 0xca 0x81
180
181# CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
1820xc4 0xe3 0x55 0x40 0xca 0x81
183
184# CHECK: vdpps $129, (%eax), %ymm5, %ymm1
1850xc4 0xe3 0x55 0x40 0x08 0x81
186
187# CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
1880xc4 0xe3 0x51 0x41 0xca 0x81
189
190# CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
1910xc4 0xe3 0x69 0x21 0xcb 0x81
192
193# CHECK: pause
1940xf3 0x90
195
196# CHECK: addl %eax, %edi
1970x01 0xc7
198
199# CHECK: addl %edi, %eax
2000x03 0xc7
201
202# CHECK: movl %eax, %edi
2030x89 0xc7
204
205# CHECK: movl %edi, %eax
2060x8b 0xc7
207
208# CHECK: movups %xmm1, %xmm0
2090x0f 0x10 0xc1
210
211# CHECK: movups %xmm0, %xmm1
2120x0f 0x11 0xc1
213
214# CHECK: movaps %xmm1, %xmm0
2150x0f 0x28 0xc1
216
217# CHECK: movaps %xmm0, %xmm1
2180x0f 0x29 0xc1
219
220# CHECK: movupd %xmm1, %xmm0
2210x66 0x0f 0x10 0xc1
222
223# CHECK: movupd %xmm0, %xmm1
2240x66 0x0f 0x11 0xc1
225
226# CHECK: movapd %xmm1, %xmm0
2270x66 0x0f 0x28 0xc1
228
229# CHECK: movapd %xmm0, %xmm1
2300x66 0x0f 0x29 0xc1
231
232# CHECK: vmovups %xmm1, %xmm0
2330xc5 0xf8 0x10 0xc1
234
235# CHECK: vmovups %xmm0, %xmm1
2360xc5 0xf8 0x11 0xc1
237
238# CHECK: vmovaps %xmm1, %xmm0
2390xc5 0xf8 0x28 0xc1
240
241# CHECK: vmovaps %xmm0, %xmm1
2420xc5 0xf8 0x29 0xc1
243
244# CHECK: vmovupd %xmm1, %xmm0
2450xc5 0xf9 0x10 0xc1
246
247# CHECK: vmovupd %xmm0, %xmm1
2480xc5 0xf9 0x11 0xc1
249
250# CHECK: vmovapd %xmm1, %xmm0
2510xc5 0xf9 0x28 0xc1
252
253# CHECK: vmovapd %xmm0, %xmm1
2540xc5 0xf9 0x29 0xc1
255
256# CHECK: vmovups %ymm1, %ymm0
2570xc5 0xfc 0x10 0xc1
258
259# CHECK: vmovups %ymm0, %ymm1
2600xc5 0xfc 0x11 0xc1
261
262# CHECK: vmovaps %ymm1, %ymm0
2630xc5 0xfc 0x28 0xc1
264
265# CHECK: vmovaps %ymm0, %ymm1
2660xc5 0xfc 0x29 0xc1
267
268# CHECK: movdqa %xmm1, %xmm0
2690x66 0x0f 0x6f 0xc1
270
271# CHECK: movdqa %xmm0, %xmm1
2720x66 0x0f 0x7f 0xc1
273
274# CHECK: movdqu %xmm1, %xmm0
2750xf3 0x0f 0x6f 0xc1
276
277# CHECK: movdqu %xmm0, %xmm1
2780xf3 0x0f 0x7f 0xc1
279
280# CHECK: vmovdqa %xmm1, %xmm0
2810xc5 0xf9 0x6f 0xc1
282
283# CHECK: vmovdqa %xmm0, %xmm1
2840xc5 0xf9 0x7f 0xc1
285
286# CHECK: vmovdqa %ymm1, %ymm0
2870xc5 0xfd 0x6f 0xc1
288
289# CHECK: vmovdqa %ymm0, %ymm1
2900xc5 0xfd 0x7f 0xc1
291
292# CHECK: vmovdqu %xmm1, %xmm0
2930xc5 0xfa 0x6f 0xc1
294
295# CHECK: vmovdqu %xmm0, %xmm1
2960xc5 0xfa 0x7f 0xc1
297
298# CHECK: vmovdqu %ymm1, %ymm0
2990xc5 0xfe 0x6f 0xc1
300
301# CHECK: vmovdqu %ymm0, %ymm1
3020xc5 0xfe 0x7f 0xc1
303
304# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
3050xc4 0xe3 0x69 0x4a 0xd9 0x41
306
307# CHECK: vroundpd $0, %xmm0, %xmm0
3080xc4 0xe3 0x79 0x09 0xc0 0x00
309
310# CHECK: vroundps $0, %xmm0, %xmm0
3110xc4 0xe3 0x79 0x08 0xc0 0x00
312
313# CHECK: vroundpd $0, %ymm0, %ymm0
3140xc4 0xe3 0x7d 0x09 0xc0 0x00
315
316# CHECK: vroundps $0, %ymm0, %ymm0
3170xc4 0xe3 0x7d 0x08 0xc0 0x00
318
319# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
3200xc4 0xe3 0x79 0x0a 0xc0 0x00
321
322# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
3230xc4 0xe3 0x79 0x0b 0xc0 0x00
324
325# CHECK: invept (%eax), %eax
3260x66 0x0f 0x38 0x80 0x00
327
328# CHECK: invvpid (%eax), %eax
3290x66 0x0f 0x38 0x81 0x00
330
331# CHECK: nop
3320x90
333
334# CHECK: addb $0, %al
3350x04 0x00
336
337# CHECK: addw $0, %ax
3380x66 0x05 0x00 0x00
339
340# CHECK: addl $0, %eax
3410x05 0x00 0x00 0x00 0x00
342
343# CHECK: adcb $0, %al
3440x14 0x00
345
346# CHECK: adcw $0, %ax
3470x66 0x15 0x00 0x00
348
349# CHECK: adcl $0, %eax
3500x15 0x00 0x00 0x00 0x00
351
352# CHECK: cmpb $0, %al
3530x3c 0x00
354
355# CHECK: cmpw $0, %ax
3560x66 0x3d 0x00 0x00
357
358# CHECK: cmpl $0, %eax
3590x3d 0x00 0x00 0x00 0x00
360
361# CHECK: testb $0, %al
3620xa8 0x00
363
364# CHECK: testw $0, %ax
3650x66 0xa9 0x00 0x00
366
367# CHECK: testl $0, %eax
3680xa9 0x00 0x00 0x00 0x00
369
370# CHECK: movb 0, %al
3710xa0 0x00 0x00 0x00 0x00
372
373# CHECK: movw 0, %ax
3740x66 0xa1 0x00 0x00 0x00 0x00
375
376# CHECK: movl 0, %eax
3770xa1 0x00 0x00 0x00 0x00
378
379# CHECK: movb %al, 0
3800xa2 0x00 0x00 0x00 0x00
381
382# CHECK: movw %ax, 0
3830x66 0xa3 0x00 0x00 0x00 0x00
384
385# CHECK: movl %eax, 0
3860xa3 0x00 0x00 0x00 0x00
387
388# CHECK: vaddps	%xmm3, %xmm7, %xmm0
3890xc4 0xe1 0x00 0x58 0xc3
390
391# CHECK: movbel (%eax), %eax
3920x0f 0x38 0xf0 0x00
393
394# CHECK: movbel %eax, (%eax)
3950x0f 0x38 0xf1 0x00
396
397# CHECK: movbew (%eax), %ax
3980x66 0x0f 0x38 0xf0 0x00
399
400# CHECK: movbew %ax, (%eax)
4010x66 0x0f 0x38 0xf1 0x00
402
403# CHECK: rdrandw %ax
4040x66 0x0f 0xc7 0xf0
405
406# CHECK: rdrandl %eax
4070x0f 0xc7 0xf0
408
409# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
4100xc4 0xe3 0x7d 0x0a 0xc0 0x00
411
412# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
4130xc4 0xe3 0x7d 0x0b 0xc0 0x00
414
415# CHECK: vcvtsd2si %xmm0, %eax
4160xc4 0xe1 0x7f 0x2d 0xc0
417
418# CHECK: vcvtsd2si %xmm0, %eax
4190xc4 0xe1 0xff 0x2d 0xc0
420
421# CHECK: vucomisd %xmm1, %xmm0
4220xc5 0xfd 0x2e 0xc1
423
424# CHECK: vucomiss %xmm1, %xmm0
4250xc5 0xfc 0x2e 0xc1
426
427# CHECK: vcomisd %xmm1, %xmm0
4280xc5 0xfd 0x2f 0xc1
429
430# CHECK: vcomiss %xmm1, %xmm0
4310xc5 0xfc 0x2f 0xc1
432
433# CHECK: vaddss %xmm1, %xmm0, %xmm0
4340xc5 0xfe 0x58 0xc1
435
436# CHECK: xsave (%eax)
4370x0f 0xae 0x20
438
439# CHECK: xrstor (%eax)
4400x0f 0xae 0x28
441
442# CHECK: xsaveopt (%eax)
4430x0f 0xae 0x30
444
445# CHECK: vcvtph2ps %xmm0, %xmm0
4460xc4 0xe2 0x79 0x13 0xc0
447
448# CHECK: vcvtph2ps (%eax), %xmm0
4490xc4 0xe2 0x79 0x13 0x00
450
451# CHECK: vcvtph2ps %xmm0, %ymm0
4520xc4 0xe2 0x7d 0x13 0xc0
453
454# CHECK: vcvtph2ps (%eax), %ymm0
4550xc4 0xe2 0x7d 0x13 0x00
456
457# CHECK: vcvtps2ph $0, %xmm0, %xmm0
4580xc4 0xe3 0x79 0x1d 0xc0 0x00
459
460# CHECK: vcvtps2ph $0, %xmm0, (%eax)
4610xc4 0xe3 0x79 0x1d 0x00 0x00
462
463# CHECK: vcvtps2ph $0, %ymm0, %xmm0
4640xc4 0xe3 0x7d 0x1d 0xc0 0x00
465
466# CHECK: vcvtps2ph $0, %ymm0, (%eax)
4670xc4 0xe3 0x7d 0x1d 0x00 0x00
468
469# CHECK: popcntl %eax, %eax
4700xf3 0x0f 0xb8 0xc0
471
472# CHECK: popcntw %ax, %ax
4730x66 0xf3 0x0f 0xb8 0xc0
474
475# CHECK: lzcntl %eax, %eax
4760xf3 0x0f 0xbd 0xc0
477
478# CHECK: lzcntw %ax, %ax
4790x66 0xf3 0x0f 0xbd 0xc0
480
481# CHECK: tzcntl %eax, %eax
4820xf3 0x0f 0xbc 0xc0
483
484# CHECK: tzcntw %ax, %ax
4850x66 0xf3 0x0f 0xbc 0xc0
486
487# CHECK: andnl %ecx, %edi, %eax
4880xc4 0xe2 0x00 0xf2 0xc1
489
490# CHECK: andnl (%eax), %edi, %eax
4910xc4 0xe2 0x00 0xf2 0x00
492
493# CHECK: andnl %ecx, %edi, %eax
4940xc4 0xe2 0x80 0xf2 0xc1
495
496# CHECK: andnl (%eax), %edi, %eax
4970xc4 0xe2 0x80 0xf2 0x00
498