2017-08-01 Tamar Christina <tamar.christina@arm.com>
authorTamar Christina <tamar.christina@arm.com>
Tue, 1 Aug 2017 09:56:31 +0000 (09:56 +0000)
committerTamar Christina <tnfchris@gcc.gnu.org>
Tue, 1 Aug 2017 09:56:31 +0000 (09:56 +0000)
* config/aarch64/aarch64.c
(aarch64_can_const_movi_rtx_p): Move 0 check.

From-SVN: r250766

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index 10c10c7..aba2550 100644 (file)
@@ -1,3 +1,8 @@
+2017-08-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64.c
+       (aarch64_can_const_movi_rtx_p): Move 0 check.
+
 2017-08-01  Bin Cheng  <bin.cheng@arm.com>
 
        * tree.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Delete.
index 055ebaf..5a2ad7e 100644 (file)
@@ -4787,10 +4787,6 @@ aarch64_can_const_movi_rtx_p (rtx x, machine_mode mode)
   if (!TARGET_SIMD)
      return false;
 
-  /* We make a general exception for 0.  */
-  if (aarch64_float_const_zero_rtx_p (x))
-      return true;
-
   machine_mode vmode, imode;
   unsigned HOST_WIDE_INT ival;
 
@@ -4800,6 +4796,10 @@ aarch64_can_const_movi_rtx_p (rtx x, machine_mode mode)
       if (!aarch64_reinterpret_float_as_int (x, &ival))
        return false;
 
+      /* We make a general exception for 0.  */
+      if (aarch64_float_const_zero_rtx_p (x))
+       return true;
+
       imode = int_mode_for_mode (mode);
     }
   else if (GET_CODE (x) == CONST_INT