llvm-project/llvm/test/MC/Disassembler/Mips
Daniel Sanders f8bb23e509 [mips] Range check uimm16 and fix several bugs this revealed.
Summary:
The bugs were:
* teq and similar take 4-bit unsigned immediates on microMIPS.
* teqi and similar have side-effects like teq do.
* shll_s.w and shra_r.w take 5-bit unsigned immediates.
* The various DSP ext* instructions take a 5-bit immediate.
* repl.qh takes an 8-bit unsigned immediate.
* repl.ph takes a 10-bit unsigned immediate.
* rddsp/wrdsp take a 10-bit unsigned immediate.
* teqi and similar take signed 16-bit immediates (10-bit for microMIPS).
* Out-of-range immediate macros for or/xor take a simm32/simm64 depending
  on architecture. I'll fix the simm64 case properly when I reach simm32.

lui is a bit more lenient than GAS and accepts signed immediates in addition
to unsigned. This is because MipsMCExpr can produce signed values when
constant folding and it currently lacks a way of knowing it should fold to
an unsigned value.

Reviewers: vkalintiris

Subscribers: dsanders, llvm-commits

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

llvm-svn: 259360
2016-02-01 15:13:31 +00:00
..
dsp [mips][microMIPS][DSP] Implement PACKRL.PH, PICK.PH, PICK.QB, SHILO, SHILOV and WRDSP instructions 2015-12-18 08:59:37 +00:00
dspr2 [mips][DSP] Add DSPr1 and DSPr2 tests for the standard encodings 2015-12-03 09:56:39 +00:00
eva [mips] Added support for various EVA ASE instructions. 2015-09-15 10:02:16 +00:00
micromips-dsp [mips][microMIPS][DSP] Implement PACKRL.PH, PICK.PH, PICK.QB, SHILO, SHILOV and WRDSP instructions 2015-12-18 08:59:37 +00:00
micromips-dspr2 [mips][microMIPS][DSP] Implement PACKRL.PH, PICK.PH, PICK.QB, SHILO, SHILOV and WRDSP instructions 2015-12-18 08:59:37 +00:00
micromips32r3 [mips][microMIPS] Implement LLE and SCE instructions 2015-10-15 08:11:50 +00:00
micromips32r6 [mips][microMIPS] Implement DERET and DI instructions and check size operand for EXT and DEXT* instructions 2015-12-21 13:08:58 +00:00
micromips64r6 [mips][microMIPS] Implement DERET and DI instructions and check size operand for EXT and DEXT* instructions 2015-12-21 13:08:58 +00:00
mips1 [mips] Attempt to fix llvm-s390x-linux1 2015-09-11 14:57:54 +00:00
mips2 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips3 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips4 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips32 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips32r2 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips32r3 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips32r5 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips32r6 [mips][ias] Range check uimm2 operands and fix a bug this revealed. 2015-11-06 12:22:31 +00:00
mips64 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips64r2 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips64r3 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips64r5 [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
mips64r6 [mips][ias] Range check uimm2 operands and fix a bug this revealed. 2015-11-06 12:22:31 +00:00
msa [mips][msa] Remove copy_u.d and move copy_u.w to MSA64. 2015-10-21 09:58:54 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00