From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A1720386D635; Thu, 15 Feb 2024 23:43:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A1720386D635 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1708040625; bh=9Rh28HCfTWGUTOGK+rk7Qhs3AhtBE4V5ROc33+tPeog=; h=From:To:Subject:Date:From; b=i/UhOdy6gImDdSHDxqU2ZDdzqOWgk1k2eCbUSeMJKXayTfs6tToQ0U/Httq76EBwC 3yQ7EChyAh3y7edT8HmwHJ+fn7wv+w5mHoEDGEibjPJ2dLa6tz5r4oRSWSywoaa3oc uH/Such/c/yuAsQxsA8D372vTU0d0UHMcWf47VHc= From: "carll at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case Date: Thu, 15 Feb 2024 23:43:44 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: carll at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: 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 target_milestone Message-ID: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D113950 Bug ID: 113950 Summary: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: carll at gcc dot gnu.org Target Milestone: --- Power 10 LE Fedora 38 Test of the __builtin_vsx_splat_2di ICEs on GCC 12 and later. The following test case generates an ICE for -O1 and above. It does work f= or -O0. void abort (void); int main () { int i; vector signed long long vsll_result, vsll_expected_result; signed long long sll_arg1; sll_arg1 =3D 300; vsll_expected_result =3D (vector signed long long) {300, 300}; vsll_result =3D __builtin_vsx_splat_2di (sll_arg1); //ISSUE=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 for (i =3D 0; i < 2; i++) if (vsll_result[i] !=3D vsll_expected_result[i]) abort(); return 0; } The test case compiles fine with -O0. Here is the output when I try to compile with -O1: gcc -g -O1 compiler-bug.c -o compiler-bug compiler-bug.c: In function =E2=80=98main=E2=80=99: compiler-bug.c:19:1: error: unrecognizable insn: 19 | } | ^ (insn 14 13 15 2 (set (reg:V2DI 117 [ _1 ]) (vec_duplicate:V2DI (const_int 300 [0x12c]))) "compiler-bug.c":12:1= 7 -1 (nil)) during RTL pass: vregs compiler-bug.c:19:1: internal compiler error: in extract_insn, at recog.cc:= 2791 Please submit a full bug report, with preprocessed source. See for instructions. Preprocessed source stored into /tmp/ccnoI5lr.out file, please attach this = to your bugreport.=