* config/tc-mips.c: Enable functions commented out in previous patch.
	(SKIP_SPACE_TABS): Move further up file.
	(mips32_to_micromips_reg_b_map, mips32_to_micromips_reg_c_map)
	(mips32_to_micromips_reg_d_map, mips32_to_micromips_reg_e_map)
	(ips32_to_micromips_reg_f_map, mips32_to_micromips_reg_g_map)
	(mips32_to_micromips_reg_l_map, mips32_to_micromips_reg_m_map)
	(mips32_to_micromips_reg_q_map, mips32_to_micromips_reg_n_map)
	(micromips_imm_b_map, micromips_imm_c_map): Delete.
	(mips_lookup_reg_pair): Delete.
	(macro): Use report_bad_range and report_bad_field.
	(mips_immed, expr_const_in_range): Delete.
	(mips_ip): Rewrite main parsing loop to use new functions.

gas/testsuite/
	* gas/mips/at-2.l: Remove duplicated $at warnings.
	* gas/mips/ext-ill.l, gas/mips/lui-1.l, gas/mips/mips32r2-ill.l,
	gas/mips/mips32r2-ill-nofp.l, gas/mips/mips32r2-ill-fp64.l,
	gas/mips/mips64r2-ill.l, gas/mips/octeon-ill.l: Update error
	messages.  Expect negative numbers to be printed as such,
	rather than as large unsigned positive numbers.
This commit is contained in:
Richard Sandiford 2013-07-14 13:49:14 +00:00
parent a1d785644e
commit 9e12b7a2b0
11 changed files with 342 additions and 2447 deletions

View File

@ -1,3 +1,18 @@
2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c: Enable functions commented out in previous patch.
(SKIP_SPACE_TABS): Move further up file.
(mips32_to_micromips_reg_b_map, mips32_to_micromips_reg_c_map)
(mips32_to_micromips_reg_d_map, mips32_to_micromips_reg_e_map)
(ips32_to_micromips_reg_f_map, mips32_to_micromips_reg_g_map)
(mips32_to_micromips_reg_l_map, mips32_to_micromips_reg_m_map)
(mips32_to_micromips_reg_q_map, mips32_to_micromips_reg_n_map)
(micromips_imm_b_map, micromips_imm_c_map): Delete.
(mips_lookup_reg_pair): Delete.
(macro): Use report_bad_range and report_bad_field.
(mips_immed, expr_const_in_range): Delete.
(mips_ip): Rewrite main parsing loop to use new functions.
2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (mips_oddfpreg_ok): Move further up file.

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,12 @@
2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
* gas/mips/at-2.l: Remove duplicated $at warnings.
* gas/mips/ext-ill.l, gas/mips/lui-1.l, gas/mips/mips32r2-ill.l,
gas/mips/mips32r2-ill-nofp.l, gas/mips/mips32r2-ill-fp64.l,
gas/mips/mips64r2-ill.l, gas/mips/octeon-ill.l: Update error
messages. Expect negative numbers to be printed as such,
rather than as large unsigned positive numbers.
2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
* gas/mips/nan-2008-1.d: New test.

View File

@ -3,11 +3,5 @@
.*\.s:5: Error: Macro used \$at after ".set noat"
.*\.s:6: Error: Macro used \$at after ".set noat"
.*\.s:8: Warning: Used \$at without ".set noat"
.*\.s:8: Warning: Used \$at without ".set noat"
.*\.s:8: Warning: Used \$at without ".set noat"
.*\.s:13: Warning: Used \$26 with ".set at=\$26"
.*\.s:13: Warning: Used \$26 with ".set at=\$26"
.*\.s:13: Warning: Used \$26 with ".set at=\$26"
.*\.s:18: Warning: Used \$27 with ".set at=\$27"
.*\.s:18: Warning: Used \$27 with ".set at=\$27"
.*\.s:18: Warning: Used \$27 with ".set at=\$27"

View File

@ -1,6 +1,6 @@
.*: Assembler messages:
.*:5: Error: Improper extract size \(0, position 1\)
.*:6: Error: Improper extract size \(0, position 1\)
.*:7: Error: Improper extract size \(2, position 31\)
.*:8: Error: Improper extract size \(32, position 1\)
.*:9: Error: Improper extract size \(0, position 33\)
.*:5: Error: Invalid field specification \(position 1, size 0\)
.*:6: Error: Invalid field specification \(position 1, size 0\)
.*:7: Error: Invalid field specification \(position 31, size 2\)
.*:8: Error: Invalid field specification \(position 1, size 32\)
.*:9: Error: Invalid field specification \(position 33, size 0\)

View File

@ -1,5 +1,5 @@
.*\.s: Assembler messages:
.*\.s:5: Error: lui expression \((18446744073709551615|4294967295)\) not in range 0\.\.65535
.*\.s:6: Error: lui expression \(65536\) not in range 0\.\.65535
.*\.s:5: Error: Operand 2 of `lui' must be in the range \[0x0, 0xffff\], was -1.
.*\.s:6: Error: Operand 2 of `lui' must be in the range \[0x0, 0xffff\], was 0x10000.
.*\.s:7: Error: bignum invalid
.*\.s:8: Error: register value used as expression

View File

@ -1,13 +1,13 @@
.*: Assembler messages:
.*:12: Error: Improper position \([0-9]*\)
.*:15: Error: Improper position \(32\)
.*:18: Error: Improper extract size \(0, position 0\)
.*:21: Error: Improper extract size \(33, position 0\)
.*:24: Error: Improper extract size \(0, position 0\)
.*:27: Error: Improper extract size \(2, position 31\)
.*:30: Error: Improper position \([0-9]*\)
.*:33: Error: Improper position \(32\)
.*:36: Error: Improper insert size \(0, position 0\)
.*:39: Error: Improper insert size \(33, position 0\)
.*:42: Error: Improper insert size \(0, position 0\)
.*:45: Error: Improper insert size \(2, position 31\)
.*:12: Error: Operand 3 of `ext' must be in the range \[0, 31\], was -1.
.*:15: Error: Operand 3 of `ext' must be in the range \[0, 31\], was 32.
.*:18: Error: Invalid field specification \(position 0, size 0\)
.*:21: Error: Invalid field specification \(position 0, size 33\)
.*:24: Error: Invalid field specification \(position 0, size 0\)
.*:27: Error: Invalid field specification \(position 31, size 2\)
.*:30: Error: Operand 3 of `ins' must be in the range \[0, 31\], was -1.
.*:33: Error: Operand 3 of `ins' must be in the range \[0, 31\], was 32.
.*:36: Error: Invalid field specification \(position 0, size 0\)
.*:39: Error: Invalid field specification \(position 0, size 33\)
.*:42: Error: Invalid field specification \(position 0, size 0\)
.*:45: Error: Invalid field specification \(position 31, size 2\)

View File

@ -1,13 +1,13 @@
.*: Assembler messages:
.*:12: Error: Improper position \([0-9]*\)
.*:15: Error: Improper position \(32\)
.*:18: Error: Improper extract size \(0, position 0\)
.*:21: Error: Improper extract size \(33, position 0\)
.*:24: Error: Improper extract size \(0, position 0\)
.*:27: Error: Improper extract size \(2, position 31\)
.*:30: Error: Improper position \([0-9]*\)
.*:33: Error: Improper position \(32\)
.*:36: Error: Improper insert size \(0, position 0\)
.*:39: Error: Improper insert size \(33, position 0\)
.*:42: Error: Improper insert size \(0, position 0\)
.*:45: Error: Improper insert size \(2, position 31\)
.*:12: Error: Operand 3 of `ext' must be in the range \[0, 31\], was -1.
.*:15: Error: Operand 3 of `ext' must be in the range \[0, 31\], was 32.
.*:18: Error: Invalid field specification \(position 0, size 0\)
.*:21: Error: Invalid field specification \(position 0, size 33\)
.*:24: Error: Invalid field specification \(position 0, size 0\)
.*:27: Error: Invalid field specification \(position 31, size 2\)
.*:30: Error: Operand 3 of `ins' must be in the range \[0, 31\], was -1.
.*:33: Error: Operand 3 of `ins' must be in the range \[0, 31\], was 32.
.*:36: Error: Invalid field specification \(position 0, size 0\)
.*:39: Error: Invalid field specification \(position 0, size 33\)
.*:42: Error: Invalid field specification \(position 0, size 0\)
.*:45: Error: Invalid field specification \(position 31, size 2\)

View File

@ -1,15 +1,15 @@
.*: Assembler messages:
.*:12: Error: Improper position \([0-9]*\)
.*:15: Error: Improper position \(32\)
.*:18: Error: Improper extract size \(0, position 0\)
.*:21: Error: Improper extract size \(33, position 0\)
.*:24: Error: Improper extract size \(0, position 0\)
.*:27: Error: Improper extract size \(2, position 31\)
.*:30: Error: Improper position \([0-9]*\)
.*:33: Error: Improper position \(32\)
.*:36: Error: Improper insert size \(0, position 0\)
.*:39: Error: Improper insert size \(33, position 0\)
.*:42: Error: Improper insert size \(0, position 0\)
.*:45: Error: Improper insert size \(2, position 31\)
.*:12: Error: Operand 3 of `ext' must be in the range \[0, 31\], was -1.
.*:15: Error: Operand 3 of `ext' must be in the range \[0, 31\], was 32.
.*:18: Error: Invalid field specification \(position 0, size 0\)
.*:21: Error: Invalid field specification \(position 0, size 33\)
.*:24: Error: Invalid field specification \(position 0, size 0\)
.*:27: Error: Invalid field specification \(position 31, size 2\)
.*:30: Error: Operand 3 of `ins' must be in the range \[0, 31\], was -1.
.*:33: Error: Operand 3 of `ins' must be in the range \[0, 31\], was 32.
.*:36: Error: Invalid field specification \(position 0, size 0\)
.*:39: Error: Invalid field specification \(position 0, size 33\)
.*:42: Error: Invalid field specification \(position 0, size 0\)
.*:45: Error: Invalid field specification \(position 31, size 2\)
.*:54: Warning: Float register should be even, was 1
.*:57: Warning: Float register should be even, was 1

View File

@ -1,57 +1,57 @@
.*: Assembler messages:
.*:12: Error: Improper position \([0-9]*\)
.*:15: Error: Improper position \(64\)
.*:18: Error: Improper extract size \(0, position 0\)
.*:21: Error: Improper extract size \(65, position 0\)
.*:31: Error: Improper extract size \(64, position 1\)
.*:33: Error: Improper extract size \(2, position 63\)
.*:34: Error: Improper extract size \(63, position 63\)
.*:35: Error: Improper extract size \(64, position 63\)
.*:40: Error: Improper position \([0-9]*\)
.*:43: Error: Improper position \(32\)
.*:46: Error: Improper extract size \(32, position 0\)
.*:49: Error: Improper extract size \(65, position 0\)
.*:59: Error: Improper extract size \(64, position 1\)
.*:61: Error: Improper extract size \(34, position 31\)
.*:62: Error: Improper extract size \(63, position 31\)
.*:63: Error: Improper extract size \(64, position 31\)
.*:68: Error: Improper position \(31\)
.*:71: Error: Improper position \(64\)
.*:74: Error: Improper extract size \(0, position 32\)
.*:77: Error: Improper extract size \(33, position 32\)
.*:87: Error: Improper extract size \(32, position 33\)
.*:89: Error: Improper extract size \(2, position 63\)
.*:90: Error: Improper extract size \(31, position 63\)
.*:91: Error: Improper extract size \(32, position 63\)
.*:96: Error: Improper position \([0-9]*\)
.*:99: Error: Improper position \(64\)
.*:102: Error: Improper insert size \(0, position 0\)
.*:105: Error: Improper insert size \(65, position 0\)
.*:115: Error: Improper insert size \(64, position 1\)
.*:117: Error: Improper insert size \(2, position 63\)
.*:118: Error: Improper insert size \(63, position 63\)
.*:119: Error: Improper insert size \(64, position 63\)
.*:124: Error: Improper position \([0-9]*\)
.*:127: Error: Improper position \(32\)
.*:130: Error: Improper insert size \(1, position 31\)
.*:133: Error: Improper insert size \(65, position 0\)
.*:136: Error: Improper insert size \(2, position 0\)
.*:137: Error: Improper insert size \(3, position 0\)
.*:140: Error: Improper insert size \(2, position 1\)
.*:141: Error: Improper insert size \(3, position 1\)
.*:143: Error: Improper insert size \(64, position 1\)
.*:144: Error: Improper insert size \(2, position 30\)
.*:146: Error: Improper insert size \(63, position 30\)
.*:147: Error: Improper insert size \(64, position 30\)
.*:150: Error: Improper insert size \(63, position 31\)
.*:151: Error: Improper insert size \(64, position 31\)
.*:156: Error: Improper position \(31\)
.*:159: Error: Improper position \(64\)
.*:162: Error: Improper insert size \(0, position 32\)
.*:165: Error: Improper insert size \(33, position 32\)
.*:175: Error: Improper insert size \(32, position 33\)
.*:178: Error: Improper insert size \(31, position 62\)
.*:179: Error: Improper insert size \(32, position 62\)
.*:181: Error: Improper insert size \(2, position 63\)
.*:182: Error: Improper insert size \(31, position 63\)
.*:183: Error: Improper insert size \(32, position 63\)
.*:12: Error: Operand 3 of `dext' must be in the range \[0, 63\], was -1.
.*:15: Error: Operand 3 of `dext' must be in the range \[0, 63\], was 64.
.*:18: Error: Invalid field specification \(position 0, size 0\)
.*:21: Error: Invalid field specification \(position 0, size 65\)
.*:31: Error: Invalid field specification \(position 1, size 64\)
.*:33: Error: Invalid field specification \(position 63, size 2\)
.*:34: Error: Invalid field specification \(position 63, size 63\)
.*:35: Error: Invalid field specification \(position 63, size 64\)
.*:40: Error: Operand 3 of `dextm' must be in the range \[0, 31\], was -1.
.*:43: Error: Operand 3 of `dextm' must be in the range \[0, 31\], was 32.
.*:46: Error: Invalid field specification \(position 0, size 32\)
.*:49: Error: Invalid field specification \(position 0, size 65\)
.*:59: Error: Invalid field specification \(position 1, size 64\)
.*:61: Error: Invalid field specification \(position 31, size 34\)
.*:62: Error: Invalid field specification \(position 31, size 63\)
.*:63: Error: Invalid field specification \(position 31, size 64\)
.*:68: Error: Operand 3 of `dextu' must be in the range \[32, 63\], was 31.
.*:71: Error: Operand 3 of `dextu' must be in the range \[32, 63\], was 64.
.*:74: Error: Invalid field specification \(position 32, size 0\)
.*:77: Error: Invalid field specification \(position 32, size 33\)
.*:87: Error: Invalid field specification \(position 33, size 32\)
.*:89: Error: Invalid field specification \(position 63, size 2\)
.*:90: Error: Invalid field specification \(position 63, size 31\)
.*:91: Error: Invalid field specification \(position 63, size 32\)
.*:96: Error: Operand 3 of `dins' must be in the range \[0, 63\], was -1.
.*:99: Error: Operand 3 of `dins' must be in the range \[0, 63\], was 64.
.*:102: Error: Invalid field specification \(position 0, size 0\)
.*:105: Error: Invalid field specification \(position 0, size 65\)
.*:115: Error: Invalid field specification \(position 1, size 64\)
.*:117: Error: Invalid field specification \(position 63, size 2\)
.*:118: Error: Invalid field specification \(position 63, size 63\)
.*:119: Error: Invalid field specification \(position 63, size 64\)
.*:124: Error: Operand 3 of `dinsm' must be in the range \[0, 31\], was -1.
.*:127: Error: Operand 3 of `dinsm' must be in the range \[0, 31\], was 32.
.*:130: Error: Invalid field specification \(position 31, size 1\)
.*:133: Error: Invalid field specification \(position 0, size 65\)
.*:136: Error: Invalid field specification \(position 0, size 2\)
.*:137: Error: Invalid field specification \(position 0, size 3\)
.*:140: Error: Invalid field specification \(position 1, size 2\)
.*:141: Error: Invalid field specification \(position 1, size 3\)
.*:143: Error: Invalid field specification \(position 1, size 64\)
.*:144: Error: Invalid field specification \(position 30, size 2\)
.*:146: Error: Invalid field specification \(position 30, size 63\)
.*:147: Error: Invalid field specification \(position 30, size 64\)
.*:150: Error: Invalid field specification \(position 31, size 63\)
.*:151: Error: Invalid field specification \(position 31, size 64\)
.*:156: Error: Operand 3 of `dinsu' must be in the range \[32, 63\], was 31.
.*:159: Error: Operand 3 of `dinsu' must be in the range \[32, 63\], was 64.
.*:162: Error: Invalid field specification \(position 32, size 0\)
.*:165: Error: Invalid field specification \(position 32, size 33\)
.*:175: Error: Invalid field specification \(position 33, size 32\)
.*:178: Error: Invalid field specification \(position 62, size 31\)
.*:179: Error: Invalid field specification \(position 62, size 32\)
.*:181: Error: Invalid field specification \(position 63, size 2\)
.*:182: Error: Invalid field specification \(position 63, size 31\)
.*:183: Error: Invalid field specification \(position 63, size 32\)

View File

@ -1,13 +1,13 @@
.*: Assembler messages:
.*:5: Error: Improper bit index \(51\)
.*:7: Error: Improper bit index \(71\)
.*:10: Error: Improper bit index \(49\)
.*:12: Error: Improper bit index \(74\)
.*:15: Error: Improper size \(37\)
.*:17: Error: Improper position \(39\)
.*:18: Error: Improper size \(25\)
.*:20: Error: Improper position \(64\)
.*:21: Error: Improper size \(14\)
.*:5: Error: Operand 2 of `bbit032' must be in the range \[0, 31\], was 51.
.*:7: Error: Operand 2 of `bbit0' must be in the range \[0, 31\], was 71.
.*:10: Error: Operand 2 of `bbit132' must be in the range \[0, 31\], was 49.
.*:12: Error: Operand 2 of `bbit1' must be in the range \[0, 31\], was 74.
.*:15: Error: Invalid field specification \(position 0, size 37\)
.*:17: Error: Operand 3 of `cins32' must be in the range \[0, 31\], was 39.
.*:18: Error: Invalid field specification \(position 7, size 25\)
.*:20: Error: Operand 3 of `cins' must be in the range \[0, 31\], was 64.
.*:21: Error: Invalid field specification \(position 50, size 14\)
.*:23: Error: Opcode not supported on this processor.*
.*:24: Error: Opcode not supported on this processor.*
.*:25: Error: Opcode not supported on this processor.*
@ -34,12 +34,12 @@
.*:48: Error: Illegal operands `dmfc2 \$4,\$15,4'
.*:49: Error: Illegal operands `dmtc2 \$16,\$8'
.*:50: Error: Illegal operands `dmtc2 \$22,\$7,\$4'
.*:52: Error: Improper size \(32\)
.*:54: Error: Improper position \(32\)
.*:55: Error: Improper size \(29\)
.*:57: Error: Improper position \(70\)
.*:58: Error: Improper size \(25\)
.*:60: Error: Improper immediate \(512\)
.*:61: Error: Improper immediate \(-771\)
.*:62: Error: Improper immediate \(615\)
.*:63: Error: Improper immediate \(-513\)
.*:52: Error: Invalid field specification \(position 26, size 32\)
.*:54: Error: Operand 3 of `exts32' must be in the range \[0, 31\], was 32.
.*:55: Error: Invalid field specification \(position 3, size 29\)
.*:57: Error: Operand 3 of `exts' must be in the range \[0, 31\], was 70.
.*:58: Error: Invalid field specification \(position 39, size 25\)
.*:60: Error: Operand 3 of `seqi' must be in the range \[-512, 511\], was 512.
.*:61: Error: Operand 2 of `seqi' must be in the range \[-512, 511\], was -771.
.*:62: Error: Operand 3 of `snei' must be in the range \[-512, 511\], was 615.
.*:63: Error: Operand 2 of `snei' must be in the range \[-512, 511\], was -513.