[ARM] PR 65489: Accept VSTRUCT constants in arm_legitimate_constant_p
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 7 Apr 2015 10:24:19 +0000 (10:24 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 7 Apr 2015 10:24:19 +0000 (10:24 +0000)
PR target/65489
* config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
on constants for NEON VSTRUCT modes.

From-SVN: r221892

gcc/ChangeLog
gcc/config/arm/arm.c

index 7f3d4a326da714fcf37e87b2ab553e7c3759c722..f65dd4d1e76f245ed7c10df53774090a3f8a46f5 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       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  <jakub@redhat.com>
            Iain Sandoe  <iain@codesourcery.com>
 
index 3b2b9a699c130ef628585dccaed49bc0154cab87..8fd138856d5c8387ba48713ea26a6b25f48eeb63 100644 (file)
@@ -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);
 }