[RFC] Add aarch64 support for ada

2014-04-16 Thread rth
From: Richard Henderson The primary bit of rfc here is the hunk that applies to ada/types.h with respect to Fat_Pointer. Given that the Ada type, as defined in s-stratt.ads, does not include alignment, I can't imagine why the C type should have it. This causes problems with the AArch64 calling

[PATCH 6/6] Expand vector permutation with vec_perm and vec_perm_const.

2011-10-13 Thread rth
From: Richard Henderson --- gcc/doc/md.texi |6 ++ gcc/genopinit.c |1 + gcc/optabs.c| 216 --- gcc/optabs.h| 12 ++- gcc/tree-vect-generic.c |2 +- 5 files changed, 181 insertions(+), 56 deletions

[PATCH 4/6] Move lowering of vector shifts from v/s to v/v to rtl.

2011-10-13 Thread rth
From: Richard Henderson This allows other rtl expanders to rely on shifts of vector by scalar. This replaces the patch posted a couple of days ago that adds these scalar shifts to the rs6000 backend, following the info that Sparc needs this fallback as well. --- gcc/optabs.c

[PATCH 3/6] i386: Implement vec_perm_const.

2011-10-13 Thread rth
From: Richard Henderson --- gcc/config/i386/i386-protos.h |1 + gcc/config/i386/i386.c| 61 + gcc/config/i386/sse.md| 21 ++ 3 files changed, 83 insertions(+), 0 deletions(-) diff --git a/gcc/config/i386/i386-protos.h b

[PATCH 5/6] rs6000: Fix typo in rs6000_expand_vector_init

2011-10-13 Thread rth
From: Richard Henderson Of course we don't support vectors of size <= 4. We're supposed to be checking the vector element size. --- gcc/config/rs6000/rs6000.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4

[PATCH 2/6] spu: Implement vec_permv16qi.

2011-10-13 Thread rth
From: Richard Henderson --- gcc/config/spu/spu.md | 12 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/gcc/config/spu/spu.md b/gcc/config/spu/spu.md index 676d54e..00cfaa4 100644 --- a/gcc/config/spu/spu.md +++ b/gcc/config/spu/spu.md @@ -4395,6 +4395,18 @@ selb\t

[PATCH 0/6] Cleanups for generic vector permutation.

2011-10-13 Thread rth
From: Richard Henderson These patches allow __builtin_shuffle to handle any vector permutation via optabs. It allows for a not-uncommon fallback to byte permutation at rtl expansion time, while leaving the tree/gimple-level permutation as element-based. All three targets which heretofore suppor

[PATCH 1/6] rs6000: Implement vec_permv16qi.

2011-10-13 Thread rth
From: Richard Henderson --- gcc/config/rs6000/altivec.md |9 + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 9e7437e..84c5444 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.m