From aad146c36f23de1338a53336941a8495b3750cd9 Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Tue, 10 Nov 2015 17:27:42 +0000 Subject: [PATCH] [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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 31 +++++++------------------------ 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 75dc765b34a..07f574f17b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-11-10 Kyrylo Tkachov + + * config/arm/arm.c (neon_valid_immediate): Remove integer + CONST_DOUBLE handling. It should never occur. + 2015-11-10 Matthew Wahab * config/aarch64/atomics.md (unspecv): Move to iterators.md. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index f4ebbc80f16..f5c88253204 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. */ -- 2.30.2