[llvm] eaf0135 - [SLP][NFC]Fix run line for the test, fix test name, NFC
via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 5 09:20:48 PDT 2026
Author: Alexey Bataev
Date: 2026-04-05T12:20:43-04:00
New Revision: eaf0135b77f37974f4d4647eced4c98c076865b3
URL: https://github.com/llvm/llvm-project/commit/eaf0135b77f37974f4d4647eced4c98c076865b3
DIFF: https://github.com/llvm/llvm-project/commit/eaf0135b77f37974f4d4647eced4c98c076865b3.diff
LOG: [SLP][NFC]Fix run line for the test, fix test name, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/190537
Added:
llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
Modified:
Removed:
llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
################################################################################
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll b/llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
similarity index 77%
rename from llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
rename to llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
index c5c978c9d22b1..b112953581297 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
-; RUN: opt -passes=slp-vectorizer -S -mattr=+sse4.2 < %s | FileCheck %s
+; RUN: opt -passes=slp-vectorizer -S -mtriple=x86_64-unknown-linux -mattr=+sse4.2 -slp-threshold=-2 < %s | FileCheck %s
define i32 @test(i32 %arg, i32 %arg1, i1 %arg4, i1 %arg5) {
; CHECK-LABEL: define i32 @test(
-; CHECK-SAME: i32 [[ARG:%.*]], i32 [[ARG1:%.*]], i1 [[ARG4:%.*]], i1 [[ARG5:%.*]]) {
+; CHECK-SAME: i32 [[ARG:%.*]], i32 [[ARG1:%.*]], i1 [[ARG4:%.*]], i1 [[ARG5:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: [[BB:.*:]]
; CHECK-NEXT: [[TMP0:%.*]] = insertelement <4 x i32> poison, i32 [[ARG]], i32 0
; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x i32> [[TMP0]], i32 [[ARG1]], i32 1
@@ -74,38 +74,42 @@ bb20:
define i32 @test_multi_cond_use(i32 %arg, i32 %arg1, i1 %arg4, i1 %arg5) {
; CHECK-LABEL: define i32 @test_multi_cond_use(
-; CHECK-SAME: i32 [[ARG:%.*]], i32 [[ARG1:%.*]], i1 [[ARG4:%.*]], i1 [[ARG5:%.*]]) {
+; CHECK-SAME: i32 [[ARG:%.*]], i32 [[ARG1:%.*]], i1 [[ARG4:%.*]], i1 [[ARG5:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: [[BB:.*:]]
; CHECK-NEXT: [[TMP0:%.*]] = insertelement <4 x i32> poison, i32 [[ARG]], i32 0
; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x i32> [[TMP0]], i32 [[ARG1]], i32 1
-; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <4 x i32> <i32 0, i32 1, i32 1, i32 0>
+; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
; CHECK-NEXT: [[TMP3:%.*]] = sdiv <4 x i32> [[TMP2]], splat (i32 64)
-; CHECK-NEXT: [[TMP4:%.*]] = shl <4 x i32> [[TMP3]], <i32 1, i32 0, i32 0, i32 0>
-; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <4 x i32> <i32 0, i32 0, i32 0, i32 1>
-; CHECK-NEXT: [[TMP6:%.*]] = icmp ne <4 x i32> [[TMP4]], [[TMP5]]
-; CHECK-NEXT: [[TMP14:%.*]] = icmp eq <4 x i32> [[TMP4]], [[TMP5]]
-; CHECK-NEXT: [[TMP15:%.*]] = shufflevector <4 x i1> [[TMP6]], <4 x i1> [[TMP14]], <4 x i32> <i32 0, i32 5, i32 6, i32 7>
-; CHECK-NEXT: [[TMP7:%.*]] = select <4 x i1> [[TMP15]], <4 x i32> <i32 1, i32 0, i32 0, i32 0>, <4 x i32> <i32 0, i32 2, i32 4, i32 8>
-; CHECK-NEXT: [[TMP8:%.*]] = extractelement <4 x i1> [[TMP15]], i32 3
+; CHECK-NEXT: [[TMP4:%.*]] = shl <4 x i32> [[TMP3]], <i32 0, i32 0, i32 1, i32 0>
+; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <4 x i32> <i32 1, i32 0, i32 0, i32 0>
+; CHECK-NEXT: [[TMP6:%.*]] = icmp eq <4 x i32> [[TMP4]], [[TMP5]]
+; CHECK-NEXT: [[TMP7:%.*]] = icmp ne <4 x i32> [[TMP4]], [[TMP5]]
+; CHECK-NEXT: [[TMP10:%.*]] = shufflevector <4 x i1> [[TMP6]], <4 x i1> [[TMP7]], <4 x i32> <i32 0, i32 1, i32 6, i32 3>
+; CHECK-NEXT: [[TMP8:%.*]] = extractelement <4 x i1> [[TMP10]], i32 2
; CHECK-NEXT: [[EXT:%.*]] = zext i1 [[TMP8]] to i32
+; CHECK-NEXT: [[ICMP7:%.*]] = extractelement <4 x i1> [[TMP10]], i32 3
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[ICMP7]], i32 0, i32 2
+; CHECK-NEXT: [[ICMP9:%.*]] = extractelement <4 x i1> [[TMP10]], i32 1
+; CHECK-NEXT: [[TMP12:%.*]] = select i1 [[ICMP9]], i32 0, i32 4
+; CHECK-NEXT: [[ICMP11:%.*]] = extractelement <4 x i1> [[TMP10]], i32 0
+; CHECK-NEXT: [[TMP13:%.*]] = select i1 [[ICMP11]], i32 0, i32 8
+; CHECK-NEXT: [[EXT1:%.*]] = zext i1 [[ICMP11]] to i32
; CHECK-NEXT: br i1 [[ARG4]], label %[[BB13:.*]], label %[[BB16:.*]]
; CHECK: [[COMMON_RET:.*]]:
-; CHECK-NEXT: [[COMMON_RET_OP:%.*]] = phi i32 [ [[EXT]], %[[BB20:.*]] ], [ [[OR19:%.*]], %[[BB17:.*]] ]
+; CHECK-NEXT: [[COMMON_RET_OP:%.*]] = phi i32 [ [[EXT1]], %[[BB20:.*]] ], [ [[OR19:%.*]], %[[BB17:.*]] ]
; CHECK-NEXT: ret i32 [[COMMON_RET_OP]]
; CHECK: [[BB13]]:
-; CHECK-NEXT: [[TMP9:%.*]] = call i32 @llvm.vector.reduce.or.v4i32(<4 x i32> [[TMP7]])
+; CHECK-NEXT: [[OR:%.*]] = or i32 [[SELECT]], [[EXT]]
+; CHECK-NEXT: [[OR14:%.*]] = or i32 [[OR]], [[TMP12]]
+; CHECK-NEXT: [[TMP9:%.*]] = or i32 [[OR14]], [[TMP13]]
; CHECK-NEXT: ret i32 [[TMP9]]
; CHECK: [[BB16]]:
; CHECK-NEXT: br i1 [[ARG5]], label %[[BB17]], label %[[BB20]]
; CHECK: [[BB17]]:
-; CHECK-NEXT: [[TMP10:%.*]] = extractelement <4 x i32> [[TMP7]], i32 0
-; CHECK-NEXT: [[TMP11:%.*]] = extractelement <4 x i32> [[TMP7]], i32 1
-; CHECK-NEXT: [[OR18:%.*]] = or i32 [[TMP11]], [[TMP10]]
-; CHECK-NEXT: [[TMP12:%.*]] = extractelement <4 x i32> [[TMP7]], i32 2
+; CHECK-NEXT: [[OR18:%.*]] = or i32 [[SELECT]], [[EXT]]
; CHECK-NEXT: [[OR19]] = or i32 [[OR18]], [[TMP12]]
; CHECK-NEXT: br label %[[COMMON_RET]]
; CHECK: [[BB20]]:
-; CHECK-NEXT: [[TMP13:%.*]] = extractelement <4 x i32> [[TMP7]], i32 3
; CHECK-NEXT: store volatile i32 [[TMP13]], ptr null, align 4294967296
; CHECK-NEXT: br label %[[COMMON_RET]]
;
More information about the llvm-commits
mailing list