[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
This commit is contained in:
Kyrylo Tkachov 2015-11-10 17:27:42 +00:00 committed by Kyrylo Tkachov
parent d81cb6135e
commit aad146c36f
2 changed files with 12 additions and 24 deletions

View 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.

View 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. */