From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9510E3893675; Wed, 10 Apr 2024 17:43:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9510E3893675 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1712771027; bh=JFiCIEvQl/tCM0EuMqFzcRaFUPT2H9YfhBWAm1Ue12g=; h=From:To:Subject:Date:In-Reply-To:References:From; b=avcXGgcACs4gMrz5SUsit+H82PDCzNvxG/906k/fgIZMgdTFQE4Q6afwVB9DGEaHX EIkpsHHdueAkCvTU66TbNg7uMELQII2yEZtqaynDGssiWlFcw52eUDt99S1Ke0BBsC qy4FcEpqPUo7v3wgXTzuqciTnbrpHUz+16RfQBrU= From: "patrick at rivosinc dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3 Date: Wed, 10 Apr 2024 17:43:46 +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: 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: attachments.created 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=3D114665 --- Comment #3 from Patrick O'Neill --- Created attachment 57922 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D57922&action=3Dedit Generated assembly files Hmm doesn't look like it from my side - maybe there's some stack related weirdness going on here. Using r14-9877-g1f719aa7c0d > cat red.c signed char b; _Bool c[15][15]; int main() { for (long f =3D 0; f < 5; ++f) for (long g =3D 0; g < 5; ++g) c[f][g] =3D 1; _Bool(*h)[15] =3D c; for (int f =3D 0; f < 15; f +=3D 1) for (int g =3D 0; g < 15; g +=3D 1) b -=3D c[g][g] ? c[g][g] : h[f][g]; __builtin_printf("%X\n", b); } > /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/riscv64-unknown-linux-gnu= -gcc -march=3Drv64gcv -O3 red.c -o red.out > /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/qemu-riscv64 red.out 35 > /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/riscv64-unknown-linux-gnu= -gcc -march=3Drv64gcv -O2 red.c -o red.out > /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/qemu-riscv64 red.out FFFFFFB5=