Hello, As I explained earlier: <https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626916.html>, the builtin function for RISC-V "__builtin_riscv_zicbop_cbo_prefetchi" is completely broken and should be removed.
Also, I noted that: <https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631164.html> __builtin_prefetch built-in function with the first argument NULL or (not all but) some fixed addresses (like ((void*)0x20)) can cause an ICE. Instead of making not broken prefetch built-in functions, this patch set focuses on fixing those major bugs and intended for fast approval to make it to GCC 14 (except renaming "prefetch" availabilities for built-in functions). Thanks, Tsukasa Tsukasa OI (4): RISC-V: Recategorize "prefetch" availabilities RISC-V: Remove broken __builtin_riscv_zicbop_cbo_prefetchi RISC-V: Add not broken RW prefetch RTL instructions without offsets RISC-V: Fix ICE by expansion and register coercion gcc/config/riscv/riscv-builtins.cc | 4 +- gcc/config/riscv/riscv-cmo.def | 4 -- gcc/config/riscv/riscv.md | 56 +++++++++++++------ gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c | 6 -- gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c | 8 +-- .../riscv/cmo-zicbop-by-common-ice-1.c | 13 +++++ .../riscv/cmo-zicbop-by-common-ice-2.c | 7 +++ 7 files changed, 61 insertions(+), 37 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbop-by-common-ice-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbop-by-common-ice-2.c base-commit: c2d41cdfeadb82d921b01c0e104d83f47e2262a2 -- 2.42.0