[Bug c++/120362] [GCC-15.1] Illegal Insn when run spec2017 511 ref size

2025-05-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120362 --- Comment #11 from Robin Dapp --- > Yes. I am sure. And SPIKE and QEMU have no problem. So vlre/vsre should execute despite a VILL in VTYPE? At first sight I don't find any specifics in the vector spec. qemu is not very pedantic in that res

[Bug c++/120362] [GCC-15.1] Illegal Insn when run spec2017 511 ref size

2025-05-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120362 --- Comment #1 from Robin Dapp --- That's a misaligned vector load I suppose?

[Bug c++/120362] [GCC-15.1] Illegal Insn when run spec2017 511 ref size

2025-05-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120362 --- Comment #9 from Robin Dapp --- > No. vlre should not depend on vtype. It should be hardware bug. Are you sure about that? vmv1r also doesn't depend on a specific vtype, each one is OK, but the vtype must at least be valid. So we get a SIG

[Bug c++/120362] [GCC-15.1] Illegal Insn when run spec2017 511 ref size

2025-05-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120362 --- Comment #6 from Robin Dapp --- (In reply to Kito Cheng from comment #5) > Oh, vsetvli/vill issue should only appeared for whole reg move not whole reg > load store On the Banana Pi I get a SIGILL for int main() { asm volatile ("lui a5, 0

[Bug c++/120362] [GCC-15.1] Illegal Insn when run spec2017 511 ref size

2025-05-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120362 --- Comment #4 from Robin Dapp --- > I see, but when I changed to > > addia5,a5,912 > > aka load from 0xdd390, the board still has the illegal insn. 0xdd390 is > aligned for -O2 -march=rv64gcv -mrvv-vector-bits=zvl build, right? Hmm, righ

[Bug middle-end/120378] New: Support narrowing clip idiom

2025-05-21 Thread rdapp at gcc dot gnu.org via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: rdapp at gcc dot gnu.org Target Milestone: --- Target: riscv x264 contains a variation of the following loop (in hpel_filter): typedef unsigned char uint8_t; typedef short int16_t; inline uint8_t x264_clip_uint8

[Bug target/120436] division-by-zero when calling some RVV intrinsics without the V extension

2025-05-28 Thread rdapp at gcc dot gnu.org via Gcc-bugs
|--- |FIXED CC||rdapp at gcc dot gnu.org --- Comment #2 from Robin Dapp --- Fixed on trunk.

[Bug target/120297] [15/16 Regression] RISC-V: Miscompile at -O3

2025-05-22 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120297 --- Comment #4 from Robin Dapp --- I can reproduce this, but only with a qemu VLEN=128, VLEN >= 256 result in the correct value of 234635118.

[Bug target/110812] Check availability of builtins at expand time

2025-05-23 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 --- Comment #11 from Robin Dapp --- Tried building highway to reproduce and hit another error in fre... Do we have a minimal example for this issue?

[Bug middle-end/120378] Support narrowing clip idiom

2025-05-23 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120378 --- Comment #4 from Robin Dapp --- Does it make sense to have the vmax/vmin/truncate pattern as a fallback for other targets? On riscv it would save one predicated instruction.

[Bug middle-end/120378] Support narrowing clip idiom

2025-05-23 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120378 --- Comment #3 from Robin Dapp --- vnclipu is basically a scaling (narrowing), rounding shift with subsequent "clip" i.e. saturation. Its input and output is unsigned, though, so for the function above we first need to "clip" the negative value

[Bug target/110812] Check availability of builtins at expand time

2025-06-02 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 --- Comment #14 from Robin Dapp --- I managed to have a look now but the whole builtin and LTO machinery is kind of new to me. As Andreas mentioned already the issue is that we do not register vector builtins when the current target is !TARGET_

[Bug tree-optimization/120639] vect: Strided memory access type, stores with gaps?

2025-06-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120639 --- Comment #3 from Robin Dapp --- > We could use scatter stores, building the index vector somehow cleverly with > i_width contiguous indexes interspaced by i_dst_stride. In fact this vector > could be built as inductions when building the i_h

[Bug tree-optimization/120639] vect: Strided memory access type, stores with gaps?

2025-06-20 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120639 --- Comment #5 from Robin Dapp --- > Well, consider the desired index vector being a real induction (just > store it somewhere). If we can handle that, we should be able to > handle the scatter. If not, we can't handle the scatter. Hmm, I thi

[Bug target/120687] RISC-V: very poor vector code gen for LMbench bw_mem test case

2025-06-17 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120687 --- Comment #3 from Robin Dapp --- Yeah, for 8 elements we still have a mode but beyond 8 we at least cannot do a segment access anymore. Then we try with even/odd or interleaved permutations. I kind of wonder why the cost model doesn't reject

[Bug target/120782] RISC-V: vector-strict-align not working for spec17 521 ref size

2025-06-23 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120782 --- Comment #3 from Robin Dapp --- (In reply to Jeffrey A. Law from comment #2) > Yea, this bug may have been filed while we were discussing it in a team > meeting. > > I think the question is whether or not to include the new guards in the > c

[Bug target/120782] RISC-V: vector-strict-align not working for spec17 521 ref size

2025-06-23 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120782 Robin Dapp changed: What|Removed |Added Last reconfirmed||2025-6-23 --- Comment #1 from Robin Dapp

[Bug target/120459] RISC-V: redundant addi

2025-05-30 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120459 Robin Dapp changed: What|Removed |Added CC||rdapp at gcc dot gnu.org --- Comment #2

[Bug middle-end/120639] vect: Strided memory access type, stores with gaps?

2025-06-12 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120639 --- Comment #1 from Robin Dapp --- I'm just realizing that without knowing the stride statically, we'd generate a lot of code as we don't have a way of setting an element size for loads dynamically. Although riscv offers a dynamic element size

[Bug middle-end/120639] New: vect: Strided memory access type, stores with gaps?

2025-06-12 Thread rdapp at gcc dot gnu.org via Gcc-bugs
Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: rdapp at gcc dot gnu.org CC: rguenth at gcc dot gnu.org Target Milestone: --- Target: riscv In x264 we have several variations of the following loop: void foo (uint8_t *dst, int

[Bug middle-end/120639] vect: Strided memory access type, stores with gaps?

2025-06-12 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120639 Robin Dapp changed: What|Removed |Added Severity|normal |enhancement

[Bug target/120782] RISC-V: vector-strict-align not working for spec17 521 ref size

2025-07-05 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120782 --- Comment #8 from Robin Dapp --- The vlse comes from a vec_duplicate:V2DI that has a reg pointing to a "real(kind=4)", so a float. What's interesting, though, is that the MEM is supposedly 64-bit aligned (see below, A64). (insn 285 282 287 1

[Bug target/120782] RISC-V: vector-strict-align not working for spec17 521 ref size

2025-07-05 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120782 --- Comment #7 from Robin Dapp --- Ok, I was able to reproduce it with r15-9904-g2498cbbcdb23da.

[Bug target/120782] RISC-V: vector-strict-align not working for spec17 521 ref size

2025-07-04 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120782 --- Comment #5 from Robin Dapp --- I tried reproducing this with a recent trunk (r16-1965-gc512c9090f52e7) but didn't see the exact code sequence. wrf also ran to completion on the Banana Pi. Did you use a stock GCC 15.1 or a specific commit?

[Bug target/121073] [16 Regression] RISC-V: ICE during RTL pass: avlprop insn does not satisfy its constraints

2025-07-15 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121073 --- Comment #2 from Robin Dapp --- Yes, the issue is that Wdm was a memory constraint before, giving reload more freedom. In the case here we have a real mask operand that only the strided alternatives support. Need to think of another solutio

[Bug target/121126] [16 Regression] RISC-V: Miscompile at -O[23] since r16-2159-g3bf2aa834e1

2025-07-17 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121126 --- Comment #5 from Robin Dapp --- I'll have a look. I'm currently tied down with other things, so maybe next week.

[Bug tree-optimization/120922] [16 Regression] RISC-V: ICE during GIMPLE pass: vect in verify_range with -mrvv-max-lmul=m8

2025-07-08 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120922 --- Comment #6 from Robin Dapp --- (In reply to Tamar Christina from comment #5) > Question, can I count on > > -march=rv64gcv_zvl1024b -mrvv-vector-bits=zvl -mrvv-max-lmul=m8 > > always being available as a codegen option for RVV? or do I nee

[Bug target/114714] [RISC-V][RVV] ICE: insn does not satisfy its constraints (postreload)

2025-07-08 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114714 Robin Dapp changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug target/120461] ICE: in gen_reg_rtx, at emit-rtl.cc:1189 with -mcpu=xt-c920 -mrvv-vector-bits=zvl -fzero-call-used-regs=all

2025-07-08 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120461 Robin Dapp changed: What|Removed |Added CC||rdapp at gcc dot gnu.org --- Comment #1

[Bug target/120461] ICE: in gen_reg_rtx, at emit-rtl.cc:1189 with -mcpu=xt-c920 -mrvv-vector-bits=zvl -fzero-call-used-regs=all

2025-07-08 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120461 Robin Dapp changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED

[Bug target/113829] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in overloaded_hash, at config/riscv/riscv-vector-builtins.cc:4341 with invalid __riscv_vfredosum_tu()

2025-07-08 Thread rdapp at gcc dot gnu.org via Gcc-bugs
|--- |FIXED CC||rdapp at gcc dot gnu.org --- Comment #2 from Robin Dapp --- Fixed on trunk.

[Bug target/120930] [16 Regression] RISC-V: Miscompile at -O[23] with zvl256b -mrvv-vector-bits=zvl since r16-1645-g309dbcea2ca

2025-07-08 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120930 Robin Dapp changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |rdapp at gcc dot gnu.org

[Bug tree-optimization/121014] vectorizer uses RDIV_EXPR for integer types

2025-07-10 Thread rdapp at gcc dot gnu.org via Gcc-bugs
|RESOLVED CC||rdapp at gcc dot gnu.org --- Comment #3 from Robin Dapp --- Fixed on trunk. I don't suppose we want to backport this as it's pretty harmless (all div variants expand to u/sdiv anyway)?

[Bug target/118734] RISC-V: Vector broadcast via strided load.

2025-07-10 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118734 Robin Dapp changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug target/121048] [16 Regression] Recent vectorizer changes cause RISC-V testsuite regressions

2025-07-14 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121048 Robin Dapp changed: What|Removed |Added CC||rdapp at gcc dot gnu.org --- Comment #2

[Bug target/120297] [15/16 Regression] RISC-V: Miscompile at -O3

2025-07-14 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120297 --- Comment #5 from Robin Dapp --- Tried to reproduce again with the latest trunk and didn't succeed. I'm always getting 234635118 no matter the VLEN and options. I'll try to bisect a failing commit.

[Bug target/120297] [15/16 Regression] RISC-V: Miscompile at -O3

2025-07-14 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120297 --- Comment #6 from Robin Dapp --- I was able to reproduce it on our internal tree. Disabling scheduling as well as using the simple vsetvl strategy make the problem disappear so everything points to a vsetvl issue.

[Bug target/120297] [15/16 Regression] RISC-V: Miscompile at -O3

2025-07-14 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120297 --- Comment #7 from Robin Dapp --- Picking a random commit in May (r16-649-g5c012971969db9) also shows the issue. It looks as if we pick the wrong LMUL for a store and this rule is to blame: DEF_SEW_LMUL_RULE ( ratio_and_ge_sew, sew_only, se

[Bug target/120930] [16 Regression] RISC-V: Miscompile at -O[23] with zvl256b -mrvv-vector-bits=zvl since r16-1645-g309dbcea2ca

2025-07-14 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120930 --- Comment #2 from Robin Dapp --- I'm seeing a difference between -O2 and -O3 where the -O2 version gets the proper result (3). In the -O3 version we completely unroll the loop but don't seem to populate the "b" array entirely but just the fir

[Bug target/120297] [15/16 Regression] RISC-V: Miscompile at -O3

2025-07-14 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120297 Robin Dapp changed: What|Removed |Added Status|WAITING |ASSIGNED --- Comment #8 from Robin Dapp -

[Bug middle-end/121065] [16 regression] ice in optab_for_tree_code, at optabs-tree.cc:85

2025-07-16 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121065 --- Comment #3 from Robin Dapp --- Should be fixed. My armhf qemu tests weren't really successful due to a qemu configuration issue. I did verify that the test here (and others) don't ICE, of course.

[Bug target/120297] [15/16 Regression] RISC-V: Miscompile at -O3

2025-07-16 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120297 Robin Dapp changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug target/121073] [16 Regression] RISC-V: ICE during RTL pass: avlprop insn does not satisfy its constraints

2025-07-15 Thread rdapp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121073 --- Comment #1 from Robin Dapp --- That's very likely due to my recent broadcast changes. Will have a look.

<    1   2   3   4   5