http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59617

            Bug ID: 59617
           Summary: [vectorizer] ICE in vectorizable_mask_load_store with
                    AVX-512F's gathers enabled.
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kirill.yukhin at intel dot com

Created attachment 31529
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31529&action=edit
Reproducer

Hello, I am going to check in a patch, which will
enable AVX-512F new gathers instructions.

New gathers are use mask registers (%kN), while
vectorizable_mask_load_store asserts mask type to be compatible
with operand type.

This fails 416.gamess to build with -mavx512f -Ofast.

Reproducer attached.

Reproduce:
$ gfortran -S -Ofast -mavx512f hss2a.fppized.f

Back trace:
0xbcfc27 vectorizable_mask_load_store
        /export/users/kyukhin/gcc/git/gcc/gcc/tree-vect-stmts.c:1901
0xbddf6c vectorizable_call
        /export/users/kyukhin/gcc/git/gcc/gcc/tree-vect-stmts.c:2172
0xbe1021 vect_transform_stmt(gimple_statement_base*, gimple_stmt_iterator*,
bool*, _slp_tree*, _slp_instance*)
        /export/users/kyukhin/gcc/git/gcc/gcc/tree-vect-stmts.c:7017
0xbe4731 vect_transform_loop(_loop_vec_info*)
        /export/users/kyukhin/gcc/git/gcc/gcc/tree-vect-loop.c:6046
0xc00838 vectorize_loops()
        /export/users/kyukhin/gcc/git/gcc/gcc/tree-vectorizer.c:476

I'll check my patch in with disabled gathers, so to enable it -
remove `#if 0' in gcc/config/i386/i386.c

Reply via email to