Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / schedule-avoid-spills.ll
blob4096d329dbb27299dd31c2c6ca5d24764ad79869
1 ; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN %s
3 ; GCN-LABEL: {{^}}load_fma_store
4 ; GCN-NOT: scratch_store
5 ; ScratchSize: 0{{$}}
7 define amdgpu_kernel void @load_fma_store(ptr addrspace(3) nocapture readonly %arg, ptr addrspace(1) nocapture %arg1, i1 %cc) {
8 bb:
9   %vgpr0 = call <32 x i32> asm sideeffect "; def $0","=${v[0:31]}"()
10   %vgpr1 = call <32 x i32> asm sideeffect "; def $0","=${v[32:63]}"()
11   %vgpr2 = call <32 x i32> asm sideeffect "; def $0","=${v[64:95]}"()
12   %vgpr3 = call <32 x i32> asm sideeffect "; def $0","=${v[96:127]}"()
13   br i1 %cc, label %bb1, label %bb2
15 bb1:
16   %tmp = getelementptr inbounds float, ptr addrspace(3) %arg, i32 1
17   %tmp2 = load float, ptr addrspace(3) %tmp, align 4
18   %tmp3 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 2
19   %tmp4 = load float, ptr addrspace(3) %tmp3, align 4
20   %tmp5 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 3
21   %tmp6 = load float, ptr addrspace(3) %tmp5, align 4
22   %tmp7 = tail call float @llvm.fmuladd.f32(float %tmp2, float %tmp4, float %tmp6)
23   %tmp8 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 5
24   %tmp9 = load float, ptr addrspace(3) %tmp8, align 4
25   %tmp10 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 6
26   %tmp11 = load float, ptr addrspace(3) %tmp10, align 4
27   %tmp12 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 7
28   %tmp13 = load float, ptr addrspace(3) %tmp12, align 4
29   %tmp14 = tail call float @llvm.fmuladd.f32(float %tmp9, float %tmp11, float %tmp13)
30   %tmp15 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 9
31   %tmp16 = load float, ptr addrspace(3) %tmp15, align 4
32   %tmp17 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 10
33   %tmp18 = load float, ptr addrspace(3) %tmp17, align 4
34   %tmp19 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 11
35   %tmp20 = load float, ptr addrspace(3) %tmp19, align 4
36   %tmp21 = tail call float @llvm.fmuladd.f32(float %tmp16, float %tmp18, float %tmp20)
37   %tmp22 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 13
38   %tmp23 = load float, ptr addrspace(3) %tmp22, align 4
39   %tmp24 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 14
40   %tmp25 = load float, ptr addrspace(3) %tmp24, align 4
41   %tmp26 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 15
42   %tmp27 = load float, ptr addrspace(3) %tmp26, align 4
43   %tmp28 = tail call float @llvm.fmuladd.f32(float %tmp23, float %tmp25, float %tmp27)
44   %tmp29 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 17
45   %tmp30 = load float, ptr addrspace(3) %tmp29, align 4
46   %tmp31 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 18
47   %tmp32 = load float, ptr addrspace(3) %tmp31, align 4
48   %tmp33 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 19
49   %tmp34 = load float, ptr addrspace(3) %tmp33, align 4
50   %tmp35 = tail call float @llvm.fmuladd.f32(float %tmp30, float %tmp32, float %tmp34)
51   %tmp36 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 21
52   %tmp37 = load float, ptr addrspace(3) %tmp36, align 4
53   %tmp38 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 22
54   %tmp39 = load float, ptr addrspace(3) %tmp38, align 4
55   %tmp40 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 23
56   %tmp41 = load float, ptr addrspace(3) %tmp40, align 4
57   %tmp42 = tail call float @llvm.fmuladd.f32(float %tmp37, float %tmp39, float %tmp41)
58   %tmp43 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 25
59   %tmp44 = load float, ptr addrspace(3) %tmp43, align 4
60   %tmp45 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 26
61   %tmp46 = load float, ptr addrspace(3) %tmp45, align 4
62   %tmp47 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 27
63   %tmp48 = load float, ptr addrspace(3) %tmp47, align 4
64   %tmp49 = tail call float @llvm.fmuladd.f32(float %tmp44, float %tmp46, float %tmp48)
65   %tmp50 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 29
66   %tmp51 = load float, ptr addrspace(3) %tmp50, align 4
67   %tmp52 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 30
68   %tmp53 = load float, ptr addrspace(3) %tmp52, align 4
69   %tmp54 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 31
70   %tmp55 = load float, ptr addrspace(3) %tmp54, align 4
71   %tmp56 = tail call float @llvm.fmuladd.f32(float %tmp51, float %tmp53, float %tmp55)
72   %tmp57 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 33
73   %tmp58 = load float, ptr addrspace(3) %tmp57, align 4
74   %tmp59 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 34
75   %tmp60 = load float, ptr addrspace(3) %tmp59, align 4
76   %tmp61 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 35
77   %tmp62 = load float, ptr addrspace(3) %tmp61, align 4
78   %tmp63 = tail call float @llvm.fmuladd.f32(float %tmp58, float %tmp60, float %tmp62)
79   %tmp64 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 37
80   %tmp65 = load float, ptr addrspace(3) %tmp64, align 4
81   %tmp66 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 38
82   %tmp67 = load float, ptr addrspace(3) %tmp66, align 4
83   %tmp68 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 39
84   %tmp69 = load float, ptr addrspace(3) %tmp68, align 4
85   %tmp70 = tail call float @llvm.fmuladd.f32(float %tmp65, float %tmp67, float %tmp69)
86   %tmp71 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 41
87   %tmp72 = load float, ptr addrspace(3) %tmp71, align 4
88   %tmp73 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 42
89   %tmp74 = load float, ptr addrspace(3) %tmp73, align 4
90   %tmp75 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 43
91   %tmp76 = load float, ptr addrspace(3) %tmp75, align 4
92   %tmp77 = tail call float @llvm.fmuladd.f32(float %tmp72, float %tmp74, float %tmp76)
93   %tmp78 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 45
94   %tmp79 = load float, ptr addrspace(3) %tmp78, align 4
95   %tmp80 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 46
96   %tmp81 = load float, ptr addrspace(3) %tmp80, align 4
97   %tmp82 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 47
98   %tmp83 = load float, ptr addrspace(3) %tmp82, align 4
99   %tmp84 = tail call float @llvm.fmuladd.f32(float %tmp79, float %tmp81, float %tmp83)
100   %tmp85 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 49
101   %tmp86 = load float, ptr addrspace(3) %tmp85, align 4
102   %tmp87 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 50
103   %tmp88 = load float, ptr addrspace(3) %tmp87, align 4
104   %tmp89 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 51
105   %tmp90 = load float, ptr addrspace(3) %tmp89, align 4
106   %tmp91 = tail call float @llvm.fmuladd.f32(float %tmp86, float %tmp88, float %tmp90)
107   %tmp92 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 53
108   %tmp93 = load float, ptr addrspace(3) %tmp92, align 4
109   %tmp94 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 54
110   %tmp95 = load float, ptr addrspace(3) %tmp94, align 4
111   %tmp96 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 55
112   %tmp97 = load float, ptr addrspace(3) %tmp96, align 4
113   %tmp98 = tail call float @llvm.fmuladd.f32(float %tmp93, float %tmp95, float %tmp97)
114   %tmp99 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 57
115   %tmp100 = load float, ptr addrspace(3) %tmp99, align 4
116   %tmp101 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 58
117   %tmp102 = load float, ptr addrspace(3) %tmp101, align 4
118   %tmp103 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 59
119   %tmp104 = load float, ptr addrspace(3) %tmp103, align 4
120   %tmp105 = tail call float @llvm.fmuladd.f32(float %tmp100, float %tmp102, float %tmp104)
121   %tmp106 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 61
122   %tmp107 = load float, ptr addrspace(3) %tmp106, align 4
123   %tmp108 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 62
124   %tmp109 = load float, ptr addrspace(3) %tmp108, align 4
125   %tmp110 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 63
126   %tmp111 = load float, ptr addrspace(3) %tmp110, align 4
127   %tmp112 = tail call float @llvm.fmuladd.f32(float %tmp107, float %tmp109, float %tmp111)
128   %tmp113 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 65
129   %tmp114 = load float, ptr addrspace(3) %tmp113, align 4
130   %tmp115 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 66
131   %tmp116 = load float, ptr addrspace(3) %tmp115, align 4
132   %tmp117 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 67
133   %tmp118 = load float, ptr addrspace(3) %tmp117, align 4
134   %tmp119 = tail call float @llvm.fmuladd.f32(float %tmp114, float %tmp116, float %tmp118)
135   %tmp120 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 69
136   %tmp121 = load float, ptr addrspace(3) %tmp120, align 4
137   %tmp122 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 70
138   %tmp123 = load float, ptr addrspace(3) %tmp122, align 4
139   %tmp124 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 71
140   %tmp125 = load float, ptr addrspace(3) %tmp124, align 4
141   %tmp126 = tail call float @llvm.fmuladd.f32(float %tmp121, float %tmp123, float %tmp125)
142   %tmp127 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 73
143   %tmp128 = load float, ptr addrspace(3) %tmp127, align 4
144   %tmp129 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 74
145   %tmp130 = load float, ptr addrspace(3) %tmp129, align 4
146   %tmp131 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 75
147   %tmp132 = load float, ptr addrspace(3) %tmp131, align 4
148   %tmp133 = tail call float @llvm.fmuladd.f32(float %tmp128, float %tmp130, float %tmp132)
149   %tmp134 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 77
150   %tmp135 = load float, ptr addrspace(3) %tmp134, align 4
151   %tmp136 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 78
152   %tmp137 = load float, ptr addrspace(3) %tmp136, align 4
153   %tmp138 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 79
154   %tmp139 = load float, ptr addrspace(3) %tmp138, align 4
155   %tmp140 = tail call float @llvm.fmuladd.f32(float %tmp135, float %tmp137, float %tmp139)
156   %tmp141 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 81
157   %tmp142 = load float, ptr addrspace(3) %tmp141, align 4
158   %tmp143 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 82
159   %tmp144 = load float, ptr addrspace(3) %tmp143, align 4
160   %tmp145 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 83
161   %tmp146 = load float, ptr addrspace(3) %tmp145, align 4
162   %tmp147 = tail call float @llvm.fmuladd.f32(float %tmp142, float %tmp144, float %tmp146)
163   %tmp148 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 85
164   %tmp149 = load float, ptr addrspace(3) %tmp148, align 4
165   %tmp150 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 86
166   %tmp151 = load float, ptr addrspace(3) %tmp150, align 4
167   %tmp152 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 87
168   %tmp153 = load float, ptr addrspace(3) %tmp152, align 4
169   %tmp154 = tail call float @llvm.fmuladd.f32(float %tmp149, float %tmp151, float %tmp153)
170   %tmp155 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 89
171   %tmp156 = load float, ptr addrspace(3) %tmp155, align 4
172   %tmp157 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 90
173   %tmp158 = load float, ptr addrspace(3) %tmp157, align 4
174   %tmp159 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 91
175   %tmp160 = load float, ptr addrspace(3) %tmp159, align 4
176   %tmp161 = tail call float @llvm.fmuladd.f32(float %tmp156, float %tmp158, float %tmp160)
177   %tmp162 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 93
178   %tmp163 = load float, ptr addrspace(3) %tmp162, align 4
179   %tmp164 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 94
180   %tmp165 = load float, ptr addrspace(3) %tmp164, align 4
181   %tmp166 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 95
182   %tmp167 = load float, ptr addrspace(3) %tmp166, align 4
183   %tmp168 = tail call float @llvm.fmuladd.f32(float %tmp163, float %tmp165, float %tmp167)
184   %tmp169 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 97
185   %tmp170 = load float, ptr addrspace(3) %tmp169, align 4
186   %tmp171 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 98
187   %tmp172 = load float, ptr addrspace(3) %tmp171, align 4
188   %tmp173 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 99
189   %tmp174 = load float, ptr addrspace(3) %tmp173, align 4
190   %tmp175 = tail call float @llvm.fmuladd.f32(float %tmp170, float %tmp172, float %tmp174)
191   %tmp176 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 101
192   %tmp177 = load float, ptr addrspace(3) %tmp176, align 4
193   %tmp178 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 102
194   %tmp179 = load float, ptr addrspace(3) %tmp178, align 4
195   %tmp180 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 103
196   %tmp181 = load float, ptr addrspace(3) %tmp180, align 4
197   %tmp182 = tail call float @llvm.fmuladd.f32(float %tmp177, float %tmp179, float %tmp181)
198   %tmp183 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 105
199   %tmp184 = load float, ptr addrspace(3) %tmp183, align 4
200   %tmp185 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 106
201   %tmp186 = load float, ptr addrspace(3) %tmp185, align 4
202   %tmp187 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 107
203   %tmp188 = load float, ptr addrspace(3) %tmp187, align 4
204   %tmp189 = tail call float @llvm.fmuladd.f32(float %tmp184, float %tmp186, float %tmp188)
205   %tmp190 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 109
206   %tmp191 = load float, ptr addrspace(3) %tmp190, align 4
207   %tmp192 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 110
208   %tmp193 = load float, ptr addrspace(3) %tmp192, align 4
209   %tmp194 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 111
210   %tmp195 = load float, ptr addrspace(3) %tmp194, align 4
211   %tmp196 = tail call float @llvm.fmuladd.f32(float %tmp191, float %tmp193, float %tmp195)
212   %tmp197 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 113
213   %tmp198 = load float, ptr addrspace(3) %tmp197, align 4
214   %tmp199 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 114
215   %tmp200 = load float, ptr addrspace(3) %tmp199, align 4
216   %tmp201 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 115
217   %tmp202 = load float, ptr addrspace(3) %tmp201, align 4
218   %tmp203 = tail call float @llvm.fmuladd.f32(float %tmp198, float %tmp200, float %tmp202)
219   %tmp204 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 117
220   %tmp205 = load float, ptr addrspace(3) %tmp204, align 4
221   %tmp206 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 118
222   %tmp207 = load float, ptr addrspace(3) %tmp206, align 4
223   %tmp208 = getelementptr inbounds float, ptr addrspace(3) %arg, i32 119
224   %tmp209 = load float, ptr addrspace(3) %tmp208, align 4
225   %tmp210 = tail call float @llvm.fmuladd.f32(float %tmp205, float %tmp207, float %tmp209)
226   store float %tmp7, ptr addrspace(1) %arg1, align 4
227   %tmp449 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 1
228   store float %tmp14, ptr addrspace(1) %tmp449, align 4
229   %tmp450 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 2
230   store float %tmp21, ptr addrspace(1) %tmp450, align 4
231   %tmp451 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 3
232   store float %tmp28, ptr addrspace(1) %tmp451, align 4
233   %tmp452 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 4
234   store float %tmp35, ptr addrspace(1) %tmp452, align 4
235   %tmp453 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 5
236   store float %tmp42, ptr addrspace(1) %tmp453, align 4
237   %tmp454 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 6
238   store float %tmp49, ptr addrspace(1) %tmp454, align 4
239   %tmp455 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 7
240   store float %tmp56, ptr addrspace(1) %tmp455, align 4
241   %tmp456 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 8
242   store float %tmp63, ptr addrspace(1) %tmp456, align 4
243   %tmp457 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 9
244   store float %tmp70, ptr addrspace(1) %tmp457, align 4
245   %tmp458 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 10
246   store float %tmp77, ptr addrspace(1) %tmp458, align 4
247   %tmp459 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 11
248   store float %tmp84, ptr addrspace(1) %tmp459, align 4
249   %tmp460 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 12
250   store float %tmp91, ptr addrspace(1) %tmp460, align 4
251   %tmp461 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 13
252   store float %tmp98, ptr addrspace(1) %tmp461, align 4
253   %tmp462 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 14
254   store float %tmp105, ptr addrspace(1) %tmp462, align 4
255   %tmp463 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 15
256   store float %tmp112, ptr addrspace(1) %tmp463, align 4
257   %tmp464 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 16
258   store float %tmp119, ptr addrspace(1) %tmp464, align 4
259   %tmp465 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 17
260   store float %tmp126, ptr addrspace(1) %tmp465, align 4
261   %tmp466 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 18
262   store float %tmp133, ptr addrspace(1) %tmp466, align 4
263   %tmp467 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 19
264   store float %tmp140, ptr addrspace(1) %tmp467, align 4
265   %tmp468 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 20
266   store float %tmp147, ptr addrspace(1) %tmp468, align 4
267   %tmp469 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 21
268   store float %tmp154, ptr addrspace(1) %tmp469, align 4
269   %tmp470 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 22
270   store float %tmp161, ptr addrspace(1) %tmp470, align 4
271   %tmp471 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 23
272   store float %tmp168, ptr addrspace(1) %tmp471, align 4
273   %tmp472 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 24
274   store float %tmp175, ptr addrspace(1) %tmp472, align 4
275   %tmp473 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 25
276   store float %tmp182, ptr addrspace(1) %tmp473, align 4
277   %tmp474 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 26
278   store float %tmp189, ptr addrspace(1) %tmp474, align 4
279   %tmp475 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 27
280   store float %tmp196, ptr addrspace(1) %tmp475, align 4
281   %tmp476 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 28
282   store float %tmp203, ptr addrspace(1) %tmp476, align 4
283   %tmp477 = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 29
284   store float %tmp210, ptr addrspace(1) %tmp477, align 4
285   br i1 %cc, label %bb1, label %bb2
287 bb2:
288   call void asm sideeffect "; use $0","{v[0:31]}"(<32 x i32> %vgpr0)
289   call void asm sideeffect "; use $0","{v[0:31]}"(<32 x i32> %vgpr1)
290   call void asm sideeffect "; use $0","{v[0:31]}"(<32 x i32> %vgpr2)
291   call void asm sideeffect "; use $0","{v[0:31]}"(<32 x i32> %vgpr3)
292   ret void
295 declare float @llvm.fmuladd.f32(float, float, float)