diff options
author | Tomer Levi <Tomer.Levi@nsc.com> | 2004-12-23 13:50:36 +0000 |
---|---|---|
committer | Tomer Levi <Tomer.Levi@nsc.com> | 2004-12-23 13:50:36 +0000 |
commit | 46e2c916df71a38c06ada22f48d74447a525918c (patch) | |
tree | 68adc713cb3cd19be2e1c3097c6e251bf86976a2 /gas/config/tc-crx.c | |
parent | 35fe2f7fc7a8a68f0a191dee165391c8d4711a3d (diff) | |
download | binutils-redhat-46e2c916df71a38c06ada22f48d74447a525918c.tar.gz |
2004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c: Support 'bcop' relaxation (dealt as in 'cmp&branch' case).
Diffstat (limited to 'gas/config/tc-crx.c')
-rw-r--r-- | gas/config/tc-crx.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c index 85b7f3136e..a05fcaa0f7 100644 --- a/gas/config/tc-crx.c +++ b/gas/config/tc-crx.c @@ -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 (); |