Previously for instructions like fxsave we would print "opaque ptr" as part of the memory operand. Now we print nothing. We also no longer accept "opaque ptr" in the parser. We still accept any size to be specified for these instructions, but we may want to consider only parsing when no explicit size is specified. This what gas does. llvm-svn: 331243
175 lines
2.9 KiB
Plaintext
175 lines
2.9 KiB
Plaintext
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 --output-asm-variant=1 | FileCheck %s
|
|
|
|
# CHECK: movsb
|
|
0xa4
|
|
|
|
# CHECK: movsw
|
|
0x66 0xa5
|
|
|
|
# CHECK: movsd
|
|
0xa5
|
|
|
|
# CHECK: movsq
|
|
0x48 0xa5
|
|
|
|
# CHECK: pop fs
|
|
0x0f 0xa1
|
|
|
|
# CHECK: pop gs
|
|
0x0f 0xa9
|
|
|
|
# CHECK: in al, dx
|
|
0xec
|
|
|
|
# CHECK: nop
|
|
0x90
|
|
|
|
# CHECK: xchg eax, r8d
|
|
0x41 0x90
|
|
|
|
# CHECK: xchg rax, r8
|
|
0x49 0x90
|
|
|
|
# CHECK: add al, 0
|
|
0x04 0x00
|
|
|
|
# CHECK: add ax, 0
|
|
0x66 0x05 0x00 0x00
|
|
|
|
# CHECK: add eax, 0
|
|
0x05 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: add rax, 0
|
|
0x48 0x05 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: adc al, 0
|
|
0x14 0x00
|
|
|
|
# CHECK: adc ax, 0
|
|
0x66 0x15 0x00 0x00
|
|
|
|
# CHECK: adc eax, 0
|
|
0x15 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: adc rax, 0
|
|
0x48 0x15 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: cmp al, 0
|
|
0x3c 0x00
|
|
|
|
# CHECK: cmp ax, 0
|
|
0x66 0x3d 0x00 0x00
|
|
|
|
# CHECK: cmp eax, 0
|
|
0x3d 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: cmp rax, 0
|
|
0x48 0x3d 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: test al, 0
|
|
0xa8 0x00
|
|
|
|
# CHECK: test ax, 0
|
|
0x66 0xa9 0x00 0x00
|
|
|
|
# CHECK: test eax, 0
|
|
0xa9 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: test rax, 0
|
|
0x48 0xa9 0x00 0x00 0x00 0x00
|
|
|
|
# CHECK: sysret
|
|
0x48 0x0f 0x07
|
|
|
|
# CHECK: sysret
|
|
0x0f 0x07
|
|
|
|
# CHECK: sysexit
|
|
0x48 0x0f 0x35
|
|
|
|
# CHECK: sysexit
|
|
0x0f 0x35
|
|
|
|
# CHECK: iret
|
|
0x66 0xcf
|
|
|
|
# CHECK: iretd
|
|
0xcf
|
|
|
|
# CHECK: iretq
|
|
0x48 0xcf
|
|
|
|
# CHECK: ret
|
|
0x66 0xc3
|
|
|
|
# CHECK: retf
|
|
0x66 0xcb
|
|
|
|
# CHECK: vshufpd xmm0, xmm1, xmm2, 1
|
|
0xc5 0xf1 0xc6 0xc2 0x01
|
|
|
|
# CHECK: vpgatherqq ymm2, ymmword ptr [rdi + 2*ymm1], ymm0
|
|
0xc4 0xe2 0xfd 0x91 0x14 0x4f
|
|
|
|
# CHECK: vpgatherdd xmm10, xmmword ptr [r15 + 2*xmm9], xmm8
|
|
0xc4 0x02 0x39 0x90 0x14 0x4f
|
|
|
|
# CHECK: xsave64 [rax]
|
|
0x48 0x0f 0xae 0x20
|
|
|
|
# CHECK: xrstor64 [rax]
|
|
0x48 0x0f 0xae 0x28
|
|
|
|
# CHECK: xsaveopt64 [rax]
|
|
0x48 0x0f 0xae 0x30
|
|
|
|
# CHECK: movabs al, byte ptr [-6066930261531658096]
|
|
0xa0 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs al, byte ptr [-6066930261531658096]
|
|
0x48 0xa0 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs ax, word ptr [-6066930261531658096]
|
|
0x66 0xa1 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs eax, dword ptr [-6066930261531658096]
|
|
0xa1 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs rax, qword ptr [-6066930261531658096]
|
|
0x48 0xa1 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs byte ptr [-6066930261531658096], al
|
|
0xa2 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs byte ptr [-6066930261531658096], al
|
|
0x48 0xa2 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs word ptr [-6066930261531658096], ax
|
|
0x66 0xa3 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs dword ptr [-6066930261531658096], eax
|
|
0xa3 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: movabs qword ptr [-6066930261531658096], rax
|
|
0x48 0xa3 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
|
|
|
# CHECK: lea cx, [esp + 4]
|
|
0x67 0x66 0x8d 0x4c 0x24 0x04
|
|
|
|
# CHECK: lea ecx, [esp + 4]
|
|
0x67 0x8d 0x4c 0x24 0x04
|
|
|
|
# CHECK: lea rcx, [esp + 4]
|
|
0x67 0x48 0x8d 0x4c 0x24 0x04
|
|
|
|
# CHECK: lea cx, [rsp + 4]
|
|
0x66 0x8d 0x4c 0x24 0x04
|
|
|
|
# CHECK: lea ecx, [rsp + 4]
|
|
0x8d 0x4c 0x24 0x04
|
|
|
|
# CHECK: lea rcx, [rsp + 4]
|
|
0x48 0x8d 0x4c 0x24 0x04
|
|
|
|
|