[llvm] [RISCV][XCV] Fix incorrect llvm.ctlz lowering to cv.fl1 (PR #197288)

via llvm-commits llvm-commits at lists.llvm.org
Tue May 12 17:54:01 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 134658 tests passed
* 3267 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/RISCV/xcvbitmanip.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -O0 -mtriple=riscv32 -mattr=+xcvbitmanip -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll    | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll --check-prefixes=CHECK,CHECK-O0
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -O0 -mtriple=riscv32 -mattr=+xcvbitmanip -verify-machineinstrs
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll' --check-prefixes=CHECK,CHECK-O0
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -O3 -mtriple=riscv32 -mattr=+xcvbitmanip -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll    | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll --check-prefixes=CHECK,CHECK-O3
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -O3 -mtriple=riscv32 -mattr=+xcvbitmanip -verify-machineinstrs
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll' --check-prefixes=CHECK,CHECK-O3
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll:151:19: error: CHECK-O3-LABEL: expected string not found in input
# | ; CHECK-O3-LABEL: test.ctlz.defined:
# |                   ^
# | <stdin>:152:13: note: scanning from here
# | test.cv.fl1: # @test.cv.fl1
# |             ^
# | <stdin>:162:9: note: possible intended match here
# |  .globl test.ctlz.zero.defined # -- Begin function test.ctlz.zero.defined
# |         ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\RISCV\xcvbitmanip.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            147:  .cfi_endproc 
# |            148:  # -- End function 
# |            149:  .globl test.cv.fl1 # -- Begin function test.cv.fl1 
# |            150:  .p2align 2 
# |            151:  .type test.cv.fl1, at function 
# |            152: test.cv.fl1: # @test.cv.fl1 
# | label:151'0                 X~~~~~~~~~~~~~~~ error: no match found
# |            153:  .cfi_startproc 
# | label:151'0     ~~~~~~~~~~~~~~~~
# |            154: # %bb.0: 
# | label:151'0     ~~~~~~~~~
# |            155:  cv.fl1 a0, a0 
# | label:151'0     ~~~~~~~~~~~~~~~
# |            156:  xori a0, a0, 31 
# | label:151'0     ~~~~~~~~~~~~~~~~~
# |            157:  ret 
# | label:151'0     ~~~~~
# |            158: .Lfunc_end12: 
# | label:151'0     ~~~~~~~~~~~~~~
# |            159:  .size test.cv.fl1, .Lfunc_end12-test.cv.fl1 
# | label:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            160:  .cfi_endproc 
# | label:151'0     ~~~~~~~~~~~~~~
# |            161:  # -- End function 
# | label:151'0     ~~~~~~~~~~~~~~~~~~~
# |            162:  .globl test.ctlz.zero.defined # -- Begin function test.ctlz.zero.defined 
# | label:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:151'1             ?                                                                  possible intended match
# |            163:  .p2align 2 
# | label:151'0     ~~~~~~~~~~~~
# |            164:  .type test.ctlz.zero.defined, at function 
# | label:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            165: test.ctlz.zero.defined: # @test.ctlz.zero.defined 
# | label:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            166:  .cfi_startproc 
# | label:151'0     ~~~~~~~~~~~~~~~~
# |            167: # %bb.0: 
# | label:151'0     ~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# 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/197288


More information about the llvm-commits mailing list