Skip to content

Commit 1d0563f

Browse files
committed
[SLP][REVEC] Pre-commit test.
1 parent a795a18 commit 1d0563f

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,30 @@ entry:
8282
store <4 x i32> %4, ptr %8, align 4
8383
ret void
8484
}
85+
86+
define void @test4(ptr %in) {
87+
entry:
88+
br label %label0
89+
90+
label0:
91+
%0 = load <8 x float>, ptr %in, align 4
92+
%1 = shufflevector <8 x float> %0, <8 x float> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
93+
%2 = shufflevector <8 x float> %0, <8 x float> zeroinitializer, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
94+
%3 = call <4 x float> @llvm.fma.v4f32(<4 x float> %1, <4 x float> zeroinitializer, <4 x float> zeroinitializer)
95+
%4 = call <4 x float> @llvm.fma.v4f32(<4 x float> %2, <4 x float> zeroinitializer, <4 x float> zeroinitializer)
96+
%5 = call <4 x float> @llvm.fma.v4f32(<4 x float> %1, <4 x float> zeroinitializer, <4 x float> zeroinitializer)
97+
%6 = call <4 x float> @llvm.fma.v4f32(<4 x float> %2, <4 x float> zeroinitializer, <4 x float> zeroinitializer)
98+
br label %label2
99+
100+
label1:
101+
br label %label2
102+
103+
label2:
104+
%7 = phi <4 x float> [ %3, %label0 ], [ zeroinitializer, %label1 ]
105+
%8 = phi <4 x float> [ %4, %label0 ], [ zeroinitializer, %label1 ]
106+
%9 = phi <4 x float> [ %5, %label0 ], [ zeroinitializer, %label1 ]
107+
%10 = phi <4 x float> [ %6, %label0 ], [ zeroinitializer, %label1 ]
108+
br label %label0
109+
}
110+
111+
declare <4 x float> @llvm.fma.v4f32(<4 x float>, <4 x float>, <4 x float>)

0 commit comments

Comments
 (0)