[mips][microMIPS] Fix an issue with disassembling lwm32 instruction

Fixed microMIPS disassembler crash on test case generated by llvm-mc-fuzzer.
Differential Revision: http://reviews.llvm.org/D12881


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247698 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Zoran Jovanovic 2015-09-15 15:21:27 +00:00
parent 8a2b719477
commit 3cedd0b1a0
3 changed files with 5 additions and 1 deletions

View File

@ -1915,7 +1915,7 @@ static DecodeStatus DecodeRegListOperand(MCInst &Inst,
uint64_t Address,
const void *Decoder) {
unsigned Regs[] = {Mips::S0, Mips::S1, Mips::S2, Mips::S3, Mips::S4, Mips::S5,
Mips::S6, Mips::FP};
Mips::S6, Mips::S7, Mips::FP};
unsigned RegNum;
unsigned RegLst = fieldFromInstruction(Insn, 21, 5);

View File

@ -241,6 +241,8 @@
0x20 0x44 0x50 0x08 # CHECK: lwm32 $16, $17, 8($4)
0x21 0x3b 0x59 0x84 # CHECK: lwm32 $16, $17, $18, $19, $20, $21, $22, $23, $fp, -1660($27)
0x20 0x44 0xd0 0x08 # CHECK: swm32 $16, $17, 8($4)
0x22 0x04 0x90 0x08 # CHECK: swp $16, 8($4)

View File

@ -241,6 +241,8 @@
0x44 0x20 0x08 0x50 # CHECK: lwm32 $16, $17, 8($4)
0x3b 0x21 0x84 0x59 # CHECK: lwm32 $16, $17, $18, $19, $20, $21, $22, $23, $fp, -1660($27)
0x44 0x20 0x08 0xd0 # CHECK: swm32 $16, $17, 8($4)
0x04 0x22 0x08 0x90 # CHECK: swp $16, 8($4)