public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3
@ 2024-04-09 19:56 patrick at rivosinc dot com
  2024-04-10 12:09 ` [Bug target/114665] " rdapp at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: patrick at rivosinc dot com @ 2024-04-09 19:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

            Bug ID: 114665
           Summary: [14] RISC-V rv64gcv: miscompile at -O3
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: patrick at rivosinc dot com
  Target Milestone: ---

Testcase:
signed char b;
_Bool c[15][15];
int main()
{
  for (long f = 0; f < 5; ++f)
    for (long g = 0; g < 5; ++g)
      c[f][g] = 1;
  _Bool(*h)[15] = c;
  for (int f = 0; f < 15; f += 1)
    for (int g = 0; g < 15; g += 1)
      b -= c[g][g] ? c[g][g] : h[f][g];
  __builtin_printf("%X\n", b);
}

Commands:
> /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc -march=rv64gcv -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=rv64gcv -O2 red.c -o red.out
> /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/qemu-riscv64 red.out
FFFFFFB5

Discovered/tested using r14-9877-g1f719aa7c0d (not bisected)

Found via fuzzer.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3
  2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
@ 2024-04-10 12:09 ` rdapp at gcc dot gnu.org
  2024-04-10 12:42 ` rdapp at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rdapp at gcc dot gnu.org @ 2024-04-10 12:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

--- Comment #1 from Robin Dapp <rdapp at gcc dot gnu.org> ---
Hmm, my local version is a bit older and seems to give the same result for both
-O2 and -O3.  At least a good starting point for bisection then.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3
  2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
  2024-04-10 12:09 ` [Bug target/114665] " rdapp at gcc dot gnu.org
@ 2024-04-10 12:42 ` rdapp at gcc dot gnu.org
  2024-04-10 17:43 ` patrick at rivosinc dot com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rdapp at gcc dot gnu.org @ 2024-04-10 12:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

--- Comment #2 from Robin Dapp <rdapp at gcc dot gnu.org> ---
Checked with the latest commit on a different machine but still cannot
reproduce the error.  PR114668 I can reproduce.  Maybe a copy and paste
problem?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3
  2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
  2024-04-10 12:09 ` [Bug target/114665] " rdapp at gcc dot gnu.org
  2024-04-10 12:42 ` rdapp at gcc dot gnu.org
@ 2024-04-10 17:43 ` patrick at rivosinc dot com
  2024-04-15 17:36 ` patrick at rivosinc dot com
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: patrick at rivosinc dot com @ 2024-04-10 17:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

--- Comment #3 from Patrick O'Neill <patrick at rivosinc dot com> ---
Created attachment 57922
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57922&action=edit
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 = 0; f < 5; ++f)
    for (long g = 0; g < 5; ++g)
      c[f][g] = 1;
  _Bool(*h)[15] = c;
  for (int f = 0; f < 15; f += 1)
    for (int g = 0; g < 15; g += 1)
      b -= 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=rv64gcv -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=rv64gcv -O2 red.c -o red.out
> /scratch/tc-testing/tc-apr-9/build-rv64gcv/bin/qemu-riscv64 red.out
FFFFFFB5

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3
  2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
                   ` (2 preceding siblings ...)
  2024-04-10 17:43 ` patrick at rivosinc dot com
@ 2024-04-15 17:36 ` patrick at rivosinc dot com
  2024-04-15 18:56 ` rdapp at gcc dot gnu.org
  2024-04-15 20:34 ` patrick at rivosinc dot com
  5 siblings, 0 replies; 7+ messages in thread
From: patrick at rivosinc dot com @ 2024-04-15 17:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

--- Comment #4 from Patrick O'Neill <patrick at rivosinc dot com> ---
Reran as requested in pr114668. Still present with that fix.

I'll triage some other testcases and file those as well. Hopefully one of them
is a duplicate to this one that is easily reproducible.

GCC: r14-9976-gf8409c3109d
QEMU: v8.2.1 (f48c205fb42be48e2e47b7e1cd9a2802e5ca17b0)

Commands:
> /scratch/tc-testing/tc-apr-15/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc -march=rv64gcv -O3 red.c -o red.out
> /scratch/tc-testing/tc-apr-15/build-rv64gcv/bin/qemu-riscv64 red.out
35
> /scratch/tc-testing/tc-apr-15/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc red.c -o red.out
> /scratch/tc-testing/tc-apr-15/build-rv64gcv/bin/qemu-riscv64 red.out
FFFFFFB5

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3
  2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
                   ` (3 preceding siblings ...)
  2024-04-15 17:36 ` patrick at rivosinc dot com
@ 2024-04-15 18:56 ` rdapp at gcc dot gnu.org
  2024-04-15 20:34 ` patrick at rivosinc dot com
  5 siblings, 0 replies; 7+ messages in thread
From: rdapp at gcc dot gnu.org @ 2024-04-15 18:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

--- Comment #5 from Robin Dapp <rdapp at gcc dot gnu.org> ---
Weird,  I tried your exact qemu version and still can't reproduce the problem.  
My results are always FFFFFFB5.

Binutils difference?  Very unlikely.  Could you post your QEMU_CPU settings
just to be sure?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/114665] [14] RISC-V rv64gcv: miscompile at -O3
  2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
                   ` (4 preceding siblings ...)
  2024-04-15 18:56 ` rdapp at gcc dot gnu.org
@ 2024-04-15 20:34 ` patrick at rivosinc dot com
  5 siblings, 0 replies; 7+ messages in thread
From: patrick at rivosinc dot com @ 2024-04-15 20:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114665

--- Comment #6 from Patrick O'Neill <patrick at rivosinc dot com> ---
Binutils: #binutils-2_42 (c7f28aad0c99d1d2fec4e52ebfa3735d90ceb8e9)

QEMU_CPU=rv64,vlen=128,v=true,vext_spec=v1.0,zve32f=true,zve64f=true

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-04-15 20:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-09 19:56 [Bug target/114665] New: [14] RISC-V rv64gcv: miscompile at -O3 patrick at rivosinc dot com
2024-04-10 12:09 ` [Bug target/114665] " rdapp at gcc dot gnu.org
2024-04-10 12:42 ` rdapp at gcc dot gnu.org
2024-04-10 17:43 ` patrick at rivosinc dot com
2024-04-15 17:36 ` patrick at rivosinc dot com
2024-04-15 18:56 ` rdapp at gcc dot gnu.org
2024-04-15 20:34 ` patrick at rivosinc dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).