Make disassembling of VBLEND* print immediate as a XMM/YMM register name. Fixes PR10917.
authorCraig Topper <craig.topper@gmail.com>
Wed, 14 Sep 2011 05:55:28 +0000 (05:55 +0000)
committerCraig Topper <craig.topper@gmail.com>
Wed, 14 Sep 2011 05:55:28 +0000 (05:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139690 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/Disassembler/X86Disassembler.cpp
test/MC/Disassembler/X86/simple-tests.txt

index 1f1c1dcd162e5a150f9199cf85e3f37bef2a64df..e5774bfd1605353a7de534f5e8ea92a89038bb05 100644 (file)
@@ -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)
index f431324f9d31662e182007d5bd9152d38f25fd17..67a1c44d0219bc1d8be3ea2a19704d1efd7c4286 100644 (file)
 
 # CHECK: vmovdqu %ymm0, %ymm1
 0xc5 0xfe 0x7f 0xc1
+
+# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
+0xc4 0xe3 0x69 0x4a 0xd9 0x41