[ARM][cleanup] Remove uses of CONST_DOUBLE_HIGH/LOW
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Nov 2015 17:27:42 +0000 (17:27 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230115 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 75dc765..07f574f 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 f4ebbc8..f5c8825 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.  */