[Bug target/113578] Incorrect sign printed for -nan on RISC-V

2024-05-13 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113578 --- Comment #9 from Andrew Waterman --- For my M1 running Ventura 13.6, NaN payloads _are_ propagated, sign bit included. This test prints fffc0080: int main() { volatile long long ll = 0x8010; volatile double d;

[Bug target/113578] Incorrect sign printed for -nan on RISC-V

2024-05-10 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113578 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/114809] [RISC-V RVV] Counting elements might be simpler

2024-04-22 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114809 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug middle-end/114087] RISC-V optimization on checking certain bits set ((x & mask) == val)

2024-02-26 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114087 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/106531] -march=rv32iabmc should also enable zba, zbb, zbc, zbs

2024-02-05 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106531 --- Comment #5 from Andrew Waterman --- Yeah, RISC-V International decided to define B = {Zba, Zbb, Zbs}: note, not Zbc.

[Bug target/112478] riscv: asm clobbers not honored

2023-11-10 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112478 --- Comment #2 from Andrew Waterman --- Although I sketched the first draft of this patch, it’s Jeff Law who brought it to fruition. He is more suited to help than I am.

[Bug target/112295] RISC-V: Short forward branch pessimisation for ALU operations

2023-10-30 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112295 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug middle-end/111502] Suboptimal unaligned 2/4-byte memcpy on strict-align targets

2023-09-20 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111502 --- Comment #6 from Andrew Waterman --- Ack, I misunderstood your earlier message. You're of course right that the load/load/shift/or sequence is preferable to the load/load/store/store/load sequence, on just about any practical

[Bug tree-optimization/111502] Suboptimal unaligned 2/4-byte memcpy on strict-align targets

2023-09-20 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111502 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/108248] Some insns in the risc-v backend do not have mappings to functional units

2022-12-28 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108248 --- Comment #3 from Andrew Waterman --- Yikes. Thanks for the explanation, Jeff. (cc Kito Cheng: at some point, we should revisit the pipeline modeling of Zb* instructions for sifive-7. The short version is that all Zb* instructions can

[Bug target/108247] Missed opportunity to generate shNadd on risc-v

2022-12-28 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108247 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/108248] Some insns in the risc-v backend do not have mappings to functional units

2022-12-28 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108248 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/106585] RISC-V: Mis-optimized code gen for zbs

2022-12-07 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106585 --- Comment #9 from Andrew Waterman --- On Wed, Dec 7, 2022 at 7:02 PM palmer at gcc dot gnu.org via Gcc-bugs wrote: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106585 > > palmer at gcc dot gnu.org changed: > >What|Removed

[Bug target/106691] Section anchors is not efficient for riscv

2022-08-19 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106691 --- Comment #3 from Andrew Waterman --- Relaxation to gp happens at link time, and because of the relatively small load/store offsets, the small-data limit is actually useful. I don't think we should turn it off, because when we relax to gp,

[Bug target/106691] Section anchors is not implemented for riscv

2022-08-19 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106691 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/106601] __builtin_bswap16 code gen could be improved with ZBB enabled

2022-08-12 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106601 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/106338] RISC-V static-chain register may be clobbered by PLT stubs

2022-08-09 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106338 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/106531] -march=rv32iabmc should also enable zba, zbb, zbc, zbs

2022-08-04 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106531 --- Comment #3 from Andrew Waterman --- The lengthy-ISA-name problem will be addressed to a great extent by the forthcoming introduction of ISA profiles. Although I agree the status quo is ugly and overly verbose, I recommend against

[Bug target/106531] -march=rv32iabmc should also enable zba, zbb, zbc, zbs

2022-08-04 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106531 Andrew Waterman changed: What|Removed |Added CC||andrew at sifive dot com --- Comment

[Bug target/106265] RISC-V SPEC2017 507.cactu code bloat due to address generation

2022-07-12 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106265 --- Comment #6 from Andrew Waterman --- To be clear, `li rx, 4096' isn't unsupported: it's a very-much-supported idiom for `lui rx, 1`. On Mon, Jul 11, 2022 at 11:45 PM rguenth at gcc dot gnu.org via Gcc-bugs wrote: > >

[Bug target/104831] RISCV libatomic LR.aq/SC.rl pair insufficient for SEQ_CST

2022-03-07 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104831 --- Comment #8 from Andrew Waterman --- Cool, thanks, Patrick. On Mon, Mar 7, 2022 at 6:58 PM patrick at rivosinc dot com via Gcc-bugs wrote: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104831 > > Patrick O'Neill changed: > >

[Bug target/104831] RISCV libatomic LR.aq/SC.rl pair insufficient for SEQ_CST

2022-03-07 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104831 --- Comment #4 from Andrew Waterman --- Correction: Appendix A recommends lr.w.aqrl + sc.w.rl. https://github.com/riscv/riscv-isa-manual/blob/9ec8c0105dbf1492b57f6cafdb90a268628f476a/src/memory.tex#L1150-L1152 On Mon, Mar 7, 2022 at 3:51 PM

[Bug target/104831] RISCV libatomic LR.aq/SC.rl pair insufficient for SEQ_CST

2022-03-07 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104831 --- Comment #3 from Andrew Waterman --- Appendix A of the RISC-V ISA manual says that lr.w.aq + sc.w.aqrl should suffice. I see the patch puts aqrl on both the load and store, which, while correct, appears to be stronger than necessary. (cc

[Bug target/102211] [12 regression] ICE introduced by r12-3277

2021-09-09 Thread andrew at sifive dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102211 --- Comment #7 from Andrew Waterman --- On Tue, Sep 7, 2021 at 10:55 PM wilson at gcc dot gnu.org via Gcc-bugs wrote: > > The hardware may trap if > you access a 32-bit value which is not properly NaN-boxed. I don't think the following