On 10/10/14 15:48, David Sherwood wrote:
Hi,
I have a fix (originally written by Tejas Belagod) for the following bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59810
Could someone take a look please?
Thanks!
David Sherwood.
ChangeLog:
gcc/:
2014-10-10 David Sherwood <david.sherw...@arm.com>
* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist,
aarch64_reverse_mask): New decls.
* config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
* config/aarch64/iterators.md (insn_count): New mode_attr.
* config/aarch64/aarch64-simd.md (vec_store_lanes(o/c/x)i,
vec_load_lanes(o/c/x)i): Fixed to work for Big Endian.
* config/aarch64/aarch64-simd.md (aarch64_rev_reglist,
aarch64_simd_(ld/st)(2/3/4)): Added.
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist,
aarch64_reverse_mask): Added.
+ RTVEC_ELT (v, (i * usize + j)) = GEN_INT (((i+1) * usize) - 1 - j);
s/i+1/i + 1. Remove extra parentheses.
Tejas.