1 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 < %s | FileCheck %s
3 ; FIXME: The wide loads and bundles introduce so much spilling.
4 define protected amdgpu_kernel void @excess_soft_clause_reg_pressure(float addrspace(4)* %wei_ptr, float addrspace(1)* %out_ptr, float addrspace(1)* %in) {
5 ; CHECK-LABEL: excess_soft_clause_reg_pressure:
6 ; CHECK: BB0_1: ; %for.cond28.preheader
7 ; CHECK: global_load_dword
8 ; CHECK-NEXT: global_load_dword
9 ; CHECK-NEXT: global_load_dword
10 ; CHECK-NEXT: global_load_dword
12 ; CHECK: s_load_dwordx16
13 ; CHECK-NEXT: s_load_dwordx16
14 ; CHECK-NEXT: s_load_dwordx16
15 ; CHECK-NEXT: s_load_dwordx16
17 ; CHECK: v_writelane_b32
18 ; CHECK-NEXT: v_writelane_b32
19 ; CHECK-NEXT: v_writelane_b32
20 ; CHECK-NEXT: v_writelane_b32
21 ; CHECK-NEXT: v_writelane_b32
22 ; CHECK-NEXT: v_writelane_b32
23 ; CHECK-NEXT: v_writelane_b32
24 ; CHECK-NEXT: v_writelane_b32
25 ; CHECK-NEXT: v_writelane_b32
26 ; CHECK-NEXT: v_writelane_b32
27 ; CHECK-NEXT: v_writelane_b32
28 ; CHECK-NEXT: v_writelane_b32
29 ; CHECK-NEXT: v_writelane_b32
30 ; CHECK-NEXT: v_writelane_b32
31 ; CHECK-NEXT: v_writelane_b32
32 ; CHECK-NEXT: v_writelane_b32
33 ; CHECK-NEXT: s_load_dwordx16
35 ; CHECK: v_writelane_b32
36 ; CHECK-NEXT: v_writelane_b32
37 ; CHECK-NEXT: v_writelane_b32
38 ; CHECK-NEXT: v_writelane_b32
39 ; CHECK-NEXT: v_writelane_b32
40 ; CHECK-NEXT: v_writelane_b32
41 ; CHECK-NEXT: v_writelane_b32
42 ; CHECK-NEXT: v_writelane_b32
43 ; CHECK-NEXT: v_writelane_b32
44 ; CHECK-NEXT: v_writelane_b32
45 ; CHECK-NEXT: v_writelane_b32
46 ; CHECK-NEXT: v_writelane_b32
47 ; CHECK-NEXT: v_writelane_b32
48 ; CHECK-NEXT: v_writelane_b32
49 ; CHECK-NEXT: v_writelane_b32
50 ; CHECK-NEXT: v_writelane_b32
52 ; CHECK: v_readlane_b32
53 ; CHECK-NEXT: v_readlane_b32
54 ; CHECK-NEXT: v_readlane_b32
55 ; CHECK-NEXT: v_readlane_b32
56 ; CHECK-NEXT: v_readlane_b32
57 ; CHECK-NEXT: v_readlane_b32
58 ; CHECK-NEXT: v_readlane_b32
59 ; CHECK-NEXT: v_readlane_b32
60 ; CHECK-NEXT: v_readlane_b32
61 ; CHECK-NEXT: v_readlane_b32
62 ; CHECK-NEXT: v_readlane_b32
63 ; CHECK-NEXT: v_readlane_b32
64 ; CHECK-NEXT: v_readlane_b32
65 ; CHECK-NEXT: v_readlane_b32
66 ; CHECK-NEXT: v_readlane_b32
67 ; CHECK-NEXT: v_readlane_b32
69 ; CHECK: s_load_dwordx16
70 ; CHECK: s_load_dwordx16
71 ; CHECK: s_load_dwordx16
73 ; CHECK: v_readlane_b32
74 ; CHECK-NEXT: v_readlane_b32
75 ; CHECK-NEXT: v_readlane_b32
76 ; CHECK-NEXT: v_readlane_b32
77 ; CHECK-NEXT: v_readlane_b32
78 ; CHECK-NEXT: v_readlane_b32
79 ; CHECK-NEXT: v_readlane_b32
80 ; CHECK-NEXT: v_readlane_b32
81 ; CHECK-NEXT: v_readlane_b32
82 ; CHECK-NEXT: v_readlane_b32
83 ; CHECK-NEXT: v_readlane_b32
84 ; CHECK-NEXT: v_readlane_b32
85 ; CHECK-NEXT: v_readlane_b32
86 ; CHECK-NEXT: v_readlane_b32
87 ; CHECK-NEXT: v_readlane_b32
88 ; CHECK-NEXT: v_readlane_b32
90 %i = tail call i8 addrspace(4)* @llvm.amdgcn.implicitarg.ptr()
91 %i1 = bitcast i8 addrspace(4)* %i to i64 addrspace(4)*
92 %i2 = load i64, i64 addrspace(4)* %i1, align 8
93 %i3 = tail call i32 @llvm.amdgcn.workgroup.id.x()
95 %i5 = tail call i32 @llvm.amdgcn.workitem.id.x(), !range !5
96 %i6 = add i32 %i4, %i5
97 %i7 = trunc i64 %i2 to i32
98 %conv = add i32 %i6, %i7
99 %conv.frozen = freeze i32 %conv
100 %div = udiv i32 %conv.frozen, 49
101 %add.ptr22 = getelementptr inbounds float, float addrspace(4)* %wei_ptr, i64 undef
102 %in.ptr1 = getelementptr inbounds float, float addrspace(1)* %in, i32 %i5
103 br label %for.cond28.preheader
105 for.cond28.preheader: ; preds = %for.cond28.preheader, %entry
106 %accum.sroa.110.0 = phi float [ 0.000000e+00, %entry ], [ %i251, %for.cond28.preheader ]
107 %accum.sroa.106.0 = phi float [ 0.000000e+00, %entry ], [ %i247, %for.cond28.preheader ]
108 %accum.sroa.102.0 = phi float [ 0.000000e+00, %entry ], [ %i243, %for.cond28.preheader ]
109 %accum.sroa.98.0 = phi float [ 0.000000e+00, %entry ], [ %i239, %for.cond28.preheader ]
110 %accum.sroa.94.0 = phi float [ 0.000000e+00, %entry ], [ %i235, %for.cond28.preheader ]
111 %accum.sroa.90.0 = phi float [ 0.000000e+00, %entry ], [ %i231, %for.cond28.preheader ]
112 %accum.sroa.86.0 = phi float [ 0.000000e+00, %entry ], [ %i227, %for.cond28.preheader ]
113 %accum.sroa.82.0 = phi float [ 0.000000e+00, %entry ], [ %i223, %for.cond28.preheader ]
114 %accum.sroa.78.0 = phi float [ 0.000000e+00, %entry ], [ %i219, %for.cond28.preheader ]
115 %accum.sroa.74.0 = phi float [ 0.000000e+00, %entry ], [ %i215, %for.cond28.preheader ]
116 %accum.sroa.70.0 = phi float [ 0.000000e+00, %entry ], [ %i211, %for.cond28.preheader ]
117 %accum.sroa.66.0 = phi float [ 0.000000e+00, %entry ], [ %i207, %for.cond28.preheader ]
118 %accum.sroa.62.0 = phi float [ 0.000000e+00, %entry ], [ %i203, %for.cond28.preheader ]
119 %accum.sroa.58.0 = phi float [ 0.000000e+00, %entry ], [ %i199, %for.cond28.preheader ]
120 %accum.sroa.54.0 = phi float [ 0.000000e+00, %entry ], [ %i195, %for.cond28.preheader ]
121 %accum.sroa.50.0 = phi float [ 0.000000e+00, %entry ], [ %i191, %for.cond28.preheader ]
122 %accum.sroa.46.0 = phi float [ 0.000000e+00, %entry ], [ %i187, %for.cond28.preheader ]
123 %accum.sroa.42.0 = phi float [ 0.000000e+00, %entry ], [ %i183, %for.cond28.preheader ]
124 %accum.sroa.38.0 = phi float [ 0.000000e+00, %entry ], [ %i179, %for.cond28.preheader ]
125 %accum.sroa.34.0 = phi float [ 0.000000e+00, %entry ], [ %i175, %for.cond28.preheader ]
126 %accum.sroa.30.0 = phi float [ 0.000000e+00, %entry ], [ %i171, %for.cond28.preheader ]
127 %accum.sroa.26.0 = phi float [ 0.000000e+00, %entry ], [ %i167, %for.cond28.preheader ]
128 %accum.sroa.22.0 = phi float [ 0.000000e+00, %entry ], [ %i163, %for.cond28.preheader ]
129 %accum.sroa.18.0 = phi float [ 0.000000e+00, %entry ], [ %i159, %for.cond28.preheader ]
130 %accum.sroa.14.0 = phi float [ 0.000000e+00, %entry ], [ %i155, %for.cond28.preheader ]
131 %accum.sroa.10.0 = phi float [ 0.000000e+00, %entry ], [ %i151, %for.cond28.preheader ]
132 %accum.sroa.6.0 = phi float [ 0.000000e+00, %entry ], [ %i147, %for.cond28.preheader ]
133 %accum.sroa.0.0 = phi float [ 0.000000e+00, %entry ], [ %i143, %for.cond28.preheader ]
134 %accum.sroa.114.0 = phi float [ 0.000000e+00, %entry ], [ %i255, %for.cond28.preheader ]
135 %accum.sroa.118.0 = phi float [ 0.000000e+00, %entry ], [ %i259, %for.cond28.preheader ]
136 %accum.sroa.122.0 = phi float [ 0.000000e+00, %entry ], [ %i263, %for.cond28.preheader ]
137 %accum.sroa.126.0 = phi float [ 0.000000e+00, %entry ], [ %i267, %for.cond28.preheader ]
138 %i_ptr.0288 = phi float addrspace(1)* [ %in.ptr1, %entry ], [ %add.ptr47.3, %for.cond28.preheader ]
139 %w_ptr.0287 = phi float addrspace(4)* [ %add.ptr22, %entry ], [ %add.ptr74, %for.cond28.preheader ]
140 %ci.0286 = phi i32 [ 0, %entry ], [ %inc116, %for.cond28.preheader ]
141 %i8 = load float, float addrspace(1)* %i_ptr.0288, align 4
142 %add.ptr47 = getelementptr inbounds float, float addrspace(1)* %i_ptr.0288, i64 49
143 %i9 = load float, float addrspace(1)* %add.ptr47, align 4
144 %add.ptr47.1 = getelementptr inbounds float, float addrspace(1)* %i_ptr.0288, i64 98
145 %i10 = load float, float addrspace(1)* %add.ptr47.1, align 4
146 %add.ptr47.2 = getelementptr inbounds float, float addrspace(1)* %i_ptr.0288, i64 147
147 %i11 = load float, float addrspace(1)* %add.ptr47.2, align 4
148 %i12 = load float, float addrspace(4)* %w_ptr.0287, align 4
149 %add.ptr66 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1024
150 %i13 = load float, float addrspace(4)* %add.ptr66, align 4
151 %add.ptr66.1 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2048
152 %i14 = load float, float addrspace(4)* %add.ptr66.1, align 4
153 %add.ptr66.2 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3072
154 %i15 = load float, float addrspace(4)* %add.ptr66.2, align 4
155 %add.ptr70 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1
156 %i16 = load float, float addrspace(4)* %add.ptr70, align 4
157 %add.ptr66.1291 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1025
158 %i17 = load float, float addrspace(4)* %add.ptr66.1291, align 4
159 %add.ptr66.1.1 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2049
160 %i18 = load float, float addrspace(4)* %add.ptr66.1.1, align 4
161 %add.ptr66.2.1 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3073
162 %i19 = load float, float addrspace(4)* %add.ptr66.2.1, align 4
163 %add.ptr70.1 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2
164 %i20 = load float, float addrspace(4)* %add.ptr70.1, align 4
165 %add.ptr66.2293 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1026
166 %i21 = load float, float addrspace(4)* %add.ptr66.2293, align 4
167 %add.ptr66.1.2 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2050
168 %i22 = load float, float addrspace(4)* %add.ptr66.1.2, align 4
169 %add.ptr66.2.2 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3074
170 %i23 = load float, float addrspace(4)* %add.ptr66.2.2, align 4
171 %add.ptr70.2 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3
172 %i24 = load float, float addrspace(4)* %add.ptr70.2, align 4
173 %add.ptr66.3 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1027
174 %i25 = load float, float addrspace(4)* %add.ptr66.3, align 4
175 %add.ptr66.1.3 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2051
176 %i26 = load float, float addrspace(4)* %add.ptr66.1.3, align 4
177 %add.ptr66.2.3 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3075
178 %i27 = load float, float addrspace(4)* %add.ptr66.2.3, align 4
179 %add.ptr70.3 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 4
180 %i28 = load float, float addrspace(4)* %add.ptr70.3, align 4
181 %add.ptr66.4 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1028
182 %i29 = load float, float addrspace(4)* %add.ptr66.4, align 4
183 %add.ptr66.1.4 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2052
184 %i30 = load float, float addrspace(4)* %add.ptr66.1.4, align 4
185 %add.ptr66.2.4 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3076
186 %i31 = load float, float addrspace(4)* %add.ptr66.2.4, align 4
187 %add.ptr70.4 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 5
188 %i32 = load float, float addrspace(4)* %add.ptr70.4, align 4
189 %add.ptr66.5 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1029
190 %i33 = load float, float addrspace(4)* %add.ptr66.5, align 4
191 %add.ptr66.1.5 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2053
192 %i34 = load float, float addrspace(4)* %add.ptr66.1.5, align 4
193 %add.ptr66.2.5 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3077
194 %i35 = load float, float addrspace(4)* %add.ptr66.2.5, align 4
195 %add.ptr70.5 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 6
196 %i36 = load float, float addrspace(4)* %add.ptr70.5, align 4
197 %add.ptr66.6 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1030
198 %i37 = load float, float addrspace(4)* %add.ptr66.6, align 4
199 %add.ptr66.1.6 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2054
200 %i38 = load float, float addrspace(4)* %add.ptr66.1.6, align 4
201 %add.ptr66.2.6 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3078
202 %i39 = load float, float addrspace(4)* %add.ptr66.2.6, align 4
203 %add.ptr70.6 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 7
204 %i40 = load float, float addrspace(4)* %add.ptr70.6, align 4
205 %add.ptr66.7 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1031
206 %i41 = load float, float addrspace(4)* %add.ptr66.7, align 4
207 %add.ptr66.1.7 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2055
208 %i42 = load float, float addrspace(4)* %add.ptr66.1.7, align 4
209 %add.ptr66.2.7 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3079
210 %i43 = load float, float addrspace(4)* %add.ptr66.2.7, align 4
211 %add.ptr70.7 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 8
212 %i44 = load float, float addrspace(4)* %add.ptr70.7, align 4
213 %add.ptr66.8 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1032
214 %i45 = load float, float addrspace(4)* %add.ptr66.8, align 4
215 %add.ptr66.1.8 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2056
216 %i46 = load float, float addrspace(4)* %add.ptr66.1.8, align 4
217 %add.ptr66.2.8 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3080
218 %i47 = load float, float addrspace(4)* %add.ptr66.2.8, align 4
219 %add.ptr70.8 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 9
220 %i48 = load float, float addrspace(4)* %add.ptr70.8, align 4
221 %add.ptr66.9 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1033
222 %i49 = load float, float addrspace(4)* %add.ptr66.9, align 4
223 %add.ptr66.1.9 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2057
224 %i50 = load float, float addrspace(4)* %add.ptr66.1.9, align 4
225 %add.ptr66.2.9 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3081
226 %i51 = load float, float addrspace(4)* %add.ptr66.2.9, align 4
227 %add.ptr70.9 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 10
228 %i52 = load float, float addrspace(4)* %add.ptr70.9, align 4
229 %add.ptr66.10 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1034
230 %i53 = load float, float addrspace(4)* %add.ptr66.10, align 4
231 %add.ptr66.1.10 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2058
232 %i54 = load float, float addrspace(4)* %add.ptr66.1.10, align 4
233 %add.ptr66.2.10 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3082
234 %i55 = load float, float addrspace(4)* %add.ptr66.2.10, align 4
235 %add.ptr70.10 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 11
236 %i56 = load float, float addrspace(4)* %add.ptr70.10, align 4
237 %add.ptr66.11 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1035
238 %i57 = load float, float addrspace(4)* %add.ptr66.11, align 4
239 %add.ptr66.1.11 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2059
240 %i58 = load float, float addrspace(4)* %add.ptr66.1.11, align 4
241 %add.ptr66.2.11 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3083
242 %i59 = load float, float addrspace(4)* %add.ptr66.2.11, align 4
243 %add.ptr70.11 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 12
244 %i60 = load float, float addrspace(4)* %add.ptr70.11, align 4
245 %add.ptr66.12 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1036
246 %i61 = load float, float addrspace(4)* %add.ptr66.12, align 4
247 %add.ptr66.1.12 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2060
248 %i62 = load float, float addrspace(4)* %add.ptr66.1.12, align 4
249 %add.ptr66.2.12 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3084
250 %i63 = load float, float addrspace(4)* %add.ptr66.2.12, align 4
251 %add.ptr70.12 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 13
252 %i64 = load float, float addrspace(4)* %add.ptr70.12, align 4
253 %add.ptr66.13 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1037
254 %i65 = load float, float addrspace(4)* %add.ptr66.13, align 4
255 %add.ptr66.1.13 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2061
256 %i66 = load float, float addrspace(4)* %add.ptr66.1.13, align 4
257 %add.ptr66.2.13 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3085
258 %i67 = load float, float addrspace(4)* %add.ptr66.2.13, align 4
259 %add.ptr70.13 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 14
260 %i68 = load float, float addrspace(4)* %add.ptr70.13, align 4
261 %add.ptr66.14 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1038
262 %i69 = load float, float addrspace(4)* %add.ptr66.14, align 4
263 %add.ptr66.1.14 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2062
264 %i70 = load float, float addrspace(4)* %add.ptr66.1.14, align 4
265 %add.ptr66.2.14 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3086
266 %i71 = load float, float addrspace(4)* %add.ptr66.2.14, align 4
267 %add.ptr70.14 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 15
268 %i72 = load float, float addrspace(4)* %add.ptr70.14, align 4
269 %add.ptr66.15 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1039
270 %i73 = load float, float addrspace(4)* %add.ptr66.15, align 4
271 %add.ptr66.1.15 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2063
272 %i74 = load float, float addrspace(4)* %add.ptr66.1.15, align 4
273 %add.ptr66.2.15 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3087
274 %i75 = load float, float addrspace(4)* %add.ptr66.2.15, align 4
275 %add.ptr70.15 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 16
276 %i76 = load float, float addrspace(4)* %add.ptr70.15, align 4
277 %add.ptr66.16 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1040
278 %i77 = load float, float addrspace(4)* %add.ptr66.16, align 4
279 %add.ptr66.1.16 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2064
280 %i78 = load float, float addrspace(4)* %add.ptr66.1.16, align 4
281 %add.ptr66.2.16 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3088
282 %i79 = load float, float addrspace(4)* %add.ptr66.2.16, align 4
283 %add.ptr70.16 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 17
284 %i80 = load float, float addrspace(4)* %add.ptr70.16, align 4
285 %add.ptr66.17 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1041
286 %i81 = load float, float addrspace(4)* %add.ptr66.17, align 4
287 %add.ptr66.1.17 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2065
288 %i82 = load float, float addrspace(4)* %add.ptr66.1.17, align 4
289 %add.ptr66.2.17 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3089
290 %i83 = load float, float addrspace(4)* %add.ptr66.2.17, align 4
291 %add.ptr70.17 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 18
292 %i84 = load float, float addrspace(4)* %add.ptr70.17, align 4
293 %add.ptr66.18 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1042
294 %i85 = load float, float addrspace(4)* %add.ptr66.18, align 4
295 %add.ptr66.1.18 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2066
296 %i86 = load float, float addrspace(4)* %add.ptr66.1.18, align 4
297 %add.ptr66.2.18 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3090
298 %i87 = load float, float addrspace(4)* %add.ptr66.2.18, align 4
299 %add.ptr70.18 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 19
300 %i88 = load float, float addrspace(4)* %add.ptr70.18, align 4
301 %add.ptr66.19 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1043
302 %i89 = load float, float addrspace(4)* %add.ptr66.19, align 4
303 %add.ptr66.1.19 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2067
304 %i90 = load float, float addrspace(4)* %add.ptr66.1.19, align 4
305 %add.ptr66.2.19 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3091
306 %i91 = load float, float addrspace(4)* %add.ptr66.2.19, align 4
307 %add.ptr70.19 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 20
308 %i92 = load float, float addrspace(4)* %add.ptr70.19, align 4
309 %add.ptr66.20 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1044
310 %i93 = load float, float addrspace(4)* %add.ptr66.20, align 4
311 %add.ptr66.1.20 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2068
312 %i94 = load float, float addrspace(4)* %add.ptr66.1.20, align 4
313 %add.ptr66.2.20 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3092
314 %i95 = load float, float addrspace(4)* %add.ptr66.2.20, align 4
315 %add.ptr70.20 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 21
316 %i96 = load float, float addrspace(4)* %add.ptr70.20, align 4
317 %add.ptr66.21 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1045
318 %i97 = load float, float addrspace(4)* %add.ptr66.21, align 4
319 %add.ptr66.1.21 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2069
320 %i98 = load float, float addrspace(4)* %add.ptr66.1.21, align 4
321 %add.ptr66.2.21 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3093
322 %i99 = load float, float addrspace(4)* %add.ptr66.2.21, align 4
323 %add.ptr70.21 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 22
324 %i100 = load float, float addrspace(4)* %add.ptr70.21, align 4
325 %add.ptr66.22 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1046
326 %i101 = load float, float addrspace(4)* %add.ptr66.22, align 4
327 %add.ptr66.1.22 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2070
328 %i102 = load float, float addrspace(4)* %add.ptr66.1.22, align 4
329 %add.ptr66.2.22 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3094
330 %i103 = load float, float addrspace(4)* %add.ptr66.2.22, align 4
331 %add.ptr70.22 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 23
332 %i104 = load float, float addrspace(4)* %add.ptr70.22, align 4
333 %add.ptr66.23 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1047
334 %i105 = load float, float addrspace(4)* %add.ptr66.23, align 4
335 %add.ptr66.1.23 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2071
336 %i106 = load float, float addrspace(4)* %add.ptr66.1.23, align 4
337 %add.ptr66.2.23 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3095
338 %i107 = load float, float addrspace(4)* %add.ptr66.2.23, align 4
339 %add.ptr70.23 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 24
340 %i108 = load float, float addrspace(4)* %add.ptr70.23, align 4
341 %add.ptr66.24 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1048
342 %i109 = load float, float addrspace(4)* %add.ptr66.24, align 4
343 %add.ptr66.1.24 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2072
344 %i110 = load float, float addrspace(4)* %add.ptr66.1.24, align 4
345 %add.ptr66.2.24 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3096
346 %i111 = load float, float addrspace(4)* %add.ptr66.2.24, align 4
347 %add.ptr70.24 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 25
348 %i112 = load float, float addrspace(4)* %add.ptr70.24, align 4
349 %add.ptr66.25 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1049
350 %i113 = load float, float addrspace(4)* %add.ptr66.25, align 4
351 %add.ptr66.1.25 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2073
352 %i114 = load float, float addrspace(4)* %add.ptr66.1.25, align 4
353 %add.ptr66.2.25 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3097
354 %i115 = load float, float addrspace(4)* %add.ptr66.2.25, align 4
355 %add.ptr70.25 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 26
356 %i116 = load float, float addrspace(4)* %add.ptr70.25, align 4
357 %add.ptr66.26 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1050
358 %i117 = load float, float addrspace(4)* %add.ptr66.26, align 4
359 %add.ptr66.1.26 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2074
360 %i118 = load float, float addrspace(4)* %add.ptr66.1.26, align 4
361 %add.ptr66.2.26 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3098
362 %i119 = load float, float addrspace(4)* %add.ptr66.2.26, align 4
363 %add.ptr70.26 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 27
364 %i120 = load float, float addrspace(4)* %add.ptr70.26, align 4
365 %add.ptr66.27 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1051
366 %i121 = load float, float addrspace(4)* %add.ptr66.27, align 4
367 %add.ptr66.1.27 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2075
368 %i122 = load float, float addrspace(4)* %add.ptr66.1.27, align 4
369 %add.ptr66.2.27 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3099
370 %i123 = load float, float addrspace(4)* %add.ptr66.2.27, align 4
371 %add.ptr70.27 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 28
372 %i124 = load float, float addrspace(4)* %add.ptr70.27, align 4
373 %add.ptr66.28 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1052
374 %i125 = load float, float addrspace(4)* %add.ptr66.28, align 4
375 %add.ptr66.1.28 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2076
376 %i126 = load float, float addrspace(4)* %add.ptr66.1.28, align 4
377 %add.ptr66.2.28 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3100
378 %i127 = load float, float addrspace(4)* %add.ptr66.2.28, align 4
379 %add.ptr70.28 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 29
380 %i128 = load float, float addrspace(4)* %add.ptr70.28, align 4
381 %add.ptr66.29 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1053
382 %i129 = load float, float addrspace(4)* %add.ptr66.29, align 4
383 %add.ptr66.1.29 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2077
384 %i130 = load float, float addrspace(4)* %add.ptr66.1.29, align 4
385 %add.ptr66.2.29 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3101
386 %i131 = load float, float addrspace(4)* %add.ptr66.2.29, align 4
387 %add.ptr70.29 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 30
388 %i132 = load float, float addrspace(4)* %add.ptr70.29, align 4
389 %add.ptr66.30 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1054
390 %i133 = load float, float addrspace(4)* %add.ptr66.30, align 4
391 %add.ptr66.1.30 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2078
392 %i134 = load float, float addrspace(4)* %add.ptr66.1.30, align 4
393 %add.ptr66.2.30 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3102
394 %i135 = load float, float addrspace(4)* %add.ptr66.2.30, align 4
395 %add.ptr70.30 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 31
396 %i136 = load float, float addrspace(4)* %add.ptr70.30, align 4
397 %add.ptr66.31 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 1055
398 %i137 = load float, float addrspace(4)* %add.ptr66.31, align 4
399 %add.ptr66.1.31 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 2079
400 %i138 = load float, float addrspace(4)* %add.ptr66.1.31, align 4
401 %add.ptr66.2.31 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 3103
402 %i139 = load float, float addrspace(4)* %add.ptr66.2.31, align 4
403 %add.ptr47.3 = getelementptr inbounds float, float addrspace(1)* %i_ptr.0288, i64 196
404 %i140 = tail call float @llvm.fmuladd.f32(float %i8, float %i12, float %accum.sroa.0.0)
405 %i141 = tail call float @llvm.fmuladd.f32(float %i9, float %i13, float %i140)
406 %i142 = tail call float @llvm.fmuladd.f32(float %i10, float %i14, float %i141)
407 %i143 = tail call float @llvm.fmuladd.f32(float %i11, float %i15, float %i142)
408 %i144 = tail call float @llvm.fmuladd.f32(float %i8, float %i16, float %accum.sroa.6.0)
409 %i145 = tail call float @llvm.fmuladd.f32(float %i9, float %i17, float %i144)
410 %i146 = tail call float @llvm.fmuladd.f32(float %i10, float %i18, float %i145)
411 %i147 = tail call float @llvm.fmuladd.f32(float %i11, float %i19, float %i146)
412 %i148 = tail call float @llvm.fmuladd.f32(float %i8, float %i20, float %accum.sroa.10.0)
413 %i149 = tail call float @llvm.fmuladd.f32(float %i9, float %i21, float %i148)
414 %i150 = tail call float @llvm.fmuladd.f32(float %i10, float %i22, float %i149)
415 %i151 = tail call float @llvm.fmuladd.f32(float %i11, float %i23, float %i150)
416 %i152 = tail call float @llvm.fmuladd.f32(float %i8, float %i24, float %accum.sroa.14.0)
417 %i153 = tail call float @llvm.fmuladd.f32(float %i9, float %i25, float %i152)
418 %i154 = tail call float @llvm.fmuladd.f32(float %i10, float %i26, float %i153)
419 %i155 = tail call float @llvm.fmuladd.f32(float %i11, float %i27, float %i154)
420 %i156 = tail call float @llvm.fmuladd.f32(float %i8, float %i28, float %accum.sroa.18.0)
421 %i157 = tail call float @llvm.fmuladd.f32(float %i9, float %i29, float %i156)
422 %i158 = tail call float @llvm.fmuladd.f32(float %i10, float %i30, float %i157)
423 %i159 = tail call float @llvm.fmuladd.f32(float %i11, float %i31, float %i158)
424 %i160 = tail call float @llvm.fmuladd.f32(float %i8, float %i32, float %accum.sroa.22.0)
425 %i161 = tail call float @llvm.fmuladd.f32(float %i9, float %i33, float %i160)
426 %i162 = tail call float @llvm.fmuladd.f32(float %i10, float %i34, float %i161)
427 %i163 = tail call float @llvm.fmuladd.f32(float %i11, float %i35, float %i162)
428 %i164 = tail call float @llvm.fmuladd.f32(float %i8, float %i36, float %accum.sroa.26.0)
429 %i165 = tail call float @llvm.fmuladd.f32(float %i9, float %i37, float %i164)
430 %i166 = tail call float @llvm.fmuladd.f32(float %i10, float %i38, float %i165)
431 %i167 = tail call float @llvm.fmuladd.f32(float %i11, float %i39, float %i166)
432 %i168 = tail call float @llvm.fmuladd.f32(float %i8, float %i40, float %accum.sroa.30.0)
433 %i169 = tail call float @llvm.fmuladd.f32(float %i9, float %i41, float %i168)
434 %i170 = tail call float @llvm.fmuladd.f32(float %i10, float %i42, float %i169)
435 %i171 = tail call float @llvm.fmuladd.f32(float %i11, float %i43, float %i170)
436 %i172 = tail call float @llvm.fmuladd.f32(float %i8, float %i44, float %accum.sroa.34.0)
437 %i173 = tail call float @llvm.fmuladd.f32(float %i9, float %i45, float %i172)
438 %i174 = tail call float @llvm.fmuladd.f32(float %i10, float %i46, float %i173)
439 %i175 = tail call float @llvm.fmuladd.f32(float %i11, float %i47, float %i174)
440 %i176 = tail call float @llvm.fmuladd.f32(float %i8, float %i48, float %accum.sroa.38.0)
441 %i177 = tail call float @llvm.fmuladd.f32(float %i9, float %i49, float %i176)
442 %i178 = tail call float @llvm.fmuladd.f32(float %i10, float %i50, float %i177)
443 %i179 = tail call float @llvm.fmuladd.f32(float %i11, float %i51, float %i178)
444 %i180 = tail call float @llvm.fmuladd.f32(float %i8, float %i52, float %accum.sroa.42.0)
445 %i181 = tail call float @llvm.fmuladd.f32(float %i9, float %i53, float %i180)
446 %i182 = tail call float @llvm.fmuladd.f32(float %i10, float %i54, float %i181)
447 %i183 = tail call float @llvm.fmuladd.f32(float %i11, float %i55, float %i182)
448 %i184 = tail call float @llvm.fmuladd.f32(float %i8, float %i56, float %accum.sroa.46.0)
449 %i185 = tail call float @llvm.fmuladd.f32(float %i9, float %i57, float %i184)
450 %i186 = tail call float @llvm.fmuladd.f32(float %i10, float %i58, float %i185)
451 %i187 = tail call float @llvm.fmuladd.f32(float %i11, float %i59, float %i186)
452 %i188 = tail call float @llvm.fmuladd.f32(float %i8, float %i60, float %accum.sroa.50.0)
453 %i189 = tail call float @llvm.fmuladd.f32(float %i9, float %i61, float %i188)
454 %i190 = tail call float @llvm.fmuladd.f32(float %i10, float %i62, float %i189)
455 %i191 = tail call float @llvm.fmuladd.f32(float %i11, float %i63, float %i190)
456 %i192 = tail call float @llvm.fmuladd.f32(float %i8, float %i64, float %accum.sroa.54.0)
457 %i193 = tail call float @llvm.fmuladd.f32(float %i9, float %i65, float %i192)
458 %i194 = tail call float @llvm.fmuladd.f32(float %i10, float %i66, float %i193)
459 %i195 = tail call float @llvm.fmuladd.f32(float %i11, float %i67, float %i194)
460 %i196 = tail call float @llvm.fmuladd.f32(float %i8, float %i68, float %accum.sroa.58.0)
461 %i197 = tail call float @llvm.fmuladd.f32(float %i9, float %i69, float %i196)
462 %i198 = tail call float @llvm.fmuladd.f32(float %i10, float %i70, float %i197)
463 %i199 = tail call float @llvm.fmuladd.f32(float %i11, float %i71, float %i198)
464 %i200 = tail call float @llvm.fmuladd.f32(float %i8, float %i72, float %accum.sroa.62.0)
465 %i201 = tail call float @llvm.fmuladd.f32(float %i9, float %i73, float %i200)
466 %i202 = tail call float @llvm.fmuladd.f32(float %i10, float %i74, float %i201)
467 %i203 = tail call float @llvm.fmuladd.f32(float %i11, float %i75, float %i202)
468 %i204 = tail call float @llvm.fmuladd.f32(float %i8, float %i76, float %accum.sroa.66.0)
469 %i205 = tail call float @llvm.fmuladd.f32(float %i9, float %i77, float %i204)
470 %i206 = tail call float @llvm.fmuladd.f32(float %i10, float %i78, float %i205)
471 %i207 = tail call float @llvm.fmuladd.f32(float %i11, float %i79, float %i206)
472 %i208 = tail call float @llvm.fmuladd.f32(float %i8, float %i80, float %accum.sroa.70.0)
473 %i209 = tail call float @llvm.fmuladd.f32(float %i9, float %i81, float %i208)
474 %i210 = tail call float @llvm.fmuladd.f32(float %i10, float %i82, float %i209)
475 %i211 = tail call float @llvm.fmuladd.f32(float %i11, float %i83, float %i210)
476 %i212 = tail call float @llvm.fmuladd.f32(float %i8, float %i84, float %accum.sroa.74.0)
477 %i213 = tail call float @llvm.fmuladd.f32(float %i9, float %i85, float %i212)
478 %i214 = tail call float @llvm.fmuladd.f32(float %i10, float %i86, float %i213)
479 %i215 = tail call float @llvm.fmuladd.f32(float %i11, float %i87, float %i214)
480 %i216 = tail call float @llvm.fmuladd.f32(float %i8, float %i88, float %accum.sroa.78.0)
481 %i217 = tail call float @llvm.fmuladd.f32(float %i9, float %i89, float %i216)
482 %i218 = tail call float @llvm.fmuladd.f32(float %i10, float %i90, float %i217)
483 %i219 = tail call float @llvm.fmuladd.f32(float %i11, float %i91, float %i218)
484 %i220 = tail call float @llvm.fmuladd.f32(float %i8, float %i92, float %accum.sroa.82.0)
485 %i221 = tail call float @llvm.fmuladd.f32(float %i9, float %i93, float %i220)
486 %i222 = tail call float @llvm.fmuladd.f32(float %i10, float %i94, float %i221)
487 %i223 = tail call float @llvm.fmuladd.f32(float %i11, float %i95, float %i222)
488 %i224 = tail call float @llvm.fmuladd.f32(float %i8, float %i96, float %accum.sroa.86.0)
489 %i225 = tail call float @llvm.fmuladd.f32(float %i9, float %i97, float %i224)
490 %i226 = tail call float @llvm.fmuladd.f32(float %i10, float %i98, float %i225)
491 %i227 = tail call float @llvm.fmuladd.f32(float %i11, float %i99, float %i226)
492 %i228 = tail call float @llvm.fmuladd.f32(float %i8, float %i100, float %accum.sroa.90.0)
493 %i229 = tail call float @llvm.fmuladd.f32(float %i9, float %i101, float %i228)
494 %i230 = tail call float @llvm.fmuladd.f32(float %i10, float %i102, float %i229)
495 %i231 = tail call float @llvm.fmuladd.f32(float %i11, float %i103, float %i230)
496 %i232 = tail call float @llvm.fmuladd.f32(float %i8, float %i104, float %accum.sroa.94.0)
497 %i233 = tail call float @llvm.fmuladd.f32(float %i9, float %i105, float %i232)
498 %i234 = tail call float @llvm.fmuladd.f32(float %i10, float %i106, float %i233)
499 %i235 = tail call float @llvm.fmuladd.f32(float %i11, float %i107, float %i234)
500 %i236 = tail call float @llvm.fmuladd.f32(float %i8, float %i108, float %accum.sroa.98.0)
501 %i237 = tail call float @llvm.fmuladd.f32(float %i9, float %i109, float %i236)
502 %i238 = tail call float @llvm.fmuladd.f32(float %i10, float %i110, float %i237)
503 %i239 = tail call float @llvm.fmuladd.f32(float %i11, float %i111, float %i238)
504 %i240 = tail call float @llvm.fmuladd.f32(float %i8, float %i112, float %accum.sroa.102.0)
505 %i241 = tail call float @llvm.fmuladd.f32(float %i9, float %i113, float %i240)
506 %i242 = tail call float @llvm.fmuladd.f32(float %i10, float %i114, float %i241)
507 %i243 = tail call float @llvm.fmuladd.f32(float %i11, float %i115, float %i242)
508 %i244 = tail call float @llvm.fmuladd.f32(float %i8, float %i116, float %accum.sroa.106.0)
509 %i245 = tail call float @llvm.fmuladd.f32(float %i9, float %i117, float %i244)
510 %i246 = tail call float @llvm.fmuladd.f32(float %i10, float %i118, float %i245)
511 %i247 = tail call float @llvm.fmuladd.f32(float %i11, float %i119, float %i246)
512 %i248 = tail call float @llvm.fmuladd.f32(float %i8, float %i120, float %accum.sroa.110.0)
513 %i249 = tail call float @llvm.fmuladd.f32(float %i9, float %i121, float %i248)
514 %i250 = tail call float @llvm.fmuladd.f32(float %i10, float %i122, float %i249)
515 %i251 = tail call float @llvm.fmuladd.f32(float %i11, float %i123, float %i250)
516 %i252 = tail call float @llvm.fmuladd.f32(float %i8, float %i124, float %accum.sroa.114.0)
517 %i253 = tail call float @llvm.fmuladd.f32(float %i9, float %i125, float %i252)
518 %i254 = tail call float @llvm.fmuladd.f32(float %i10, float %i126, float %i253)
519 %i255 = tail call float @llvm.fmuladd.f32(float %i11, float %i127, float %i254)
520 %i256 = tail call float @llvm.fmuladd.f32(float %i8, float %i128, float %accum.sroa.118.0)
521 %i257 = tail call float @llvm.fmuladd.f32(float %i9, float %i129, float %i256)
522 %i258 = tail call float @llvm.fmuladd.f32(float %i10, float %i130, float %i257)
523 %i259 = tail call float @llvm.fmuladd.f32(float %i11, float %i131, float %i258)
524 %i260 = tail call float @llvm.fmuladd.f32(float %i8, float %i132, float %accum.sroa.122.0)
525 %i261 = tail call float @llvm.fmuladd.f32(float %i9, float %i133, float %i260)
526 %i262 = tail call float @llvm.fmuladd.f32(float %i10, float %i134, float %i261)
527 %i263 = tail call float @llvm.fmuladd.f32(float %i11, float %i135, float %i262)
528 %i264 = tail call float @llvm.fmuladd.f32(float %i8, float %i136, float %accum.sroa.126.0)
529 %i265 = tail call float @llvm.fmuladd.f32(float %i9, float %i137, float %i264)
530 %i266 = tail call float @llvm.fmuladd.f32(float %i10, float %i138, float %i265)
531 %i267 = tail call float @llvm.fmuladd.f32(float %i11, float %i139, float %i266)
532 %add.ptr74 = getelementptr inbounds float, float addrspace(4)* %w_ptr.0287, i64 4096
533 %inc116 = add nuw nsw i32 %ci.0286, 1
534 %exitcond.not = icmp eq i32 %inc116, 512
535 br i1 %exitcond.not, label %for.cond.cleanup26, label %for.cond28.preheader
537 for.cond.cleanup26: ; preds = %for.cond28.preheader
538 %mul119 = shl nuw nsw i32 undef, 1
539 %mul120 = mul i32 %div, 200704
540 %mul121 = mul i32 undef, 6272
541 %add122 = add i32 %mul120, %mul121
542 %mul123 = mul nuw nsw i32 undef, 28
543 %add124 = add i32 %add122, %mul123
544 %add126 = add i32 %add124, %mul119
545 %idx.ext127 = zext i32 %add126 to i64
546 %add.ptr128 = getelementptr inbounds float, float addrspace(1)* %out_ptr, i64 %idx.ext127
547 store float %i143, float addrspace(1)* %add.ptr128, align 4
548 %add.ptr184 = getelementptr inbounds float, float addrspace(1)* %add.ptr128, i64 196
549 store float %i147, float addrspace(1)* %add.ptr184, align 4
550 %add.ptr167.1 = getelementptr inbounds float, float addrspace(1)* %add.ptr184, i64 14
551 store float 0.000000e+00, float addrspace(1)* %add.ptr167.1, align 4
552 %add.ptr175.1.1 = getelementptr inbounds float, float addrspace(1)* %add.ptr167.1, i64 1
553 store float 0.000000e+00, float addrspace(1)* %add.ptr175.1.1, align 4
554 %add.ptr184.1 = getelementptr inbounds float, float addrspace(1)* %add.ptr184, i64 196
555 store float %i151, float addrspace(1)* %add.ptr184.1, align 4
556 %add.ptr184.2 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.1, i64 196
557 store float %i155, float addrspace(1)* %add.ptr184.2, align 4
558 %add.ptr184.3 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.2, i64 196
559 store float %i159, float addrspace(1)* %add.ptr184.3, align 4
560 %add.ptr184.4 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.3, i64 196
561 store float %i163, float addrspace(1)* %add.ptr184.4, align 4
562 %add.ptr154.5 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.4, i64 1
563 store float 0.000000e+00, float addrspace(1)* %add.ptr154.5, align 4
564 %add.ptr184.5 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.4, i64 196
565 store float %i167, float addrspace(1)* %add.ptr184.5, align 4
566 %add.ptr154.6 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.5, i64 1
567 store float 0.000000e+00, float addrspace(1)* %add.ptr154.6, align 4
568 %add.ptr184.6 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.5, i64 196
569 store float %i171, float addrspace(1)* %add.ptr184.6, align 4
570 %add.ptr184.7 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.6, i64 196
571 store float %i175, float addrspace(1)* %add.ptr184.7, align 4
572 %add.ptr167.8 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.7, i64 14
573 store float 0.000000e+00, float addrspace(1)* %add.ptr167.8, align 4
574 %add.ptr175.1.8 = getelementptr inbounds float, float addrspace(1)* %add.ptr167.8, i64 1
575 store float 0.000000e+00, float addrspace(1)* %add.ptr175.1.8, align 4
576 %add.ptr184.8 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.7, i64 196
577 store float %i179, float addrspace(1)* %add.ptr184.8, align 4
578 %add.ptr184.9 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.8, i64 196
579 store float %i183, float addrspace(1)* %add.ptr184.9, align 4
580 %add.ptr184.10 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.9, i64 196
581 store float %i187, float addrspace(1)* %add.ptr184.10, align 4
582 %add.ptr184.11 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.10, i64 196
583 store float %i191, float addrspace(1)* %add.ptr184.11, align 4
584 %add.ptr184.12 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.11, i64 196
585 store float %i195, float addrspace(1)* %add.ptr184.12, align 4
586 %add.ptr184.13 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.12, i64 196
587 store float %i199, float addrspace(1)* %add.ptr184.13, align 4
588 %add.ptr184.14 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.13, i64 196
589 store float %i203, float addrspace(1)* %add.ptr184.14, align 4
590 %add.ptr184.15 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.14, i64 196
591 store float %i207, float addrspace(1)* %add.ptr184.15, align 4
592 %add.ptr184.16 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.15, i64 196
593 store float %i211, float addrspace(1)* %add.ptr184.16, align 4
594 %add.ptr184.17 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.16, i64 196
595 store float %i215, float addrspace(1)* %add.ptr184.17, align 4
596 %add.ptr184.18 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.17, i64 196
597 store float %i219, float addrspace(1)* %add.ptr184.18, align 4
598 %add.ptr184.19 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.18, i64 196
599 store float %i223, float addrspace(1)* %add.ptr184.19, align 4
600 %add.ptr184.20 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.19, i64 196
601 store float %i227, float addrspace(1)* %add.ptr184.20, align 4
602 %add.ptr184.21 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.20, i64 196
603 store float %i231, float addrspace(1)* %add.ptr184.21, align 4
604 %add.ptr184.22 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.21, i64 196
605 store float %i235, float addrspace(1)* %add.ptr184.22, align 4
606 %add.ptr184.23 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.22, i64 196
607 store float %i239, float addrspace(1)* %add.ptr184.23, align 4
608 %add.ptr184.24 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.23, i64 196
609 store float %i243, float addrspace(1)* %add.ptr184.24, align 4
610 %add.ptr184.25 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.24, i64 196
611 store float %i247, float addrspace(1)* %add.ptr184.25, align 4
612 %add.ptr184.26 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.25, i64 196
613 store float %i251, float addrspace(1)* %add.ptr184.26, align 4
614 %add.ptr184.27 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.26, i64 196
615 store float %i255, float addrspace(1)* %add.ptr184.27, align 4
616 %add.ptr184.28 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.27, i64 196
617 store float %i259, float addrspace(1)* %add.ptr184.28, align 4
618 %add.ptr184.29 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.28, i64 196
619 store float %i263, float addrspace(1)* %add.ptr184.29, align 4
620 %add.ptr184.30 = getelementptr inbounds float, float addrspace(1)* %add.ptr184.29, i64 196
621 store float %i267, float addrspace(1)* %add.ptr184.30, align 4
625 declare float @llvm.fmuladd.f32(float, float, float) #0
626 declare i32 @llvm.amdgcn.workitem.id.x() #1
627 declare i32 @llvm.amdgcn.workgroup.id.x() #1
628 declare align 4 i8 addrspace(4)* @llvm.amdgcn.implicitarg.ptr() #1
630 attributes #0 = { nofree nosync nounwind readnone speculatable willreturn }
631 attributes #1 = { nounwind readnone speculatable willreturn }
633 !0 = !{i32 1, i32 2, i32 1, i32 0}
634 !1 = !{!"none", !"none", !"none", !"none"}
635 !2 = !{!"float*", !"float*", !"float*", !"float"}
636 !3 = !{!"restrict const", !"restrict const", !"restrict", !""}
637 !4 = !{i32 256, i32 1, i32 1}
638 !5 = !{i32 0, i32 1024}