xref: /llvm-project/llvm/test/Transforms/SLPVectorizer/X86/buildvector_splat_extractvalue.ll (revision e03d254bbd548d56fba43f805acb5fa31694d602)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -mtriple=x86_64-unknown-linux-gnu --passes=slp-vectorizer -S -o - %s | FileCheck %s
3
4define float @test() {
5; CHECK-LABEL: @test(
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    [[DOTOBIT1683:%.*]] = extractvalue { i64, i1 } zeroinitializer, 1
8; CHECK-NEXT:    [[OP_RDX:%.*]] = or i1 false, [[DOTOBIT1683]]
9; CHECK-NEXT:    br i1 [[OP_RDX]], label [[EXIT1:%.*]], label [[EXIT2:%.*]]
10; CHECK:       exit2:
11; CHECK-NEXT:    ret float 0.000000e+00
12; CHECK:       exit1:
13; CHECK-NEXT:    ret float 0.000000e+00
14;
15entry:
16  %.obit1683 = extractvalue { i64, i1 } zeroinitializer, 1
17  %state907 = or i1 %.obit1683, %.obit1683
18  %state915 = or i1 false, %state907
19  %state1017 = or i1 false, %state915
20  %state1021 = or i1 false, %state1017
21  %state1032 = or i1 %.obit1683, %state1021
22  %state1035 = or i1 false, %state1032
23  %state1052 = or i1 false, %state1035
24  %state1067 = or i1 false, %state1052
25  %state1076 = or i1 %.obit1683, %state1067
26  %state1142 = or i1 false, %state1076
27  %state1156 = or i1 false, %state1142
28  %state1161 = or i1 false, %state1156
29  %state1165 = or i1 %.obit1683, %state1161
30  %state1173 = or i1 false, %state1165
31  %state1193 = or i1 false, %state1173
32  %state1240 = or i1 false, %state1193
33  %state1258 = or i1 %.obit1683, %state1240
34  %state1278 = or i1 false, %state1258
35  %state1293 = or i1 false, %state1278
36  %state1298 = or i1 false, %state1293
37  %state1302 = or i1 %.obit1683, %state1298
38  %state1329 = or i1 false, %state1302
39  %state1336 = or i1 false, %state1329
40  %state1350 = or i1 false, %state1336
41  %state1359 = or i1 %.obit1683, %state1350
42  br i1 %state1359, label %exit1, label %exit2
43
44exit2:
45  ret float 0.000000e+00
46
47exit1:
48  ret float 0.000000e+00
49}
50