[llvm] [SLP] Allow non-power-of-2 VF in tryToVectorizeList (PR #206259)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 27 08:50:40 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 136266 tests passed
* 3494 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Transforms/SLPVectorizer/X86/odd_store.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\X86\odd_store.ll -passes=slp-vectorizer,dce -slp-vectorize-non-power-of-2 -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7-avx | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefixes=CHECK,NON-POW2 C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\X86\odd_store.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=slp-vectorizer,dce -slp-vectorize-non-power-of-2 -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7-avx
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefixes=CHECK,NON-POW2 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\X86\odd_store.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\X86\odd_store.ll:14:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[TMP2:%.*]] = load float, ptr [[TMP1]], align 4
# | ^
# | <stdin>:7:51: note: scanning from here
# | %1 = getelementptr inbounds float, ptr %B, i64 10
# | ^
# | <stdin>:7:51: note: with "TMP1" equal to "%1"
# | %1 = getelementptr inbounds float, ptr %B, i64 10
# | ^
# | <stdin>:9:7: note: possible intended match here
# | %3 = load <3 x float>, ptr %1, align 4
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\X86\odd_store.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = '<stdin>'
# | 2: source_filename = "<stdin>"
# | 3: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
# | 4: target triple = "x86_64-apple-macosx10.8.0"
# | 5:
# | 6: define i32 @foo(ptr noalias captures(none) %A, ptr noalias captures(none) %B, float %T) #0 {
# | 7: %1 = getelementptr inbounds float, ptr %B, i64 10
# | next:14'0 { search range start (exclusive)
# | next:14'1 error: no match found in search range
# | next:14'2 with "TMP1" equal to "%1"
# | 8: %2 = getelementptr inbounds i8, ptr %A, i64 1
# | 9: %3 = load <3 x float>, ptr %1, align 4
# | next:14'3 ? possible intended match
# | 10: %4 = insertelement <3 x float> poison, float %T, i32 0
# | 11: %5 = shufflevector <3 x float> %4, <3 x float> poison, <3 x i32> zeroinitializer
# | 12: %6 = fmul <3 x float> %3, %5
# | 13: %7 = fpext <3 x float> %6 to <3 x double>
# | 14: %8 = fadd <3 x double> %7, <double 4.000000e+00, double 5.000000e+00, double 6.000000e+00>
# | .
# | .
# | .
# | 21: %13 = extractelement <3 x i8> %9, i32 2
# | 22: store i8 %13, ptr %12, align 1
# | 23: ret i32 undef
# | 24: }
# | 25:
# | 26: define void @test_v4f32_v2f32_store(<4 x float> %f, ptr %p) #0 {
# | next:14'4 } search range end (exclusive)
# | 27: %1 = shufflevector <4 x float> %f, <4 x float> poison, <2 x i32> <i32 0, i32 1>
# | 28: store <2 x float> %1, ptr %p, align 4
# | 29: ret void
# | 30: }
# | 31:
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/206259
More information about the llvm-commits
mailing list