[ARM][cleanup] Remove uses of CONST_DOUBLE_HIGH/LOW
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 10 Nov 2015 17:27:42 +0000 (17:27 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 10 Nov 2015 17:27:42 +0000 (17:27 +0000)
* config/arm/arm.c (neon_valid_immediate): Remove integer
CONST_DOUBLE handling.  It should never occur.

From-SVN: r230115

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

index 75dc765b34aa293b174bfeaec8eedc2029f5c345..07f574f17b1f608314a783670dfe461dd737ca02 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm.c (neon_valid_immediate): Remove integer
+       CONST_DOUBLE handling.  It should never occur.
+
 2015-11-10  Matthew Wahab  <matthew.wahab@arm.com>
 
        * config/aarch64/atomics.md (unspecv): Move to iterators.md.
index f4ebbc80f160e135bacc20ecdd313aa04136a74f..f5c882532044389daf85d121fb45aee8054015cb 100644 (file)
@@ -12339,32 +12339,15 @@ neon_valid_immediate (rtx op, machine_mode mode, int inverse,
     {
       rtx el = vector ? CONST_VECTOR_ELT (op, i) : op;
       unsigned HOST_WIDE_INT elpart;
-      unsigned int part, parts;
 
-      if (CONST_INT_P (el))
-        {
-          elpart = INTVAL (el);
-          parts = 1;
-        }
-      else if (CONST_DOUBLE_P (el))
-        {
-          elpart = CONST_DOUBLE_LOW (el);
-          parts = 2;
-        }
-      else
-        gcc_unreachable ();
+      gcc_assert (CONST_INT_P (el));
+      elpart = INTVAL (el);
 
-      for (part = 0; part < parts; part++)
-        {
-          unsigned int byte;
-          for (byte = 0; byte < innersize; byte++)
-            {
-              bytes[idx++] = (elpart & 0xff) ^ invmask;
-              elpart >>= BITS_PER_UNIT;
-            }
-          if (CONST_DOUBLE_P (el))
-            elpart = CONST_DOUBLE_HIGH (el);
-        }
+      for (unsigned int byte = 0; byte < innersize; byte++)
+       {
+         bytes[idx++] = (elpart & 0xff) ^ invmask;
+         elpart >>= BITS_PER_UNIT;
+       }
     }
 
   /* Sanity check.  */