From 3890a42255db18888bfd16abe1b210b8bfd21645 Mon Sep 17 00:00:00 2001 From: Elena Demikhovsky Date: Wed, 23 Apr 2014 07:21:04 +0000 Subject: [PATCH] X86Disassembler - fixed a bug in immediate print git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206953 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/Disassembler/X86Disassembler.cpp | 2 +- test/MC/Disassembler/X86/prefixes.txt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Target/X86/Disassembler/X86Disassembler.cpp b/lib/Target/X86/Disassembler/X86Disassembler.cpp index a3b1e9f2b9b..c9426fb1a2f 100644 --- a/lib/Target/X86/Disassembler/X86Disassembler.cpp +++ b/lib/Target/X86/Disassembler/X86Disassembler.cpp @@ -319,7 +319,7 @@ static void translateImmediate(MCInst &mcInst, uint64_t immediate, } // By default sign-extend all X86 immediates based on their encoding. else if (type == TYPE_IMM8 || type == TYPE_IMM16 || type == TYPE_IMM32 || - type == TYPE_IMM64) { + type == TYPE_IMM64 || type == TYPE_IMMv) { uint32_t Opcode = mcInst.getOpcode(); switch (operand.encoding) { default: diff --git a/test/MC/Disassembler/X86/prefixes.txt b/test/MC/Disassembler/X86/prefixes.txt index 56596e38751..b8830dc3f3b 100644 --- a/test/MC/Disassembler/X86/prefixes.txt +++ b/test/MC/Disassembler/X86/prefixes.txt @@ -44,6 +44,10 @@ # CHECK-NEXT: nop 0xf0 0x90 +# Test that immediate is printed correctly within opsize prefix +# CHECK: addw $-12, %ax +0x66,0x83,0xc0,0xf4 + # Test that multiple redundant prefixes work (redundant, but valid x86). # CHECK: rep # CHECK-NEXT: rep -- 2.34.1