diff options
author | Maciej W. Rozycki <macro@imgtec.com> | 2016-12-09 23:11:40 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@imgtec.com> | 2016-12-09 23:21:40 +0000 |
commit | 64c111834081a117f902cffc15dadbc535f1c65e (patch) | |
tree | 128dd40a1359e495b204f806e1b024a9047c2de3 | |
parent | f17ecb4baca990b57cc57e8337c4e03ecee02742 (diff) | |
download | gdb-64c111834081a117f902cffc15dadbc535f1c65e.zip gdb-64c111834081a117f902cffc15dadbc535f1c65e.tar.gz gdb-64c111834081a117f902cffc15dadbc535f1c65e.tar.bz2 |
MIPS16: Remove unused `>' operand code
This code has never been used throughout the repository history, and
likely not before either, as due to the assymetry of MIPS16 instruction
set encoding there are no 32-bit shift operations having their immediate
shift count placed in the position of the usual `rx' instruction field.
gas/
* config/tc-mips.c (mips16_macro_build) <'>'>: Remove case.
include/
* opcode/mips.h: Remove references to `>' operand code.
opcodes/
* mips16-opc.c (decode_mips16_operand) <'>'>: Remove cases.
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 1 | ||||
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/opcode/mips.h | 3 | ||||
-rw-r--r-- | opcodes/ChangeLog | 4 | ||||
-rw-r--r-- | opcodes/mips16-opc.c | 2 |
6 files changed, 13 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index fd394ea..e3cf619 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 2016-12-09 Maciej W. Rozycki <macro@imgtec.com> + * config/tc-mips.c (mips16_macro_build) <'>'>: Remove case. + +2016-12-09 Maciej W. Rozycki <macro@imgtec.com> + * testsuite/gas/mips/mips16-extend.d: New test. * testsuite/gas/mips/mips16-extend.s: New test source. * testsuite/gas/mips/mips.exp: Run the new test. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 1e195d9..4288d96 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -8723,7 +8723,6 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt, break; case '<': - case '>': case '4': case '5': case 'H': diff --git a/include/ChangeLog b/include/ChangeLog index 00cebb6..b8c9628 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2016-12-09 Maciej W. Rozycki <macro@imgtec.com> + + * opcode/mips.h: Remove references to `>' operand code. + 2016-12-07 Maciej W. Rozycki <macro@imgtec.com> * opcode/mips.h (INSN_CHIP_MASK): Update according to bit use. diff --git a/include/opcode/mips.h b/include/opcode/mips.h index 160fc91..a199f06 100644 --- a/include/opcode/mips.h +++ b/include/opcode/mips.h @@ -1809,7 +1809,6 @@ extern int bfd_mips_num_opcodes; The remaining codes may be extended. Except as otherwise noted, the full extended operand is a 16 bit signed value. "<" 3 bit unsigned shift count * 0 (MIPS16OP_*_RZ) (full 5 bit unsigned) - ">" 3 bit unsigned shift count * 0 (MIPS16OP_*_RX) (full 5 bit unsigned) "[" 3 bit unsigned shift count * 0 (MIPS16OP_*_RZ) (full 6 bit unsigned) "]" 3 bit unsigned shift count * 0 (MIPS16OP_*_RX) (full 6 bit unsigned) "4" 4 bit signed immediate * 0 (MIPS16OP_*_IMM4) (full 15 bit signed) @@ -1834,7 +1833,7 @@ extern int bfd_mips_num_opcodes; Characters used so far, for quick reference when adding more: " 456 8 0" - "[]<>" + "[]<" "ABCDE HI KLM P RS UVWXYZ" "a e ijklm pq vwxyz" */ diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 8017b0f..cc2ac3c 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,9 @@ 2016-12-09 Maciej W. Rozycki <macro@imgtec.com> + * mips16-opc.c (decode_mips16_operand) <'>'>: Remove cases. + +2016-12-09 Maciej W. Rozycki <macro@imgtec.com> + * mips16-opc.c (decode_mips16_operand) <'e'>: Use HINT rather than UINT. diff --git a/opcodes/mips16-opc.c b/opcodes/mips16-opc.c index 2b0e942..f1a67ed 100644 --- a/opcodes/mips16-opc.c +++ b/opcodes/mips16-opc.c @@ -76,7 +76,6 @@ decode_mips16_operand (char type, bfd_boolean extended_p) switch (type) { case '<': UINT (5, 0); - case '>': UINT (5, 0); case '[': UINT (6, 0); case ']': UINT (6, 0); @@ -105,7 +104,6 @@ decode_mips16_operand (char type, bfd_boolean extended_p) switch (type) { case '<': INT_ADJ (3, 2, 8, 0, FALSE); - case '>': INT_ADJ (3, 8, 8, 0, FALSE); case '[': INT_ADJ (3, 2, 8, 0, FALSE); case ']': INT_ADJ (3, 8, 8, 0, FALSE); |