MIPS16: Remove unused `>' operand code
authorMaciej W. Rozycki <macro@imgtec.com>
Fri, 9 Dec 2016 23:11:40 +0000 (23:11 +0000)
committerMaciej W. Rozycki <macro@imgtec.com>
Fri, 9 Dec 2016 23:21:40 +0000 (23:21 +0000)
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
gas/config/tc-mips.c
include/ChangeLog
include/opcode/mips.h
opcodes/ChangeLog
opcodes/mips16-opc.c

index fd394eabb8e483bff02593710bcce8222777bb88..e3cf619c1a176b892d36183c47a954454a2bc13b 100644 (file)
@@ -1,3 +1,7 @@
+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.
index 1e195d92701fbaa1b7a1eb0ef3275c42a09832bf..4288d96271f7efdcf54379cbd5a0c7c84de020e5 100644 (file)
@@ -8723,7 +8723,6 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt,
          break;
 
        case '<':
-       case '>':
        case '4':
        case '5':
        case 'H':
index 00cebb6b9d772ed97d5b96fe1d029e4506e5c31e..b8c9628ef973b91e89f8050adea3ed6a14d65594 100644 (file)
@@ -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.
index 160fc9166f59dc4cb05595fecde750d78cd9ef8c..a199f06b24775b4af886b0c11b4f67cf484b4168 100644 (file)
@@ -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"
   */
index 8017b0f3e95846f5709afec4533ea230f321979e..cc2ac3cb0a49af2908c36890ab04c9df7a370fe9 100644 (file)
@@ -1,3 +1,7 @@
+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
index 2b0e942887b117a8a5a9fa0c57ec3e452299b4d5..f1a67ed718705975011adb8229201e4f41499eba 100644 (file)
@@ -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);