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