We don't check the size operand on ext/dext*/ins/dins* yet because the
permitted range depends on the pos argument and we can't check that using
this mechanism.
The bug was that dextu/dinsu accepted 0..31 in the pos operand instead of 32..63.
Paths
| Differential D15190
[mips][ias] Range check uimm6 operands and fix a bug this revealed. ClosedPublic Authored by dsanders on Dec 3 2015, 7:04 AM.
Details Summary We don't check the size operand on ext/dext*/ins/dins* yet because the The bug was that dextu/dinsu accepted 0..31 in the pos operand instead of 32..63.
Diff Detail Event Timelinedsanders added a child revision: D15229: [mips][ias] Range check uimm10 operands.Dec 4 2015, 6:19 AM vkalintiris edited edge metadata. Comment ActionsLGTM. Please, split the error line at MipsAsmParser.cpp because it's too big. This revision is now accepted and ready to land.Dec 5 2015, 7:26 AM
Revision Contents
Diff 41752 lib/Target/Mips/AsmParser/MipsAsmParser.cpp
lib/Target/Mips/MicroMips64r6InstrInfo.td
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsInstrInfo.td
lib/Target/Mips/MipsMSAInstrInfo.td
test/MC/Mips/micromips64r6/invalid.s
test/MC/Mips/micromips64r6/valid.s
test/MC/Mips/mips32r2/invalid.s
test/MC/Mips/mips64r2/invalid.s
test/MC/Mips/msa/invalid-64.s
test/MC/Mips/msa/invalid.s
|