• 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: jecxz -127
150xe3 0x81
16
17# CHECK: jcxz -127
180x67 0xe3 0x81
19
20# CHECK: incl
210x40
22
23# CHECK: leave
240xc9
25
26# PR8873: some instructions not recognized in 32-bit mode
27
28# CHECK: fld
290xdd 0x04 0x24
30
31# CHECK: pshufb
320x0f 0x38 0x00 0xc0
33
34# CHECK: crc32b %al, %eax
350xf2 0x0f 0x38 0xf0 0xc0
36
37# CHECK: crc32w %ax, %eax
380x66 0xf2 0x0f 0x38 0xf1 0xc0
39
40# CHECK: crc32l %eax, %eax
410xf2 0x0f 0x38 0xf1 0xc0
42
43
44# CHECK: int	$33
450xCD 0x21
46
47# CHECK: int	$33
480xCD 0x21
49
50
51# CHECK: addb	%al, (%eax)
520 0
53
54# CHECK: calll	-1234
550xe8 0x2e 0xfb 0xff 0xff
56
57# CHECK: lfence
580x0f 0xae 0xe8
59
60# CHECK: mfence
610x0f 0xae 0xf0
62
63# CHECK: monitor
640x0f 0x01 0xc8
65
66# CHECK: mwait
670x0f 0x01 0xc9
68
69# CHECK: vmcall
700x0f 0x01 0xc1
71
72# CHECK: vmfunc
730x0f 0x01 0xd4
74
75# CHECK: vmlaunch
760x0f 0x01 0xc2
77
78# CHECK: vmresume
790x0f 0x01 0xc3
80
81# CHECK: vmxoff
820x0f 0x01 0xc4
83
84# CHECK: swapgs
850x0f 0x01 0xf8
86
87# CHECK: rdtscp
880x0f 0x01 0xf9
89
90# CHECK: vmxon
910xf3 0x0f 0xc7 0x30
92
93# CHECK: vmptrld
940x0f 0xc7 0x30
95
96# CHECK: vmptrst
970x0f 0xc7 0x38
98
99# CHECK: vmrun
1000x0f 0x01 0xd8
101
102# CHECK: vmmcall
1030x0f 0x01 0xd9
104
105# CHECK: vmload
1060x0f 0x01 0xda
107
108# CHECK: vmsave
1090x0f 0x01 0xdb
110
111# CHECK: stgi
1120x0f 0x01 0xdc
113
114# CHECK: clgi
1150x0f 0x01 0xdd
116
117# CHECK: skinit
1180x0f 0x01 0xde
119
120# CHECK: invlpga
1210x0f 0x01 0xdf
122
123# CHECK: movl $0, -4(%ebp)
1240xc7 0x45 0xfc 0x00 0x00 0x00 0x00
125
126# CHECK: movl	%cr0, %ecx
1270x0f 0x20 0xc1
128
129# CHECK: leal	4(%esp), %ecx
1300x8d 0x4c 0x24 0x04
131
132# CHECK: enter	$1, $2
1330xc8 0x01 0x00 0x02
134
135# CHECK: movw	$47416, -66(%ebp)
1360x66 0xc7 0x45 0xbe 0x38 0xb9
137
138# CHECK: vaddpd	%ymm5, %ymm1, %ymm0
1390xc4 0xc1 0x75 0x58 0xc5
140
141# CHECK: vaddps	%ymm3, %ymm1, %ymm0
1420xc5 0xf4 0x58 0xc3
143
144# CHECK: vandpd	%ymm5, %ymm1, %ymm0
1450xc4 0xc1 0x75 0x54 0xc5
146
147# CHECK: vandps	%ymm3, %ymm1, %ymm0
1480xc5 0xf4 0x54 0xc3
149
150# CHECK: vzeroall
1510xc5 0xfc 0x77
152
153# CHECK: vcvtps2pd %xmm0, %ymm0
1540xc5 0xfc 0x5a 0xc0
155
156# CHECK: vandps (%edx), %xmm1, %xmm7
1570xc5 0xf0 0x54 0x3a
158
159# CHECK: vcvtss2sil %xmm0, %eax
1600xc5 0xfa 0x2d 0xc0
161
162# CHECK: vcvtsd2si %xmm0, %eax
1630xc5 0xfb 0x2d 0xc0
164
165# CHECK: vcvtsd2si %xmm0, %eax
1660xc4 0xe1 0x7b 0x2d 0xc0
167
168# CHECK: vmaskmovpd %xmm0, %xmm1, (%eax)
1690xc4 0xe2 0x71 0x2f 0x00
170
171# CHECK: vmovapd %xmm0, %xmm2
1720xc5 0xf9 0x28 0xd0
173
174# Check these special case instructions that the immediate is not sign-extend.
175# CHECK: blendps $129, %xmm2, %xmm1
1760x66 0x0f 0x3a 0x0c 0xca 0x81
177
178# CHECK: blendpd $129, %xmm2, %xmm1
1790x66 0x0f 0x3a 0x0d 0xca 0x81
180
181# CHECK: pblendw $129, %xmm2, %xmm1
1820x66 0x0f 0x3a 0x0e 0xca 0x81
183
184# CHECK: mpsadbw $129, %xmm2, %xmm1
1850x66 0x0f 0x3a 0x42 0xca 0x81
186
187# CHECK: dpps $129, %xmm2, %xmm1
1880x66 0x0f 0x3a 0x40 0xca 0x81
189
190# CHECK: dppd $129, %xmm2, %xmm1
1910x66 0x0f 0x3a 0x41 0xca 0x81
192
193# CHECK: insertps $129, %xmm2, %xmm1
1940x66 0x0f 0x3a 0x21 0xca 0x81
195
196# CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
1970xc4 0xe3 0x55 0x0c 0xca 0x81
198
199# CHECK: vblendps $129, (%eax), %ymm5, %ymm1
2000xc4 0xe3 0x55 0x0c 0x08 0x81
201
202# CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
2030xc4 0xe3 0x55 0x0d 0xca 0x81
204
205# CHECK: vblendpd $129, (%eax), %ymm5, %ymm1
2060xc4 0xe3 0x55 0x0d 0x08 0x81
207
208# CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
2090xc4 0xe3 0x51 0x0e 0xca 0x81
210
211# CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
2120xc4 0xe3 0x51 0x42 0xca 0x81
213
214# CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
2150xc4 0xe3 0x55 0x40 0xca 0x81
216
217# CHECK: vdpps $129, (%eax), %ymm5, %ymm1
2180xc4 0xe3 0x55 0x40 0x08 0x81
219
220# CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
2210xc4 0xe3 0x51 0x41 0xca 0x81
222
223# CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
2240xc4 0xe3 0x69 0x21 0xcb 0x81
225
226# CHECK: pause
2270xf3 0x90
228
229# CHECK: addl %eax, %edi
2300x01 0xc7
231
232# CHECK: addl %edi, %eax
2330x03 0xc7
234
235# CHECK: movl %eax, %edi
2360x89 0xc7
237
238# CHECK: movl %edi, %eax
2390x8b 0xc7
240
241# CHECK: movups %xmm1, %xmm0
2420x0f 0x10 0xc1
243
244# CHECK: movups %xmm0, %xmm1
2450x0f 0x11 0xc1
246
247# CHECK: movaps %xmm1, %xmm0
2480x0f 0x28 0xc1
249
250# CHECK: movaps %xmm0, %xmm1
2510x0f 0x29 0xc1
252
253# CHECK: movupd %xmm1, %xmm0
2540x66 0x0f 0x10 0xc1
255
256# CHECK: movupd %xmm0, %xmm1
2570x66 0x0f 0x11 0xc1
258
259# CHECK: movapd %xmm1, %xmm0
2600x66 0x0f 0x28 0xc1
261
262# CHECK: movapd %xmm0, %xmm1
2630x66 0x0f 0x29 0xc1
264
265# CHECK: vmovups %xmm1, %xmm0
2660xc5 0xf8 0x10 0xc1
267
268# CHECK: vmovups %xmm0, %xmm1
2690xc5 0xf8 0x11 0xc1
270
271# CHECK: vmovaps %xmm1, %xmm0
2720xc5 0xf8 0x28 0xc1
273
274# CHECK: vmovaps %xmm0, %xmm1
2750xc5 0xf8 0x29 0xc1
276
277# CHECK: vmovupd %xmm1, %xmm0
2780xc5 0xf9 0x10 0xc1
279
280# CHECK: vmovupd %xmm0, %xmm1
2810xc5 0xf9 0x11 0xc1
282
283# CHECK: vmovapd %xmm1, %xmm0
2840xc5 0xf9 0x28 0xc1
285
286# CHECK: vmovapd %xmm0, %xmm1
2870xc5 0xf9 0x29 0xc1
288
289# CHECK: vmovups %ymm1, %ymm0
2900xc5 0xfc 0x10 0xc1
291
292# CHECK: vmovups %ymm0, %ymm1
2930xc5 0xfc 0x11 0xc1
294
295# CHECK: vmovaps %ymm1, %ymm0
2960xc5 0xfc 0x28 0xc1
297
298# CHECK: vmovaps %ymm0, %ymm1
2990xc5 0xfc 0x29 0xc1
300
301# CHECK: movdqa %xmm1, %xmm0
3020x66 0x0f 0x6f 0xc1
303
304# CHECK: movdqa %xmm0, %xmm1
3050x66 0x0f 0x7f 0xc1
306
307# CHECK: movdqu %xmm1, %xmm0
3080xf3 0x0f 0x6f 0xc1
309
310# CHECK: movdqu %xmm0, %xmm1
3110xf3 0x0f 0x7f 0xc1
312
313# CHECK: vmovdqa %xmm1, %xmm0
3140xc5 0xf9 0x6f 0xc1
315
316# CHECK: vmovdqa %xmm0, %xmm1
3170xc5 0xf9 0x7f 0xc1
318
319# CHECK: vmovdqa %ymm1, %ymm0
3200xc5 0xfd 0x6f 0xc1
321
322# CHECK: vmovdqa %ymm0, %ymm1
3230xc5 0xfd 0x7f 0xc1
324
325# CHECK: vmovdqu %xmm1, %xmm0
3260xc5 0xfa 0x6f 0xc1
327
328# CHECK: vmovdqu %xmm0, %xmm1
3290xc5 0xfa 0x7f 0xc1
330
331# CHECK: vmovdqu %ymm1, %ymm0
3320xc5 0xfe 0x6f 0xc1
333
334# CHECK: vmovdqu %ymm0, %ymm1
3350xc5 0xfe 0x7f 0xc1
336
337# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
3380xc4 0xe3 0x69 0x4a 0xd9 0x41
339
340# CHECK: vroundpd $0, %xmm0, %xmm0
3410xc4 0xe3 0x79 0x09 0xc0 0x00
342
343# CHECK: vroundps $0, %xmm0, %xmm0
3440xc4 0xe3 0x79 0x08 0xc0 0x00
345
346# CHECK: vroundpd $0, %ymm0, %ymm0
3470xc4 0xe3 0x7d 0x09 0xc0 0x00
348
349# CHECK: vroundps $0, %ymm0, %ymm0
3500xc4 0xe3 0x7d 0x08 0xc0 0x00
351
352# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
3530xc4 0xe3 0x79 0x0a 0xc0 0x00
354
355# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
3560xc4 0xe3 0x79 0x0b 0xc0 0x00
357
358# CHECK: invept (%eax), %eax
3590x66 0x0f 0x38 0x80 0x00
360
361# CHECK: invvpid (%eax), %eax
3620x66 0x0f 0x38 0x81 0x00
363
364# CHECK: invpcid (%eax), %eax
3650x66 0x0f 0x38 0x82 0x00
366
367# CHECK: nop
3680x90
369
370# CHECK: addb $0, %al
3710x04 0x00
372
373# CHECK: addw $0, %ax
3740x66 0x05 0x00 0x00
375
376# CHECK: addl $0, %eax
3770x05 0x00 0x00 0x00 0x00
378
379# CHECK: adcb $0, %al
3800x14 0x00
381
382# CHECK: adcw $0, %ax
3830x66 0x15 0x00 0x00
384
385# CHECK: adcl $0, %eax
3860x15 0x00 0x00 0x00 0x00
387
388# CHECK: cmpb $0, %al
3890x3c 0x00
390
391# CHECK: cmpw $0, %ax
3920x66 0x3d 0x00 0x00
393
394# CHECK: cmpl $0, %eax
3950x3d 0x00 0x00 0x00 0x00
396
397# CHECK: testb $0, %al
3980xa8 0x00
399
400# CHECK: testw $0, %ax
4010x66 0xa9 0x00 0x00
402
403# CHECK: testl $0, %eax
4040xa9 0x00 0x00 0x00 0x00
405
406# CHECK: movb 0, %al
4070xa0 0x00 0x00 0x00 0x00
408
409# CHECK: movw 0, %ax
4100x66 0xa1 0x00 0x00 0x00 0x00
411
412# CHECK: movl 0, %eax
4130xa1 0x00 0x00 0x00 0x00
414
415# CHECK: movb %al, 0
4160xa2 0x00 0x00 0x00 0x00
417
418# CHECK: movw %ax, 0
4190x66 0xa3 0x00 0x00 0x00 0x00
420
421# CHECK: movl %eax, 0
4220xa3 0x00 0x00 0x00 0x00
423
424# CHECK: cmpordpd %xmm7, %xmm0
4250x66 0x0f 0xc2 0xc7 0x07
426
427# CHECK: cmpordps %xmm7, %xmm0
4280x0f 0xc2 0xc7 0x07
429
430# CHECK: cmpordsd %xmm7, %xmm0
4310xf2 0x0f 0xc2 0xc7 0x07
432
433# CHECK: cmpordss %xmm7, %xmm0
4340xf3 0x0f 0xc2 0xc7 0x07
435
436# CHECK: vaddps	%xmm3, %xmm7, %xmm0
4370xc4 0xe1 0x00 0x58 0xc3
438
439# CHECK: movbel (%eax), %eax
4400x0f 0x38 0xf0 0x00
441
442# CHECK: movbel %eax, (%eax)
4430x0f 0x38 0xf1 0x00
444
445# CHECK: movbew (%eax), %ax
4460x66 0x0f 0x38 0xf0 0x00
447
448# CHECK: movbew %ax, (%eax)
4490x66 0x0f 0x38 0xf1 0x00
450
451# CHECK: rdrandw %ax
4520x66 0x0f 0xc7 0xf0
453
454# CHECK: rdrandl %eax
4550x0f 0xc7 0xf0
456
457# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
4580xc4 0xe3 0x7d 0x0a 0xc0 0x00
459
460# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
4610xc4 0xe3 0x7d 0x0b 0xc0 0x00
462
463# CHECK: vcvtsd2si %xmm0, %eax
4640xc4 0xe1 0x7f 0x2d 0xc0
465
466# CHECK: vcvtsd2si %xmm0, %eax
4670xc4 0xe1 0xff 0x2d 0xc0
468
469# CHECK: vucomisd %xmm1, %xmm0
4700xc5 0xfd 0x2e 0xc1
471
472# CHECK: vucomiss %xmm1, %xmm0
4730xc5 0xfc 0x2e 0xc1
474
475# CHECK: vcomisd %xmm1, %xmm0
4760xc5 0xfd 0x2f 0xc1
477
478# CHECK: vcomiss %xmm1, %xmm0
4790xc5 0xfc 0x2f 0xc1
480
481# CHECK: vaddss %xmm1, %xmm0, %xmm0
4820xc5 0xfe 0x58 0xc1
483
484# CHECK: xsave (%eax)
4850x0f 0xae 0x20
486
487# CHECK: xrstor (%eax)
4880x0f 0xae 0x28
489
490# CHECK: xsaveopt (%eax)
4910x0f 0xae 0x30
492
493# CHECK: vcvtph2ps %xmm0, %xmm0
4940xc4 0xe2 0x79 0x13 0xc0
495
496# CHECK: vcvtph2ps (%eax), %xmm0
4970xc4 0xe2 0x79 0x13 0x00
498
499# CHECK: vcvtph2ps %xmm0, %ymm0
5000xc4 0xe2 0x7d 0x13 0xc0
501
502# CHECK: vcvtph2ps (%eax), %ymm0
5030xc4 0xe2 0x7d 0x13 0x00
504
505# CHECK: vcvtps2ph $0, %xmm0, %xmm0
5060xc4 0xe3 0x79 0x1d 0xc0 0x00
507
508# CHECK: vcvtps2ph $0, %xmm0, (%eax)
5090xc4 0xe3 0x79 0x1d 0x00 0x00
510
511# CHECK: vcvtps2ph $0, %ymm0, %xmm0
5120xc4 0xe3 0x7d 0x1d 0xc0 0x00
513
514# CHECK: vcvtps2ph $0, %ymm0, (%eax)
5150xc4 0xe3 0x7d 0x1d 0x00 0x00
516
517# CHECK: popcntl %eax, %eax
5180xf3 0x0f 0xb8 0xc0
519
520# CHECK: popcntw %ax, %ax
5210x66 0xf3 0x0f 0xb8 0xc0
522
523# CHECK: lzcntl %eax, %eax
5240xf3 0x0f 0xbd 0xc0
525
526# CHECK: lzcntw %ax, %ax
5270x66 0xf3 0x0f 0xbd 0xc0
528
529# CHECK: tzcntl %eax, %eax
5300xf3 0x0f 0xbc 0xc0
531
532# CHECK: tzcntw %ax, %ax
5330x66 0xf3 0x0f 0xbc 0xc0
534
535# CHECK: andnl %ecx, %edi, %eax
5360xc4 0xe2 0x00 0xf2 0xc1
537
538# CHECK: andnl (%eax), %edi, %eax
5390xc4 0xe2 0x00 0xf2 0x00
540
541# CHECK: andnl %ecx, %edi, %eax
5420xc4 0xe2 0x80 0xf2 0xc1
543
544# CHECK: andnl (%eax), %edi, %eax
5450xc4 0xe2 0x80 0xf2 0x00
546
547# CHECK: blsrl (%eax), %edi
5480xc4 0xe2 0x40 0xf3 0x08
549
550# CHECK: blsmskl (%eax), %edi
5510xc4 0xe2 0x40 0xf3 0x10
552
553# CHECK: blsil (%eax), %edi
5540xc4 0xe2 0x40 0xf3 0x18
555
556# CHECK: bextrl %esi, (%eax), %edx
5570xc4 0xe2 0x08 0xf7 0x10
558
559# CHECK: bextrl %esi, %ebx, %edx
5600xc4 0xe2 0x08 0xf7 0xd3
561
562# CHECK: bzhil %esi, (%eax), %edx
5630xc4 0xe2 0x08 0xf5 0x10
564
565# CHECK: bzhil %esi, %ebx, %edx
5660xc4 0xe2 0x08 0xf5 0xd3
567
568# CHECK: pextl %esp, %ecx, %edx
5690xc4 0xe2 0x72 0xf5 0xd4
570
571# CHECK: pextl (%eax), %ecx, %edx
5720xc4 0xe2 0x72 0xf5 0x10
573
574# CHECK: pdepl %esp, %ecx, %edx
5750xc4 0xe2 0x73 0xf5 0xd4
576
577# CHECK: pdepl (%eax), %ecx, %edx
5780xc4 0xe2 0x73 0xf5 0x10
579
580# CHECK: mulxl %esp, %ecx, %edx
5810xc4 0xe2 0x73 0xf6 0xd4
582
583# CHECK: mulxl (%eax), %ecx, %edx
5840xc4 0xe2 0x73 0xf6 0x10
585
586# CHECK: mulxl %esp, %ecx, %edx
5870xc4 0xe2 0xf3 0xf6 0xd4
588
589# CHECK: mulxl (%eax), %ecx, %edx
5900xc4 0xe2 0xf3 0xf6 0x10
591
592# CHECK: rorxl $1, %esp, %edx
5930xc4 0xe3 0x7b 0xf0 0xd4 0x01
594
595# CHECK: rorxl $31, (%eax), %edx
5960xc4 0xe3 0x7b 0xf0 0x10 0x1f
597
598# CHECK: shlxl %esi, (%eax), %edx
5990xc4 0xe2 0x09 0xf7 0x10
600
601# CHECK: shlxl %esi, %ebx, %edx
6020xc4 0xe2 0x09 0xf7 0xd3
603
604# CHECK: sarxl %esi, (%eax), %edx
6050xc4 0xe2 0x0a 0xf7 0x10
606
607# CHECK: sarxl %esi, %ebx, %edx
6080xc4 0xe2 0x0a 0xf7 0xd3
609
610# CHECK: shrxl %esi, (%eax), %edx
6110xc4 0xe2 0x0b 0xf7 0x10
612
613# CHECK: shrxl %esi, %ebx, %edx
6140xc4 0xe2 0x0b 0xf7 0xd3
615