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