diff options
author | Richard Sandiford <rsandifo@nildram.co.uk> | 2013-08-19 19:26:10 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@nildram.co.uk> | 2013-08-19 19:26:10 +0000 |
commit | d369f97b246e30a06bddeb34d1bc53ceaa657b3c (patch) | |
tree | cb6954438f5b5b1bc936c4fe5cbeeff0415d95f6 /gas/testsuite/gas/mips/micromips-size-0.l | |
parent | b0b4b38dde3530b93dba703a7e926d25c7334cfc (diff) | |
download | binutils-redhat-d369f97b246e30a06bddeb34d1bc53ceaa657b3c.tar.gz |
gas/
* config/tc-mips.c (mips_arg_info): Remove soft_match.
(match_out_of_range, match_not_constant): New functions.
(match_const_int): Remove fallback parameter and check for soft_match.
Use match_not_constant.
(match_mapped_int_operand, match_addiusp_operand)
(match_perf_reg_operand, match_save_restore_list_operand)
(match_mdmx_imm_reg_operand): Update accordingly. Use
match_out_of_range and set_insn_error* instead of as_bad.
(match_int_operand): Likewise. Use match_not_constant in the
!allows_nonconst case.
(match_float_constant): Report invalid float constants.
(match_insn, match_mips16_insn): Remove soft_match code. Rely on
match_float_constant to check for invalid constants. Fail the
match if match_const_int or match_float_constant return false.
(mips_ip): Update accordingly.
(mips16_ip): Likewise. Undo null termination of instruction name
once lookup is complete.
gas/testsuite/
* gas/mips/ext-ill.l, gas/mips/lui-1.l, gas/mips/mips16e-64.l,
gas/mips/mips32r2-ill-fp64.l, gas/mips/mips32r2-ill-nofp.l,
gas/mips/mips32r2-ill.l, gas/mips/mips64r2-ill.l,
gas/mips/octeon-ill.l, gas/mips/r5900-error-vu0.l,
gas/mips/vr5400-ill.l: Adjust expected errors.
* gas/mips/micromips-size-0.l,
gas/mips/micromips-size-0.s: Likewise. Add new tests.
* gas/mips/mips16e-save-err.s, gas/mips/mips16e-save-err.l: New test.
* gas/mips/mips.exp: Run it.
Diffstat (limited to 'gas/testsuite/gas/mips/micromips-size-0.l')
-rw-r--r-- | gas/testsuite/gas/mips/micromips-size-0.l | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gas/testsuite/gas/mips/micromips-size-0.l b/gas/testsuite/gas/mips/micromips-size-0.l index e7238b082b..e34d83b42f 100644 --- a/gas/testsuite/gas/mips/micromips-size-0.l +++ b/gas/testsuite/gas/mips/micromips-size-0.l @@ -26,7 +26,7 @@ .*:108: Warning: Wrong size instruction in a 32-bit branch delay slot .*:110: Warning: Wrong size instruction in a 32-bit branch delay slot .*:112: Error: Unrecognized 32-bit version of microMIPS opcode `addiusp32 256' -.*:120: Error: Illegal operands `sll16 \$2,\$3,13' +.*:120: Error: operand 3 out of range `sll16 \$2,\$3,13' .*:123: Error: Illegal operands `sll16 \$10,\$11,5' .*:128: Error: Unrecognized 16-bit version of microMIPS opcode `dsll16 \$2,\$3,5' .*:130: Error: Unrecognized 16-bit version of microMIPS opcode `dsll3216 \$2,\$3,5' @@ -34,3 +34,11 @@ .*:135: Error: Unrecognized 16-bit version of microMIPS opcode `dsll3216 \$2,\$3,13' .*:138: Error: Unrecognized 16-bit version of microMIPS opcode `dsll16 \$10,\$11,5' .*:140: Error: Unrecognized 16-bit version of microMIPS opcode `dsll3216 \$10,\$11,5' +.*:145: Error: operand 3 out of range `addiu16 \$2,\$4,5' +.*:146: Error: operand 3 out of range `addiu16 \$2,\$4,7' +.*:149: Error: operand 3 out of range `andi16 \$2,\$4,5' +.*:154: Error: operand 1 out of range `addiusp16 4' +.*:155: Error: operand 1 out of range `addiusp16 7' +.*:157: Error: operand 1 out of range `addiusp16 10' +.*:160: Error: operand 1 out of range `addiusp16 1032' +.*:162: Error: operand 1 out of range `addiusp16 -1036' |