[llvm] [GlobalISel] Add integer combines from SelectionDAG (PR #181126)

via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 12 04:41:18 PST 2026


github-actions[bot] wrote:

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

* 130809 tests passed
* 2932 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/neg-selects.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-none-elf < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neg-selects.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neg-selects.ll --check-prefixes=CHECK,CHECK-SD
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-none-elf
# 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\AArch64\neg-selects.ll' --check-prefixes=CHECK,CHECK-SD
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-none-elf -global-isel < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neg-selects.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neg-selects.ll --check-prefixes=CHECK,CHECK-GI
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-none-elf -global-isel
# 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\AArch64\neg-selects.ll' --check-prefixes=CHECK,CHECK-GI
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neg-selects.ll:38:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: csneg w8, w1, w0, eq
# |                  ^
# | <stdin>:26:14: note: scanning from here
# |  tst w8, #0x1
# |              ^
# | <stdin>:27:2: note: possible intended match here
# |  csneg w0, w1, w0, eq
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neg-selects.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           21:  .type negneg_select_nega, at function 
# |           22: negneg_select_nega: // @negneg_select_nega 
# |           23:  .cfi_startproc 
# |           24: // %bb.0: 
# |           25:  and w8, w2, #0x1 
# |           26:  tst w8, #0x1 
# | next:38'0                  X error: no match found
# |           27:  csneg w0, w1, w0, eq 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~
# | next:38'1      ?                     possible intended match
# |           28:  ret 
# | next:38'0     ~~~~~
# |           29: .Lfunc_end1: 
# | next:38'0     ~~~~~~~~~~~~~
# |           30:  .size negneg_select_nega, .Lfunc_end1-negneg_select_nega 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           31:  .cfi_endproc 
# | next:38'0     ~~~~~~~~~~~~~~
# |           32:  // -- End function 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/neon-bitwise-instructions.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-unknown-linux-gnu < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-bitwise-instructions.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-bitwise-instructions.ll --check-prefixes=CHECK,CHECK-SD
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-unknown-linux-gnu
# 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\AArch64\neon-bitwise-instructions.ll' --check-prefixes=CHECK,CHECK-SD
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-unknown-linux-gnu -global-isel < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-bitwise-instructions.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-bitwise-instructions.ll --check-prefixes=CHECK,CHECK-GI
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-unknown-linux-gnu -global-isel
# 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\AArch64\neon-bitwise-instructions.ll' --check-prefixes=CHECK,CHECK-GI
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-bitwise-instructions.ll:2852:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: neg v1.8h, v2.8h
# |                  ^
# | <stdin>:3354:33: note: scanning from here
# |  movi v0.2d, #0xffffffffffffffff
# |                                 ^
# | <stdin>:3356:9: note: possible intended match here
# |  sub v0.8h, v0.8h, v2.8h
# |         ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-bitwise-instructions.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |           3349:  .p2align 2 
# |           3350:  .type pr149380, at function 
# |           3351: pr149380: // @pr149380 
# |           3352:  .cfi_startproc 
# |           3353: // %bb.0: // %entry 
# |           3354:  movi v0.2d, #0xffffffffffffffff 
# | next:2852'0                                     X error: no match found
# |           3355:  movi v1.8h, #1 
# | next:2852'0     ~~~~~~~~~~~~~~~~
# |           3356:  sub v0.8h, v0.8h, v2.8h 
# | next:2852'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:2852'1             ?                 possible intended match
# |           3357:  and v0.16b, v0.16b, v1.16b 
# | next:2852'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3358:  orr v0.16b, v2.16b, v0.16b 
# | next:2852'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3359:  sqadd v0.8h, v1.8h, v0.8h 
# | next:2852'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3360:  ret 
# | next:2852'0     ~~~~~
# |           3361: .Lfunc_end184: 
# | next:2852'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/181126


More information about the llvm-commits mailing list