[llvm] [VectorCombine] foldShuffleOfBinops - support multiple uses of shuffled binops (PR #179429)

via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 5 03:15:00 PST 2026


github-actions[bot] wrote:

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

* 169215 tests passed
* 3033 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/VectorCombine/AArch64/select-shuffle.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=vector-combine -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=vector-combine -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
# 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/Transforms/VectorCombine/AArch64/select-shuffle.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll:383:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[S2:%.*]] = shufflevector <4 x i32> [[L0:%.*]], <4 x i32> [[L1]], <4 x i32> <i32 4, i32 2, i32 6, i32 2>
# |               ^
# | <stdin>:209:90: note: scanning from here
# |  %s1 = shufflevector <4 x i32> %l1, <4 x i32> %l3, <4 x i32> <i32 6, i32 1, i32 3, i32 0>
# |                                                                                          ^
# | <stdin>:209:90: note: with "L1" equal to "%l1"
# |  %s1 = shufflevector <4 x i32> %l1, <4 x i32> %l3, <4 x i32> <i32 6, i32 1, i32 3, i32 0>
# |                                                                                          ^
# | <stdin>:211:2: note: possible intended match here
# |  %1 = shufflevector <4 x i32> %l1, <4 x i32> %l0, <4 x i32> <i32 2, i32 0, i32 0, i32 6>
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           204:  ret <16 x i32> %s3 
# |           205: } 
# |           206:  
# |           207: define <4 x i32> @test_recurse(<4 x i32> %l0, <4 x i32> %l1, <4 x i32> %l3) { 
# |           208:  %s0 = shufflevector <4 x i32> %l3, <4 x i32> %l1, <4 x i32> <i32 0, i32 2, i32 1, i32 5> 
# |           209:  %s1 = shufflevector <4 x i32> %l1, <4 x i32> %l3, <4 x i32> <i32 6, i32 1, i32 3, i32 0> 
# | next:383'0                                                                                              X error: no match found
# | next:383'1                                                                                                with "L1" equal to "%l1"
# |           210:  %sub = sub <4 x i32> %s1, %s0 
# | next:383'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           211:  %1 = shufflevector <4 x i32> %l1, <4 x i32> %l0, <4 x i32> <i32 2, i32 0, i32 0, i32 6> 
# | next:383'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:383'2      ?                                                                                        possible intended match
# |           212:  %t0 = add <4 x i32> %1, %1 
# | next:383'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           213:  ret <4 x i32> %t0 
# | next:383'0     ~~~~~~~~~~~~~~~~~~~
# |           214: } 
# | next:383'0     ~~
# |           215:  
# | next:383'0     ~
# |           216: define void @test_31(ptr %src, ptr %dst) { 
# | next:383'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/179429


More information about the llvm-commits mailing list