diff options
Diffstat (limited to 'test/MC/Disassembler/X86')
-rw-r--r-- | test/MC/Disassembler/X86/enhanced.txt | 10 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/hex-immediates.txt | 10 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/intel-syntax-32.txt | 13 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/simple-tests.txt | 25 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/x86-32.txt | 28 | ||||
-rw-r--r-- | test/MC/Disassembler/X86/x86-64.txt | 73 |
6 files changed, 119 insertions, 40 deletions
diff --git a/test/MC/Disassembler/X86/enhanced.txt b/test/MC/Disassembler/X86/enhanced.txt deleted file mode 100644 index deff735..0000000 --- a/test/MC/Disassembler/X86/enhanced.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --edis %s -triple=x86_64-apple-darwin9 2>&1 | FileCheck %s - -# CHECK: [o:jne][w: ][0-p:-][0-l:10=10] <br> 0:[RIP/112](pc)=18446744073709551606 -0x0f 0x85 0xf6 0xff 0xff 0xff -# CHECK: [o:movq][w: ][1-r:%gs=r64][1-p::][1-l:8=8][p:,][w: ][0-r:%rcx=r109] <mov> 0:[RCX/109]=0 1:[GS/64]=8 -0x65 0x48 0x8b 0x0c 0x25 0x08 0x00 0x00 0x00 -# CHECK: [o:xorps][w: ][2-r:%xmm1=r130][p:,][w: ][0-r:%xmm2=r131] 0:[XMM2/131]=0 1:[XMM2/131]=0 2:[XMM1/130]=0 -0x0f 0x57 0xd1 -# CHECK: [o:andps][w: ][2-r:%xmm1=r130][p:,][w: ][0-r:%xmm2=r131] 0:[XMM2/131]=0 1:[XMM2/131]=0 2:[XMM1/130]=0 -0x0f 0x54 0xd1 diff --git a/test/MC/Disassembler/X86/hex-immediates.txt b/test/MC/Disassembler/X86/hex-immediates.txt new file mode 100644 index 0000000..80d2448 --- /dev/null +++ b/test/MC/Disassembler/X86/hex-immediates.txt @@ -0,0 +1,10 @@ +# RUN: llvm-mc --hdis %s -triple=x86_64-apple-darwin9 2>&1 | FileCheck %s + +# CHECK: movabsq $0x7fffffffffffffff, %rcx +0x48 0xb9 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x7f +# CHECK: leaq 0x3e2(%rip), %rdi +0x48 0x8d 0x3d 0xe2 0x03 0x00 0x00 +# CHECK: subq $0x40, %rsp +0x48 0x83 0xec 0x40 +# CHECK: leal (,%r14,4), %eax +0x42 0x8d 0x04 0xb5 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/X86/intel-syntax-32.txt b/test/MC/Disassembler/X86/intel-syntax-32.txt new file mode 100644 index 0000000..08bae6e --- /dev/null +++ b/test/MC/Disassembler/X86/intel-syntax-32.txt @@ -0,0 +1,13 @@ +# RUN: llvm-mc --disassemble %s -triple=i386 --output-asm-variant=1 | FileCheck %s + +# CHECK: sgdt +0x0f 0x01 0x00 + +# CHECK: sidt +0x0f 0x01 0x08 + +# CHECK: lgdt +0x0f 0x01 0x10 + +# CHECK: lidt +0x0f 0x01 0x18 diff --git a/test/MC/Disassembler/X86/simple-tests.txt b/test/MC/Disassembler/X86/simple-tests.txt index 672d239..9827a18 100644 --- a/test/MC/Disassembler/X86/simple-tests.txt +++ b/test/MC/Disassembler/X86/simple-tests.txt @@ -120,13 +120,13 @@ # CHECK: vandps (%rdx), %xmm1, %xmm7 0xc5 0xf0 0x54 0x3a -# CHECK: vcvtss2sil %xmm0, %eax +# CHECK: vcvtss2si %xmm0, %eax 0xc5 0xfa 0x2d 0xc0 -# CHECK: vcvtsd2sil %xmm0, %eax +# CHECK: vcvtsd2si %xmm0, %eax 0xc5 0xfb 0x2d 0xc0 -# CHECK: vcvtsd2siq %xmm0, %rax +# CHECK: vcvtsd2si %xmm0, %rax 0xc4 0xe1 0xfb 0x2d 0xc0 # CHECK: vmaskmovpd %xmm0, %xmm1, (%rax) @@ -437,10 +437,10 @@ # CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0 0xc4 0xe3 0x7d 0x0b 0xc0 0x00 -# CHECK: vcvtsd2sil %xmm0, %eax +# CHECK: vcvtsd2si %xmm0, %eax 0xc4 0xe1 0x7f 0x2d 0xc0 -# CHECK: vcvtsd2siq %xmm0, %rax +# CHECK: vcvtsd2si %xmm0, %rax 0xc4 0xe1 0xff 0x2d 0xc0 # CHECK: vucomisd %xmm1, %xmm0 @@ -753,3 +753,18 @@ # CHECK: lock # CHECK-NEXT: xaddq %rcx, %rbx 0xf0 0x48 0x0f 0xc1 0xcb + +# rdar://13493622 lldb doesn't print the x86 rep/repne prefix when disassembling +# CHECK: repne +# CHECK-NEXT: movsd +0xf2 0xa5 +# CHECK: repne +# CHECK-NEXT: movsq +0xf2 0x48 0xa5 +# CHECK: repne +# CHECK-NEXT: movb $0, (%rax) +0xf2 0xc6 0x0 0x0 +# CHECK: rep +# CHECK-NEXT: lock +# CHECK-NEXT: incl (%rax) +0xf3 0xf0 0xff 0x00 diff --git a/test/MC/Disassembler/X86/x86-32.txt b/test/MC/Disassembler/X86/x86-32.txt index 899657b..76d67d3 100644 --- a/test/MC/Disassembler/X86/x86-32.txt +++ b/test/MC/Disassembler/X86/x86-32.txt @@ -156,13 +156,13 @@ # CHECK: vandps (%edx), %xmm1, %xmm7 0xc5 0xf0 0x54 0x3a -# CHECK: vcvtss2sil %xmm0, %eax +# CHECK: vcvtss2si %xmm0, %eax 0xc5 0xfa 0x2d 0xc0 -# CHECK: vcvtsd2sil %xmm0, %eax +# CHECK: vcvtsd2si %xmm0, %eax 0xc5 0xfb 0x2d 0xc0 -# CHECK: vcvtsd2sil %xmm0, %eax +# CHECK: vcvtsd2si %xmm0, %eax 0xc4 0xe1 0x7b 0x2d 0xc0 # CHECK: vmaskmovpd %xmm0, %xmm1, (%eax) @@ -460,10 +460,10 @@ # CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0 0xc4 0xe3 0x7d 0x0b 0xc0 0x00 -# CHECK: vcvtsd2sil %xmm0, %eax +# CHECK: vcvtsd2si %xmm0, %eax 0xc4 0xe1 0x7f 0x2d 0xc0 -# CHECK: vcvtsd2sil %xmm0, %eax +# CHECK: vcvtsd2si %xmm0, %eax 0xc4 0xe1 0xff 0x2d 0xc0 # CHECK: vucomisd %xmm1, %xmm0 @@ -630,3 +630,21 @@ # CHECK: movntss %xmm0, (%edi) 0xf3 0x0f 0x2b 0x07 + +# CHECK: prefetch (%eax) +0x0f 0x0d 0x00 + +# CHECK: prefetchw (%eax) +0x0f 0x0d 0x08 + +# CHECK: adcxl %eax, %eax +0x66 0x0f 0x38 0xf6 0xc0 + +# CHECK: adcxl (%eax), %eax +0x66 0x0f 0x38 0xf6 0x00 + +# CHECK: adoxl %eax, %eax +0xf3 0x0f 0x38 0xf6 0xc0 + +# CHECK: adoxl (%eax), %eax +0xf3 0x0f 0x38 0xf6 0x00 diff --git a/test/MC/Disassembler/X86/x86-64.txt b/test/MC/Disassembler/X86/x86-64.txt index df449a4..5de1d59 100644 --- a/test/MC/Disassembler/X86/x86-64.txt +++ b/test/MC/Disassembler/X86/x86-64.txt @@ -2,64 +2,64 @@ # Coverage -# CHECK: vcmptrue_usps +# CHECK: vcmptrue_usps 0xc5 0x04 0xc2 0xc7 0x1f -# CHECK: vcmptrue_uspd +# CHECK: vcmptrue_uspd 0xc5 0x05 0xc2 0xc7 0x1f -# CHECK: vcmptrue_usss +# CHECK: vcmptrue_usss 0xc5 0x06 0xc2 0xc7 0x1f -# CHECK: vcmptrue_ussd +# CHECK: vcmptrue_ussd 0xc5 0x07 0xc2 0xc7 0x1f -# CHECK: vcmpeq_uqps +# CHECK: vcmpeq_uqps 0xc5 0x04 0xc2 0xc7 0x08 -# CHECK: vcmpeq_uqpd +# CHECK: vcmpeq_uqpd 0xc5 0x05 0xc2 0xc7 0x08 -# CHECK: vcmpeq_uqss +# CHECK: vcmpeq_uqss 0xc5 0x06 0xc2 0xc7 0x08 -# CHECK: vcmpeq_uqsd +# CHECK: vcmpeq_uqsd 0xc5 0x07 0xc2 0xc7 0x08 -# CHECK: vcmpeqps +# CHECK: vcmpeqps 0xc5 0x04 0xc2 0xc7 0x00 -# CHECK: vcmpeqpd +# CHECK: vcmpeqpd 0xc5 0x05 0xc2 0xc7 0x00 -# CHECK: vcmpeqss +# CHECK: vcmpeqss 0xc5 0x06 0xc2 0xc7 0x00 -# CHECK: vcmpeqsd +# CHECK: vcmpeqsd 0xc5 0x07 0xc2 0xc7 0x00 -# CHECK: cmpeqps +# CHECK: cmpeqps 0x0f 0xc2 0xc7 0x00 -# CHECK: cmpeqpd +# CHECK: cmpeqpd 0x66 0x0f 0xc2 0xc7 0x00 -# CHECK: cmpeqss +# CHECK: cmpeqss 0xf3 0x0f 0xc2 0xc7 0x00 -# CHECK: cmpeqsd +# CHECK: cmpeqsd 0xf2 0x0f 0xc2 0xc7 0x00 -# CHECK: cmpordps +# CHECK: cmpordps 0x0f 0xc2 0xc7 0x07 -# CHECK: cmpordpd +# CHECK: cmpordpd 0x66 0x0f 0xc2 0xc7 0x07 -# CHECK: cmpordss +# CHECK: cmpordss 0xf3 0x0f 0xc2 0xc7 0x07 -# CHECK: cmpordsd +# CHECK: cmpordsd 0xf2 0x0f 0xc2 0xc7 0x07 # CHECK: extrq $2, $3, %xmm0 @@ -79,3 +79,36 @@ # CHECK: movntss %xmm0, (%rdi) 0xf3 0x0f 0x2b 0x07 + +# CHECK: adcxl %eax, %eax +0x66 0x0f 0x38 0xf6 0xc0 + +# CHECK: adcxl (%rax), %eax +0x66 0x0f 0x38 0xf6 0x00 + +# CHECK: adcxq %rax, %rax +0x66 0x48 0x0f 0x38 0xf6 0xc0 + +# CHECK: adcxq (%rax), %rax +0x66 0x48 0x0f 0x38 0xf6 0x00 + +# CHECK: adoxl %eax, %eax +0xf3 0x0f 0x38 0xf6 0xc0 + +# CHECK: adoxl (%rax), %eax +0xf3 0x0f 0x38 0xf6 0x00 + +# CHECK: adoxq %rax, %rax +0xf3 0x48 0x0f 0x38 0xf6 0xc0 + +# CHECK: adoxq (%rax), %rax +0xf3 0x48 0x0f 0x38 0xf6 0x00 + +# CHECK: xbegin 53 +0xc7 0xf8 0x35 0x00 0x00 0x00 + +# CHECK: xend +0x0f 0x01 0xd5 + +# CHECK: xabort $13 +0xc6 0xf8 0x0d |