Message ID | 20220325062055.12816-1-yulong@nj.iscas.ac.cn |
---|---|
Headers | show |
Series | RISC-V: Add Ratified Cache Management Operation ISA Extensions | expand |
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 <yulong@nj.iscas.ac.cn> wrote: > > From: yulong-plct <yulong@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 >
From: yulong-plct <yulong@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