From d8ad03e99d4018acd2e20787cf9b772bf80966f0 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 28 Sep 2006 13:10:13 +0000 Subject: [PATCH] * config/tc-arm.c (md_apply_fix): do not clear write_back bit * gas/arm/iwmmxt-wldstbh.s: New file. * gas/arm/iwmmxt-wldstbh.d: New file. --- gas/ChangeLog | 4 ++++ gas/config/tc-arm.c | 2 -- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/arm/iwmmxt-wldsttbh.d | 11 +++++++++++ gas/testsuite/gas/arm/iwmmxt-wldsttbh.s | 8 ++++++++ 5 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 gas/testsuite/gas/arm/iwmmxt-wldsttbh.d create mode 100644 gas/testsuite/gas/arm/iwmmxt-wldsttbh.s diff --git a/gas/ChangeLog b/gas/ChangeLog index 4d49d9b89ce..b08f7f92cf5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2006-09-28 Bridge Wu + + * config/tc-arm.c (md_apply_fix): Do not clear write_back bit. + 2006-09-27 Nick Clifton * output-file.c (output_file_close): Prevent an infinite loop diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 6b5834c1483..900fec66f14 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -18162,8 +18162,6 @@ md_apply_fix (fixS * fixP, newval = get_thumb32_insn (buf); newval &= 0xff7fff00; newval |= (value >> 2) | (sign ? INDEX_UP : 0); - if (value == 0) - newval &= ~WRITE_BACK; if (fixP->fx_r_type == BFD_RELOC_ARM_CP_OFF_IMM || fixP->fx_r_type == BFD_RELOC_ARM_CP_OFF_IMM_S2) md_number_to_chars (buf, newval, INSN_SIZE); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 756f4638e74..91a168e72f0 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-09-28 Bridge Wu + + * gas/arm/iwmmxt-wldstbh.s: New file. + * gas/arm/iwmmxt-wldstbh.d: New file. + 2006-09-26 Mark Shinwell Joseph Myers Ian Lance Taylor diff --git a/gas/testsuite/gas/arm/iwmmxt-wldsttbh.d b/gas/testsuite/gas/arm/iwmmxt-wldsttbh.d new file mode 100644 index 00000000000..c17a1d858a1 --- /dev/null +++ b/gas/testsuite/gas/arm/iwmmxt-wldsttbh.d @@ -0,0 +1,11 @@ +#objdump: -dr --prefix-addresses --show-raw-insn -miwmmxt +#name: Intel(r) Wireless MMX(tm) technology instructions version 1 +#as: -mcpu=xscale+iwmmxt -EL + +.*: +file format .*arm.* + +Disassembly of section .text: +0+000 ecb11000[ ]+wldrb[ ]+wr1, \[r1\] +0+004 <[^>]*> ecf11000[ ]+wldrh[ ]+wr1, \[r1\] +0+008 <[^>]*> eca11000[ ]+wstrb[ ]+wr1, \[r1\] +0+00c <[^>]*> ece11000[ ]+wstrh[ ]+wr1, \[r1\] diff --git a/gas/testsuite/gas/arm/iwmmxt-wldsttbh.s b/gas/testsuite/gas/arm/iwmmxt-wldsttbh.s new file mode 100644 index 00000000000..fd58c105de5 --- /dev/null +++ b/gas/testsuite/gas/arm/iwmmxt-wldsttbh.s @@ -0,0 +1,8 @@ + .text + .global iwmmxt +iwmmxt: + + wldrb wr1, [r1], #0 + wldrh wr1, [r1], #0 + wstrb wr1, [r1], #0 + wstrh wr1, [r1], #0 -- 2.30.2