From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20985 invoked by alias); 28 Dec 2013 22:21:40 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 20961 invoked by uid 48); 28 Dec 2013 22:21:35 -0000 From: "kirill.yukhin at intel dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/59617] New: [vectorizer] ICE in vectorizable_mask_load_store with AVX-512F's gathers enabled. Date: Sat, 28 Dec 2013 22:21:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: kirill.yukhin at intel dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-12/txt/msg02313.txt.bz2 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