Hi Richard,
On 25 Oct 2011, at 01:17, Richard Henderson wrote:
The Idea with this patch set is to re-arrange vector permutation
so that it can be used to implement other patterns automatically.
In particular, Altivec, SPU currently have (and Sparc VIS would need)
a large amount of boilerplate code that transforms several higher
level tree codes into vector permutation inside the backend. This
seems a bit unnecessary.
It's arguable that we could simply make VEC_PERM_EXPR the only code
that gets generated at the vectorizer level, and drop some of these
other patterns entirely. I'm not 100% sure we should go that far,
but even if we did, I still think this is a good cleanup.
Bootstrapped and tested on x86_64-linux only. I've only cross-tested
the ppc/spu patches.
unfortunately, the series breaks bootstrap for powerpc-darwin9:
http://gcc.gnu.org/ml/gcc-regression/2011-10/msg00539.html
the failure is in building libgfortran:
libtool: compile: /GCC/gcc-4-7-trunk-build/./gcc/xgcc -B/GCC/gcc-4-7-
trunk-build/./gcc/ -B/GCC/gcc-4-7-install/powerpc-apple-darwin9/bin/ -
B/GCC/gcc-4-7-install/powerpc-apple-darwin9/lib/ -isystem /GCC/gcc-4-7-
install/powerpc-apple-darwin9/include -isystem /GCC/gcc-4-7-install/
powerpc-apple-darwin9/sys-include -DHAVE_CONFIG_H -I. -I/GCC/gcc-live-
trunk/libgfortran -iquote/GCC/gcc-live-trunk/libgfortran/io -I/GCC/gcc-
live-trunk/libgfortran/../gcc -I/GCC/gcc-live-trunk/libgfortran/../gcc/
config -I../.././gcc -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-
prototypes -Wold-style-definition -Wextra -Wwrite-strings -fcx-fortran-
rules -ffunction-sections -fdata-sections -ftree-vectorize -funroll-
loops -g -O2 -MT matmul_c4.lo -MD -MP -MF .deps/matmul_c4.Tpo -c /GCC/
gcc-live-trunk/libgfortran/generated/matmul_c4.c -fno-common -DPIC -
o .libs/matmul_c4.o
/GCC/gcc-live-trunk/libgfortran/generated/matmul_c4.c: In function
‘matmul_c4’:
/GCC/gcc-live-trunk/libgfortran/generated/matmul_c4.c:284:25: internal
compiler error: in expand_vec_perm, at optabs.c:6998
Please submit a full bug report,
with preprocessed source if appropriate.
it is reproducible with a stage-1 compiler - so presumably off a cross
too.
cheers
Iain