[llvm] [GlobalIsel] Use aext in ctlz_zero_undef widenScalar expansion (PR #181506)

via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 14 13:20:49 PST 2026


github-actions[bot] wrote:

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

* 169649 tests passed
* 3063 tests skipped
* 3 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir -o -
# 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/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir:201:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 8589934591
# |                ^
# | <stdin>:1264:31: note: scanning from here
# |  %0:_(s64) = COPY $vgpr0_vgpr1
# |                               ^
# | <stdin>:1265:2: note: possible intended match here
# |  %10:_(s32) = G_CONSTANT i32 31
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |          1259:  isWholeWaveFunction: false 
# |          1260: body: | 
# |          1261:  bb.0: 
# |          1262:  liveins: $vgpr0_vgpr1 
# |          1263:   
# |          1264:  %0:_(s64) = COPY $vgpr0_vgpr1 
# | next:201'0                                   X error: no match found
# |          1265:  %10:_(s32) = G_CONSTANT i32 31 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:201'1      ?                               possible intended match
# |          1266:  %7:_(s64) = G_SHL %0, %10(s32) 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1267:  %9:_(s32) = G_CTLZ_ZERO_UNDEF %7(s64) 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1268:  %3:_(s64) = G_ZEXT %9(s32) 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1269:  $vgpr0_vgpr1 = COPY %3(s64) 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          1270: ... 
# | next:201'0     ~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -O0 -mtriple arm-linux-gnueabi -mattr=+v5t -run-pass=legalizer /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir -check-prefixes=CHECK,CLZ
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -O0 -mtriple arm-linux-gnueabi -mattr=+v5t -run-pass=legalizer /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir -o -
# 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/ARM/GlobalISel/arm-legalize-bitcounts.mir -check-prefixes=CHECK,CLZ
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir:148:11: error: CHECK: expected string not found in input
# |  ; CHECK: [[BITMASK:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
# |           ^
# | <stdin>:293:22: note: scanning from here
# |  %0:_(s32) = COPY $r0
# |                      ^
# | <stdin>:294:2: note: possible intended match here
# |  %5:_(s32) = G_CONSTANT i32 24
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            288:  isLRSpilled: false 
# |            289: body: | 
# |            290:  bb.0: 
# |            291:  liveins: $r0 
# |            292:   
# |            293:  %0:_(s32) = COPY $r0 
# | check:148'0                          X error: no match found
# |            294:  %5:_(s32) = G_CONSTANT i32 24 
# | check:148'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:148'1      ?                              possible intended match
# |            295:  %6:_(s32) = G_SHL %0, %5(s32) 
# | check:148'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            296:  %7:_(s32) = G_CTLZ %6(s32) 
# | check:148'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            297:  $r0 = COPY %7(s32) 
# | check:148'0     ~~~~~~~~~~~~~~~~~~~~
# |            298:  BX_RET 14 /* CC::al */, $noreg, implicit $r0 
# | check:148'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            299: ... 
# | check:148'0     ~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

### LLVM-Unit
<details>
<summary>LLVM-Unit.CodeGen/GlobalISel/_/GlobalISelTests/AArch64GISelMITest/WidenBitCountingCTLZZeroUndef</summary>

```
Script:
--
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/unittests/CodeGen/GlobalISel/./GlobalISelTests --gtest_filter=AArch64GISelMITest.WidenBitCountingCTLZZeroUndef
--
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp:620
Value of: CheckMachineFunction(*MF, CheckStr)
  Actual: false
Expected: true
# Machine code for function func: IsSSA, NoPHIs, TracksLiveness

bb.0:
  liveins: $x0, $x1, $x2, $x4
  %0:_(s64) = COPY $x0
  %1:_(s64) = COPY $x1
  %2:_(s64) = COPY $x2
  %4:_(s8) = G_TRUNC %0:_(s64)
  %6:_(s16) = G_ANYEXT %4:_(s8)
  %7:_(s16) = G_CONSTANT i16 8
  %8:_(s16) = G_SHL %6:_, %7:_(s16)
  %9:_(s16) = G_CTLZ_ZERO_UNDEF %8:_(s16)
  %5:_(s8) = G_TRUNC %9:_(s16)

# End machine code for function func.




```
</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/181506


More information about the llvm-commits mailing list