2004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
authorTomer Levi <Tomer.Levi@nsc.com>
Thu, 23 Dec 2004 13:50:36 +0000 (13:50 +0000)
committerTomer Levi <Tomer.Levi@nsc.com>
Thu, 23 Dec 2004 13:50:36 +0000 (13:50 +0000)
* config/tc-crx.c: Support 'bcop' relaxation (dealt as in 'cmp&branch' case).

gas/ChangeLog
gas/config/tc-crx.c

index f978372129070cd5eff550478b3d260c90641311..082e008497f9558ad38e4ba6d0d61317fcf307c4 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-23  Tomer Levi  <Tomer.Levi@nsc.com>
+
+       * config/tc-crx.c: Support 'bcop' relaxation (dealt as in 'cmp&branch'
+       case).
+
 2004-12-22  Ian Lance Taylor  <ian@airs.com>
 
        * configure.tgt: New.
index 85b7f3136e14addcf943387e5b88d0a5943f29d4..a05fcaa0f7f081adc287f31d820c5344cb835108 100644 (file)
@@ -134,7 +134,7 @@ const relax_typeS md_relax_table[] =
   {0xfffe, -0x10000, 4, 4},            /* 16 */
   {0xfffffffe, -0xfffffffe, 6, 0},     /* 32 */
 
-  /* cmpbr  */
+  /* cmpbr/bcop  */
   {0xfe, -0x100, 4, 6},                        /*  8 */
   {0xfffffe, -0x1000000, 6, 0}         /* 24 */
 };
@@ -707,10 +707,8 @@ process_label_constant (char *str, ins * crx_ins)
            crx_ins->rtype = BFD_RELOC_CRX_ABS32;
          else if (IS_INSN_TYPE (BRANCH_NEQ_INS))
            crx_ins->rtype = BFD_RELOC_CRX_REL4;
-          else if (IS_INSN_TYPE (CMPBR_INS))
+          else if (IS_INSN_TYPE (CMPBR_INS) || IS_INSN_TYPE (COP_BRANCH_INS))
            crx_ins->rtype = BFD_RELOC_CRX_REL8_CMP;
-          else if (IS_INSN_TYPE (COP_BRANCH_INS))
-           crx_ins->rtype = BFD_RELOC_CRX_REL24;
          break;
        
        case arg_ic:
@@ -1949,8 +1947,8 @@ print_insn (ins *insn)
       /* bal  */
       else if (IS_INSN_TYPE (DCR_BRANCH_INS) || IS_INSN_MNEMONIC ("bal"))
        relax_subtype = 3;
-      /* cmpbr  */
-      else if (IS_INSN_TYPE (CMPBR_INS))
+      /* cmpbr/bcop  */
+      else if (IS_INSN_TYPE (CMPBR_INS) || IS_INSN_TYPE (COP_BRANCH_INS))
        relax_subtype = 5;
       else
        abort ();