[llvm] [CHERIoT] Define a RISCV target feature for XCheriot. (PR #189968)

via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 07:58:57 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 172050 tests passed
* 3094 tests skipped
* 3 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/RISCV/features-info.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=riscv32 -mattr=help 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/features-info.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=riscv32 -mattr=help
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/features-info.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/features-info.ll:198:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: xcvalu - 'XCValu' (CORE-V ALU Operations).
# |               ^
# | <stdin>:258:2: note: 'next' match was here
# |  xcvalu - 'XCValu' (CORE-V ALU Operations).
# |  ^
# | <stdin>:256:73: note: previous match ended here
# |  xandesvsintload - 'XAndesVSIntLoad' (Andes Vector INT4 Load Extension).
# |                                                                         ^
# | <stdin>:257:1: note: non-matching line after previous match is here
# |  xcheriot - 'XCheriot' (CHERIoT extension).
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/features-info.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |         253:  xandesvdot - 'XAndesVDot' (Andes Vector Dot Product Extension). 
# |         254:  xandesvpackfph - 'XAndesVPackFPH' (Andes Vector Packed FP16 Extension). 
# |         255:  xandesvsinth - 'XAndesVSIntH' (Andes Vector Small INT Handling Extension). 
# |         256:  xandesvsintload - 'XAndesVSIntLoad' (Andes Vector INT4 Load Extension). 
# |         257:  xcheriot - 'XCheriot' (CHERIoT extension). 
# |         258:  xcvalu - 'XCValu' (CORE-V ALU Operations). 
# | next:198      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         259:  xcvbi - 'XCVbi' (CORE-V Immediate Branching). 
# |         260:  xcvbitmanip - 'XCVbitmanip' (CORE-V Bit Manipulation). 
# |         261:  xcvelw - 'XCVelw' (CORE-V Event Load Word). 
# |         262:  xcvmac - 'XCVmac' (CORE-V Multiply-Accumulate). 
# |         263:  xcvmem - 'XCVmem' (CORE-V Post-incrementing Load & Store). 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

### LLVM-Unit
<details>
<summary>LLVM-Unit.TargetParser/_/TargetParserTests/RiscvExtensionsHelp/CheckExtensions</summary>

```
Script:
--
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/unittests/TargetParser/./TargetParserTests --gtest_filter=RiscvExtensionsHelp.CheckExtensions
--
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/unittests/TargetParser/RISCVISAInfoTest.cpp:1424
Value of: [](std::string &Captured, std::string &Expected) { return Captured.find(Expected) != std::string::npos; }(CapturedOutput, ExpectedOutput)
  Actual: false
Expected: true


```
</details>

### Clang
<details>
<summary>Clang.Driver/print-supported-extensions-riscv.c</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang --target=riscv64-linux-gnu --print-supported-extensions | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --strict-whitespace --implicit-check-not=FEAT_ /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Driver/print-supported-extensions-riscv.c
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang --target=riscv64-linux-gnu --print-supported-extensions
# .---command stderr------------
# | clang version 23.0.0git (https://github.com/llvm/llvm-project cc6019c009cc332b2ad41e390594197f9a85133e)
# | Target: riscv64-unknown-linux-gnu
# | Thread model: posix
# | InstalledDir: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin
# | Build config: +assertions
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --strict-whitespace --implicit-check-not=FEAT_ /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Driver/print-supported-extensions-riscv.c
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Driver/print-supported-extensions-riscv.c:173:20: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT:     xcvalu               1.0       'XCValu' (CORE-V ALU Operations)
# |                    ^
# | <stdin>:171:5: note: 'next' match was here
# |     xcvalu               1.0       'XCValu' (CORE-V ALU Operations)
# |     ^
# | <stdin>:169:88: note: previous match ended here
# |     xandesvsintload      5.0       'XAndesVSIntLoad' (Andes Vector INT4 Load Extension)
# |                                                                                        ^
# | <stdin>:170:1: note: non-matching line after previous match is here
# |     xcheriot             1.0       'XCheriot' (CHERIoT extension)
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Driver/print-supported-extensions-riscv.c
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |         166:     xandesvdot           5.0       'XAndesVDot' (Andes Vector Dot Product Extension) 
# |         167:     xandesvpackfph       5.0       'XAndesVPackFPH' (Andes Vector Packed FP16 Extension) 
# |         168:     xandesvsinth         5.0       'XAndesVSIntH' (Andes Vector Small INT Handling Extension) 
# |         169:     xandesvsintload      5.0       'XAndesVSIntLoad' (Andes Vector INT4 Load Extension) 
# |         170:     xcheriot             1.0       'XCheriot' (CHERIoT extension) 
# |         171:     xcvalu               1.0       'XCValu' (CORE-V ALU Operations) 
# | next:173         !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         172:     xcvbi                1.0       'XCVbi' (CORE-V Immediate Branching) 
# |         173:     xcvbitmanip          1.0       'XCVbitmanip' (CORE-V Bit Manipulation) 
# |         174:     xcvelw               1.0       'XCVelw' (CORE-V Event Load Word) 
# |         175:     xcvmac               1.0       'XCVmac' (CORE-V Multiply-Accumulate) 
# |         176:     xcvmem               1.0       'XCVmem' (CORE-V Post-incrementing Load & Store) 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/189968


More information about the llvm-commits mailing list