diff options
| author | Craig Topper <craig.topper@gmail.com> | 2011-09-14 05:55:28 +0000 | 
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2011-09-14 05:55:28 +0000 | 
| commit | 96e00e5a24e1d5beebb1f352052140c260d23f11 (patch) | |
| tree | b52231081faaaf845d0e1234fe52bdce4c109532 /llvm | |
| parent | 503eef7641d7cd3ce8d13bfe4dba25fbf1ce8450 (diff) | |
| download | bcm5719-llvm-96e00e5a24e1d5beebb1f352052140c260d23f11.tar.gz bcm5719-llvm-96e00e5a24e1d5beebb1f352052140c260d23f11.zip  | |
Make disassembling of VBLEND* print immediate as a XMM/YMM register name. Fixes PR10917.
llvm-svn: 139690
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | 6 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/X86/simple-tests.txt | 3 | 
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp index 1f1c1dcd162..e5774bfd160 100644 --- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp +++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp @@ -221,6 +221,12 @@ static void translateImmediate(MCInst &mcInst, uint64_t immediate,    }    switch (type) { +  case TYPE_XMM128: +    mcInst.addOperand(MCOperand::CreateReg(X86::XMM0 + (immediate >> 4))); +    return; +  case TYPE_XMM256: +    mcInst.addOperand(MCOperand::CreateReg(X86::YMM0 + (immediate >> 4))); +    return;    case TYPE_MOFFS8:    case TYPE_REL8:      if(immediate & 0x80) diff --git a/llvm/test/MC/Disassembler/X86/simple-tests.txt b/llvm/test/MC/Disassembler/X86/simple-tests.txt index f431324f9d3..67a1c44d021 100644 --- a/llvm/test/MC/Disassembler/X86/simple-tests.txt +++ b/llvm/test/MC/Disassembler/X86/simple-tests.txt @@ -269,3 +269,6 @@  # CHECK: vmovdqu %ymm0, %ymm1  0xc5 0xfe 0x7f 0xc1 + +# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3 +0xc4 0xe3 0x69 0x4a 0xd9 0x41  | 

