[llvm] [VPlan] Pull out reverses from elementwise operations (PR #199234)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 05:58:04 PDT 2026


github-actions[bot] wrote:

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

* 135702 tests passed
* 3397 tests skipped
* 5 tests failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\AArch64\sve-tail-folding-option.ll -passes=loop-vectorize -sve-tail-folding-insn-threshold=0 -sve-tail-folding=disabled -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\AArch64\sve-tail-folding-option.ll -check-prefix=CHECK-NOTF
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=loop-vectorize -sve-tail-folding-insn-threshold=0 -sve-tail-folding=disabled -S
# 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\Transforms\LoopVectorize\AArch64\sve-tail-folding-option.ll' -check-prefix=CHECK-NOTF
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\AArch64\sve-tail-folding-option.ll:353:15: error: CHECK-NOTF: expected string not found in input
# | ; CHECK-NOTF: %{{.*}} = call <vscale x 2 x double> @llvm.vector.reverse.nxv2f64(<vscale x 2 x double> %[[LOAD]])
# |               ^
# | <stdin>:255:46: note: scanning from here
# |  %wide.load = load <vscale x 2 x double>, ptr %9, align 8
# |                                              ^
# | <stdin>:255:46: note: with "LOAD" equal to "wide.load"
# |  %wide.load = load <vscale x 2 x double>, ptr %9, align 8
# |                                              ^
# | <stdin>:304:1: note: possible intended match here
# | declare <vscale x 4 x i32> @llvm.vector.splice.right.nxv4i32(<vscale x 4 x i32>, <vscale x 4 x i32>, i32) #2
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\AArch64\sve-tail-folding-option.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            250:  %7 = sub nuw nsw i64 %2, 1 
# |            251:  %8 = sub i64 0, %7 
# |            252:  %9 = getelementptr inbounds double, ptr %6, i64 %8 
# |            253:  %10 = sub i64 %8, %2 
# |            254:  %11 = getelementptr inbounds double, ptr %6, i64 %10 
# |            255:  %wide.load = load <vscale x 2 x double>, ptr %9, align 8 
# | check:353'0                                                  X~~~~~~~~~~~~ error: no match found
# | check:353'1                                                                with "LOAD" equal to "wide.load"
# |            256:  %wide.load1 = load <vscale x 2 x double>, ptr %11, align 8 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            257:  %12 = fadd <vscale x 2 x double> %wide.load, splat (double 1.000000e+00) 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            258:  %13 = fadd <vscale x 2 x double> %wide.load1, splat (double 1.000000e+00) 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            259:  %14 = getelementptr inbounds double, ptr %dst, i64 %5 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            260:  %15 = getelementptr inbounds double, ptr %14, i64 %8 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            299:  
# | check:353'0     ~
# |            300: ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            301: declare i32 @llvm.vscale.i32() #2 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            302:  
# | check:353'0     ~
# |            303: ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            304: declare <vscale x 4 x i32> @llvm.vector.splice.right.nxv4i32(<vscale x 4 x i32>, <vscale x 4 x i32>, i32) #2 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:353'2     ?                                                                                                             possible intended match
# |            305:  
# | check:353'0     ~
# |            306: attributes #0 = { "target-features"="+sve" } 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            307: attributes #1 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) } 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            308: attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } 
# | check:353'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            309:  
# | check:353'0     ~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\ARM\tail-folding-counting-down.ll -passes=loop-vectorize -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\ARM\tail-folding-counting-down.ll --check-prefixes=COMMON,DEFAULT
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=loop-vectorize -S
# 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\Transforms\LoopVectorize\ARM\tail-folding-counting-down.ll' --check-prefixes=COMMON,DEFAULT
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\ARM\tail-folding-counting-down.ll:394:16: error: DEFAULT-NOT: excluded string found in input
# | ; DEFAULT-NOT: vector.body:
# |                ^
# | <stdin>:461:1: note: found here
# | vector.body: ; preds = %vector.body, %vector.ph
# | ^~~~~~~~~~~~
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\ARM\tail-folding-counting-down.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |        456:  %n.mod.vf = urem i32 %add, 16 
# |        457:  %n.vec = sub i32 %add, %n.mod.vf 
# |        458:  %0 = sub i32 %add, %n.vec 
# |        459:  br label %vector.body 
# |        460:  
# |        461: vector.body: ; preds = %vector.body, %vector.ph 
# | not:394     !~~~~~~~~~~~                                     error: no match expected
# |        462:  %index = phi i32 [ 0, %vector.ph ], [ %index.next, %vector.body ] 
# |        463:  %1 = sub i32 %add, %index 
# |        464:  %2 = getelementptr inbounds i8, ptr %a, i32 %1 
# |        465:  %3 = getelementptr inbounds i8, ptr %2, i32 -15 
# |        466:  %wide.load = load <16 x i8>, ptr %3, align 1 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/PowerPC/reg-usage.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\PowerPC\reg-usage.ll -debug-only=loop-vectorize,vplan -passes='function(loop-vectorize),default<O2>' -vectorizer-maximize-bandwidth -mtriple=powerpc64-unknown-linux -S -mcpu=pwr8 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\PowerPC\reg-usage.ll --check-prefixes=CHECK,CHECK-PWR8
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -debug-only=loop-vectorize,vplan '-passes=function(loop-vectorize),default<O2>' -vectorizer-maximize-bandwidth -mtriple=powerpc64-unknown-linux -S -mcpu=pwr8
# 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\Transforms\LoopVectorize\PowerPC\reg-usage.ll' --check-prefixes=CHECK,CHECK-PWR8
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\PowerPC\reg-usage.ll -debug-only=loop-vectorize,vplan -passes='function(loop-vectorize),default<O2>' -vectorizer-maximize-bandwidth -mtriple=powerpc64le-unknown-linux -S -mcpu=pwr9 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\PowerPC\reg-usage.ll --check-prefixes=CHECK,CHECK-PWR9
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -debug-only=loop-vectorize,vplan '-passes=function(loop-vectorize),default<O2>' -vectorizer-maximize-bandwidth -mtriple=powerpc64le-unknown-linux -S -mcpu=pwr9
# 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\Transforms\LoopVectorize\PowerPC\reg-usage.ll' --check-prefixes=CHECK,CHECK-PWR9
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\PowerPC\reg-usage.ll:180:14: error: CHECK-PWR9: expected string not found in input
# | ;CHECK-PWR9: LV(REG): VF = 1
# |              ^
# | <stdin>:2929:32: note: scanning from here
# | LV: Checking a loop in 'double_' from <stdin>
# |                                ^
# | <stdin>:3006:23: note: possible intended match here
# | LV: Found uniform instruction: %3 = getelementptr inbounds double, ptr %A, i64 %indvars.iv
# |                       ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\PowerPC\reg-usage.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |           2924:  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 32 
# |           2925:  %cmp1 = icmp slt i64 %indvars.iv.next, %t0 
# |           2926:  br i1 %cmp1, label %for, label %loopexit 
# |           2927: LV: draw edge from scalar.ph 
# |           2928:  
# |           2929: LV: Checking a loop in 'double_' from <stdin> 
# | check:180'0                                    X~~~~~~~~~~~~~~ error: no match found
# |           2930: LV: Loop hints: force=? width=0 interleave=0 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2931: LV: Found a loop:  
# | check:180'0     ~~~~~~~~~~~~~~~~~~~
# |           2932: LV: Found an induction variable. 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2933: LV: Found FP op with unsafe algebra. 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2934: LV: Found FP op with unsafe algebra. 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           3001:  
# | check:180'0     ~
# |           3002: ir-bb<>: 
# | check:180'0     ~~~~~~~~~
# |           3003: No successors 
# | check:180'0     ~~~~~~~~~~~~~~
# |           3004: } 
# | check:180'0     ~~
# |           3005: LV: Found uniform instruction: %25 = icmp eq i32 %24, 0 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3006: LV: Found uniform instruction: %3 = getelementptr inbounds double, ptr %A, i64 %indvars.iv 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:180'1                           ?                                                                     possible intended match
# |           3007: LV: Found uniform instruction: %24 = trunc i64 %indvars.iv to i32 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3008: LV: Found uniform instruction: %indvars.iv = phi i64 [ %indvars.iv.next, %2 ], [ %1, %0 ] 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3009: LV: Found uniform instruction: %indvars.iv.next = add i64 %indvars.iv, -1 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3010: LV: Found scalar instruction: %indvars.iv = phi i64 [ %indvars.iv.next, %2 ], [ %1, %0 ] 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           3011: LV: Found scalar instruction: %indvars.iv.next = add i64 %indvars.iv, -1 
# | check:180'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 7
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -passes=loop-vectorize -mtriple=riscv64 -mattr=+v  -debug-only=loop-vectorize -scalable-vectorization=on  -disable-output < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\VPlan\RISCV\vplan-riscv-vector-reverse.ll 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\VPlan\RISCV\vplan-riscv-vector-reverse.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=loop-vectorize -mtriple=riscv64 -mattr=+v -debug-only=loop-vectorize -scalable-vectorization=on -disable-output
# 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\Transforms\LoopVectorize\VPlan\RISCV\vplan-riscv-vector-reverse.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\VPlan\RISCV\vplan-riscv-vector-reverse.ll:38:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: WIDEN-INTRINSIC vp<[[VAL_B:%.+]]> = call llvm.experimental.vp.reverse(ir<[[LOAD_B]]>, ir<true>, vp<[[EVL]]>)
# |               ^
# | <stdin>:164:41: note: scanning from here
# |  WIDEN ir<%0> = vp.load vp<%8>, vp<%evl>
# |                                         ^
# | <stdin>:164:41: note: with "LOAD_B" equal to "%0"
# |  WIDEN ir<%0> = vp.load vp<%8>, vp<%evl>
# |                                         ^
# | <stdin>:164:41: note: with "EVL" equal to "%evl"
# |  WIDEN ir<%0> = vp.load vp<%8>, vp<%evl>
# |                                         ^
# | <stdin>:165:2: note: possible intended match here
# |  WIDEN-INTRINSIC vp<%9> = call llvm.vector.splice.left(ir<poison>, ir<%0>, vp<%evl>)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\VPlan\RISCV\vplan-riscv-vector-reverse.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |          159:  vp<%7> = SCALAR-STEPS vp<%6>, ir<-1>, vp<%evl> 
# |          160:  CLONE ir<%i.0> = add nsw vp<%7>, ir<-1> 
# |          161:  CLONE ir<%idxprom> = zext ir<%i.0> 
# |          162:  CLONE ir<%arrayidx> = getelementptr inbounds ir<%B>, ir<%idxprom> 
# |          163:  vp<%8> = vector-end-pointer ir<%arrayidx>, vp<%evl> 
# |          164:  WIDEN ir<%0> = vp.load vp<%8>, vp<%evl> 
# | next:38'0                                             X error: no match found
# | next:38'1                                               with "LOAD_B" equal to "%0"
# | next:38'2                                               with "EVL" equal to "%evl"
# |          165:  WIDEN-INTRINSIC vp<%9> = call llvm.vector.splice.left(ir<poison>, ir<%0>, vp<%evl>) 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:38'3      ?                                                                                    possible intended match
# |          166:  WIDEN ir<%add9> = add ir<%0>, ir<1> 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          167:  CLONE ir<%arrayidx3> = getelementptr inbounds ir<%A>, ir<%idxprom> 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          168:  vp<%10> = vector-end-pointer ir<%arrayidx3>, vp<%evl> 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          169:  WIDEN vp.store vp<%10>, ir<%add9>, vp<%evl> 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          170:  EMIT vp<%current.iteration.next> = add vp<%evl>, vp<%5> 
# | next:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/bzip_reverse_loops.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\bzip_reverse_loops.ll -passes=loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S -enable-if-conversion | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\bzip_reverse_loops.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S -enable-if-conversion
# 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\Transforms\LoopVectorize\bzip_reverse_loops.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\bzip_reverse_loops.ll:42:14: error: CHECK-NEXT: expected string not found in input
# | ;CHECK-NEXT: shufflevector <4 x i32>
# |              ^
# | <stdin>:102:29: note: scanning from here
# |  %wide.load = load <4 x i32>, ptr %9, align 4
# |                             ^
# | <stdin>:103:3: note: possible intended match here
# |  %10 = icmp slt <4 x i32> %wide.load, %broadcast.splat
# |   ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\bzip_reverse_loops.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           97:  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ] 
# |           98:  %7 = mul i64 %index, -4 
# |           99:  %next.gep = getelementptr i8, ptr %a, i64 %7 
# |          100:  %8 = getelementptr inbounds i32, ptr %next.gep, i64 -1 
# |          101:  %9 = getelementptr inbounds i32, ptr %8, i64 -3 
# |          102:  %wide.load = load <4 x i32>, ptr %9, align 4 
# | next:42'0                                 X~~~~~~~~~~~~~~~~~ error: no match found
# |          103:  %10 = icmp slt <4 x i32> %wide.load, %broadcast.splat 
# | next:42'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:42'1       ?                                                     possible intended match
# |          104:  %11 = sub nsw <4 x i32> %wide.load, %broadcast.splat 
# | next:42'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          105:  %12 = select <4 x i1> %10, <4 x i32> zeroinitializer, <4 x i32> %11 
# | next:42'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          106:  store <4 x i32> %12, ptr %9, align 4 
# | next:42'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          107:  %index.next = add nuw i64 %index, 4 
# | next:42'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          108:  %13 = icmp eq i64 %index.next, %n.vec 
# | next:42'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/199234


More information about the llvm-commits mailing list