[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-31 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #23 from Robin Dapp --- > this is: > > _429 = mask_patt_205.47_276[i] ? vect_cst__262[i] : (vect_cst__262 << > {0,..})[i]; > vect_iftmp.55_287 = mask_patt_209.54_286[i] ? _429 [i] : vect_cst__262[i] But isn't it rather _429 = mask_

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-30 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #22 from Andrew Pinski --- (In reply to Robin Dapp from comment #19) > What seems odd to me is that in fre5 we simplify > > _429 = .COND_SHL (mask_patt_205.47_276, vect_cst__262, vect_cst__262, { 0, > ... }); > vect_prephitmp_12

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-30 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #21 from Andrew Pinski --- (In reply to JuzheZhong from comment #20) > Does ARM SVE have the same issue too ? Since I think we should be using same > folding optimization as ARM SVE. I could not reproduce it with SVE, see comment 14

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-30 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #20 from JuzheZhong --- (In reply to Robin Dapp from comment #19) > What seems odd to me is that in fre5 we simplify > > _429 = .COND_SHL (mask_patt_205.47_276, vect_cst__262, vect_cst__262, { 0, > ... }); > vect_prephitmp_129.5

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-30 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #19 from Robin Dapp --- What seems odd to me is that in fre5 we simplify _429 = .COND_SHL (mask_patt_205.47_276, vect_cst__262, vect_cst__262, { 0, ... }); vect_prephitmp_129.51_282 = _429; vect_iftmp.55_287 = VEC_COND_EXPR ;

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-29 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #18 from Robin Dapp --- Hehe no it doesn't make sense... I wrongly read a v2 as a v1. Please disregard the last message.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-29 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #17 from Robin Dapp --- Grasping for straws by blaming qemu ;) At some point we do the vector shift vsll.vv v1,v2,v2,v0.t but the mask v0 is all zeros: gdb: b = {0 } According to the mask-undisturbed policy set before

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-29 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #16 from Robin Dapp --- Disabling vec_extract makes us operate on non-partial vectors, though so there are a lot of differences in codegen. I'm going to have a look.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-28 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #15 from JuzheZhong --- Hi, Robin. I tried to disable vec_extract, then the case passed. diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md index 3b32369f68c..b61b886ef3d 100644 --- a/gcc/config/riscv/autovec.md

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #14 from Andrew Pinski --- [apinski@xeond2 upstream-full-cross]$ ./install/bin/aarch64-linux-gnu-gcc -static t.c -O3 -fno-vect-cost-model -march=armv9-a+sve [apinski@xeond2 upstream-full-cross]$ ./install-qemu/bin/qemu-aarch64 a.out

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #13 from JuzheZhong --- Ok. I found a regression between rvv-next and trunk. I believe it is GCC-12 vs GCC-14: rvv-next: ... .L11: li t1,31 mv a2,a1 bleua7,t1,.L12 bne a6,zero,.L13

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #12 from Andrew Pinski --- Let test tomorrow.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #11 from JuzheZhong --- (In reply to Robin Dapp from comment #10) > The compile farm machine I'm using doesn't have SVE. > Compiling with -march=armv8-a -O3 pr113607.c -fno-vect-cost-model and > running it returns 0 (i.e. ok). > > p

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #10 from Robin Dapp --- The compile farm machine I'm using doesn't have SVE. Compiling with -march=armv8-a -O3 pr113607.c -fno-vect-cost-model and running it returns 0 (i.e. ok). pr113607.c:35:5: note: vectorized 3 loops in function

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #9 from JuzheZhong --- Hi, Robin. Could you try this case on latest ARM SVE ? with -march=armv8-a+sve -O3 -fno-vect-cost-model. I want to make sure first it is not an middle-end bug. The RVV vectorized IR is same as ARM SVE. Tha

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #8 from JuzheZhong --- Ok. I can reproduce it too. I am gonna work on fixing it. Thanks.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #7 from Robin Dapp --- Yep, that one fails for me now, thanks.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread patrick at rivosinc dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #6 from Patrick O'Neill --- I think I may have messed up when copy/pasting the testcase. Please try this testcase: struct { signed b; } c, d = {6}; short e, f; int g[1000]; signed char h; int i, j; long k, l; long m(long n, long

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-26 Thread patrick at rivosinc dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #5 from Patrick O'Neill --- Hmm that's odd. I just reproduced with tip-of-tree GCC. > /scratch/tc-testing/tc-jan-25-reconfirm/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc > -O3 -march=rv64gcv red.c -o user-config-o3.out > QEMU_C

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-25 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #4 from Robin Dapp --- I cannot reproduce it either, tried with -ftree-vectorize as well as -fno-vect-cost-model.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-25 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #3 from JuzheZhong --- I tried trunk GCC to run your case with SPIKE, still didn't reproduce this issue.

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-25 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #2 from JuzheZhong --- I can't reproduce this issue. Could you test it with this patch applied ? https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643934.html

[Bug target/113607] [14] RISC-V rv64gcv vector: Runtime mismatch at -O3

2024-01-25 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607 --- Comment #1 from JuzheZhong --- I can reproduce this issue. Could you test it with this patch applied ? https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643934.html