From: Chung-Lin Tang Date: Sun, 17 Apr 2011 18:17:15 +0000 (+0000) Subject: arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e54170f4fdead56ae950f57886af5f48c202eb83;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4212388a4b4..cc3bd641021 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 d9b9829c3c6..dc45eb0203c 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; }