When disassembler meets compact jump instructions for r6 it crashes as the access...
authorVladimir Medic <Vladimir.Medic@imgtec.com>
Mon, 26 Jan 2015 10:33:43 +0000 (10:33 +0000)
committerVladimir Medic <Vladimir.Medic@imgtec.com>
Mon, 26 Jan 2015 10:33:43 +0000 (10:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227084 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/Mips32r6InstrInfo.td
test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
test/MC/Disassembler/Mips/mips32r6/valid-xfail-mips32r6.txt
test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
test/MC/Disassembler/Mips/mips64r6/valid-xfail-mips64r6.txt

index baf746061bef663e0fb7338a1e07a2a79692e84b..2175160a45ac25a5cd9bf07b70186253654d2004 100644 (file)
@@ -379,7 +379,6 @@ class JMP_IDX_COMPACT_DESC_BASE<string opstr, DAGOperand opnd,
   list<dag> Pattern = [];
   bit isTerminator = 1;
   bit hasDelaySlot = 0;
-  string DecoderMethod = "DecodeSimm16";
 }
 
 class JIALC_DESC : JMP_IDX_COMPACT_DESC_BASE<"jialc", calloffset16,
index ce6dd40b72f9a5cd637061f3d9d505586cd35be3..85d1a0eff4e17f367ed7620f4487a157aca6424b 100644 (file)
 0xb7 0x34 0x52 0x49 # CHECK: lwc2 $18, -841($6)
 0x75 0x92 0xf4 0x49 # CHECK: sdc2 $20, 629($18)
 0x30 0x81 0x79 0x49 # CHECK: swc2 $25, 304($16)
+0x00 0x01 0x05 0xf8 # CHECK: jialc $5, 256
+0x00 0x01 0x05 0xd8 # CHECK: jic $5, 256
index 4781d0c4db8e03989e328f2d511349e5b990709c..3c4d1e22e8c94e5232b4b43a57de92c86f2390c9 100644 (file)
 0x49 0x52 0x34 0xb7 # CHECK: lwc2 $18, -841($6)
 0x49 0xf4 0x92 0x75 # CHECK: sdc2 $20, 629($18)
 0x49 0x79 0x81 0x30 # CHECK: swc2 $25, 304($16)
+0xf8 0x05 0x01 0x00 # CHECK: jialc $5, 256
+0xd8 0x05 0x01 0x00 # CHECK: jic $5, 256
+
index f6c512104b765176d72f3c430c61cfb1b3c9f99f..dc29c0c1768553454d943b4d2016312b594ff379 100644 (file)
@@ -14,6 +14,4 @@
 0x60 0xa0 0x00 0x40 # CHECK: bnec $5, $zero, 256
 0x60 0xa6 0x00 0x40 # CHECK: bnec $5, $6, 256
 0x7c 0xa1 0x04 0x25 # CHECK: cache 1, 8($5)
-0xf8 0x05 0x01 0x00 # CHECK: jialc $5, 256
-0xd8 0x05 0x01 0x00 # CHECK: jic $5, 256
 0x7c 0xa1 0x04 0x35 # CHECK: pref 1, 8($5)
index 77e232aea95adc75c5963c0d24ea379b4c6847d2..0d83a347a1fe4211391e145d9b331d3b779acbf4 100644 (file)
 0xb7 0x34 0x52 0x49 # CHECK: lwc2 $18, -841($6)
 0x75 0x92 0xf4 0x49 # CHECK: sdc2 $20, 629($18)
 0x30 0x81 0x79 0x49 # CHECK: swc2 $25, 304($16)
+0x00 0x01 0x05 0xf8 # CHECK: jialc $5, 256
+0x00 0x01 0x05 0xd8 # CHECK: jic $5, 256
+
index 66baf5f2f1c654da070c7ec43ee7e1443eeebe45..f4ce8f7ae5465d856b0d444b86f66f850ec159b6 100644 (file)
 0x49 0x52 0x34 0xb7 # CHECK: lwc2 $18, -841($6)
 0x49 0xf4 0x92 0x75 # CHECK: sdc2 $20, 629($18)
 0x49 0x79 0x81 0x30 # CHECK: swc2 $25, 304($16)
+0xf8 0x05 0x01 0x00 # CHECK: jialc $5, 256
+0xd8 0x05 0x01 0x00 # CHECK: jic $5, 256
+
index 1e9d0a62d9329c3b0d6a71572f26594cf18995aa..fe38c1fb35fc496fa43db581459f44756685fd99 100644 (file)
@@ -14,8 +14,6 @@
 0x60 0xa0 0x00 0x40 # CHECK: bnec $5, $zero, 256
 0x60 0xa6 0x00 0x40 # CHECK: bnec $5, $6, 256
 0x7c 0xa1 0x04 0x25 # CHECK: cache 1, 8($5)
-0xf8 0x05 0x01 0x00 # CHECK: jialc $5, 256
-0xd8 0x05 0x01 0x00 # CHECK: jic $5, 256
 0x7c 0xa1 0x04 0x35 # CHECK: pref 1, 8($5)
 0x64 0x58 0x46 0x9f # CHECK: daddiu $24, $2, 18079
 0x66 0x73 0x69 0x3f # CHECK: daddiu $19, $19, 26943