aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
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/config
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/config')
-rw-r--r--gcc/config/arm/arm.c5
1 files changed, 5 insertions, 0 deletions
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;
}