OSDN Git Service

2011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
authorcltang <cltang@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Apr 2011 18:17:15 +0000 (18:17 +0000)
committercltang <cltang@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Apr 2011 18:17:15 +0000 (18:17 +0000)
* config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
memory operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172617 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 4212388..cc3bd64 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-17  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
+       memory operands.
+
 2011-04-17  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
index d9b9829..dc45eb0 100644 (file)
@@ -9070,6 +9070,11 @@ neon_struct_mem_operand (rtx op)
   if (GET_CODE (ind) == REG)
     return arm_address_register_rtx_p (ind, 0);
 
+  /* vldm/vstm allows POST_INC (ia) and PRE_DEC (db).  */
+  if (GET_CODE (ind) == POST_INC
+      || GET_CODE (ind) == PRE_DEC)
+    return arm_address_register_rtx_p (XEXP (ind, 0), 0);
+
   return FALSE;
 }