[llvm] [SLP] Enable full non-power-of-2 vectorization by default (PR #196825)

via llvm-commits llvm-commits at lists.llvm.org
Sun May 10 11:57:36 PDT 2026


github-actions[bot] wrote:

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

* 134501 tests passed
* 3259 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/WebAssembly/slp-memory-interleave.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -mtriple=wasm32 -mattr=+simd128 -passes=slp-vectorizer C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\WebAssembly\slp-memory-interleave.ll | c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=wasm32 -mattr=+simd128 -asm-verbose=false -disable-wasm-fallthrough-return-opt | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\WebAssembly\slp-memory-interleave.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -mtriple=wasm32 -mattr=+simd128 -passes=slp-vectorizer 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\WebAssembly\slp-memory-interleave.ll'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=wasm32 -mattr=+simd128 -asm-verbose=false -disable-wasm-fallthrough-return-opt
# 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\WebAssembly\slp-memory-interleave.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\WebAssembly\slp-memory-interleave.ll:104:10: error: CHECK: expected string not found in input
# | ; CHECK: v128.load32_zero
# |          ^
# | <stdin>:162:6: note: scanning from here
# |  loop 
# |      ^
# | <stdin>:179:2: note: possible intended match here
# |  i32.load8_s 0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\WebAssembly\slp-memory-interleave.ll:181:10: error: CHECK: expected string not found in input
# | ; CHECK: v128.load32_zero
# |          ^
# | <stdin>:264:6: note: scanning from here
# |  loop 
# |      ^
# | <stdin>:281:2: note: possible intended match here
# |  i32.load8_s 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\WebAssembly\slp-memory-interleave.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            157:  local.get 0 
# |            158:  v128.load64_zero 4:p2align=2 
# |            159:  v128.load32_lane 12, 2 
# |            160:  local.set 5 
# |            161: .LBB2_2: 
# |            162:  loop  
# | check:104'0          X~ error: no match found
# |            163:  local.get 1 
# | check:104'0     ~~~~~~~~~~~~~
# |            164:  i32.const 1 
# | check:104'0     ~~~~~~~~~~~~~
# |            165:  i32.add  
# | check:104'0     ~~~~~~~~~~
# |            166:  i32.load16_u 0:p2align=0 
# | check:104'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            167:  i16x8.splat 
# | check:104'0     ~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            174:  f32.convert_i32_s 
# | check:104'0     ~~~~~~~~~~~~~~~~~~~
# |            175:  f32x4.replace_lane 1 
# | check:104'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            176:  local.get 1 
# | check:104'0     ~~~~~~~~~~~~~
# |            177:  i32.const 3 
# | check:104'0     ~~~~~~~~~~~~~
# |            178:  i32.add  
# | check:104'0     ~~~~~~~~~~
# |            179:  i32.load8_s 0 
# | check:104'0     ~~~~~~~~~~~~~~~
# | check:104'1      ?              possible intended match
# |            180:  f32.convert_i32_s 
# | check:104'0     ~~~~~~~~~~~~~~~~~~~
# |            181:  f32x4.replace_lane 2 
# | check:104'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            182:  local.get 2 
# | check:104'0     ~~~~~~~~~~~~~
# |            183:  i32.const 1 
# | check:104'0     ~~~~~~~~~~~~~
# |            184:  i32.add  
# | check:104'0     ~~~~~~~~~~
# |              .
# |              .
# |              .
# |            259:  local.get 0 
# |            260:  v128.load64_zero 4:p2align=2 
# |            261:  v128.load32_lane 12, 2 
# |            262:  local.set 5 
# |            263: .LBB3_2: 
# |            264:  loop  
# | check:181'0          X~ error: no match found
# |            265:  local.get 1 
# | check:181'0     ~~~~~~~~~~~~~
# |            266:  i32.const 1 
# | check:181'0     ~~~~~~~~~~~~~
# |            267:  i32.add  
# | check:181'0     ~~~~~~~~~~
# |            268:  i32.load16_u 0:p2align=0 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            269:  i16x8.splat 
# | check:181'0     ~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            276:  f32.convert_i32_s 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~
# |            277:  f32x4.replace_lane 1 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            278:  local.get 1 
# | check:181'0     ~~~~~~~~~~~~~
# |            279:  i32.const 3 
# | check:181'0     ~~~~~~~~~~~~~
# |            280:  i32.add  
# | check:181'0     ~~~~~~~~~~
# |            281:  i32.load8_s 0 
# | check:181'0     ~~~~~~~~~~~~~~~
# | check:181'1      ?              possible intended match
# |            282:  f32.convert_i32_s 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~
# |            283:  f32x4.replace_lane 2 
# | check:181'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            284:  local.get 2 
# | check:181'0     ~~~~~~~~~~~~~
# |            285:  i32.const 1 
# | check:181'0     ~~~~~~~~~~~~~
# |            286:  i32.add  
# | check:181'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/196825


More information about the llvm-commits mailing list