[llvm-branch-commits] [llvm] [IR] Autoupgrade trivial VP intrinsics to their non-VP counterparts (PR #212490)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jul 28 07:32:04 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 139049 tests passed
* 3590 tests skipped
* 5 tests failed
## Failed Tests
(click on a test name to see its output)
### MLIR
<details>
<summary>MLIR.Target/LLVMIR/Import/intrinsic.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe -import-llvm C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\Import\intrinsic.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\Import\intrinsic.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe' -import-llvm 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\Import\intrinsic.ll'
# 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\mlir\test\Target\LLVMIR\Import\intrinsic.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\Import\intrinsic.ll:962:11: error: CHECK: expected string not found in input
# | ; CHECK: "llvm.intr.vp.add"(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (vector<8xi32>, vector<8xi32>, vector<8xi1>, i32) -> vector<8xi32>
# | ^
# | <stdin>:542:42: note: scanning from here
# | llvm.func @vector_predication_intrinsics(%arg0: vector<8xi32>, %arg1: vector<8xi32>, %arg2: vector<8xf32>, %arg3: vector<8xf32>, %arg4: vector<8xi64>, %arg5: vector<8xf64>, %arg6: vector<8x!llvm.ptr>, %arg7: i32, %arg8: f32, %arg9: !llvm.ptr, %arg10: !llvm.ptr, %arg11: vector<8xi1>, %arg12: i32) {
# | ^
# | <stdin>:546:7: note: possible intended match here
# | %3 = "llvm.intr.vp.sdiv"(%arg0, %arg1, %arg11, %arg12) : (vector<8xi32>, vector<8xi32>, vector<8xi1>, i32) -> vector<8xi32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\Import\intrinsic.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 537: llvm.func @vector_deinterleave2(%arg0: vector<4xf64>, %arg1: vector<[8]xi32>) {
# | 538: %0 = "llvm.intr.vector.deinterleave2"(%arg0) : (vector<4xf64>) -> !llvm.struct<(vector<2xf64>, vector<2xf64>)>
# | 539: %1 = "llvm.intr.vector.deinterleave2"(%arg1) : (vector<[8]xi32>) -> !llvm.struct<(vector<[4]xi32>, vector<[4]xi32>)>
# | 540: llvm.return
# | 541: }
# | 542: llvm.func @vector_predication_intrinsics(%arg0: vector<8xi32>, %arg1: vector<8xi32>, %arg2: vector<8xf32>, %arg3: vector<8xf32>, %arg4: vector<8xi64>, %arg5: vector<8xf64>, %arg6: vector<8x!llvm.ptr>, %arg7: i32, %arg8: f32, %arg9: !llvm.ptr, %arg10: !llvm.ptr, %arg11: vector<8xi1>, %arg12: i32) {
# | check:962'0 { search range start (exclusive)
# | check:962'1 error: no match found in search range
# | 543: %0 = llvm.add %arg0, %arg1 : vector<8xi32>
# | 544: %1 = llvm.sub %arg0, %arg1 : vector<8xi32>
# | 545: %2 = llvm.mul %arg0, %arg1 : vector<8xi32>
# | 546: %3 = "llvm.intr.vp.sdiv"(%arg0, %arg1, %arg11, %arg12) : (vector<8xi32>, vector<8xi32>, vector<8xi1>, i32) -> vector<8xi32>
# | check:962'2 ? possible intended match
# | 547: %4 = "llvm.intr.vp.udiv"(%arg0, %arg1, %arg11, %arg12) : (vector<8xi32>, vector<8xi32>, vector<8xi1>, i32) -> vector<8xi32>
# | 548: %5 = "llvm.intr.vp.srem"(%arg0, %arg1, %arg11, %arg12) : (vector<8xi32>, vector<8xi32>, vector<8xi1>, i32) -> vector<8xi32>
# | 549: %6 = "llvm.intr.vp.urem"(%arg0, %arg1, %arg11, %arg12) : (vector<8xi32>, vector<8xi32>, vector<8xi1>, i32) -> vector<8xi32>
# | 550: %7 = llvm.ashr %arg0, %arg1 : vector<8xi32>
# | 551: %8 = llvm.lshr %arg0, %arg1 : vector<8xi32>
# | .
# | .
# | .
# | 593: %48 = llvm.intr.smin(%arg0, %arg1) : (vector<8xi32>, vector<8xi32>) -> vector<8xi32>
# | 594: %49 = llvm.intr.umax(%arg0, %arg1) : (vector<8xi32>, vector<8xi32>) -> vector<8xi32>
# | 595: %50 = llvm.intr.umin(%arg0, %arg1) : (vector<8xi32>, vector<8xi32>) -> vector<8xi32>
# | 596: llvm.return
# | 597: }
# | 598: llvm.func @ssa_copy(%arg0: f32) -> f32 {
# | check:962'3 } search range end (exclusive)
# | 599: %0 = llvm.intr.ssa.copy %arg0 : f32
# | 600: llvm.return %0 : f32
# | 601: }
# | 602: llvm.func @ptrmask(%arg0: !llvm.ptr, %arg1: i64) -> !llvm.ptr {
# | 603: %0 = llvm.intr.ptrmask %arg0, %arg1 : (!llvm.ptr, i64) -> !llvm.ptr
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### LLVM
<details>
<summary>LLVM.Verifier/invalid-vp-intrinsics.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
not c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe < C:\_work\llvm-project\llvm-project\llvm\test\Verifier\invalid-vp-intrinsics.ll -disable-output 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Verifier\invalid-vp-intrinsics.ll
# executed command: not 'c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe' -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\Verifier\invalid-vp-intrinsics.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Verifier\invalid-vp-intrinsics.ll:7:10: error: CHECK: expected string not found in input
# | ; CHECK: VP cast intrinsic first argument and result vector lengths must be equal
# | ^
# | <stdin>:1:1: note: scanning from here
# | Assertion failed: castIsValid(op, S, Ty) && "Invalid cast!", file C:\_work\llvm-project\llvm-project\llvm\lib\IR\Instructions.cpp, line 3105
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Verifier\invalid-vp-intrinsics.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: Assertion failed: castIsValid(op, S, Ty) && "Invalid cast!", file C:\_work\llvm-project\llvm-project\llvm\lib\IR\Instructions.cpp, line 3105
# | check:7'0 { search range start (exclusive)
# | check:7'1 error: no match found in search range
# | 2: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | 3: Stack dump:
# | 4: 0. Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\llvm-as.exe -disable-output
# | 5: Exception Code: 0xC000001D
# | 6: #0 0x00007ff672b36bd6 (c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe+0x266bd6)
# | .
# | .
# | .
# | 20: #14 0x00007ff6728d50f1 (c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe+0x50f1)
# | 21: #15 0x00007ff6728d4f28 (c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe+0x4f28)
# | 22: #16 0x00007ff6728d17f9 (c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe+0x17f9)
# | 23: #17 0x00007ff672c50f90 (c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe+0x380f90)
# | 24: #18 0x00007ffc66fa4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | 25: #19 0x00007ffc7393edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# | check:7'2 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Verifier/llvm.vp.is.fpclass.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
not c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe < C:\_work\llvm-project\llvm-project\llvm\test\Verifier\llvm.vp.is.fpclass.ll 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Verifier\llvm.vp.is.fpclass.ll
# executed command: not 'c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe'
# 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\Verifier\llvm.vp.is.fpclass.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Verifier\llvm.vp.is.fpclass.ll:5:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: %ret = call <8 x i1> @llvm.vp.is.fpclass.v8f64(<8 x double> %x, i32 %variable, <8 x i1> %m, i32 %evl)
# | ^
# | <stdin>:3:14: note: scanning from here
# | i32 %variable
# | ^
# | <stdin>:4:2: note: possible intended match here
# | %ret = call <8 x i1> @llvm.is.fpclass.v8f64(<8 x double> %x, i32 %variable)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Verifier\llvm.vp.is.fpclass.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: c:\_work\llvm-project\llvm-project\build\bin\llvm-as.exe: assembly parsed, but does not verify as correct!
# | 2: immarg operand has non-immediate parameter
# | 3: i32 %variable
# | next:5'0 { search range start (exclusive)
# | next:5'1 error: no match found in search range
# | 4: %ret = call <8 x i1> @llvm.is.fpclass.v8f64(<8 x double> %x, i32 %variable)
# | next:5'2 ? possible intended match
# | 5: unsupported bits for llvm.is.fpclass test mask
# | 6: unsupported bits for llvm.is.fpclass test mask
# | next:5'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Verifier/vp-intrinsics-bad.ll</summary>
```
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 1
not c:\_work\llvm-project\llvm-project\build\bin\opt.exe -passes=verify --disable-output C:\_work\llvm-project\llvm-project\llvm\test\Verifier\vp-intrinsics-bad.ll 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Verifier\vp-intrinsics-bad.ll
# executed command: not 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=verify --disable-output 'C:\_work\llvm-project\llvm-project\llvm\test\Verifier\vp-intrinsics-bad.ll'
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Verifier\vp-intrinsics-bad.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Verifier\vp-intrinsics-bad.ll
# `-----------------------------
# error: command failed with exit status: 2
--
```
</details>
### LLVM-Unit
<details>
<summary>LLVM-Unit.IR/_/IRTests_exe/VPIntrinsicTest/VPModuleComplete</summary>
```
Script:
--
C:\_work\llvm-project\llvm-project\build\unittests\IR\.\IRTests.exe --gtest_filter=VPIntrinsicTest.VPModuleComplete
--
C:\_work\llvm-project\llvm-project\llvm\include\llvm/IR/VPIntrinsics.def:143
Value of: SeenIDs.count(Intrinsic::vp_add)
Actual: false
Expected: true
```
</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/212490
More information about the llvm-branch-commits
mailing list