From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E31C73858C66; Fri, 1 Mar 2024 21:52:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E31C73858C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709329974; bh=aSj+ThE3DsNYGOTQ5ydeVB/4O1wNO2aVhPAetSD3nEk=; h=From:To:Subject:Date:From; b=bUjY+Lud2J+vGOEcH7hBjvB6Qw+4kqUlILbtde1jdAb16ErRPTfjH5RadCZnxkb0C Ja+oVRKmB3Udr5AYUkJrpNo1pWPrkHCEClZY18v7LqJ5cNFSvS/CXzQWcXzPrjB4Fo LziDHJRHohLHrIBVndEIk5R4laVgF7ubQXX7aaOQ= From: "patrick at rivosinc dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/114198] New: [14] RISC-V fixed-length vector -flto ICE: in vectorizable_load, at tree-vect-stmts.cc:10570 Date: Fri, 01 Mar 2024 21:52:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: patrick at rivosinc dot com 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=3D114198 Bug ID: 114198 Summary: [14] RISC-V fixed-length vector -flto ICE: in vectorizable_load, at tree-vect-stmts.cc:10570 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: patrick at rivosinc dot com Target Milestone: --- Testcase: extern int a; extern long b[]; char c =3D -61; int d =3D 1198809473; int e =3D -1766414329; short f[1][13]; int g[1][13][13]; signed char h[1][13][13]; long long i[1][13][13][13], j[1][13][13][13]; unsigned k[1][13][13][13][13]; void l(char q, long r, int s, short t[][13], int u[][13][13], signed char v[][13][13], long long w[][13][13][13], long long x[][13][13][13], unsigned y[][13][13][13][13]) { for (int m =3D 0; m < 3; m =3D 31) for (unsigned n =3D 0; n < ({ v ? v[m][4][4] : 0; }); n +=3D 3) for (int o =3D 0; o < s - 18446744071943137274ULL; o +=3D r - 9893399894145917309ULL) for (unsigned p =3D 0; p < (unsigned char)q - 182; p +=3D 2) { b[o] &=3D x[m][4][n][4]; a =3D y[p][o][n][4][m]; } } int main() { l(c, d, e, f, g, h, i, j, k); } Backtrace: > /scratch/tc-testing/tc-feb-20/build-rv64gcv/bin/riscv64-unknown-linux-gnu= -gcc -march=3Drv64gcv -flto -O3 --param=3Driscv-autovec-preference=3Dfixed-= vlmax red.c -o red.out during GIMPLE pass: vect ./red.c: In function 'main': ./red.c:23:5: internal compiler error: in vectorizable_load, at tree-vect-stmts.cc:10570 23 | int main() { l(c, d, e, f, g, h, i, j, k); } | ^ 0xb9a8a9 vectorizable_load ../../../gcc/gcc/tree-vect-stmts.cc:10570 0x2601257 vect_analyze_stmt(vec_info*, _stmt_vec_info*, bool*, _slp_tree*, _slp_instance*, vec*) ../../../gcc/gcc/tree-vect-stmts.cc:13240 0x1488db2 vect_analyze_loop_operations ../../../gcc/gcc/tree-vect-loop.cc:2208 0x1488db2 vect_analyze_loop_2 ../../../gcc/gcc/tree-vect-loop.cc:3041 0x148aac0 vect_analyze_loop_1 ../../../gcc/gcc/tree-vect-loop.cc:3481 0x148b259 vect_analyze_loop(loop*, vec_info_shared*) ../../../gcc/gcc/tree-vect-loop.cc:3639 0x14d2ce4 try_vectorize_loop_1 ../../../gcc/gcc/tree-vectorizer.cc:1066 0x14d2ce4 try_vectorize_loop ../../../gcc/gcc/tree-vectorizer.cc:1182 0x14d360c execute ../../../gcc/gcc/tree-vectorizer.cc:1298 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See for instructions. lto-wrapper: fatal error: /scratch/tc-testing/tc-feb-20/build-rv64gcv/bin/riscv64-unknown-linux-gnu-g= cc returned 1 exit status compilation terminated. /scratch/tc-testing/tc-feb-20/build-rv64gcv/lib/gcc/riscv64-unknown-linux-g= nu/14.0.1/../../../../riscv64-unknown-linux-gnu/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status Godbolt: https://godbolt.org/z/M7obrj3vK Tested/found using r14-9084-g61ab046a327 (not bisected) Found via fuzzer.=