[mips] Range check uimm20 and fixed a bug this revealed.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 29 Feb 2016 16:06:38 +0000 (16:06 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 29 Feb 2016 16:06:38 +0000 (16:06 +0000)
commit03a8d2f8ecdbfd531d712e4b0ca0b66c091405db
tree58af7d8ed67b2cf4f1cc6a2a2e2963b81f7c03b3
parent29620aca3e85cb16434069c86b43a4baf8accc67
[mips] Range check uimm20 and fixed a bug this revealed.

Summary:
The bug was that dextu's operand 3 would print 0-31 instead of 32-63 when
printing assembly. This came up when replacing
MipsInstPrinter::printUnsignedImm() with a version that could handle arbitrary
bit widths.

MipsAsmPrinter::printUnsignedImm*() don't seem to be used so they have been
removed.

Reviewers: vkalintiris

Subscribers: dsanders, llvm-commits

Differential Revision: http://reviews.llvm.org/D15521

llvm-svn: 262231
28 files changed:
llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.h
llvm/lib/Target/Mips/MicroMipsInstrInfo.td
llvm/lib/Target/Mips/MipsAsmPrinter.cpp
llvm/lib/Target/Mips/MipsAsmPrinter.h
llvm/lib/Target/Mips/MipsInstrInfo.td
llvm/lib/Target/Mips/MipsMSAInstrInfo.td
llvm/test/MC/Disassembler/Mips/micromips64r6/valid.txt
llvm/test/MC/Mips/micromips/invalid-wrong-error.s [new file with mode: 0644]
llvm/test/MC/Mips/mips-control-instructions.s
llvm/test/MC/Mips/mips1/valid.s
llvm/test/MC/Mips/mips2/valid.s
llvm/test/MC/Mips/mips3/valid.s
llvm/test/MC/Mips/mips32/valid.s
llvm/test/MC/Mips/mips32r2/invalid.s
llvm/test/MC/Mips/mips32r2/valid.s
llvm/test/MC/Mips/mips32r3/valid.s
llvm/test/MC/Mips/mips32r5/valid.s
llvm/test/MC/Mips/mips32r6/valid.s
llvm/test/MC/Mips/mips4/valid.s
llvm/test/MC/Mips/mips5/valid.s
llvm/test/MC/Mips/mips64/valid.s
llvm/test/MC/Mips/mips64extins.ll
llvm/test/MC/Mips/mips64r2/valid.s
llvm/test/MC/Mips/mips64r3/valid.s
llvm/test/MC/Mips/mips64r5/valid.s
llvm/test/MC/Mips/mips64r6/valid.s