From e54170f4fdead56ae950f57886af5f48c202eb83 Mon Sep 17 00:00:00 2001 From: Chung-Lin Tang Date: Sun, 17 Apr 2011 18:17:15 +0000 Subject: arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands. 2011-04-17 Chung-Lin Tang * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands. From-SVN: r172617 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'gcc') 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 + + * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC + memory operands. + 2011-04-17 Richard Sandiford * 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; } -- cgit v1.1