aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChung-Lin Tang <cltang@codesourcery.com>2011-04-17 18:17:15 +0000
committerChung-Lin Tang <cltang@gcc.gnu.org>2011-04-17 18:17:15 +0000
commite54170f4fdead56ae950f57886af5f48c202eb83 (patch)
treeff29e335ac67edf08944b367244c5b64b8ff79c5 /gcc
parentb14ee6c9ce76804143ab60dacf31f2fc8c6646b9 (diff)
downloadgcc-e54170f4fdead56ae950f57886af5f48c202eb83.zip
gcc-e54170f4fdead56ae950f57886af5f48c202eb83.tar.gz
gcc-e54170f4fdead56ae950f57886af5f48c202eb83.tar.bz2
arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands.
2011-04-17 Chung-Lin Tang <cltang@codesourcery.com> * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands. From-SVN: r172617
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4212388..cc3bd64 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index d9b9829..dc45eb0 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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;
}