• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 | FileCheck %s
2
3# CHECK: int	$33
40xCD 0x21
5
6# CHECK: int	$33
70xCD 0x21
8
9
10# CHECK: addb	%al, (%rax)
110 0
12
13# CHECK: callq	-1234
140xe8 0x2e 0xfb 0xff 0xff
15
16# CHECK: lfence
170x0f 0xae 0xe8
18
19# CHECK: mfence
200x0f 0xae 0xf0
21
22# CHECK: monitor
230x0f 0x01 0xc8
24
25# CHECK: mwait
260x0f 0x01 0xc9
27
28# CHECK: vmcall
290x0f 0x01 0xc1
30
31# CHECK: vmlaunch
320x0f 0x01 0xc2
33
34# CHECK: vmresume
350x0f 0x01 0xc3
36
37# CHECK: vmxoff
380x0f 0x01 0xc4
39
40# CHECK: swapgs
410x0f 0x01 0xf8
42
43# CHECK: rdtscp
440x0f 0x01 0xf9
45
46# CHECK: vmxon
470xf3 0x0f 0xc7 0x30
48
49# CHECK: vmptrld
500x0f 0xc7 0x30
51
52# CHECK: vmptrst
530x0f 0xc7 0x38
54
55# CHECK: movl $0, -4(%rbp)
560xc7 0x45 0xfc 0x00 0x00 0x00 0x00
57
58# CHECK: movq	%cr0, %rcx
590x0f 0x20 0xc1
60
61# CHECK: leal	4(%rsp), %ecx
620x8d 0x4c 0x24 0x04
63
64# CHECK: enter	$1, $2
650xc8 0x01 0x00 0x02
66
67# CHECK: movw	$47416, -66(%rbp)
680x66 0xc7 0x45 0xbe 0x38 0xb9
69
70# CHECK: vaddpd	%ymm13, %ymm1, %ymm0
710xc4 0xc1 0x75 0x58 0xc5
72
73# CHECK: vaddps	%ymm3, %ymm1, %ymm0
740xc5 0xf4 0x58 0xc3
75
76# CHECK: vandpd	%ymm13, %ymm1, %ymm0
770xc4 0xc1 0x75 0x54 0xc5
78
79# CHECK: vandps	%ymm3, %ymm1, %ymm0
800xc5 0xf4 0x54 0xc3
81
82# CHECK: vzeroall
830xc5 0xfc 0x77
84
85# CHECK: vcvtps2pd %xmm0, %ymm0
860xc5 0xfc 0x5a 0xc0
87
88# CHECK: vandps (%rdx), %xmm1, %xmm7
890xc5 0xf0 0x54 0x3a
90
91# CHECK: vcvtss2sil %xmm0, %eax
920xc5 0xfa 0x2d 0xc0
93
94# CHECK: vcvtsd2si %xmm0, %eax
950xc5 0xfb 0x2d 0xc0
96
97# CHECK: vcvtsd2si %xmm0, %rax
980xc4 0xe1 0xfb 0x2d 0xc0
99
100# CHECK: vmaskmovpd %xmm0, %xmm1, (%rax)
1010xc4 0xe2 0x71 0x2f 0x00
102
103# CHECK: vmovapd %xmm0, %xmm2
1040xc5 0xf9 0x28 0xd0
105
106# Check X86 immediates print as signed values by default.  radr://8795217
107# CHECK: andq $-16, %rsp
1080x48 0x83 0xe4 0xf0
109
110# Check these special case instructions that the immediate is not sign-extend.
111# CHECK: blendps $129, %xmm2, %xmm1
1120x66 0x0f 0x3a 0x0c 0xca 0x81
113
114# CHECK: blendpd $129, %xmm2, %xmm1
1150x66 0x0f 0x3a 0x0d 0xca 0x81
116
117# CHECK: pblendw $129, %xmm2, %xmm1
1180x66 0x0f 0x3a 0x0e 0xca 0x81
119
120# CHECK: mpsadbw $129, %xmm2, %xmm1
1210x66 0x0f 0x3a 0x42 0xca 0x81
122
123# CHECK: dpps $129, %xmm2, %xmm1
1240x66 0x0f 0x3a 0x40 0xca 0x81
125
126# CHECK: dppd $129, %xmm2, %xmm1
1270x66 0x0f 0x3a 0x41 0xca 0x81
128
129# CHECK: insertps $129, %xmm2, %xmm1
1300x66 0x0f 0x3a 0x21 0xca 0x81
131
132# CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
1330xc4 0xe3 0x55 0x0c 0xca 0x81
134
135# CHECK: vblendps $129, (%rax), %ymm5, %ymm1
1360xc4 0xe3 0x55 0x0c 0x08 0x81
137
138# CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
1390xc4 0xe3 0x55 0x0d 0xca 0x81
140
141# CHECK: vblendpd $129, (%rax), %ymm5, %ymm1
1420xc4 0xe3 0x55 0x0d 0x08 0x81
143
144# CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
1450xc4 0xe3 0x51 0x0e 0xca 0x81
146
147# CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
1480xc4 0xe3 0x51 0x42 0xca 0x81
149
150# CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
1510xc4 0xe3 0x55 0x40 0xca 0x81
152
153# CHECK: vdpps $129, (%rax), %ymm5, %ymm1
1540xc4 0xe3 0x55 0x40 0x08 0x81
155
156# CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
1570xc4 0xe3 0x51 0x41 0xca 0x81
158
159# CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
1600xc4 0xe3 0x69 0x21 0xcb 0x81
161
162# CHECK: pause
1630xf3 0x90
164
165# CHECK: addl %eax, %edi
1660x01 0xc7
167
168# CHECK: addl %edi, %eax
1690x03 0xc7
170
171# CHECK: movl %eax, %edi
1720x89 0xc7
173
174# CHECK: movl %edi, %eax
1750x8b 0xc7
176
177# CHECK: movups %xmm1, %xmm0
1780x0f 0x10 0xc1
179
180# CHECK: movups %xmm0, %xmm1
1810x0f 0x11 0xc1
182
183# CHECK: movaps %xmm1, %xmm0
1840x0f 0x28 0xc1
185
186# CHECK: movaps %xmm0, %xmm1
1870x0f 0x29 0xc1
188
189# CHECK: movupd %xmm1, %xmm0
1900x66 0x0f 0x10 0xc1
191
192# CHECK: movupd %xmm0, %xmm1
1930x66 0x0f 0x11 0xc1
194
195# CHECK: movapd %xmm1, %xmm0
1960x66 0x0f 0x28 0xc1
197
198# CHECK: movapd %xmm0, %xmm1
1990x66 0x0f 0x29 0xc1
200
201# CHECK: vmovups %xmm1, %xmm0
2020xc5 0xf8 0x10 0xc1
203
204# CHECK: vmovups %xmm0, %xmm1
2050xc5 0xf8 0x11 0xc1
206
207# CHECK: vmovaps %xmm1, %xmm0
2080xc5 0xf8 0x28 0xc1
209
210# CHECK: vmovaps %xmm0, %xmm1
2110xc5 0xf8 0x29 0xc1
212
213# CHECK: vmovupd %xmm1, %xmm0
2140xc5 0xf9 0x10 0xc1
215
216# CHECK: vmovupd %xmm0, %xmm1
2170xc5 0xf9 0x11 0xc1
218
219# CHECK: vmovapd %xmm1, %xmm0
2200xc5 0xf9 0x28 0xc1
221
222# CHECK: vmovapd %xmm0, %xmm1
2230xc5 0xf9 0x29 0xc1
224
225# CHECK: vmovups %ymm1, %ymm0
2260xc5 0xfc 0x10 0xc1
227
228# CHECK: vmovups %ymm0, %ymm1
2290xc5 0xfc 0x11 0xc1
230
231# CHECK: vmovaps %ymm1, %ymm0
2320xc5 0xfc 0x28 0xc1
233
234# CHECK: vmovaps %ymm0, %ymm1
2350xc5 0xfc 0x29 0xc1
236
237# CHECK: movdqa %xmm1, %xmm0
2380x66 0x0f 0x6f 0xc1
239
240# CHECK: movdqa %xmm0, %xmm1
2410x66 0x0f 0x7f 0xc1
242
243# CHECK: movdqu %xmm1, %xmm0
2440xf3 0x0f 0x6f 0xc1
245
246# CHECK: movdqu %xmm0, %xmm1
2470xf3 0x0f 0x7f 0xc1
248
249# CHECK: vmovdqa %xmm1, %xmm0
2500xc5 0xf9 0x6f 0xc1
251
252# CHECK: vmovdqa %xmm0, %xmm1
2530xc5 0xf9 0x7f 0xc1
254
255# CHECK: vmovdqa %ymm1, %ymm0
2560xc5 0xfd 0x6f 0xc1
257
258# CHECK: vmovdqa %ymm0, %ymm1
2590xc5 0xfd 0x7f 0xc1
260
261# CHECK: vmovdqu %xmm1, %xmm0
2620xc5 0xfa 0x6f 0xc1
263
264# CHECK: vmovdqu %xmm0, %xmm1
2650xc5 0xfa 0x7f 0xc1
266
267# CHECK: vmovdqu %ymm1, %ymm0
2680xc5 0xfe 0x6f 0xc1
269
270# CHECK: vmovdqu %ymm0, %ymm1
2710xc5 0xfe 0x7f 0xc1
272
273# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
2740xc4 0xe3 0x69 0x4a 0xd9 0x41
275
276# CHECK: vroundpd $0, %xmm0, %xmm0
2770xc4 0xe3 0x79 0x09 0xc0 0x00
278
279# CHECK: vroundps $0, %xmm0, %xmm0
2800xc4 0xe3 0x79 0x08 0xc0 0x00
281
282# CHECK: vroundpd $0, %ymm0, %ymm0
2830xc4 0xe3 0x7d 0x09 0xc0 0x00
284
285# CHECK: vroundps $0, %ymm0, %ymm0
2860xc4 0xe3 0x7d 0x08 0xc0 0x00
287
288# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
2890xc4 0xe3 0x79 0x0a 0xc0 0x00
290
291# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
2920xc4 0xe3 0x79 0x0b 0xc0 0x00
293
294# CHECK: crc32b %al, %eax
2950xf2 0x0f 0x38 0xf0 0xc0
296
297# CHECK: crc32w %ax, %eax
2980x66 0xf2 0x0f 0x38 0xf1 0xc0
299
300# CHECK: crc32l %eax, %eax
3010xf2 0x0f 0x38 0xf1 0xc0
302
303# CHECK: crc32q %rax, %rax
3040xf2 0x48 0x0f 0x38 0xf1 0xc0
305
306# CHECK: invept (%rax), %rax
3070x66 0x0f 0x38 0x80 0x00
308
309# CHECK: invvpid (%rax), %rax
3100x66 0x0f 0x38 0x81 0x00
311
312# CHECK: nop
3130x90
314
315# CHECK: xchgl %r8d, %eax
3160x41 0x90
317
318# CHECK: xchgq %r8, %rax
3190x49 0x90
320
321# CHECK: addb $0, %al
3220x04 0x00
323
324# CHECK: addw $0, %ax
3250x66 0x05 0x00 0x00
326
327# CHECK: addl $0, %eax
3280x05 0x00 0x00 0x00 0x00
329
330# CHECK: addq $0, %rax
3310x48 0x05 0x00 0x00 0x00 0x00
332
333# CHECK: adcb $0, %al
3340x14 0x00
335
336# CHECK: adcw $0, %ax
3370x66 0x15 0x00 0x00
338
339# CHECK: adcl $0, %eax
3400x15 0x00 0x00 0x00 0x00
341
342# CHECK: adcq $0, %rax
3430x48 0x15 0x00 0x00 0x00 0x00
344
345# CHECK: cmpb $0, %al
3460x3c 0x00
347
348# CHECK: cmpw $0, %ax
3490x66 0x3d 0x00 0x00
350
351# CHECK: cmpl $0, %eax
3520x3d 0x00 0x00 0x00 0x00
353
354# CHECK: cmpq $0, %rax
3550x48 0x3d 0x00 0x00 0x00 0x00
356
357# CHECK: testb $0, %al
3580xa8 0x00
359
360# CHECK: testw $0, %ax
3610x66 0xa9 0x00 0x00
362
363# CHECK: testl $0, %eax
3640xa9 0x00 0x00 0x00 0x00
365
366# CHECK: testq $0, %rax
3670x48 0xa9 0x00 0x00 0x00 0x00
368
369# CHECK: vaddps	%xmm3, %xmm15, %xmm0
3700xc4 0xe1 0x00 0x58 0xc3
371
372# CHECK: movbel (%rax), %eax
3730x0f 0x38 0xf0 0x00
374
375# CHECK: movbel %eax, (%rax)
3760x0f 0x38 0xf1 0x00
377
378# CHECK: movbew (%rax), %ax
3790x66 0x0f 0x38 0xf0 0x00
380
381# CHECK: movbew %ax, (%rax)
3820x66 0x0f 0x38 0xf1 0x00
383
384# CHECK: movbeq (%rax), %rax
3850x48 0x0f 0x38 0xf0 0x00
386
387# CHECK: movbeq %rax, (%rax)
3880x48 0x0f 0x38 0xf1 0x00
389
390# CHECK: rdrandw %ax
3910x66 0x0f 0xc7 0xf0
392
393# CHECK: rdrandl %eax
3940x0f 0xc7 0xf0
395
396# CHECK: rdrandq %rax
3970x48 0x0f 0xc7 0xf0
398
399# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
4000xc4 0xe3 0x7d 0x0a 0xc0 0x00
401
402# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
4030xc4 0xe3 0x7d 0x0b 0xc0 0x00
404
405# CHECK: vcvtsd2si %xmm0, %eax
4060xc4 0xe1 0x7f 0x2d 0xc0
407
408# CHECK: vcvtsd2si %xmm0, %rax
4090xc4 0xe1 0xff 0x2d 0xc0
410
411# CHECK: vucomisd %xmm1, %xmm0
4120xc5 0xfd 0x2e 0xc1
413
414# CHECK: vucomiss %xmm1, %xmm0
4150xc5 0xfc 0x2e 0xc1
416
417# CHECK: vcomisd %xmm1, %xmm0
4180xc5 0xfd 0x2f 0xc1
419
420# CHECK: vcomiss %xmm1, %xmm0
4210xc5 0xfc 0x2f 0xc1
422
423# CHECK: vaddss %xmm1, %xmm0, %xmm0
4240xc5 0xfe 0x58 0xc1
425
426# CHECK: xsave (%rax)
4270x0f 0xae 0x20
428
429# CHECK: xrstor (%rax)
4300x0f 0xae 0x28
431
432# CHECK: xsaveopt (%rax)
4330x0f 0xae 0x30
434
435# CHECK: rdfsbasel %eax
4360xf3 0x0f 0xae 0xc0
437
438# CHECK: rdgsbasel %eax
4390xf3 0x0f 0xae 0xc8
440
441# CHECK: wrfsbasel %eax
4420xf3 0x0f 0xae 0xd0
443
444# CHECK: wrgsbasel %eax
4450xf3 0x0f 0xae 0xd8
446
447# CHECK: rdfsbaseq %rax
4480xf3 0x48 0x0f 0xae 0xc0
449
450# CHECK: rdgsbaseq %rax
4510xf3 0x48 0x0f 0xae 0xc8
452
453# CHECK: wrfsbaseq %rax
4540xf3 0x48 0x0f 0xae 0xd0
455
456# CHECK: wrgsbaseq %rax
4570xf3 0x48 0x0f 0xae 0xd8
458
459# CHECK: vcvtph2ps %xmm0, %xmm0
4600xc4 0xe2 0x79 0x13 0xc0
461
462# CHECK: vcvtph2ps (%rax), %xmm0
4630xc4 0xe2 0x79 0x13 0x00
464
465# CHECK: vcvtph2ps %xmm0, %ymm0
4660xc4 0xe2 0x7d 0x13 0xc0
467
468# CHECK: vcvtph2ps (%rax), %ymm0
4690xc4 0xe2 0x7d 0x13 0x00
470
471# CHECK: vcvtps2ph $0, %xmm0, %xmm0
4720xc4 0xe3 0x79 0x1d 0xc0 0x00
473
474# CHECK: vcvtps2ph $0, %xmm0, (%rax)
4750xc4 0xe3 0x79 0x1d 0x00 0x00
476
477# CHECK: vcvtps2ph $0, %ymm0, %xmm0
4780xc4 0xe3 0x7d 0x1d 0xc0 0x00
479
480# CHECK: vcvtps2ph $0, %ymm0, (%rax)
4810xc4 0xe3 0x7d 0x1d 0x00 0x00
482
483# CHECK: popcntl %eax, %eax
4840xf3 0x0f 0xb8 0xc0
485
486# CHECK: popcntw %ax, %ax
4870x66 0xf3 0x0f 0xb8 0xc0
488
489# CHECK: popcntq %rax, %rax
4900xf3 0x48 0x0f 0xb8 0xc0
491
492# CHECK: lzcntl %eax, %eax
4930xf3 0x0f 0xbd 0xc0
494
495# CHECK: lzcntw %ax, %ax
4960x66 0xf3 0x0f 0xbd 0xc0
497
498# CHECK: lzcntq %rax, %rax
4990xf3 0x48 0x0f 0xbd 0xc0
500
501# CHECK: tzcntl %eax, %eax
5020xf3 0x0f 0xbc 0xc0
503
504# CHECK: tzcntw %ax, %ax
5050x66 0xf3 0x0f 0xbc 0xc0
506
507# CHECK: tzcntq %rax, %rax
5080xf3 0x48 0x0f 0xbc 0xc0
509
510# CHECK: andnl %ecx, %r15d, %eax
5110xc4 0xe2 0x00 0xf2 0xc1
512
513# CHECK: andnq %rax, %r15, %rax
5140xc4 0xe2 0x80 0xf2 0xc0
515
516# CHECK: andnl (%rax), %r15d, %eax
5170xc4 0xe2 0x00 0xf2 0x00
518
519# CHECK: andnq (%rax), %r15, %rax
5200xc4 0xe2 0x80 0xf2 0x00
521