diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2015-11-10 17:27:42 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2015-11-10 17:27:42 +0000 |
commit | aad146c36f23de1338a53336941a8495b3750cd9 (patch) | |
tree | 1999e7ff40af26df6888c1878bdff0cb9d92d93b | |
parent | d81cb6135e67bf77d234b1b9510fb755f14eb444 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 31 |
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. */ |