From 64c111834081a117f902cffc15dadbc535f1c65e Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Fri, 9 Dec 2016 23:11:40 +0000 Subject: [PATCH] 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. --- gas/ChangeLog | 4 ++++ gas/config/tc-mips.c | 1 - include/ChangeLog | 4 ++++ include/opcode/mips.h | 3 +-- opcodes/ChangeLog | 4 ++++ opcodes/mips16-opc.c | 2 -- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index fd394eabb8e..e3cf619c1a1 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2016-12-09 Maciej W. Rozycki + + * config/tc-mips.c (mips16_macro_build) <'>'>: Remove case. + 2016-12-09 Maciej W. Rozycki * testsuite/gas/mips/mips16-extend.d: New test. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 1e195d92701..4288d96271f 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 00cebb6b9d7..b8c9628ef97 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2016-12-09 Maciej W. Rozycki + + * opcode/mips.h: Remove references to `>' operand code. + 2016-12-07 Maciej W. Rozycki * opcode/mips.h (INSN_CHIP_MASK): Update according to bit use. diff --git a/include/opcode/mips.h b/include/opcode/mips.h index 160fc9166f5..a199f06b247 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 8017b0f3e95..cc2ac3cb0a4 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2016-12-09 Maciej W. Rozycki + + * mips16-opc.c (decode_mips16_operand) <'>'>: Remove cases. + 2016-12-09 Maciej W. Rozycki * mips16-opc.c (decode_mips16_operand) <'e'>: Use HINT rather diff --git a/opcodes/mips16-opc.c b/opcodes/mips16-opc.c index 2b0e942887b..f1a67ed7187 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); -- 2.30.2