xref: /llvm-project/llvm/test/Transforms/SLPVectorizer/slp-hr-with-reuse.ll (revision 96cded5b796f405d91c4b403078fbb13f13a056b)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt --passes=slp-vectorizer,instcombine -slp-threshold=-1000000 -S < %s | FileCheck %s
3
4define i32 @foo() {
5; CHECK-LABEL: @foo(
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    ret i32 -162
8;
9entry:
10  %i = xor i32 4, -9
11  %i1 = xor i32 5, %i
12  %i2 = xor i32 6, %i1
13  %i3 = add i32 %i2, 0
14  %i4 = add i32 -9, %i3
15  %i5 = xor i32 8, -9
16  %i6 = add i32 %i5, %i4
17  %i7 = xor i32 9, %i5
18  %i8 = add i32 %i7, %i6
19  %i9 = xor i32 10, %i7
20  %i10 = add i32 %i9, %i8
21  %i11 = add i32 -9, %i10
22  %i12 = xor i32 12, -9
23  %i13 = add i32 %i12, %i11
24  %i14 = xor i32 13, %i12
25  %i15 = add i32 %i14, %i13
26  %i16 = xor i32 14, %i14
27  %i17 = add i32 %i16, %i15
28  %i18 = add i32 -9, %i17
29  %i19 = xor i32 16, -9
30  %i20 = add i32 %i19, %i18
31  %i21 = xor i32 17, %i19
32  %i22 = add i32 %i21, %i20
33  %i23 = xor i32 18, %i21
34  %i24 = add i32 %i23, %i22
35  %i25 = add i32 -9, %i24
36  %i26 = add i32 0, %i25
37  %i27 = add i32 0, %i26
38  %i28 = add i32 0, %i27
39  %i29 = add i32 -9, %i28
40  %i30 = add i32 0, %i29
41  %i31 = add i32 0, %i30
42  %i32 = add i32 0, %i31
43  ret i32 %i32
44}
45