aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2015-11-10 17:27:42 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2015-11-10 17:27:42 +0000
commitaad146c36f23de1338a53336941a8495b3750cd9 (patch)
tree1999e7ff40af26df6888c1878bdff0cb9d92d93b /gcc
parentd81cb6135e67bf77d234b1b9510fb755f14eb444 (diff)
downloadgcc-aad146c36f23de1338a53336941a8495b3750cd9.zip
gcc-aad146c36f23de1338a53336941a8495b3750cd9.tar.gz
gcc-aad146c36f23de1338a53336941a8495b3750cd9.tar.bz2
[ARM][cleanup] Remove uses of CONST_DOUBLE_HIGH/LOW
* config/arm/arm.c (neon_valid_immediate): Remove integer CONST_DOUBLE handling. It should never occur. From-SVN: r230115
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c31
2 files changed, 12 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 75dc765..07f574f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index f4ebbc8..f5c8825 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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. */