|
|
@ -8970,7 +8970,7 @@ do_t_cpy (void) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static void |
|
|
static void |
|
|
do_t_czb (void) |
|
|
do_t_cbz (void) |
|
|
{ |
|
|
{ |
|
|
constraint (current_it_mask, BAD_NOT_IT); |
|
|
constraint (current_it_mask, BAD_NOT_IT); |
|
|
constraint (inst.operands[0].reg > 7, BAD_HIREG); |
|
|
constraint (inst.operands[0].reg > 7, BAD_HIREG); |
|
|
@ -14980,8 +14980,8 @@ static const struct asm_opcode insns[] = |
|
|
TC3(ldrsbt, 03000d0, f9100e00, 2, (RR, ADDR), ldsttv4, t_ldstt), |
|
|
TC3(ldrsbt, 03000d0, f9100e00, 2, (RR, ADDR), ldsttv4, t_ldstt), |
|
|
TC3(strht, 02000b0, f8200e00, 2, (RR, ADDR), ldsttv4, t_ldstt), |
|
|
TC3(strht, 02000b0, f8200e00, 2, (RR, ADDR), ldsttv4, t_ldstt), |
|
|
|
|
|
|
|
|
UT(cbnz, b900, 2, (RR, EXP), t_czb), |
|
|
UT(cbnz, b900, 2, (RR, EXP), t_cbz), |
|
|
UT(cbz, b100, 2, (RR, EXP), t_czb), |
|
|
UT(cbz, b100, 2, (RR, EXP), t_cbz), |
|
|
/* ARM does not really have an IT instruction, so always allow it. */ |
|
|
/* ARM does not really have an IT instruction, so always allow it. */ |
|
|
#undef ARM_VARIANT |
|
|
#undef ARM_VARIANT |
|
|
#define ARM_VARIANT &arm_ext_v1 |
|
|
#define ARM_VARIANT &arm_ext_v1 |
|
|
@ -18027,8 +18027,8 @@ md_apply_fix (fixS * fixP, |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case BFD_RELOC_THUMB_PCREL_BRANCH7: /* CZB */ |
|
|
case BFD_RELOC_THUMB_PCREL_BRANCH7: /* CBZ */ |
|
|
/* CZB can only branch forward. */ |
|
|
/* CBZ can only branch forward. */ |
|
|
if (value & ~0x7e) |
|
|
if (value & ~0x7e) |
|
|
as_bad_where (fixP->fx_file, fixP->fx_line, |
|
|
as_bad_where (fixP->fx_file, fixP->fx_line, |
|
|
_("branch out of range")); |
|
|
_("branch out of range")); |
|
|
|