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

Reply via email to