From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D7609385841C; Fri, 26 Jan 2024 06:50:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D7609385841C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1706251833; bh=+8s+WAw/2dE72aEt0copIUilYs2IciIraxUq+PobHeg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=arxGhBB+tPXbrWjruMsdJeOPBIN4zW7iGLMIVOuQ0Q3VjZPA/eqNZaX9qRMXwsWIS E9eOP9JCadl3pDu/GJBi2Ft+K9EBJZaeSYDXz0JtVP3PX86SkzBwAzgso99UK2bLkQ qNZw1Sk572ZwA6DG89LhtiAKlHHWEK2jx4wAiy2Q= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/113469] RISC-V: Illegal Insn for test case 920501-8.c when make linux for rv32 Date: Fri, 26 Jan 2024 06:50:32 +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: 14.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit 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: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D113469 --- Comment #1 from GCC Commits --- The master branch has been updated by Pan Li : https://gcc.gnu.org/g:d40b3c1e439db05c835b6bd4fd5bba58fda71dd6 commit r14-8442-gd40b3c1e439db05c835b6bd4fd5bba58fda71dd6 Author: Juzhe-Zhong Date: Fri Jan 26 14:46:21 2024 +0800 RISC-V: Fix incorrect LCM delete bug [VSETVL PASS] This patch fixes the recent noticed bug in RV32 glibc. We incorrectly deleted a vsetvl: ... and a4,a4,a3 vmv.v.i v1,0 ---> Missed vsetvl cause illegal instruction report. vse8.v v1,0(a5) The root cause the laterin in LCM is incorrect. BB 358: avloc: n_bits =3D 2, set =3D {} kill: n_bits =3D 2, set =3D {} antloc: n_bits =3D 2, set =3D {} transp: n_bits =3D 2, set =3D {} avin: n_bits =3D 2, set =3D {} avout: n_bits =3D 2, set =3D {} del: n_bits =3D 2, set =3D {} cause LCM let BB 360 delete the vsetvl: BB 360: avloc: n_bits =3D 2, set =3D {} kill: n_bits =3D 2, set =3D {} antloc: n_bits =3D 2, set =3D {} transp: n_bits =3D 2, set =3D {0 1 } avin: n_bits =3D 2, set =3D {} avout: n_bits =3D 2, set =3D {} del: n_bits =3D 2, set =3D {1} Also, remove unknown vsetvl info into local computation since it is unnecessary. Tested on both RV32/RV64 no regression. PR target/113469 gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Fix bug. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/pr113469.c: New test.=