From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 116341 invoked by alias); 12 Mar 2015 18:04:57 -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 116014 invoked by uid 48); 12 Mar 2015 18:04:53 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/59683] ICE: in classify_argument, at config/i386/i386.c:6637 with #pragma GCC target("avx512f") Date: Thu, 12 Mar 2015 18:04:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on cf_known_to_work target_milestone everconfirmed Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-03/txt/msg01366.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D59683 Uro=C5=A1 Bizjak changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-03-12 Known to work| |5.0 Target Milestone|--- |4.9.3 Ever confirmed|0 |1 --- Comment #1 from Uro=C5=A1 Bizjak --- This compiles OK with 5.0: pr59683.c: In function =E2=80=98bar=E2=80=99: pr59683.c:16:1: warning: AVX512F vector return without AVX512F enabled chan= ges the ABI [-Wpsabi] { ^ Confirmed on 4.9 branch. >>From gcc-bugs-return-480223-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Mar 12 18:14:20 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 126392 invoked by alias); 12 Mar 2015 18:14:19 -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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 126322 invoked by uid 48); 12 Mar 2015 18:14:16 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/65369] [5 Regression] nettle test failure on powerpc64le-linux-gnu when built with -O3 Date: Thu, 12 Mar 2015 18:14:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: thopre01 at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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: 2015-03/txt/msg01367.txt.bz2 Content-length: 1274 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65369 --- Comment #26 from Jakub Jelinek --- So, on my version of the testcase with r210843 -O3 -mcpu=power8 there are like 49 32 bit load in host endianness found at: _105 = MEM[(const unsigned char *)load_src_25]; occurrences, so I've added a quick hack (should have used dbg counters parhaps), and with BSWAPCNT=16 it works fine, with BSWAPCNT=17 it fails. In the *.optimized dump, I've noticed that this single load matters for vectorization in md4_update function, with BSWAPCNT=16 a chunk of code isn't vectorized, with BSWAPCNT=17 it is. --- tree-ssa-math-opts.c.xx 2015-03-12 17:44:13.000000000 +0100 +++ tree-ssa-math-opts.c 2015-03-12 18:52:49.280605232 +0100 @@ -2132,6 +2132,17 @@ bswap_replace (gimple stmt, gimple_stmt_ gimple addr_stmt, load_stmt; unsigned align; +static int cntx = -1; +if (cntx == -1) +{ +if (getenv ("BSWAPCNT")) +cntx = atoi (getenv ("BSWAPCNT")); +else +cntx = 0x7fffffff; +} +if (cntx == 0) +return false; +cntx--; align = get_object_alignment (src); if (bswap && SLOW_UNALIGNED_ACCESS (TYPE_MODE (load_type), align)) return false; So very well this might just trigger a latent bug in the vectorizer or powerpc backend.