diff options
Diffstat (limited to 'test/MC/Disassembler/X86')
-rw-r--r-- | test/MC/Disassembler/X86/avx-512.txt | 27 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/intel-syntax-32.txt | 12 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/intel-syntax.txt | 20 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/invalid-cmp-imm.txt | 10 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/moffs.txt | 106 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/prefixes.txt | 15 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/simple-tests.txt | 21 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/x86-32.txt | 52 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/x86-64.txt | 42 |
9 files changed, 236 insertions, 69 deletions
diff --git a/test/MC/Disassembler/X86/avx-512.txt b/test/MC/Disassembler/X86/avx-512.txt index 62fc35b..d24a68d 100644 --- a/test/MC/Disassembler/X86/avx-512.txt +++ b/test/MC/Disassembler/X86/avx-512.txt @@ -109,3 +109,30 @@ # CHECK: vaddss 1024(%rdx), %xmm0, %xmm16 0x62 0xe1 0x7e 0x08 0x58 0x82 0x00 0x04 0x00 0x00 + +# CHECK: vpcmpeqd %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x0 + +# CHECK: vpcmpltd %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x1 + +# CHECK: vpcmpled %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x2 + +# CHECK: vpcmpd $3, %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x3 + +# CHECK: vpcmpneqd %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x4 + +# CHECK: vpcmpnltd %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x5 + +# CHECK: vpcmpnled %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x6 + +# CHECK: vpcmpd $7, %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x7 + +# CHECK: vpcmpd $8, %zmm10, %zmm25, %k5 +0x62 0xd3 0x35 0x40 0x1f 0xea 0x8 diff --git a/test/MC/Disassembler/X86/intel-syntax-32.txt b/test/MC/Disassembler/X86/intel-syntax-32.txt index 2298823..66c87b8 100644 --- a/test/MC/Disassembler/X86/intel-syntax-32.txt +++ b/test/MC/Disassembler/X86/intel-syntax-32.txt @@ -29,3 +29,15 @@ # CHECK: mov dword ptr [878082192], eax 0xa3 0x90 0x78 0x56 0x34 + +# CHECK: lea cx, [si + 4] +0x67 0x66 0x8d 0x4c 0x04 + +# CHECK: lea ecx, [si + 4] +0x67 0x8d 0x4c 0x04 + +# CHECK: lea cx, [esp + 4] +0x66 0x8d 0x4c 0x24 0x04 + +# CHECK: lea ecx, [esp + 4] +0x8d 0x4c 0x24 0x04 diff --git a/test/MC/Disassembler/X86/intel-syntax.txt b/test/MC/Disassembler/X86/intel-syntax.txt index 3689525..0a628af 100644 --- a/test/MC/Disassembler/X86/intel-syntax.txt +++ b/test/MC/Disassembler/X86/intel-syntax.txt @@ -152,3 +152,23 @@ # 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 + + diff --git a/test/MC/Disassembler/X86/invalid-cmp-imm.txt b/test/MC/Disassembler/X86/invalid-cmp-imm.txt deleted file mode 100644 index 7b2ea2a..0000000 --- a/test/MC/Disassembler/X86/invalid-cmp-imm.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 2>&1 | grep "invalid instruction encoding" - -# This instruction would decode as cmpordps if the immediate byte was less than 8. -0x0f 0xc2 0xc7 0x08 -# This instruction would decode as cmpordpd if the immediate byte was less than 8. -0x66 0x0f 0xc2 0xc7 0x08 -# This instruction would decode as cmpordss if the immediate byte was less than 8. -0xf3 0x0f 0xc2 0xc7 0x08 -# This instruction would decode as cmpordsd if the immediate byte was less than 8. -0xf2 0x0f 0xc2 0xc7 0x08 diff --git a/test/MC/Disassembler/X86/moffs.txt b/test/MC/Disassembler/X86/moffs.txt index dd2664c..ac18859 100644 --- a/test/MC/Disassembler/X86/moffs.txt +++ b/test/MC/Disassembler/X86/moffs.txt @@ -1,86 +1,86 @@ -# RUN: llvm-mc --disassemble --print-imm-hex %s -triple=i686-linux-gnu-code16 | FileCheck --check-prefix=16 %s -# RUN: llvm-mc --disassemble --print-imm-hex %s -triple=i686-linux-gnu | FileCheck --check-prefix=32 %s -# RUN: llvm-mc --disassemble --print-imm-hex %s -triple=x86_64-linux-gnu | FileCheck --check-prefix=64 %s +# RUN: llvm-mc --disassemble --show-encoding --print-imm-hex %s -triple=i686-linux-gnu-code16 | FileCheck --check-prefix=16 %s +# RUN: llvm-mc --disassemble --show-encoding --print-imm-hex %s -triple=i686-linux-gnu | FileCheck --check-prefix=32 %s +# RUN: llvm-mc --disassemble --show-encoding --print-imm-hex %s -triple=x86_64-linux-gnu | FileCheck --check-prefix=64 %s -# 16: movb 0x5a5a, %al -# 32: movb 0x5a5a5a5a, %al -# 64: movabsb 0x5a5a5a5a5a5a5a5a, %al +# 16: movb 0x5a5a, %al # encoding: [0xa0,0x5a,0x5a] +# 32: movb 0x5a5a5a5a, %al # encoding: [0xa0,0x5a,0x5a,0x5a,0x5a] +# 64: movabsb 0x5a5a5a5a5a5a5a5a, %al # encoding: [0xa0,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a] 0xa0 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movb 0x5a5a5a5a, %al -# 32: movb 0x5a5a, %al -# 64: movabsb 0x5a5a5a5a, %al +# 16: movb 0x5a5a5a5a, %al # encoding: [0x67,0xa0,0x5a,0x5a,0x5a,0x5a] +# 32: movb 0x5a5a, %al # encoding: [0x67,0xa0,0x5a,0x5a] +# 64: movb 0x5a5a5a5a, %al # encoding: [0x67,0xa0,0x5a,0x5a,0x5a,0x5a] 0x67 0xa0 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movw 0x5a5a, %ax -# 32: movl 0x5a5a5a5a, %eax -# 64: movabsl 0x5a5a5a5a5a5a5a5a, %eax +# 16: movw 0x5a5a, %ax # encoding: [0xa1,0x5a,0x5a] +# 32: movl 0x5a5a5a5a, %eax # encoding: [0xa1,0x5a,0x5a,0x5a,0x5a] +# 64: movabsl 0x5a5a5a5a5a5a5a5a, %eax # encoding: [0xa1,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a] 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movw 0x5a5a5a5a, %ax -# 32: movl 0x5a5a, %eax -# 64: movabsl 0x5a5a5a5a, %eax +# 16: movw 0x5a5a5a5a, %ax # encoding: [0x67,0xa1,0x5a,0x5a,0x5a,0x5a] +# 32: movl 0x5a5a, %eax # encoding: [0x67,0xa1,0x5a,0x5a] +# 64: movl 0x5a5a5a5a, %eax # encoding: [0x67,0xa1,0x5a,0x5a,0x5a,0x5a] 0x67 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl 0x5a5a, %eax -# 32: movw 0x5a5a5a5a, %ax -# 64: movabsw 0x5a5a5a5a5a5a5a5a, %ax +# 16: movl 0x5a5a, %eax # encoding: [0x66,0xa1,0x5a,0x5a] +# 32: movw 0x5a5a5a5a, %ax # encoding: [0x66,0xa1,0x5a,0x5a,0x5a,0x5a] +# 64: movabsw 0x5a5a5a5a5a5a5a5a, %ax # encoding: [0x66,0xa1,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a] 0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl 0x5a5a5a5a, %eax -# 32: movw 0x5a5a, %ax -# 64: movabsw 0x5a5a5a5a, %ax +# 16: movl 0x5a5a5a5a, %eax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a] +# 32: movw 0x5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a] +# 64: movw 0x5a5a5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a] 0x66 0x67 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl 0x5a5a5a5a, %eax -# 32: movw 0x5a5a, %ax -# 64: movabsw 0x5a5a5a5a, %ax +# 16: movl 0x5a5a5a5a, %eax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a] +# 32: movw 0x5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a] +# 64: movw 0x5a5a5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a] 0x67 0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl %es:0x5a5a5a5a, %eax -# 32: movw %es:0x5a5a, %ax -# 64: movabsw %es:0x5a5a5a5a, %ax -0x67 0x26 0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a +# 16: movl %es:0x5a5a5a5a, %eax # encoding: [0x67,0x66,0x26,0xa1,0x5a,0x5a,0x5a,0x5a] +# 32: movw %es:0x5a5a, %ax # encoding: [0x67,0x66,0x26,0xa1,0x5a,0x5a] +# 64: movw %es:0x5a5a5a5a, %ax # encoding: [0x67,0x66,0x26,0xa1,0x5a,0x5a,0x5a,0x5a] +0x67 0x26 0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a # encoding: [0xa0,0x5a,0x5a] -# 16: movb %al, 0x5a5a -# 32: movb %al, 0x5a5a5a5a -# 64: movabsb %al, 0x5a5a5a5a5a5a5a5a -0xa2 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a +# 16: movb %al, 0x5a5a # encoding: [0xa2,0x5a,0x5a] +# 32: movb %al, 0x5a5a5a5a # encoding: [0xa2,0x5a,0x5a,0x5a,0x5a] +# 64: movabsb %al, 0x5a5a5a5a5a5a5a5a # encoding: [0xa2,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a] +0xa2 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a # encoding: [0xa0,0x5a,0x5a] -# 16: movb %al, 0x5a5a5a5a -# 32: movb %al, 0x5a5a -# 64: movabsb %al, 0x5a5a5a5a +# 16: movb %al, 0x5a5a5a5a # encoding: [0x67,0xa2,0x5a,0x5a,0x5a,0x5a] +# 32: movb %al, 0x5a5a # encoding: [0x67,0xa2,0x5a,0x5a] +# 64: movb %al, 0x5a5a5a5a # encoding: [0x67,0xa2,0x5a,0x5a,0x5a,0x5a] 0x67 0xa2 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movw %ax, 0x5a5a -# 32: movl %eax, 0x5a5a5a5a -# 64: movabsl %eax, 0x5a5a5a5a5a5a5a5a +# 16: movw %ax, 0x5a5a # encoding: [0xa3,0x5a,0x5a] +# 32: movl %eax, 0x5a5a5a5a # encoding: [0xa3,0x5a,0x5a,0x5a,0x5a] +# 64: movabsl %eax, 0x5a5a5a5a5a5a5a5a # encoding: [0xa3,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a] 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movw %ax, %gs:0x5a5a5a5a -# 32: movl %eax, %gs:0x5a5a -# 64: movabsl %eax, %gs:0x5a5a5a5a +# 16: movw %ax, %gs:0x5a5a5a5a # encoding: [0x67,0x65,0xa3,0x5a,0x5a,0x5a,0x5a] +# 32: movl %eax, %gs:0x5a5a # encoding: [0x67,0x65,0xa3,0x5a,0x5a] +# 64: movl %eax, %gs:0x5a5a5a5a # encoding: [0x67,0x65,0xa3,0x5a,0x5a,0x5a,0x5a] 0x65 0x67 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl %eax, 0x5a5a -# 32: movw %ax, 0x5a5a5a5a -# 64: movabsw %ax, 0x5a5a5a5a5a5a5a5a +# 16: movl %eax, 0x5a5a # encoding: [0x66,0xa3,0x5a,0x5a] +# 32: movw %ax, 0x5a5a5a5a # encoding: [0x66,0xa3,0x5a,0x5a,0x5a,0x5a] +# 64: movabsw %ax, 0x5a5a5a5a5a5a5a5a # encoding: [0x66,0xa3,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a] 0x66 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl %eax, 0x5a5a5a5a -# 32: movw %ax, 0x5a5a -# 64: movabsw %ax, 0x5a5a5a5a +# 16: movl %eax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a] +# 32: movw %ax, 0x5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a] +# 64: movw %ax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a] 0x66 0x67 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl %eax, 0x5a5a5a5a -# 32: movw %ax, 0x5a5a -# 64: movabsw %ax, 0x5a5a5a5a +# 16: movl %eax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a] +# 32: movw %ax, 0x5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a] +# 64: movw %ax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a] 0x67 0x66 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a -# 16: movl %eax, %es:0x5a5a5a5a -# 32: movw %ax, %es:0x5a5a -# 64: movabsw %ax, %es:0x5a5a5a5a +# 16: movl %eax, %es:0x5a5a5a5a # encoding: [0x67,0x66,0x26,0xa3,0x5a,0x5a,0x5a,0x5a] +# 32: movw %ax, %es:0x5a5a # encoding: [0x67,0x66,0x26,0xa3,0x5a,0x5a] +# 64: movw %ax, %es:0x5a5a5a5a # encoding: [0x67,0x66,0x26,0xa3,0x5a,0x5a,0x5a,0x5a] 0x67 0x26 0x66 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a diff --git a/test/MC/Disassembler/X86/prefixes.txt b/test/MC/Disassembler/X86/prefixes.txt index b8830dc..9e002fa 100644 --- a/test/MC/Disassembler/X86/prefixes.txt +++ b/test/MC/Disassembler/X86/prefixes.txt @@ -8,11 +8,11 @@ 0x64 0x48 0x8b 0x3c 0x25 0x00 0x03 0x00 0x00 # CHECK: rep -# CHECK-NEXT: stosq +# CHECK-NEXT: stosq %rax, %es:(%rdi) 0xf3 0x48 0xab # CHECK: rep -# CHECK-NEXT: stosl +# CHECK-NEXT: stosq %rax, %es:(%edi) 0xf3 0x67 0x48 0xab # CHECK: movl 32(%rbp), %eax @@ -54,6 +54,17 @@ # CHECK-NEXT: stosq 0xf3 0xf3 0x48 0xab + +# Test that we can disassembler control registers above CR8 +# CHECK: movq %cr15, %rax +0x44 0x0f 0x20 0xf8 +# CHECK: movq %dr15, %rax +0x44 0x0f 0x21 0xf8 + +# Test that MMX ignore REX.R and REX.B. +# CHECK: movq %mm0, %mm1 +0x46 0x0f 0x7f 0xc1 + # Test that a prefix on it's own works. It's debatable as to if this is # something that is considered valid, but however as LLVM's own disassembler # has decided to disassemble prefixes as being separate opcodes, it therefore diff --git a/test/MC/Disassembler/X86/simple-tests.txt b/test/MC/Disassembler/X86/simple-tests.txt index e6e9c7b..875c5b7 100644 --- a/test/MC/Disassembler/X86/simple-tests.txt +++ b/test/MC/Disassembler/X86/simple-tests.txt @@ -90,9 +90,24 @@ # CHECK: movq %cr0, %rcx 0x0f 0x20 0xc1 +# CHECK: leaw 4(%esp), %cx +0x67 0x66 0x8d 0x4c 0x24 0x04 + +# CHECK: leal 4(%esp), %ecx +0x67 0x8d 0x4c 0x24 0x04 + +# CHECK: leaq 4(%esp), %rcx +0x67 0x48 0x8d 0x4c 0x24 0x04 + +# CHECK: leaw 4(%rsp), %cx +0x66 0x8d 0x4c 0x24 0x04 + # CHECK: leal 4(%rsp), %ecx 0x8d 0x4c 0x24 0x04 +# CHECK: leaq 4(%rsp), %rcx +0x48 0x8d 0x4c 0x24 0x04 + # CHECK: enter $1, $2 0xc8 0x01 0x00 0x02 @@ -896,6 +911,12 @@ # CHECK: vpcmov %ymm1, (%rax), %ymm3, %ymm4 0x8f 0xe8 0x64 0xa2 0x20 0x10 +# CHECK: vpcomeqb %xmm6, %xmm4, %xmm2 +0x8f 0xe8 0x58 0xcc 0xd6 0x04 + +# CHECK: vpcomneqb 8(%rax), %xmm3, %xmm2 +0x8f 0xe8 0x60 0xcc 0x50 0x08 0x05 + # CHECK: vpcomb $55, %xmm6, %xmm4, %xmm2 0x8f 0xe8 0x58 0xcc 0xd6 0x37 diff --git a/test/MC/Disassembler/X86/x86-32.txt b/test/MC/Disassembler/X86/x86-32.txt index 79577c6..830b830 100644 --- a/test/MC/Disassembler/X86/x86-32.txt +++ b/test/MC/Disassembler/X86/x86-32.txt @@ -490,6 +490,27 @@ # CHECK: xsaveopt (%eax) 0x0f 0xae 0x30 +# CHECK: xsaves (%eax) +0x0f 0xc7 0x28 + +# CHECK: xrstors (%eax) +0x0f 0xc7 0x18 + +# CHECK: xsavec (%eax) +0x0f 0xc7 0x20 + +# CHECK: clflush (%eax) +0x0f 0xae 0x38 + +# CHECK: clflushopt (%eax) +0x66 0x0f 0xae 0x38 + +# CHECK: clwb (%eax) +0x66 0x0f 0xae 0x30 + +# CHECK: pcommit +0x66 0x0f 0xae 0xf8 + # CHECK: vcvtph2ps %xmm0, %xmm0 0xc4 0xe2 0x79 0x13 0xc0 @@ -712,5 +733,34 @@ # CHECK: movq %mm0, %mm1 0x0f 0x7f 0xc1 -# CHECK: vpermq $-18, %ymm2, %ymm2 +# CHECK: vpermq $238, %ymm2, %ymm2 0xc4 0xe3 0xfd 0x00 0xd2 0xee + +# CHECK: cmpps $8, %xmm7, %xmm0 +0x0f 0xc2 0xc7 0x08 +# CHECK: cmppd $8, %xmm7, %xmm0 +0x66 0x0f 0xc2 0xc7 0x08 +# CHECK: cmpss $8, %xmm7, %xmm0 +0xf3 0x0f 0xc2 0xc7 0x08 +# CHECK: cmpsd $8, %xmm7, %xmm0 +0xf2 0x0f 0xc2 0xc7 0x08 + +# CHECK: addb $38, 5277496 +0x82 0x05 0x38 0x87 0x50 0x00 0x26 +# CHECK: orb $38, 5277496 +0x82 0x0d 0x38 0x87 0x50 0x00 0x26 +# CHECK: adcb $38, 5277496 +0x82 0x15 0x38 0x87 0x50 0x00 0x26 +# CHECK: sbbb $38, 5277496 +0x82 0x1d 0x38 0x87 0x50 0x00 0x26 +# CHECK: andb $38, 5277496 +0x82 0x25 0x38 0x87 0x50 0x00 0x26 +# CHECK: subb $38, 5277496 +0x82 0x2D 0x38 0x87 0x50 0x00 0x26 +# CHECK: xorb $38, 5277496 +0x82 0x35 0x38 0x87 0x50 0x00 0x26 +# CHECK: cmpb $38, 5277496 +0x82 0x3d 0x38 0x87 0x50 0x00 0x26 + +#CHECK: getsec +0x0f 0x37 diff --git a/test/MC/Disassembler/X86/x86-64.txt b/test/MC/Disassembler/X86/x86-64.txt index 6f072df..f000d15 100644 --- a/test/MC/Disassembler/X86/x86-64.txt +++ b/test/MC/Disassembler/X86/x86-64.txt @@ -107,19 +107,22 @@ # CHECK: xbegin 53 0xc7 0xf8 0x35 0x00 0x00 0x00 +# CHECK: xbegin 53 +0x66 0xc7 0xf8 0x35 0x00 + # CHECK: xend 0x0f 0x01 0xd5 # CHECK: xabort $13 0xc6 0xf8 0x0d -# CHECK: xsaveq (%rax) +# CHECK: xsave64 (%rax) 0x48 0x0f 0xae 0x20 -# CHECK: xrstorq (%rax) +# CHECK: xrstor64 (%rax) 0x48 0x0f 0xae 0x28 -# CHECK: xsaveoptq (%rax) +# CHECK: xsaveopt64 (%rax) 0x48 0x0f 0xae 0x30 # CHECK: clac @@ -233,6 +236,27 @@ # CHECK: vmovq %xmm0, %rax 0xc4 0xe1 0xf9 0x7e 0xc0 +# CHECK: movd (%rax), %mm0 +0x48 0x0f 0x6e 0x00 + +# CHECK: movd %rax, %mm0 +0x48 0x0f 0x6e 0xc0 + +# CHECK: movd %mm0, (%rax) +0x48 0x0f 0x7e 0x00 + +# CHECK: movd %mm0, %rax +0x48 0x0f 0x7e 0xc0 + +# CHECK: movd (%rax), %xmm0 +0x66 0x48 0x0f 0x6e 0x00 + +# CHECK: movd %rax, %xmm0 +0x66 0x48 0x0f 0x6e 0xc0 + +# CHECK: movd %xmm0, (%rax) +0x66 0x48 0x0f 0x7e 0x00 + # CHECK: movd %xmm0, %rax 0x66 0x48 0x0f 0x7e 0xc0 @@ -265,3 +289,15 @@ # CHECK: $0, 305419896(%rbp) 0x80 0x84 0x25 0x78 0x56 0x34 0x12 0x00 + +# CHECK: movabsq 6510615555426900570, %rax +0x48 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a + +# CHECK: movq 1515870810, %rax +0x67, 0x48 0xa1 0x5a 0x5a 0x5a 0x5a + +# CHECK: movabsq %rax, 6510615555426900570 +0x48 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a + +# CHECK: movq %rax, 1515870810 +0x67, 0x48 0xa3 0x5a 0x5a 0x5a 0x5a |