From 3e32498e15c4c6b99a01a43e3a8462b28775e28c Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 9 Oct 2025 23:03:45 +0900 Subject: [PATCH] [CHERIoT] Enable the RV Zbkb and Zbkc on Ibex and Kudu. --- clang/test/Driver/cheri/cheriot.c | 8 ++++++++ llvm/lib/Target/RISCV/RISCVProcessors.td | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/clang/test/Driver/cheri/cheriot.c b/clang/test/Driver/cheri/cheriot.c index 1d33c5824411e..f08066a095ee0 100644 --- a/clang/test/Driver/cheri/cheriot.c +++ b/clang/test/Driver/cheri/cheriot.c @@ -12,6 +12,14 @@ // IBEX: "-target-feature" "+b" // KUDU: "-target-feature" "+b" +// CHERIOT-NOT: "-target-feature" "+zbkb" +// IBEX: "-target-feature" "+zbkb" +// KUDU: "-target-feature" "+zbkb" + +// CHERIOT-NOT: "-target-feature" "+zbkc" +// IBEX: "-target-feature" "+zbkc" +// KUDU: "-target-feature" "+zbkc" + // ALL: "-target-feature" "+xcheriot" // BAREMETAL: "-target-abi" "cheriot-baremetal" diff --git a/llvm/lib/Target/RISCV/RISCVProcessors.td b/llvm/lib/Target/RISCV/RISCVProcessors.td index f9646c1c53361..b5b197097065d 100644 --- a/llvm/lib/Target/RISCV/RISCVProcessors.td +++ b/llvm/lib/Target/RISCV/RISCVProcessors.td @@ -813,11 +813,13 @@ def CHERIOT_IBEX [Feature32Bit, FeatureVendorXCheri, FeatureVendorXCheriot, FeatureVendorXCheriPureCap, FeatureStdExtB, FeatureStdExtC, FeatureStdExtE, - FeatureStdExtM, FeatureUnalignedScalarMem]>; + FeatureStdExtM, FeatureStdExtZbkb, FeatureStdExtZbkc, + FeatureUnalignedScalarMem]>; def CHERIOT_KUDU : RISCVProcessorModel<"cheriot-kudu", NoSchedModel, [Feature32Bit, FeatureVendorXCheri, FeatureVendorXCheriot, FeatureVendorXCheriPureCap, FeatureStdExtB, FeatureStdExtC, FeatureStdExtE, - FeatureStdExtM, FeatureUnalignedScalarMem]>; + FeatureStdExtM, FeatureStdExtZbkb, FeatureStdExtZbkc, + FeatureUnalignedScalarMem]>;