Skip to content

Commit 03feab7

Browse files
committed
[SLP][NFC]Add a test with the reused main op instruction, NFC.
1 parent 6d6314b commit 03feab7

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

llvm/test/Transforms/SLPVectorizer/X86/multi-node-vectorized-insts.ll

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,36 @@ define void @test1(double %0, <4 x double> %v) {
7575
%13 = fcmp olt double %12, 0.000000e+00
7676
br label %2
7777
}
78+
79+
define void @test2(double %0) {
80+
; CHECK-LABEL: define void @test2(
81+
; CHECK-SAME: double [[TMP0:%.*]]) {
82+
; CHECK-NEXT: [[TMP2:%.*]] = insertelement <2 x double> poison, double [[TMP0]], i32 0
83+
; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <2 x double> [[TMP2]], <2 x double> poison, <2 x i32> zeroinitializer
84+
; CHECK-NEXT: br label [[TMP4:%.*]]
85+
; CHECK: 4:
86+
; CHECK-NEXT: [[TMP5:%.*]] = fsub double 1.000000e+00, [[TMP0]]
87+
; CHECK-NEXT: [[TMP6:%.*]] = fsub <2 x double> <double 3.000000e+00, double 2.000000e+00>, [[TMP3]]
88+
; CHECK-NEXT: br label [[DOTBACKEDGE:%.*]]
89+
; CHECK: .backedge:
90+
; CHECK-NEXT: [[TMP7:%.*]] = insertelement <2 x double> [[TMP6]], double [[TMP5]], i32 1
91+
; CHECK-NEXT: [[TMP8:%.*]] = fmul <2 x double> [[TMP6]], [[TMP7]]
92+
; CHECK-NEXT: [[TMP9:%.*]] = fcmp olt <2 x double> [[TMP8]], zeroinitializer
93+
; CHECK-NEXT: br label [[TMP4]]
94+
;
95+
br label %2
96+
97+
2:
98+
%3 = fsub double 1.000000e+00, %0
99+
%4 = fsub double 2.000000e+00, %0
100+
%5 = fsub double 3.000000e+00, %0
101+
br label %.backedge
102+
103+
.backedge:
104+
%6 = fmul double %4, %3
105+
%7 = fcmp olt double %6, 0.000000e+00
106+
%8 = fmul double %5, %5
107+
%9 = fcmp olt double %8, 0.000000e+00
108+
br label %2
109+
}
110+

0 commit comments

Comments
 (0)