Generally this patch LGTM, but let's defer to GCC 13 :) For builtin function...I guess we might need a document in https://github.com/riscv-non-isa/riscv-c-api-doc first.
On Fri, Mar 25, 2022 at 2:21 PM <yul...@nj.iscas.ac.cn> wrote: > > From: yulong-plct <yul...@nj.iscas.ac.cn> > > This patchset adds support for three recently ratified RISC-V extensions: > > - Zicbom (Cache-Block Management Instructions) > - Zicbop (Cache-Block Prefetch hint instructions) > - Zicboz (Cache-Block Zero Instructions) > > The naming of builtin caused oddities, so in this release we have changed the > names of builtin. For example, change "__builtin_riscv_zero()" to > "__builtin_riscv_zicboz_cbo_zero" > > Patch 1: Add Zicbom/z/p mininal support > Patch 2: Add Zicbom/z/p instructions arch support > Patch 3: Add Zicbom/z/p instructions testcases > > cf. > <https://github.com/riscv/riscv-CMOs/blob/fc8e97a9531ac9811971a182ae431976b86216e1/specifications/cmobase-v1.0-rc2.pdf>; > > *** BLURB HERE *** > > yulong-plct (3): > RISC-V: Add mininal support for Zicbo[mzp] > RISC-V:Cache Management Operation instructions > RISC-V:Cache Management Operation instructions testcases > > gcc/common/config/riscv/riscv-common.cc | 6 +++ > gcc/config/riscv/predicates.md | 4 ++ > gcc/config/riscv/riscv-builtins.cc | 16 ++++++ > gcc/config/riscv/riscv-cmo.def | 17 ++++++ > gcc/config/riscv/riscv-ftypes.def | 4 ++ > gcc/config/riscv/riscv-opts.h | 9 ++++ > gcc/config/riscv/riscv.md | 52 +++++++++++++++++++ > gcc/config/riscv/riscv.opt | 3 ++ > gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c | 21 ++++++++ > gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c | 21 ++++++++ > gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c | 23 ++++++++ > gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c | 23 ++++++++ > gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c | 9 ++++ > gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c | 9 ++++ > 14 files changed, 217 insertions(+) > create mode 100644 gcc/config/riscv/riscv-cmo.def > create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c > > -- > 2.17.1 >