Mips: Disassemble sign-extended 64 bit immediates properly.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 11 Oct 2013 19:05:08 +0000 (19:05 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 11 Oct 2013 19:05:08 +0000 (19:05 +0000)
This doesn't change the meaning of the output, but makes look right. PR17539.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192483 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsInstrInfo.td
test/MC/Disassembler/Mips/mips64.txt

index cdc1bae777b99bf10ed0582d39ce6f98fbdc49c7..c7487000c410f85b06208968b41da63201a78c10 100644 (file)
@@ -262,7 +262,9 @@ def uimm20      : Operand<i32> {
 def uimm10      : Operand<i32> {
 }
 
-def simm16_64   : Operand<i64>;
+def simm16_64   : Operand<i64> {
+  let DecoderMethod = "DecodeSimm16";
+}
 
 // Unsigned Operand
 def uimm5       : Operand<i32> {
index 2ccef834e871ceec7062640339097fc797e3181d..f3d2d100cae3222f23ff0972f56bfd4a5f104142 100644 (file)
@@ -2,6 +2,9 @@
 # CHECK: daddiu $11, $26, 31949
 0x67 0x4b 0x7c 0xcd
 
+# CHECK: daddiu $sp, $sp, -32
+0x67 0xbd 0xff 0xe0
+
 # CHECK: daddu $26, $1, $11
 0x00 0x2b 0xd0 0x2d