mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-01 18:32:32 +08:00
* 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.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2006-05-02 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2006-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
2006-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
Jan Beulich <jbeulich@novell.com>
|
Jan Beulich <jbeulich@novell.com>
|
||||||
|
|
||||||
|
@ -7187,7 +7187,6 @@ do_iwmmxt_wldstbh (void)
|
|||||||
{
|
{
|
||||||
int reloc;
|
int reloc;
|
||||||
inst.instruction |= inst.operands[0].reg << 12;
|
inst.instruction |= inst.operands[0].reg << 12;
|
||||||
inst.reloc.exp.X_add_number *= 4;
|
|
||||||
if (thumb_mode)
|
if (thumb_mode)
|
||||||
reloc = BFD_RELOC_ARM_T32_CP_OFF_IMM_S2;
|
reloc = BFD_RELOC_ARM_T32_CP_OFF_IMM_S2;
|
||||||
else
|
else
|
||||||
@ -16500,6 +16499,7 @@ md_apply_fix (fixS * fixP,
|
|||||||
if (value < -255 || value > 255)
|
if (value < -255 || value > 255)
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("co-processor offset out of range"));
|
_("co-processor offset out of range"));
|
||||||
|
value *= 4;
|
||||||
goto cp_off_common;
|
goto cp_off_common;
|
||||||
|
|
||||||
case BFD_RELOC_ARM_THUMB_OFFSET:
|
case BFD_RELOC_ARM_THUMB_OFFSET:
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2006-05-02 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2006-04-29 H.J. Lu <hongjiu.lu@intel.com>
|
2006-04-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* gas/i386/fp.d: New file.
|
* gas/i386/fp.d: New file.
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
[^:]*: Assembler messages:
|
[^:]*: Assembler messages:
|
||||||
[^:]*:1: Error: co-processor offset out of range
|
[^:]*:1: Error: co-processor offset out of range
|
||||||
[^:]*:2: Error: co-processor offset out of range
|
[^:]*:2: Error: co-processor offset out of range
|
||||||
|
[^:]*:3: Error: co-processor offset out of range
|
||||||
|
[^:]*:4: Error: co-processor offset out of range
|
||||||
|
[^:]*:5: Error: co-processor offset out of range
|
||||||
|
[^:]*:6: Error: co-processor offset out of range
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
wldrd wr1, [r0, #3]
|
wldrd wr1, [r0, #3]
|
||||||
wstrd wr1, [r0, #0x400]
|
wstrd wr1, [r0, #0x400]
|
||||||
|
wstrb wr1, [r0, #0x100]
|
||||||
|
wstrh wr1, [r0, #0x100]
|
||||||
|
wldrb wr1, [r0, #-0x100]
|
||||||
|
wldrh wr1, [r0, #-0x100]
|
||||||
|
@ -135,8 +135,8 @@ Disassembly of section .text:
|
|||||||
0+1fc <[^>]*> ee65114b[ ]+wsrlhg[ ]+wr1, wr5, wcgr3
|
0+1fc <[^>]*> ee65114b[ ]+wsrlhg[ ]+wr1, wr5, wcgr3
|
||||||
0+200 <[^>]*> 4ea51148[ ]+wsrlwgmi[ ]+wr1, wr5, wcgr0
|
0+200 <[^>]*> 4ea51148[ ]+wsrlwgmi[ ]+wr1, wr5, wcgr0
|
||||||
0+204 <[^>]*> eee51149[ ]+wsrldg[ ]+wr1, wr5, wcgr1
|
0+204 <[^>]*> eee51149[ ]+wsrldg[ ]+wr1, wr5, wcgr1
|
||||||
0+208 <[^>]*> ed811004[ ]+wstrb[ ]+wr1, \[r1, #4\]
|
0+208 <[^>]*> ed8110ff[ ]+wstrb[ ]+wr1, \[r1, #255\]
|
||||||
0+20c <[^>]*> ede11004[ ]+wstrh[ ]+wr1, \[r1, #4\]!
|
0+20c <[^>]*> ed6110ff[ ]+wstrh[ ]+wr1, \[r1, #-255\]!
|
||||||
0+210 <[^>]*> eca11101[ ]+wstrw[ ]+wr1, \[r1\], #4
|
0+210 <[^>]*> eca11101[ ]+wstrw[ ]+wr1, \[r1\], #4
|
||||||
0+214 <[^>]*> edc111ff[ ]+wstrd[ ]+wr1, \[r1, #1020\]
|
0+214 <[^>]*> edc111ff[ ]+wstrd[ ]+wr1, \[r1, #1020\]
|
||||||
0+218 <[^>]*> fca1314b[ ]+wstrw[ ]+wcasf, \[r1\], #300
|
0+218 <[^>]*> fca1314b[ ]+wstrw[ ]+wcasf, \[r1\], #300
|
||||||
|
@ -164,8 +164,8 @@ iwmmxt:
|
|||||||
wsrlwgmi wr1, wr5, wcgr0
|
wsrlwgmi wr1, wr5, wcgr0
|
||||||
wsrldg wr1, wr5, wcgr1
|
wsrldg wr1, wr5, wcgr1
|
||||||
|
|
||||||
wstrb wr1, [r1, #4]
|
wstrb wr1, [r1, #0xFF]
|
||||||
wstrh wr1, [r1, #4]!
|
wstrh wr1, [r1, #-0xFF]!
|
||||||
wstrw wr1, [r1], #4
|
wstrw wr1, [r1], #4
|
||||||
wstrd wr1, [r1, #0x3FC]
|
wstrd wr1, [r1, #0x3FC]
|
||||||
wstrw wcasf, [r1], #300
|
wstrw wcasf, [r1], #300
|
||||||
|
Reference in New Issue
Block a user