Commit 4b1e108c by Alan Lawrence Committed by James Greenhalgh

[PATCH AArch64] Fix aarch64_simd_valid_immediate for Bigendian

gcc/

	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
	order of elements for big-endian.

From-SVN: r208814
parent 774f4758
2014-03-25 Alan Lawrence <alan.lawrence@arm.com>
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
order of elements for big-endian.
2014-03-25 Richard Biener <rguenther@suse.de>
PR middle-end/60635
......
......@@ -6566,7 +6566,9 @@ aarch64_simd_valid_immediate (rtx op, enum machine_mode mode, bool inverse,
/* Splat vector constant out into a byte vector. */
for (i = 0; i < n_elts; i++)
{
rtx el = CONST_VECTOR_ELT (op, i);
/* The vector is provided in gcc endian-neutral fashion. For aarch64_be,
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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment