From: Kyrylo Tkachov Date: Tue, 7 Apr 2015 10:24:19 +0000 (+0000) Subject: [ARM] PR 65489: Accept VSTRUCT constants in arm_legitimate_constant_p X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b7c43e2429b80573b3cb028a4569e2d82228a439;p=gcc.git [ARM] PR 65489: Accept VSTRUCT constants in arm_legitimate_constant_p PR target/65489 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction on constants for NEON VSTRUCT modes. From-SVN: r221892 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7f3d4a326da..f65dd4d1e76 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-04-07 Kyrylo Tkachov + + PR target/65489 + * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction + on constants for NEON VSTRUCT modes. + 2015-04-07 Jakub Jelinek Iain Sandoe diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 3b2b9a699c1..8fd138856d5 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -8193,14 +8193,8 @@ arm_tls_referenced_p (rtx x) When generating pic allow anything. */ static bool -arm_legitimate_constant_p_1 (machine_mode mode, rtx x) +arm_legitimate_constant_p_1 (machine_mode, rtx x) { - /* At present, we have no support for Neon structure constants, so forbid - them here. It might be possible to handle simple cases like 0 and -1 - in future. */ - if (TARGET_NEON && VALID_NEON_STRUCT_MODE (mode)) - return false; - return flag_pic || !label_mentioned_p (x); }