* config/tc-arm.c (md_apply_fix): do not clear write_back bit
authorNick Clifton <nickc@redhat.com>
Thu, 28 Sep 2006 13:10:13 +0000 (13:10 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 28 Sep 2006 13:10:13 +0000 (13:10 +0000)
* gas/arm/iwmmxt-wldstbh.s: New file.
* gas/arm/iwmmxt-wldstbh.d: New file.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/iwmmxt-wldsttbh.d [new file with mode: 0644]
gas/testsuite/gas/arm/iwmmxt-wldsttbh.s [new file with mode: 0644]

index 4d49d9b89ceb06ca7da8bc9c834046a3d5d224cb..b08f7f92cf579e746472c88af1c6a1cd1b240e2e 100644 (file)
@@ -1,3 +1,7 @@
+2006-09-28  Bridge Wu  <mingqiao.wu@gmail.com>
+
+       * config/tc-arm.c (md_apply_fix): Do not clear write_back bit.
+
 2006-09-27  Nick Clifton  <nickc@redhat.com>
 
        * output-file.c (output_file_close): Prevent an infinite loop
index 6b5834c14835ee3a6460c6ba6b8e783e180a6c34..900fec66f142a5b8c827296ac561392ec61fb461 100644 (file)
@@ -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);
index 756f4638e743f49bd9eeba1a1ca848d3f42f3f1b..91a168e72f0541d799e5479213eb25c7622704f6 100644 (file)
@@ -1,3 +1,8 @@
+2006-09-28  Bridge Wu  <mingqiao.wu@gmail.com>
+
+       * gas/arm/iwmmxt-wldstbh.s: New file.
+       * gas/arm/iwmmxt-wldstbh.d: New file.
+
 2006-09-26  Mark Shinwell  <shinwell@codesourcery.com>
             Joseph Myers  <joseph@codesourcery.com>
             Ian Lance Taylor  <ian@wasabisystems.com>
diff --git a/gas/testsuite/gas/arm/iwmmxt-wldsttbh.d b/gas/testsuite/gas/arm/iwmmxt-wldsttbh.d
new file mode 100644 (file)
index 0000000..c17a1d8
--- /dev/null
@@ -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 <iwmmxt> 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 (file)
index 0000000..fd58c10
--- /dev/null
@@ -0,0 +1,8 @@
+        .text
+        .global iwmmxt
+iwmmxt:
+
+       wldrb   wr1, [r1], #0
+       wldrh   wr1, [r1], #0
+       wstrb   wr1, [r1], #0
+       wstrh   wr1, [r1], #0