From df7849c593594e81b635dfe06b488e333fc9b2ab Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 2 May 2006 14:42:30 +0000 Subject: * config/tc-arm.c (do_iwmmxt_wldstbh): Don't multiply offset by 4 here. (md_apply_fix3): Multiply offset by 4 here for BFD_RELOC_ARM_CP_OFF_IMM_S2 and BFD_RELOC_ARM_T32_CP_OFF_IMM_S2. testsuite: * gas/arm/iwmmxt.s: Increase offsets for wstrb and wstrh. * gas/arm/iwmmxt.d: Update expected results. * gas/arm/iwmmxt-bad2.s: Test wstrb, wstrh, wldrb and wldrh. * gas/arm/iwmmxt-bad2.l: Update expected error messages. --- gas/config/tc-arm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gas/config') diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 3b588ac..2e30f39 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -7187,7 +7187,6 @@ do_iwmmxt_wldstbh (void) { int reloc; inst.instruction |= inst.operands[0].reg << 12; - inst.reloc.exp.X_add_number *= 4; if (thumb_mode) reloc = BFD_RELOC_ARM_T32_CP_OFF_IMM_S2; else @@ -16500,6 +16499,7 @@ md_apply_fix (fixS * fixP, if (value < -255 || value > 255) as_bad_where (fixP->fx_file, fixP->fx_line, _("co-processor offset out of range")); + value *= 4; goto cp_off_common; case BFD_RELOC_ARM_THUMB_OFFSET: -- cgit v1.1