xref: /aosp_15_r20/external/llvm/test/Transforms/LoopReroll/basic32iters.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -loop-reroll -verify-scev -S | FileCheck %s
2*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
3*9880d681SAndroid Build Coastguard Workertarget triple = "x86_64-unknown-linux-gnu"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; void goo32(float alpha, float *a, float *b) {
6*9880d681SAndroid Build Coastguard Worker;   for (int i = 0; i < 3200; i += 32) {
7*9880d681SAndroid Build Coastguard Worker;     a[i] += alpha * b[i];
8*9880d681SAndroid Build Coastguard Worker;     a[i + 1] += alpha * b[i + 1];
9*9880d681SAndroid Build Coastguard Worker;     a[i + 2] += alpha * b[i + 2];
10*9880d681SAndroid Build Coastguard Worker;     a[i + 3] += alpha * b[i + 3];
11*9880d681SAndroid Build Coastguard Worker;     a[i + 4] += alpha * b[i + 4];
12*9880d681SAndroid Build Coastguard Worker;     a[i + 5] += alpha * b[i + 5];
13*9880d681SAndroid Build Coastguard Worker;     a[i + 6] += alpha * b[i + 6];
14*9880d681SAndroid Build Coastguard Worker;     a[i + 7] += alpha * b[i + 7];
15*9880d681SAndroid Build Coastguard Worker;     a[i + 8] += alpha * b[i + 8];
16*9880d681SAndroid Build Coastguard Worker;     a[i + 9] += alpha * b[i + 9];
17*9880d681SAndroid Build Coastguard Worker;     a[i + 10] += alpha * b[i + 10];
18*9880d681SAndroid Build Coastguard Worker;     a[i + 11] += alpha * b[i + 11];
19*9880d681SAndroid Build Coastguard Worker;     a[i + 12] += alpha * b[i + 12];
20*9880d681SAndroid Build Coastguard Worker;     a[i + 13] += alpha * b[i + 13];
21*9880d681SAndroid Build Coastguard Worker;     a[i + 14] += alpha * b[i + 14];
22*9880d681SAndroid Build Coastguard Worker;     a[i + 15] += alpha * b[i + 15];
23*9880d681SAndroid Build Coastguard Worker;     a[i + 16] += alpha * b[i + 16];
24*9880d681SAndroid Build Coastguard Worker;     a[i + 17] += alpha * b[i + 17];
25*9880d681SAndroid Build Coastguard Worker;     a[i + 18] += alpha * b[i + 18];
26*9880d681SAndroid Build Coastguard Worker;     a[i + 19] += alpha * b[i + 19];
27*9880d681SAndroid Build Coastguard Worker;     a[i + 20] += alpha * b[i + 20];
28*9880d681SAndroid Build Coastguard Worker;     a[i + 21] += alpha * b[i + 21];
29*9880d681SAndroid Build Coastguard Worker;     a[i + 22] += alpha * b[i + 22];
30*9880d681SAndroid Build Coastguard Worker;     a[i + 23] += alpha * b[i + 23];
31*9880d681SAndroid Build Coastguard Worker;     a[i + 24] += alpha * b[i + 24];
32*9880d681SAndroid Build Coastguard Worker;     a[i + 25] += alpha * b[i + 25];
33*9880d681SAndroid Build Coastguard Worker;     a[i + 26] += alpha * b[i + 26];
34*9880d681SAndroid Build Coastguard Worker;     a[i + 27] += alpha * b[i + 27];
35*9880d681SAndroid Build Coastguard Worker;     a[i + 28] += alpha * b[i + 28];
36*9880d681SAndroid Build Coastguard Worker;     a[i + 29] += alpha * b[i + 29];
37*9880d681SAndroid Build Coastguard Worker;     a[i + 30] += alpha * b[i + 30];
38*9880d681SAndroid Build Coastguard Worker;     a[i + 31] += alpha * b[i + 31];
39*9880d681SAndroid Build Coastguard Worker;   }
40*9880d681SAndroid Build Coastguard Worker; }
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker; Function Attrs: norecurse nounwind uwtable
43*9880d681SAndroid Build Coastguard Workerdefine void @goo32(float %alpha, float* %a, float* readonly %b) #0 {
44*9880d681SAndroid Build Coastguard Workerentry:
45*9880d681SAndroid Build Coastguard Worker  br label %for.body
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Workerfor.body:                                         ; preds = %entry, %for.body
48*9880d681SAndroid Build Coastguard Worker  %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
49*9880d681SAndroid Build Coastguard Worker  %arrayidx = getelementptr inbounds float, float* %b, i64 %indvars.iv
50*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* %arrayidx, align 4
51*9880d681SAndroid Build Coastguard Worker  %mul = fmul float %0, %alpha
52*9880d681SAndroid Build Coastguard Worker  %arrayidx2 = getelementptr inbounds float, float* %a, i64 %indvars.iv
53*9880d681SAndroid Build Coastguard Worker  %1 = load float, float* %arrayidx2, align 4
54*9880d681SAndroid Build Coastguard Worker  %add = fadd float %1, %mul
55*9880d681SAndroid Build Coastguard Worker  store float %add, float* %arrayidx2, align 4
56*9880d681SAndroid Build Coastguard Worker  %2 = or i64 %indvars.iv, 1
57*9880d681SAndroid Build Coastguard Worker  %arrayidx5 = getelementptr inbounds float, float* %b, i64 %2
58*9880d681SAndroid Build Coastguard Worker  %3 = load float, float* %arrayidx5, align 4
59*9880d681SAndroid Build Coastguard Worker  %mul6 = fmul float %3, %alpha
60*9880d681SAndroid Build Coastguard Worker  %arrayidx9 = getelementptr inbounds float, float* %a, i64 %2
61*9880d681SAndroid Build Coastguard Worker  %4 = load float, float* %arrayidx9, align 4
62*9880d681SAndroid Build Coastguard Worker  %add10 = fadd float %4, %mul6
63*9880d681SAndroid Build Coastguard Worker  store float %add10, float* %arrayidx9, align 4
64*9880d681SAndroid Build Coastguard Worker  %5 = or i64 %indvars.iv, 2
65*9880d681SAndroid Build Coastguard Worker  %arrayidx13 = getelementptr inbounds float, float* %b, i64 %5
66*9880d681SAndroid Build Coastguard Worker  %6 = load float, float* %arrayidx13, align 4
67*9880d681SAndroid Build Coastguard Worker  %mul14 = fmul float %6, %alpha
68*9880d681SAndroid Build Coastguard Worker  %arrayidx17 = getelementptr inbounds float, float* %a, i64 %5
69*9880d681SAndroid Build Coastguard Worker  %7 = load float, float* %arrayidx17, align 4
70*9880d681SAndroid Build Coastguard Worker  %add18 = fadd float %7, %mul14
71*9880d681SAndroid Build Coastguard Worker  store float %add18, float* %arrayidx17, align 4
72*9880d681SAndroid Build Coastguard Worker  %8 = or i64 %indvars.iv, 3
73*9880d681SAndroid Build Coastguard Worker  %arrayidx21 = getelementptr inbounds float, float* %b, i64 %8
74*9880d681SAndroid Build Coastguard Worker  %9 = load float, float* %arrayidx21, align 4
75*9880d681SAndroid Build Coastguard Worker  %mul22 = fmul float %9, %alpha
76*9880d681SAndroid Build Coastguard Worker  %arrayidx25 = getelementptr inbounds float, float* %a, i64 %8
77*9880d681SAndroid Build Coastguard Worker  %10 = load float, float* %arrayidx25, align 4
78*9880d681SAndroid Build Coastguard Worker  %add26 = fadd float %10, %mul22
79*9880d681SAndroid Build Coastguard Worker  store float %add26, float* %arrayidx25, align 4
80*9880d681SAndroid Build Coastguard Worker  %11 = or i64 %indvars.iv, 4
81*9880d681SAndroid Build Coastguard Worker  %arrayidx29 = getelementptr inbounds float, float* %b, i64 %11
82*9880d681SAndroid Build Coastguard Worker  %12 = load float, float* %arrayidx29, align 4
83*9880d681SAndroid Build Coastguard Worker  %mul30 = fmul float %12, %alpha
84*9880d681SAndroid Build Coastguard Worker  %arrayidx33 = getelementptr inbounds float, float* %a, i64 %11
85*9880d681SAndroid Build Coastguard Worker  %13 = load float, float* %arrayidx33, align 4
86*9880d681SAndroid Build Coastguard Worker  %add34 = fadd float %13, %mul30
87*9880d681SAndroid Build Coastguard Worker  store float %add34, float* %arrayidx33, align 4
88*9880d681SAndroid Build Coastguard Worker  %14 = or i64 %indvars.iv, 5
89*9880d681SAndroid Build Coastguard Worker  %arrayidx37 = getelementptr inbounds float, float* %b, i64 %14
90*9880d681SAndroid Build Coastguard Worker  %15 = load float, float* %arrayidx37, align 4
91*9880d681SAndroid Build Coastguard Worker  %mul38 = fmul float %15, %alpha
92*9880d681SAndroid Build Coastguard Worker  %arrayidx41 = getelementptr inbounds float, float* %a, i64 %14
93*9880d681SAndroid Build Coastguard Worker  %16 = load float, float* %arrayidx41, align 4
94*9880d681SAndroid Build Coastguard Worker  %add42 = fadd float %16, %mul38
95*9880d681SAndroid Build Coastguard Worker  store float %add42, float* %arrayidx41, align 4
96*9880d681SAndroid Build Coastguard Worker  %17 = or i64 %indvars.iv, 6
97*9880d681SAndroid Build Coastguard Worker  %arrayidx45 = getelementptr inbounds float, float* %b, i64 %17
98*9880d681SAndroid Build Coastguard Worker  %18 = load float, float* %arrayidx45, align 4
99*9880d681SAndroid Build Coastguard Worker  %mul46 = fmul float %18, %alpha
100*9880d681SAndroid Build Coastguard Worker  %arrayidx49 = getelementptr inbounds float, float* %a, i64 %17
101*9880d681SAndroid Build Coastguard Worker  %19 = load float, float* %arrayidx49, align 4
102*9880d681SAndroid Build Coastguard Worker  %add50 = fadd float %19, %mul46
103*9880d681SAndroid Build Coastguard Worker  store float %add50, float* %arrayidx49, align 4
104*9880d681SAndroid Build Coastguard Worker  %20 = or i64 %indvars.iv, 7
105*9880d681SAndroid Build Coastguard Worker  %arrayidx53 = getelementptr inbounds float, float* %b, i64 %20
106*9880d681SAndroid Build Coastguard Worker  %21 = load float, float* %arrayidx53, align 4
107*9880d681SAndroid Build Coastguard Worker  %mul54 = fmul float %21, %alpha
108*9880d681SAndroid Build Coastguard Worker  %arrayidx57 = getelementptr inbounds float, float* %a, i64 %20
109*9880d681SAndroid Build Coastguard Worker  %22 = load float, float* %arrayidx57, align 4
110*9880d681SAndroid Build Coastguard Worker  %add58 = fadd float %22, %mul54
111*9880d681SAndroid Build Coastguard Worker  store float %add58, float* %arrayidx57, align 4
112*9880d681SAndroid Build Coastguard Worker  %23 = or i64 %indvars.iv, 8
113*9880d681SAndroid Build Coastguard Worker  %arrayidx61 = getelementptr inbounds float, float* %b, i64 %23
114*9880d681SAndroid Build Coastguard Worker  %24 = load float, float* %arrayidx61, align 4
115*9880d681SAndroid Build Coastguard Worker  %mul62 = fmul float %24, %alpha
116*9880d681SAndroid Build Coastguard Worker  %arrayidx65 = getelementptr inbounds float, float* %a, i64 %23
117*9880d681SAndroid Build Coastguard Worker  %25 = load float, float* %arrayidx65, align 4
118*9880d681SAndroid Build Coastguard Worker  %add66 = fadd float %25, %mul62
119*9880d681SAndroid Build Coastguard Worker  store float %add66, float* %arrayidx65, align 4
120*9880d681SAndroid Build Coastguard Worker  %26 = or i64 %indvars.iv, 9
121*9880d681SAndroid Build Coastguard Worker  %arrayidx69 = getelementptr inbounds float, float* %b, i64 %26
122*9880d681SAndroid Build Coastguard Worker  %27 = load float, float* %arrayidx69, align 4
123*9880d681SAndroid Build Coastguard Worker  %mul70 = fmul float %27, %alpha
124*9880d681SAndroid Build Coastguard Worker  %arrayidx73 = getelementptr inbounds float, float* %a, i64 %26
125*9880d681SAndroid Build Coastguard Worker  %28 = load float, float* %arrayidx73, align 4
126*9880d681SAndroid Build Coastguard Worker  %add74 = fadd float %28, %mul70
127*9880d681SAndroid Build Coastguard Worker  store float %add74, float* %arrayidx73, align 4
128*9880d681SAndroid Build Coastguard Worker  %29 = or i64 %indvars.iv, 10
129*9880d681SAndroid Build Coastguard Worker  %arrayidx77 = getelementptr inbounds float, float* %b, i64 %29
130*9880d681SAndroid Build Coastguard Worker  %30 = load float, float* %arrayidx77, align 4
131*9880d681SAndroid Build Coastguard Worker  %mul78 = fmul float %30, %alpha
132*9880d681SAndroid Build Coastguard Worker  %arrayidx81 = getelementptr inbounds float, float* %a, i64 %29
133*9880d681SAndroid Build Coastguard Worker  %31 = load float, float* %arrayidx81, align 4
134*9880d681SAndroid Build Coastguard Worker  %add82 = fadd float %31, %mul78
135*9880d681SAndroid Build Coastguard Worker  store float %add82, float* %arrayidx81, align 4
136*9880d681SAndroid Build Coastguard Worker  %32 = or i64 %indvars.iv, 11
137*9880d681SAndroid Build Coastguard Worker  %arrayidx85 = getelementptr inbounds float, float* %b, i64 %32
138*9880d681SAndroid Build Coastguard Worker  %33 = load float, float* %arrayidx85, align 4
139*9880d681SAndroid Build Coastguard Worker  %mul86 = fmul float %33, %alpha
140*9880d681SAndroid Build Coastguard Worker  %arrayidx89 = getelementptr inbounds float, float* %a, i64 %32
141*9880d681SAndroid Build Coastguard Worker  %34 = load float, float* %arrayidx89, align 4
142*9880d681SAndroid Build Coastguard Worker  %add90 = fadd float %34, %mul86
143*9880d681SAndroid Build Coastguard Worker  store float %add90, float* %arrayidx89, align 4
144*9880d681SAndroid Build Coastguard Worker  %35 = or i64 %indvars.iv, 12
145*9880d681SAndroid Build Coastguard Worker  %arrayidx93 = getelementptr inbounds float, float* %b, i64 %35
146*9880d681SAndroid Build Coastguard Worker  %36 = load float, float* %arrayidx93, align 4
147*9880d681SAndroid Build Coastguard Worker  %mul94 = fmul float %36, %alpha
148*9880d681SAndroid Build Coastguard Worker  %arrayidx97 = getelementptr inbounds float, float* %a, i64 %35
149*9880d681SAndroid Build Coastguard Worker  %37 = load float, float* %arrayidx97, align 4
150*9880d681SAndroid Build Coastguard Worker  %add98 = fadd float %37, %mul94
151*9880d681SAndroid Build Coastguard Worker  store float %add98, float* %arrayidx97, align 4
152*9880d681SAndroid Build Coastguard Worker  %38 = or i64 %indvars.iv, 13
153*9880d681SAndroid Build Coastguard Worker  %arrayidx101 = getelementptr inbounds float, float* %b, i64 %38
154*9880d681SAndroid Build Coastguard Worker  %39 = load float, float* %arrayidx101, align 4
155*9880d681SAndroid Build Coastguard Worker  %mul102 = fmul float %39, %alpha
156*9880d681SAndroid Build Coastguard Worker  %arrayidx105 = getelementptr inbounds float, float* %a, i64 %38
157*9880d681SAndroid Build Coastguard Worker  %40 = load float, float* %arrayidx105, align 4
158*9880d681SAndroid Build Coastguard Worker  %add106 = fadd float %40, %mul102
159*9880d681SAndroid Build Coastguard Worker  store float %add106, float* %arrayidx105, align 4
160*9880d681SAndroid Build Coastguard Worker  %41 = or i64 %indvars.iv, 14
161*9880d681SAndroid Build Coastguard Worker  %arrayidx109 = getelementptr inbounds float, float* %b, i64 %41
162*9880d681SAndroid Build Coastguard Worker  %42 = load float, float* %arrayidx109, align 4
163*9880d681SAndroid Build Coastguard Worker  %mul110 = fmul float %42, %alpha
164*9880d681SAndroid Build Coastguard Worker  %arrayidx113 = getelementptr inbounds float, float* %a, i64 %41
165*9880d681SAndroid Build Coastguard Worker  %43 = load float, float* %arrayidx113, align 4
166*9880d681SAndroid Build Coastguard Worker  %add114 = fadd float %43, %mul110
167*9880d681SAndroid Build Coastguard Worker  store float %add114, float* %arrayidx113, align 4
168*9880d681SAndroid Build Coastguard Worker  %44 = or i64 %indvars.iv, 15
169*9880d681SAndroid Build Coastguard Worker  %arrayidx117 = getelementptr inbounds float, float* %b, i64 %44
170*9880d681SAndroid Build Coastguard Worker  %45 = load float, float* %arrayidx117, align 4
171*9880d681SAndroid Build Coastguard Worker  %mul118 = fmul float %45, %alpha
172*9880d681SAndroid Build Coastguard Worker  %arrayidx121 = getelementptr inbounds float, float* %a, i64 %44
173*9880d681SAndroid Build Coastguard Worker  %46 = load float, float* %arrayidx121, align 4
174*9880d681SAndroid Build Coastguard Worker  %add122 = fadd float %46, %mul118
175*9880d681SAndroid Build Coastguard Worker  store float %add122, float* %arrayidx121, align 4
176*9880d681SAndroid Build Coastguard Worker  %47 = or i64 %indvars.iv, 16
177*9880d681SAndroid Build Coastguard Worker  %arrayidx125 = getelementptr inbounds float, float* %b, i64 %47
178*9880d681SAndroid Build Coastguard Worker  %48 = load float, float* %arrayidx125, align 4
179*9880d681SAndroid Build Coastguard Worker  %mul126 = fmul float %48, %alpha
180*9880d681SAndroid Build Coastguard Worker  %arrayidx129 = getelementptr inbounds float, float* %a, i64 %47
181*9880d681SAndroid Build Coastguard Worker  %49 = load float, float* %arrayidx129, align 4
182*9880d681SAndroid Build Coastguard Worker  %add130 = fadd float %49, %mul126
183*9880d681SAndroid Build Coastguard Worker  store float %add130, float* %arrayidx129, align 4
184*9880d681SAndroid Build Coastguard Worker  %50 = or i64 %indvars.iv, 17
185*9880d681SAndroid Build Coastguard Worker  %arrayidx133 = getelementptr inbounds float, float* %b, i64 %50
186*9880d681SAndroid Build Coastguard Worker  %51 = load float, float* %arrayidx133, align 4
187*9880d681SAndroid Build Coastguard Worker  %mul134 = fmul float %51, %alpha
188*9880d681SAndroid Build Coastguard Worker  %arrayidx137 = getelementptr inbounds float, float* %a, i64 %50
189*9880d681SAndroid Build Coastguard Worker  %52 = load float, float* %arrayidx137, align 4
190*9880d681SAndroid Build Coastguard Worker  %add138 = fadd float %52, %mul134
191*9880d681SAndroid Build Coastguard Worker  store float %add138, float* %arrayidx137, align 4
192*9880d681SAndroid Build Coastguard Worker  %53 = or i64 %indvars.iv, 18
193*9880d681SAndroid Build Coastguard Worker  %arrayidx141 = getelementptr inbounds float, float* %b, i64 %53
194*9880d681SAndroid Build Coastguard Worker  %54 = load float, float* %arrayidx141, align 4
195*9880d681SAndroid Build Coastguard Worker  %mul142 = fmul float %54, %alpha
196*9880d681SAndroid Build Coastguard Worker  %arrayidx145 = getelementptr inbounds float, float* %a, i64 %53
197*9880d681SAndroid Build Coastguard Worker  %55 = load float, float* %arrayidx145, align 4
198*9880d681SAndroid Build Coastguard Worker  %add146 = fadd float %55, %mul142
199*9880d681SAndroid Build Coastguard Worker  store float %add146, float* %arrayidx145, align 4
200*9880d681SAndroid Build Coastguard Worker  %56 = or i64 %indvars.iv, 19
201*9880d681SAndroid Build Coastguard Worker  %arrayidx149 = getelementptr inbounds float, float* %b, i64 %56
202*9880d681SAndroid Build Coastguard Worker  %57 = load float, float* %arrayidx149, align 4
203*9880d681SAndroid Build Coastguard Worker  %mul150 = fmul float %57, %alpha
204*9880d681SAndroid Build Coastguard Worker  %arrayidx153 = getelementptr inbounds float, float* %a, i64 %56
205*9880d681SAndroid Build Coastguard Worker  %58 = load float, float* %arrayidx153, align 4
206*9880d681SAndroid Build Coastguard Worker  %add154 = fadd float %58, %mul150
207*9880d681SAndroid Build Coastguard Worker  store float %add154, float* %arrayidx153, align 4
208*9880d681SAndroid Build Coastguard Worker  %59 = or i64 %indvars.iv, 20
209*9880d681SAndroid Build Coastguard Worker  %arrayidx157 = getelementptr inbounds float, float* %b, i64 %59
210*9880d681SAndroid Build Coastguard Worker  %60 = load float, float* %arrayidx157, align 4
211*9880d681SAndroid Build Coastguard Worker  %mul158 = fmul float %60, %alpha
212*9880d681SAndroid Build Coastguard Worker  %arrayidx161 = getelementptr inbounds float, float* %a, i64 %59
213*9880d681SAndroid Build Coastguard Worker  %61 = load float, float* %arrayidx161, align 4
214*9880d681SAndroid Build Coastguard Worker  %add162 = fadd float %61, %mul158
215*9880d681SAndroid Build Coastguard Worker  store float %add162, float* %arrayidx161, align 4
216*9880d681SAndroid Build Coastguard Worker  %62 = or i64 %indvars.iv, 21
217*9880d681SAndroid Build Coastguard Worker  %arrayidx165 = getelementptr inbounds float, float* %b, i64 %62
218*9880d681SAndroid Build Coastguard Worker  %63 = load float, float* %arrayidx165, align 4
219*9880d681SAndroid Build Coastguard Worker  %mul166 = fmul float %63, %alpha
220*9880d681SAndroid Build Coastguard Worker  %arrayidx169 = getelementptr inbounds float, float* %a, i64 %62
221*9880d681SAndroid Build Coastguard Worker  %64 = load float, float* %arrayidx169, align 4
222*9880d681SAndroid Build Coastguard Worker  %add170 = fadd float %64, %mul166
223*9880d681SAndroid Build Coastguard Worker  store float %add170, float* %arrayidx169, align 4
224*9880d681SAndroid Build Coastguard Worker  %65 = or i64 %indvars.iv, 22
225*9880d681SAndroid Build Coastguard Worker  %arrayidx173 = getelementptr inbounds float, float* %b, i64 %65
226*9880d681SAndroid Build Coastguard Worker  %66 = load float, float* %arrayidx173, align 4
227*9880d681SAndroid Build Coastguard Worker  %mul174 = fmul float %66, %alpha
228*9880d681SAndroid Build Coastguard Worker  %arrayidx177 = getelementptr inbounds float, float* %a, i64 %65
229*9880d681SAndroid Build Coastguard Worker  %67 = load float, float* %arrayidx177, align 4
230*9880d681SAndroid Build Coastguard Worker  %add178 = fadd float %67, %mul174
231*9880d681SAndroid Build Coastguard Worker  store float %add178, float* %arrayidx177, align 4
232*9880d681SAndroid Build Coastguard Worker  %68 = or i64 %indvars.iv, 23
233*9880d681SAndroid Build Coastguard Worker  %arrayidx181 = getelementptr inbounds float, float* %b, i64 %68
234*9880d681SAndroid Build Coastguard Worker  %69 = load float, float* %arrayidx181, align 4
235*9880d681SAndroid Build Coastguard Worker  %mul182 = fmul float %69, %alpha
236*9880d681SAndroid Build Coastguard Worker  %arrayidx185 = getelementptr inbounds float, float* %a, i64 %68
237*9880d681SAndroid Build Coastguard Worker  %70 = load float, float* %arrayidx185, align 4
238*9880d681SAndroid Build Coastguard Worker  %add186 = fadd float %70, %mul182
239*9880d681SAndroid Build Coastguard Worker  store float %add186, float* %arrayidx185, align 4
240*9880d681SAndroid Build Coastguard Worker  %71 = or i64 %indvars.iv, 24
241*9880d681SAndroid Build Coastguard Worker  %arrayidx189 = getelementptr inbounds float, float* %b, i64 %71
242*9880d681SAndroid Build Coastguard Worker  %72 = load float, float* %arrayidx189, align 4
243*9880d681SAndroid Build Coastguard Worker  %mul190 = fmul float %72, %alpha
244*9880d681SAndroid Build Coastguard Worker  %arrayidx193 = getelementptr inbounds float, float* %a, i64 %71
245*9880d681SAndroid Build Coastguard Worker  %73 = load float, float* %arrayidx193, align 4
246*9880d681SAndroid Build Coastguard Worker  %add194 = fadd float %73, %mul190
247*9880d681SAndroid Build Coastguard Worker  store float %add194, float* %arrayidx193, align 4
248*9880d681SAndroid Build Coastguard Worker  %74 = or i64 %indvars.iv, 25
249*9880d681SAndroid Build Coastguard Worker  %arrayidx197 = getelementptr inbounds float, float* %b, i64 %74
250*9880d681SAndroid Build Coastguard Worker  %75 = load float, float* %arrayidx197, align 4
251*9880d681SAndroid Build Coastguard Worker  %mul198 = fmul float %75, %alpha
252*9880d681SAndroid Build Coastguard Worker  %arrayidx201 = getelementptr inbounds float, float* %a, i64 %74
253*9880d681SAndroid Build Coastguard Worker  %76 = load float, float* %arrayidx201, align 4
254*9880d681SAndroid Build Coastguard Worker  %add202 = fadd float %76, %mul198
255*9880d681SAndroid Build Coastguard Worker  store float %add202, float* %arrayidx201, align 4
256*9880d681SAndroid Build Coastguard Worker  %77 = or i64 %indvars.iv, 26
257*9880d681SAndroid Build Coastguard Worker  %arrayidx205 = getelementptr inbounds float, float* %b, i64 %77
258*9880d681SAndroid Build Coastguard Worker  %78 = load float, float* %arrayidx205, align 4
259*9880d681SAndroid Build Coastguard Worker  %mul206 = fmul float %78, %alpha
260*9880d681SAndroid Build Coastguard Worker  %arrayidx209 = getelementptr inbounds float, float* %a, i64 %77
261*9880d681SAndroid Build Coastguard Worker  %79 = load float, float* %arrayidx209, align 4
262*9880d681SAndroid Build Coastguard Worker  %add210 = fadd float %79, %mul206
263*9880d681SAndroid Build Coastguard Worker  store float %add210, float* %arrayidx209, align 4
264*9880d681SAndroid Build Coastguard Worker  %80 = or i64 %indvars.iv, 27
265*9880d681SAndroid Build Coastguard Worker  %arrayidx213 = getelementptr inbounds float, float* %b, i64 %80
266*9880d681SAndroid Build Coastguard Worker  %81 = load float, float* %arrayidx213, align 4
267*9880d681SAndroid Build Coastguard Worker  %mul214 = fmul float %81, %alpha
268*9880d681SAndroid Build Coastguard Worker  %arrayidx217 = getelementptr inbounds float, float* %a, i64 %80
269*9880d681SAndroid Build Coastguard Worker  %82 = load float, float* %arrayidx217, align 4
270*9880d681SAndroid Build Coastguard Worker  %add218 = fadd float %82, %mul214
271*9880d681SAndroid Build Coastguard Worker  store float %add218, float* %arrayidx217, align 4
272*9880d681SAndroid Build Coastguard Worker  %83 = or i64 %indvars.iv, 28
273*9880d681SAndroid Build Coastguard Worker  %arrayidx221 = getelementptr inbounds float, float* %b, i64 %83
274*9880d681SAndroid Build Coastguard Worker  %84 = load float, float* %arrayidx221, align 4
275*9880d681SAndroid Build Coastguard Worker  %mul222 = fmul float %84, %alpha
276*9880d681SAndroid Build Coastguard Worker  %arrayidx225 = getelementptr inbounds float, float* %a, i64 %83
277*9880d681SAndroid Build Coastguard Worker  %85 = load float, float* %arrayidx225, align 4
278*9880d681SAndroid Build Coastguard Worker  %add226 = fadd float %85, %mul222
279*9880d681SAndroid Build Coastguard Worker  store float %add226, float* %arrayidx225, align 4
280*9880d681SAndroid Build Coastguard Worker  %86 = or i64 %indvars.iv, 29
281*9880d681SAndroid Build Coastguard Worker  %arrayidx229 = getelementptr inbounds float, float* %b, i64 %86
282*9880d681SAndroid Build Coastguard Worker  %87 = load float, float* %arrayidx229, align 4
283*9880d681SAndroid Build Coastguard Worker  %mul230 = fmul float %87, %alpha
284*9880d681SAndroid Build Coastguard Worker  %arrayidx233 = getelementptr inbounds float, float* %a, i64 %86
285*9880d681SAndroid Build Coastguard Worker  %88 = load float, float* %arrayidx233, align 4
286*9880d681SAndroid Build Coastguard Worker  %add234 = fadd float %88, %mul230
287*9880d681SAndroid Build Coastguard Worker  store float %add234, float* %arrayidx233, align 4
288*9880d681SAndroid Build Coastguard Worker  %89 = or i64 %indvars.iv, 30
289*9880d681SAndroid Build Coastguard Worker  %arrayidx237 = getelementptr inbounds float, float* %b, i64 %89
290*9880d681SAndroid Build Coastguard Worker  %90 = load float, float* %arrayidx237, align 4
291*9880d681SAndroid Build Coastguard Worker  %mul238 = fmul float %90, %alpha
292*9880d681SAndroid Build Coastguard Worker  %arrayidx241 = getelementptr inbounds float, float* %a, i64 %89
293*9880d681SAndroid Build Coastguard Worker  %91 = load float, float* %arrayidx241, align 4
294*9880d681SAndroid Build Coastguard Worker  %add242 = fadd float %91, %mul238
295*9880d681SAndroid Build Coastguard Worker  store float %add242, float* %arrayidx241, align 4
296*9880d681SAndroid Build Coastguard Worker  %92 = or i64 %indvars.iv, 31
297*9880d681SAndroid Build Coastguard Worker  %arrayidx245 = getelementptr inbounds float, float* %b, i64 %92
298*9880d681SAndroid Build Coastguard Worker  %93 = load float, float* %arrayidx245, align 4
299*9880d681SAndroid Build Coastguard Worker  %mul246 = fmul float %93, %alpha
300*9880d681SAndroid Build Coastguard Worker  %arrayidx249 = getelementptr inbounds float, float* %a, i64 %92
301*9880d681SAndroid Build Coastguard Worker  %94 = load float, float* %arrayidx249, align 4
302*9880d681SAndroid Build Coastguard Worker  %add250 = fadd float %94, %mul246
303*9880d681SAndroid Build Coastguard Worker  store float %add250, float* %arrayidx249, align 4
304*9880d681SAndroid Build Coastguard Worker  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 32
305*9880d681SAndroid Build Coastguard Worker  %cmp = icmp slt i64 %indvars.iv.next, 3200
306*9880d681SAndroid Build Coastguard Worker  br i1 %cmp, label %for.body, label %for.end
307*9880d681SAndroid Build Coastguard Worker
308*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @goo32
309*9880d681SAndroid Build Coastguard Worker
310*9880d681SAndroid Build Coastguard Worker; CHECK: for.body:
311*9880d681SAndroid Build Coastguard Worker; CHECK: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
312*9880d681SAndroid Build Coastguard Worker; CHECK: %arrayidx = getelementptr inbounds float, float* %b, i64 %indvar
313*9880d681SAndroid Build Coastguard Worker; CHECK: %0 = load float, float* %arrayidx, align 4
314*9880d681SAndroid Build Coastguard Worker; CHECK: %mul = fmul float %0, %alpha
315*9880d681SAndroid Build Coastguard Worker; CHECK: %arrayidx2 = getelementptr inbounds float, float* %a, i64 %indvar
316*9880d681SAndroid Build Coastguard Worker; CHECK: %1 = load float, float* %arrayidx2, align 4
317*9880d681SAndroid Build Coastguard Worker; CHECK: %add = fadd float %1, %mul
318*9880d681SAndroid Build Coastguard Worker; CHECK: store float %add, float* %arrayidx2, align 4
319*9880d681SAndroid Build Coastguard Worker; CHECK: %indvar.next = add i64 %indvar, 1
320*9880d681SAndroid Build Coastguard Worker; CHECK: %exitcond = icmp eq i64 %indvar, 3199
321*9880d681SAndroid Build Coastguard Worker; CHECK: br i1 %exitcond, label %for.end, label %for.body
322*9880d681SAndroid Build Coastguard Worker; CHECK: ret
323*9880d681SAndroid Build Coastguard Worker
324*9880d681SAndroid Build Coastguard Workerfor.end:                                          ; preds = %for.body
325*9880d681SAndroid Build Coastguard Worker  ret void
326*9880d681SAndroid Build Coastguard Worker}
327*9880d681SAndroid Build Coastguard Worker
328*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind uwtable }
329