mirror of git://gcc.gnu.org/git/gcc.git
[AArch64][cleanup] Remove uses of CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Remove integer CONST_DOUBLE handling. It should never occur. From-SVN: r230030
This commit is contained in:
parent
2ca5b4303b
commit
ee78df47b1
|
@ -1,3 +1,8 @@
|
|||
2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
|
||||
Remove integer CONST_DOUBLE handling. It should never occur.
|
||||
|
||||
2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
PR target/68129
|
||||
|
|
|
@ -10158,32 +10158,16 @@ aarch64_simd_valid_immediate (rtx op, machine_mode mode, bool inverse,
|
|||
it must be laid out in the vector register in reverse order. */
|
||||
rtx el = CONST_VECTOR_ELT (op, BYTES_BIG_ENDIAN ? (n_elts - 1 - i) : i);
|
||||
unsigned HOST_WIDE_INT elpart;
|
||||
unsigned int part, parts;
|
||||
|
||||
if (CONST_INT_P (el))
|
||||
{
|
||||
elpart = INTVAL (el);
|
||||
parts = 1;
|
||||
}
|
||||
else if (GET_CODE (el) == CONST_DOUBLE)
|
||||
{
|
||||
elpart = CONST_DOUBLE_LOW (el);
|
||||
parts = 2;
|
||||
}
|
||||
else
|
||||
gcc_unreachable ();
|
||||
gcc_assert (CONST_INT_P (el));
|
||||
elpart = INTVAL (el);
|
||||
|
||||
for (unsigned int byte = 0; byte < innersize; byte++)
|
||||
{
|
||||
bytes[idx++] = (elpart & 0xff) ^ invmask;
|
||||
elpart >>= BITS_PER_UNIT;
|
||||
}
|
||||
|
||||
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 (GET_CODE (el) == CONST_DOUBLE)
|
||||
elpart = CONST_DOUBLE_HIGH (el);
|
||||
}
|
||||
}
|
||||
|
||||
/* Sanity check. */
|
||||
|
|
Loading…
Reference in New Issue