On Thu, Feb 20, 2014 at 07:39:33PM +0100, Jakub Jelinek wrote: > active) with RTL checking, further tested with > GCC_TEST_RUN_EXPENSIVE=1 make -j16 -k check > RUNTESTFLAGS='--target_board=unix\{-msse2,-msse3,-mssse3,-msse4,-mavx,-mavx2,-mavx512f\} > dg-torture.exp=*vshuf*' > (on AVX HW, so -mavx2 and -mavx512f tests expectedly failed execution, > but at least didn't fail compilation, with the exception of > gcc.dg/torture/vshuf-v8sf.c which ICEs with -mavx2 -DEXPENSIVE, but > both without this patch and with this patch - will look at it eventually).
The fix for vshuf-v8sf.c -mavx2 -DEXPENSIVE is here, tested with the above mentioned test (again, only AVX capable HW), the ICE is gone. Full bootstrap/regtest pending, ok for trunk/4.8 if it succeeds? 2014-02-20 Jakub Jelinek <ja...@redhat.com> * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode mode for mask of V8SFmode permutation. --- gcc/config/i386/i386.c.jj 2014-02-20 13:05:27.000000000 +0100 +++ gcc/config/i386/i386.c 2014-02-20 19:52:26.142131204 +0100 @@ -21457,7 +21457,7 @@ ix86_expand_vec_perm (rtx operands[]) return; case V8SFmode: - mask = gen_lowpart (V8SFmode, mask); + mask = gen_lowpart (V8SImode, mask); if (one_operand_shuffle) emit_insn (gen_avx2_permvarv8sf (target, op0, mask)); else Jakub