[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / vgpr-spill-emergency-stack-slot-compute.ll
blob65a7554bb66a530444b77621ecf098f78e772c1b
1 ; XFAIL: *
2 ; RUN: llc -mtriple=amdgcn-- -mcpu=tahiti -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GCNMESA -check-prefix=SIMESA %s
3 ; RUN: llc -mtriple=amdgcn-- -mcpu=fiji -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GCNMESA -check-prefix=VIMESA %s
4 ; RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GCNMESA -check-prefix=GFX9MESA %s
5 ; RUN: llc  -mcpu=hawaii -mtriple=amdgcn-unknown-amdhsa -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=CIHSA -check-prefix=HSA %s
6 ; RUN: llc  -mcpu=fiji -mtriple=amdgcn-unknown-amdhsa -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VIHSA -check-prefix=HSA %s
8 ; This ends up using all 256 registers and requires register
9 ; scavenging which will fail to find an unsued register.
11 ; Check the ScratchSize to avoid regressions from spilling
12 ; intermediate register class copies.
14 ; FIXME: The same register is initialized to 0 for every spill.
16 ; GCN-LABEL: {{^}}spill_vgpr_compute:
18 ; HSA: enable_sgpr_private_segment_buffer = 1
19 ; HSA: enable_sgpr_flat_scratch_init = 0
20 ; HSA: workitem_private_segment_byte_size = 1536
22 ; GCN-NOT: flat_scr
23 ; MESA-NOT: s_mov_b32 s3
24 ; HSA-NOT: s_mov_b32 s7
26 ; GCNMESA-DAG: s_mov_b32 s16, SCRATCH_RSRC_DWORD0
27 ; GCNMESA-DAG: s_mov_b32 s17, SCRATCH_RSRC_DWORD1
28 ; GCNMESA-DAG: s_mov_b32 s18, -1
29 ; SIMESA-DAG: s_mov_b32 s19, 0xe8f000
30 ; VIMESA-DAG: s_mov_b32 s19, 0xe80000
31 ; GFX9MESA-DAG: s_mov_b32 s19, 0xe00000
34 ; GCNMESAMESA: buffer_store_dword {{v[0-9]+}}, off, s[16:19], s3 offset:{{[0-9]+}} ; 4-byte Folded Spill
36 ; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[16:19], s3 offset:{{[0-9]+}}
37 ; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[16:19], s3 offset:{{[0-9]+}}
38 ; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[16:19], s3 offset:{{[0-9]+}}
39 ; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[16:19], s3 offset:{{[0-9]+}}
41 ; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[16:19], s3 offset:{{[0-9]+}}
42 ; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[16:19], s3 offset:{{[0-9]+}}
43 ; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[16:19], s3 offset:{{[0-9]+}}
44 ; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[16:19], s3 offset:{{[0-9]+}}
48 ; HSA: buffer_store_dword {{v[0-9]+}}, off, s[0:3], s7 offset:{{[0-9]+}} ; 4-byte Folded Spill
50 ; HSA: buffer_store_dword {{v[0-9]}}, off, s[0:3], s7 offset:{{[0-9]+}}
51 ; HSA: buffer_store_dword {{v[0-9]}}, off, s[0:3], s7 offset:{{[0-9]+}}
52 ; HSA: buffer_store_dword {{v[0-9]}}, off, s[0:3], s7 offset:{{[0-9]+}}
53 ; HSA: buffer_store_dword {{v[0-9]}}, off, s[0:3], s7 offset:{{[0-9]+}}
55 ; HSA: buffer_load_dword {{v[0-9]+}}, off, s[0:3], s7 offset:{{[0-9]+}}
56 ; HSA: buffer_load_dword {{v[0-9]+}}, off, s[0:3], s7 offset:{{[0-9]+}}
57 ; HSA: buffer_load_dword {{v[0-9]+}}, off, s[0:3], s7 offset:{{[0-9]+}}
58 ; HSA: buffer_load_dword {{v[0-9]+}}, off, s[0:3], s7 offset:{{[0-9]+}}
61 ; GCN: NumVgprs: 256
62 ; GCN: ScratchSize: 1536
64 ; s[0:3] input user SGPRs. s4,s5,s6 = workgroup IDs. s8 scratch offset.
65 define amdgpu_kernel void @spill_vgpr_compute(<4 x float> %arg6, ptr addrspace(1) %arg, i32 %arg1, i32 %arg2, float %arg3, float %arg4, float %arg5) #0 {
66 bb:
67   %tmp = add i32 %arg1, %arg2
68   %tmp7 = extractelement <4 x float> %arg6, i32 0
69   %tmp8 = extractelement <4 x float> %arg6, i32 1
70   %tmp9 = extractelement <4 x float> %arg6, i32 2
71   %tmp10 = extractelement <4 x float> %arg6, i32 3
72   %tmp11 = bitcast float %arg5 to i32
73   br label %bb12
75 bb12:                                             ; preds = %bb145, %bb
76   %tmp13 = phi float [ 0.000000e+00, %bb ], [ %tmp338, %bb145 ]
77   %tmp14 = phi float [ 0.000000e+00, %bb ], [ %tmp337, %bb145 ]
78   %tmp15 = phi float [ 0.000000e+00, %bb ], [ %tmp336, %bb145 ]
79   %tmp16 = phi float [ 0.000000e+00, %bb ], [ %tmp339, %bb145 ]
80   %tmp17 = phi float [ 0.000000e+00, %bb ], [ %tmp335, %bb145 ]
81   %tmp18 = phi float [ 0.000000e+00, %bb ], [ %tmp334, %bb145 ]
82   %tmp19 = phi float [ 0.000000e+00, %bb ], [ %tmp333, %bb145 ]
83   %tmp20 = phi float [ 0.000000e+00, %bb ], [ %tmp340, %bb145 ]
84   %tmp21 = phi float [ 0.000000e+00, %bb ], [ %tmp332, %bb145 ]
85   %tmp22 = phi float [ 0.000000e+00, %bb ], [ %tmp331, %bb145 ]
86   %tmp23 = phi float [ 0.000000e+00, %bb ], [ %tmp330, %bb145 ]
87   %tmp24 = phi float [ 0.000000e+00, %bb ], [ %tmp341, %bb145 ]
88   %tmp25 = phi float [ 0.000000e+00, %bb ], [ %tmp329, %bb145 ]
89   %tmp26 = phi float [ 0.000000e+00, %bb ], [ %tmp328, %bb145 ]
90   %tmp27 = phi float [ 0.000000e+00, %bb ], [ %tmp327, %bb145 ]
91   %tmp28 = phi float [ 0.000000e+00, %bb ], [ %tmp342, %bb145 ]
92   %tmp29 = phi float [ 0.000000e+00, %bb ], [ %tmp326, %bb145 ]
93   %tmp30 = phi float [ 0.000000e+00, %bb ], [ %tmp325, %bb145 ]
94   %tmp31 = phi float [ 0.000000e+00, %bb ], [ %tmp324, %bb145 ]
95   %tmp32 = phi float [ 0.000000e+00, %bb ], [ %tmp343, %bb145 ]
96   %tmp33 = phi float [ 0.000000e+00, %bb ], [ %tmp323, %bb145 ]
97   %tmp34 = phi float [ 0.000000e+00, %bb ], [ %tmp322, %bb145 ]
98   %tmp35 = phi float [ 0.000000e+00, %bb ], [ %tmp321, %bb145 ]
99   %tmp36 = phi float [ 0.000000e+00, %bb ], [ %tmp344, %bb145 ]
100   %tmp37 = phi float [ 0.000000e+00, %bb ], [ %tmp320, %bb145 ]
101   %tmp38 = phi float [ 0.000000e+00, %bb ], [ %tmp319, %bb145 ]
102   %tmp39 = phi float [ 0.000000e+00, %bb ], [ %tmp318, %bb145 ]
103   %tmp40 = phi float [ 0.000000e+00, %bb ], [ %tmp345, %bb145 ]
104   %tmp41 = phi float [ 0.000000e+00, %bb ], [ %tmp317, %bb145 ]
105   %tmp42 = phi float [ 0.000000e+00, %bb ], [ %tmp316, %bb145 ]
106   %tmp43 = phi float [ 0.000000e+00, %bb ], [ %tmp315, %bb145 ]
107   %tmp44 = phi float [ 0.000000e+00, %bb ], [ %tmp346, %bb145 ]
108   %tmp45 = phi float [ 0.000000e+00, %bb ], [ %tmp314, %bb145 ]
109   %tmp46 = phi float [ 0.000000e+00, %bb ], [ %tmp313, %bb145 ]
110   %tmp47 = phi float [ 0.000000e+00, %bb ], [ %tmp312, %bb145 ]
111   %tmp48 = phi float [ 0.000000e+00, %bb ], [ %tmp347, %bb145 ]
112   %tmp49 = phi float [ 0.000000e+00, %bb ], [ %tmp311, %bb145 ]
113   %tmp50 = phi float [ 0.000000e+00, %bb ], [ %tmp310, %bb145 ]
114   %tmp51 = phi float [ 0.000000e+00, %bb ], [ %tmp309, %bb145 ]
115   %tmp52 = phi float [ 0.000000e+00, %bb ], [ %tmp348, %bb145 ]
116   %tmp53 = phi float [ 0.000000e+00, %bb ], [ %tmp308, %bb145 ]
117   %tmp54 = phi float [ 0.000000e+00, %bb ], [ %tmp307, %bb145 ]
118   %tmp55 = phi float [ 0.000000e+00, %bb ], [ %tmp306, %bb145 ]
119   %tmp56 = phi float [ 0.000000e+00, %bb ], [ %tmp349, %bb145 ]
120   %tmp57 = phi float [ 0.000000e+00, %bb ], [ %tmp305, %bb145 ]
121   %tmp58 = phi float [ 0.000000e+00, %bb ], [ %tmp304, %bb145 ]
122   %tmp59 = phi float [ 0.000000e+00, %bb ], [ %tmp303, %bb145 ]
123   %tmp60 = phi float [ 0.000000e+00, %bb ], [ %tmp350, %bb145 ]
124   %tmp61 = phi float [ 0.000000e+00, %bb ], [ %tmp302, %bb145 ]
125   %tmp62 = phi float [ 0.000000e+00, %bb ], [ %tmp301, %bb145 ]
126   %tmp63 = phi float [ 0.000000e+00, %bb ], [ %tmp300, %bb145 ]
127   %tmp64 = phi float [ 0.000000e+00, %bb ], [ %tmp351, %bb145 ]
128   %tmp65 = phi float [ 0.000000e+00, %bb ], [ %tmp299, %bb145 ]
129   %tmp66 = phi float [ 0.000000e+00, %bb ], [ %tmp298, %bb145 ]
130   %tmp67 = phi float [ 0.000000e+00, %bb ], [ %tmp297, %bb145 ]
131   %tmp68 = phi float [ 0.000000e+00, %bb ], [ %tmp352, %bb145 ]
132   %tmp69 = phi float [ 0.000000e+00, %bb ], [ %tmp296, %bb145 ]
133   %tmp70 = phi float [ 0.000000e+00, %bb ], [ %tmp295, %bb145 ]
134   %tmp71 = phi float [ 0.000000e+00, %bb ], [ %tmp294, %bb145 ]
135   %tmp72 = phi float [ 0.000000e+00, %bb ], [ %tmp353, %bb145 ]
136   %tmp73 = phi float [ 0.000000e+00, %bb ], [ %tmp293, %bb145 ]
137   %tmp74 = phi float [ 0.000000e+00, %bb ], [ %tmp292, %bb145 ]
138   %tmp75 = phi float [ 0.000000e+00, %bb ], [ %tmp291, %bb145 ]
139   %tmp76 = phi float [ 0.000000e+00, %bb ], [ %tmp354, %bb145 ]
140   %tmp77 = phi float [ 0.000000e+00, %bb ], [ %tmp290, %bb145 ]
141   %tmp78 = phi float [ 0.000000e+00, %bb ], [ %tmp289, %bb145 ]
142   %tmp79 = phi float [ 0.000000e+00, %bb ], [ %tmp288, %bb145 ]
143   %tmp80 = phi float [ 0.000000e+00, %bb ], [ %tmp355, %bb145 ]
144   %tmp81 = phi float [ 0.000000e+00, %bb ], [ %tmp287, %bb145 ]
145   %tmp82 = phi float [ 0.000000e+00, %bb ], [ %tmp286, %bb145 ]
146   %tmp83 = phi float [ 0.000000e+00, %bb ], [ %tmp285, %bb145 ]
147   %tmp84 = phi float [ 0.000000e+00, %bb ], [ %tmp356, %bb145 ]
148   %tmp85 = phi float [ 0.000000e+00, %bb ], [ %tmp284, %bb145 ]
149   %tmp86 = phi float [ 0.000000e+00, %bb ], [ %tmp283, %bb145 ]
150   %tmp87 = phi float [ 0.000000e+00, %bb ], [ %tmp282, %bb145 ]
151   %tmp88 = phi float [ 0.000000e+00, %bb ], [ %tmp357, %bb145 ]
152   %tmp89 = phi float [ 0.000000e+00, %bb ], [ %tmp281, %bb145 ]
153   %tmp90 = phi float [ 0.000000e+00, %bb ], [ %tmp280, %bb145 ]
154   %tmp91 = phi float [ 0.000000e+00, %bb ], [ %tmp279, %bb145 ]
155   %tmp92 = phi float [ 0.000000e+00, %bb ], [ %tmp358, %bb145 ]
156   %tmp93 = phi float [ 0.000000e+00, %bb ], [ %tmp359, %bb145 ]
157   %tmp94 = phi float [ 0.000000e+00, %bb ], [ %tmp360, %bb145 ]
158   %tmp95 = phi float [ 0.000000e+00, %bb ], [ %tmp409, %bb145 ]
159   %tmp96 = phi float [ 0.000000e+00, %bb ], [ %tmp361, %bb145 ]
160   %tmp97 = phi float [ 0.000000e+00, %bb ], [ %tmp362, %bb145 ]
161   %tmp98 = phi float [ 0.000000e+00, %bb ], [ %tmp363, %bb145 ]
162   %tmp99 = phi float [ 0.000000e+00, %bb ], [ %tmp364, %bb145 ]
163   %tmp100 = phi float [ 0.000000e+00, %bb ], [ %tmp365, %bb145 ]
164   %tmp101 = phi float [ 0.000000e+00, %bb ], [ %tmp366, %bb145 ]
165   %tmp102 = phi float [ 0.000000e+00, %bb ], [ %tmp367, %bb145 ]
166   %tmp103 = phi float [ 0.000000e+00, %bb ], [ %tmp368, %bb145 ]
167   %tmp104 = phi float [ 0.000000e+00, %bb ], [ %tmp369, %bb145 ]
168   %tmp105 = phi float [ 0.000000e+00, %bb ], [ %tmp370, %bb145 ]
169   %tmp106 = phi float [ 0.000000e+00, %bb ], [ %tmp371, %bb145 ]
170   %tmp107 = phi float [ 0.000000e+00, %bb ], [ %tmp372, %bb145 ]
171   %tmp108 = phi float [ 0.000000e+00, %bb ], [ %tmp373, %bb145 ]
172   %tmp109 = phi float [ 0.000000e+00, %bb ], [ %tmp374, %bb145 ]
173   %tmp110 = phi float [ 0.000000e+00, %bb ], [ %tmp375, %bb145 ]
174   %tmp111 = phi float [ 0.000000e+00, %bb ], [ %tmp376, %bb145 ]
175   %tmp112 = phi float [ 0.000000e+00, %bb ], [ %tmp377, %bb145 ]
176   %tmp113 = phi float [ 0.000000e+00, %bb ], [ %tmp378, %bb145 ]
177   %tmp114 = phi float [ 0.000000e+00, %bb ], [ %tmp379, %bb145 ]
178   %tmp115 = phi float [ 0.000000e+00, %bb ], [ %tmp380, %bb145 ]
179   %tmp116 = phi float [ 0.000000e+00, %bb ], [ %tmp381, %bb145 ]
180   %tmp117 = phi float [ 0.000000e+00, %bb ], [ %tmp382, %bb145 ]
181   %tmp118 = phi float [ 0.000000e+00, %bb ], [ %tmp383, %bb145 ]
182   %tmp119 = phi float [ 0.000000e+00, %bb ], [ %tmp384, %bb145 ]
183   %tmp120 = phi float [ 0.000000e+00, %bb ], [ %tmp385, %bb145 ]
184   %tmp121 = phi float [ 0.000000e+00, %bb ], [ %tmp386, %bb145 ]
185   %tmp122 = phi float [ 0.000000e+00, %bb ], [ %tmp387, %bb145 ]
186   %tmp123 = phi float [ 0.000000e+00, %bb ], [ %tmp388, %bb145 ]
187   %tmp124 = phi float [ 0.000000e+00, %bb ], [ %tmp389, %bb145 ]
188   %tmp125 = phi float [ 0.000000e+00, %bb ], [ %tmp390, %bb145 ]
189   %tmp126 = phi float [ 0.000000e+00, %bb ], [ %tmp391, %bb145 ]
190   %tmp127 = phi float [ 0.000000e+00, %bb ], [ %tmp392, %bb145 ]
191   %tmp128 = phi float [ 0.000000e+00, %bb ], [ %tmp393, %bb145 ]
192   %tmp129 = phi float [ 0.000000e+00, %bb ], [ %tmp394, %bb145 ]
193   %tmp130 = phi float [ 0.000000e+00, %bb ], [ %tmp395, %bb145 ]
194   %tmp131 = phi float [ 0.000000e+00, %bb ], [ %tmp396, %bb145 ]
195   %tmp132 = phi float [ 0.000000e+00, %bb ], [ %tmp397, %bb145 ]
196   %tmp133 = phi float [ 0.000000e+00, %bb ], [ %tmp398, %bb145 ]
197   %tmp134 = phi float [ 0.000000e+00, %bb ], [ %tmp399, %bb145 ]
198   %tmp135 = phi float [ 0.000000e+00, %bb ], [ %tmp400, %bb145 ]
199   %tmp136 = phi float [ 0.000000e+00, %bb ], [ %tmp401, %bb145 ]
200   %tmp137 = phi float [ 0.000000e+00, %bb ], [ %tmp402, %bb145 ]
201   %tmp138 = phi float [ 0.000000e+00, %bb ], [ %tmp403, %bb145 ]
202   %tmp139 = phi float [ 0.000000e+00, %bb ], [ %tmp404, %bb145 ]
203   %tmp140 = phi float [ 0.000000e+00, %bb ], [ %tmp405, %bb145 ]
204   %tmp141 = phi float [ 0.000000e+00, %bb ], [ %tmp406, %bb145 ]
205   %tmp142 = bitcast float %tmp95 to i32
206   %tid = call i32 @llvm.amdgcn.workitem.id.x() #1
207   %tmp143 = icmp sgt i32 %tmp142, %tid
208   br i1 %tmp143, label %bb144, label %bb145
210 bb144:                                            ; preds = %bb12
211   store volatile float %arg3, ptr addrspace(1) %arg
212   store volatile float %tmp91, ptr addrspace(1) %arg
213   store volatile float %tmp90, ptr addrspace(1) %arg
214   store volatile float %tmp89, ptr addrspace(1) %arg
215   store volatile float %tmp87, ptr addrspace(1) %arg
216   store volatile float %tmp86, ptr addrspace(1) %arg
217   store volatile float %tmp85, ptr addrspace(1) %arg
218   store volatile float %tmp83, ptr addrspace(1) %arg
219   store volatile float %tmp82, ptr addrspace(1) %arg
220   store volatile float %tmp81, ptr addrspace(1) %arg
221   store volatile float %tmp79, ptr addrspace(1) %arg
222   store volatile float %tmp78, ptr addrspace(1) %arg
223   store volatile float %tmp77, ptr addrspace(1) %arg
224   store volatile float %tmp75, ptr addrspace(1) %arg
225   store volatile float %tmp74, ptr addrspace(1) %arg
226   store volatile float %tmp73, ptr addrspace(1) %arg
227   store volatile float %tmp71, ptr addrspace(1) %arg
228   store volatile float %tmp70, ptr addrspace(1) %arg
229   store volatile float %tmp69, ptr addrspace(1) %arg
230   store volatile float %tmp67, ptr addrspace(1) %arg
231   store volatile float %tmp66, ptr addrspace(1) %arg
232   store volatile float %tmp65, ptr addrspace(1) %arg
233   store volatile float %tmp63, ptr addrspace(1) %arg
234   store volatile float %tmp62, ptr addrspace(1) %arg
235   store volatile float %tmp61, ptr addrspace(1) %arg
236   store volatile float %tmp59, ptr addrspace(1) %arg
237   store volatile float %tmp58, ptr addrspace(1) %arg
238   store volatile float %tmp57, ptr addrspace(1) %arg
239   store volatile float %tmp55, ptr addrspace(1) %arg
240   store volatile float %tmp54, ptr addrspace(1) %arg
241   store volatile float %tmp53, ptr addrspace(1) %arg
242   store volatile float %tmp51, ptr addrspace(1) %arg
243   store volatile float %tmp50, ptr addrspace(1) %arg
244   store volatile float %tmp49, ptr addrspace(1) %arg
245   store volatile float %tmp47, ptr addrspace(1) %arg
246   store volatile float %tmp46, ptr addrspace(1) %arg
247   store volatile float %tmp45, ptr addrspace(1) %arg
248   store volatile float %tmp43, ptr addrspace(1) %arg
249   store volatile float %tmp42, ptr addrspace(1) %arg
250   store volatile float %tmp41, ptr addrspace(1) %arg
251   store volatile float %tmp39, ptr addrspace(1) %arg
252   store volatile float %tmp38, ptr addrspace(1) %arg
253   store volatile float %tmp37, ptr addrspace(1) %arg
254   store volatile float %tmp35, ptr addrspace(1) %arg
255   store volatile float %tmp34, ptr addrspace(1) %arg
256   store volatile float %tmp33, ptr addrspace(1) %arg
257   store volatile float %tmp31, ptr addrspace(1) %arg
258   store volatile float %tmp30, ptr addrspace(1) %arg
259   store volatile float %tmp29, ptr addrspace(1) %arg
260   store volatile float %tmp27, ptr addrspace(1) %arg
261   store volatile float %tmp26, ptr addrspace(1) %arg
262   store volatile float %tmp25, ptr addrspace(1) %arg
263   store volatile float %tmp23, ptr addrspace(1) %arg
264   store volatile float %tmp22, ptr addrspace(1) %arg
265   store volatile float %tmp21, ptr addrspace(1) %arg
266   store volatile float %tmp19, ptr addrspace(1) %arg
267   store volatile float %tmp18, ptr addrspace(1) %arg
268   store volatile float %tmp17, ptr addrspace(1) %arg
269   store volatile float %tmp15, ptr addrspace(1) %arg
270   store volatile float %tmp14, ptr addrspace(1) %arg
271   store volatile float %tmp13, ptr addrspace(1) %arg
272   store volatile float %tmp16, ptr addrspace(1) %arg
273   store volatile float %tmp20, ptr addrspace(1) %arg
274   store volatile float %tmp24, ptr addrspace(1) %arg
275   store volatile float %tmp28, ptr addrspace(1) %arg
276   store volatile float %tmp32, ptr addrspace(1) %arg
277   store volatile float %tmp36, ptr addrspace(1) %arg
278   store volatile float %tmp40, ptr addrspace(1) %arg
279   store volatile float %tmp44, ptr addrspace(1) %arg
280   store volatile float %tmp48, ptr addrspace(1) %arg
281   store volatile float %tmp52, ptr addrspace(1) %arg
282   store volatile float %tmp56, ptr addrspace(1) %arg
283   store volatile float %tmp60, ptr addrspace(1) %arg
284   store volatile float %tmp64, ptr addrspace(1) %arg
285   store volatile float %tmp68, ptr addrspace(1) %arg
286   store volatile float %tmp72, ptr addrspace(1) %arg
287   store volatile float %tmp76, ptr addrspace(1) %arg
288   store volatile float %tmp80, ptr addrspace(1) %arg
289   store volatile float %tmp84, ptr addrspace(1) %arg
290   store volatile float %tmp88, ptr addrspace(1) %arg
291   store volatile float %tmp92, ptr addrspace(1) %arg
292   store volatile float %tmp93, ptr addrspace(1) %arg
293   store volatile float %tmp94, ptr addrspace(1) %arg
294   store volatile float %tmp96, ptr addrspace(1) %arg
295   store volatile float %tmp97, ptr addrspace(1) %arg
296   store volatile float %tmp98, ptr addrspace(1) %arg
297   store volatile float %tmp99, ptr addrspace(1) %arg
298   store volatile float %tmp100, ptr addrspace(1) %arg
299   store volatile float %tmp101, ptr addrspace(1) %arg
300   store volatile float %tmp102, ptr addrspace(1) %arg
301   store volatile float %tmp103, ptr addrspace(1) %arg
302   store volatile float %tmp104, ptr addrspace(1) %arg
303   store volatile float %tmp105, ptr addrspace(1) %arg
304   store volatile float %tmp106, ptr addrspace(1) %arg
305   store volatile float %tmp107, ptr addrspace(1) %arg
306   store volatile float %tmp108, ptr addrspace(1) %arg
307   store volatile float %tmp109, ptr addrspace(1) %arg
308   store volatile float %tmp110, ptr addrspace(1) %arg
309   store volatile float %tmp111, ptr addrspace(1) %arg
310   store volatile float %tmp112, ptr addrspace(1) %arg
311   store volatile float %tmp113, ptr addrspace(1) %arg
312   store volatile float %tmp114, ptr addrspace(1) %arg
313   store volatile float %tmp115, ptr addrspace(1) %arg
314   store volatile float %tmp116, ptr addrspace(1) %arg
315   store volatile float %tmp117, ptr addrspace(1) %arg
316   store volatile float %tmp118, ptr addrspace(1) %arg
317   store volatile float %tmp119, ptr addrspace(1) %arg
318   store volatile float %tmp120, ptr addrspace(1) %arg
319   store volatile float %tmp121, ptr addrspace(1) %arg
320   store volatile float %tmp122, ptr addrspace(1) %arg
321   store volatile float %tmp123, ptr addrspace(1) %arg
322   store volatile float %tmp124, ptr addrspace(1) %arg
323   store volatile float %tmp125, ptr addrspace(1) %arg
324   store volatile float %tmp126, ptr addrspace(1) %arg
325   store volatile float %tmp127, ptr addrspace(1) %arg
326   store volatile float %tmp128, ptr addrspace(1) %arg
327   store volatile float %tmp129, ptr addrspace(1) %arg
328   store volatile float %tmp130, ptr addrspace(1) %arg
329   store volatile float %tmp131, ptr addrspace(1) %arg
330   store volatile float %tmp132, ptr addrspace(1) %arg
331   store volatile float %tmp133, ptr addrspace(1) %arg
332   store volatile float %tmp134, ptr addrspace(1) %arg
333   store volatile float %tmp135, ptr addrspace(1) %arg
334   store volatile float %tmp136, ptr addrspace(1) %arg
335   store volatile float %tmp137, ptr addrspace(1) %arg
336   store volatile float %tmp138, ptr addrspace(1) %arg
337   store volatile float %tmp139, ptr addrspace(1) %arg
338   store volatile float %arg4, ptr addrspace(1) %arg
339   store volatile float %tmp7, ptr addrspace(1) %arg
340   store volatile float %tmp8, ptr addrspace(1) %arg
341   store volatile float %tmp9, ptr addrspace(1) %arg
342   store volatile float %tmp10, ptr addrspace(1) %arg
343   ret void
345 bb145:                                            ; preds = %bb12
346   %tmp146 = bitcast float %tmp95 to i32
347   %tmp147 = bitcast float %tmp95 to i32
348   %tmp148 = add i32 %tmp11, %tmp147
349   %tmp149 = bitcast i32 %tmp148 to float
350   %tmp150 = insertelement <128 x float> undef, float %tmp91, i32 0
351   %tmp151 = insertelement <128 x float> %tmp150, float %tmp90, i32 1
352   %tmp152 = insertelement <128 x float> %tmp151, float %tmp89, i32 2
353   %tmp153 = insertelement <128 x float> %tmp152, float %tmp87, i32 3
354   %tmp154 = insertelement <128 x float> %tmp153, float %tmp86, i32 4
355   %tmp155 = insertelement <128 x float> %tmp154, float %tmp85, i32 5
356   %tmp156 = insertelement <128 x float> %tmp155, float %tmp83, i32 6
357   %tmp157 = insertelement <128 x float> %tmp156, float %tmp82, i32 7
358   %tmp158 = insertelement <128 x float> %tmp157, float %tmp81, i32 8
359   %tmp159 = insertelement <128 x float> %tmp158, float %tmp79, i32 9
360   %tmp160 = insertelement <128 x float> %tmp159, float %tmp78, i32 10
361   %tmp161 = insertelement <128 x float> %tmp160, float %tmp77, i32 11
362   %tmp162 = insertelement <128 x float> %tmp161, float %tmp75, i32 12
363   %tmp163 = insertelement <128 x float> %tmp162, float %tmp74, i32 13
364   %tmp164 = insertelement <128 x float> %tmp163, float %tmp73, i32 14
365   %tmp165 = insertelement <128 x float> %tmp164, float %tmp71, i32 15
366   %tmp166 = insertelement <128 x float> %tmp165, float %tmp70, i32 16
367   %tmp167 = insertelement <128 x float> %tmp166, float %tmp69, i32 17
368   %tmp168 = insertelement <128 x float> %tmp167, float %tmp67, i32 18
369   %tmp169 = insertelement <128 x float> %tmp168, float %tmp66, i32 19
370   %tmp170 = insertelement <128 x float> %tmp169, float %tmp65, i32 20
371   %tmp171 = insertelement <128 x float> %tmp170, float %tmp63, i32 21
372   %tmp172 = insertelement <128 x float> %tmp171, float %tmp62, i32 22
373   %tmp173 = insertelement <128 x float> %tmp172, float %tmp61, i32 23
374   %tmp174 = insertelement <128 x float> %tmp173, float %tmp59, i32 24
375   %tmp175 = insertelement <128 x float> %tmp174, float %tmp58, i32 25
376   %tmp176 = insertelement <128 x float> %tmp175, float %tmp57, i32 26
377   %tmp177 = insertelement <128 x float> %tmp176, float %tmp55, i32 27
378   %tmp178 = insertelement <128 x float> %tmp177, float %tmp54, i32 28
379   %tmp179 = insertelement <128 x float> %tmp178, float %tmp53, i32 29
380   %tmp180 = insertelement <128 x float> %tmp179, float %tmp51, i32 30
381   %tmp181 = insertelement <128 x float> %tmp180, float %tmp50, i32 31
382   %tmp182 = insertelement <128 x float> %tmp181, float %tmp49, i32 32
383   %tmp183 = insertelement <128 x float> %tmp182, float %tmp47, i32 33
384   %tmp184 = insertelement <128 x float> %tmp183, float %tmp46, i32 34
385   %tmp185 = insertelement <128 x float> %tmp184, float %tmp45, i32 35
386   %tmp186 = insertelement <128 x float> %tmp185, float %tmp43, i32 36
387   %tmp187 = insertelement <128 x float> %tmp186, float %tmp42, i32 37
388   %tmp188 = insertelement <128 x float> %tmp187, float %tmp41, i32 38
389   %tmp189 = insertelement <128 x float> %tmp188, float %tmp39, i32 39
390   %tmp190 = insertelement <128 x float> %tmp189, float %tmp38, i32 40
391   %tmp191 = insertelement <128 x float> %tmp190, float %tmp37, i32 41
392   %tmp192 = insertelement <128 x float> %tmp191, float %tmp35, i32 42
393   %tmp193 = insertelement <128 x float> %tmp192, float %tmp34, i32 43
394   %tmp194 = insertelement <128 x float> %tmp193, float %tmp33, i32 44
395   %tmp195 = insertelement <128 x float> %tmp194, float %tmp31, i32 45
396   %tmp196 = insertelement <128 x float> %tmp195, float %tmp30, i32 46
397   %tmp197 = insertelement <128 x float> %tmp196, float %tmp29, i32 47
398   %tmp198 = insertelement <128 x float> %tmp197, float %tmp27, i32 48
399   %tmp199 = insertelement <128 x float> %tmp198, float %tmp26, i32 49
400   %tmp200 = insertelement <128 x float> %tmp199, float %tmp25, i32 50
401   %tmp201 = insertelement <128 x float> %tmp200, float %tmp23, i32 51
402   %tmp202 = insertelement <128 x float> %tmp201, float %tmp22, i32 52
403   %tmp203 = insertelement <128 x float> %tmp202, float %tmp21, i32 53
404   %tmp204 = insertelement <128 x float> %tmp203, float %tmp19, i32 54
405   %tmp205 = insertelement <128 x float> %tmp204, float %tmp18, i32 55
406   %tmp206 = insertelement <128 x float> %tmp205, float %tmp17, i32 56
407   %tmp207 = insertelement <128 x float> %tmp206, float %tmp15, i32 57
408   %tmp208 = insertelement <128 x float> %tmp207, float %tmp14, i32 58
409   %tmp209 = insertelement <128 x float> %tmp208, float %tmp13, i32 59
410   %tmp210 = insertelement <128 x float> %tmp209, float %tmp16, i32 60
411   %tmp211 = insertelement <128 x float> %tmp210, float %tmp20, i32 61
412   %tmp212 = insertelement <128 x float> %tmp211, float %tmp24, i32 62
413   %tmp213 = insertelement <128 x float> %tmp212, float %tmp28, i32 63
414   %tmp214 = insertelement <128 x float> %tmp213, float %tmp32, i32 64
415   %tmp215 = insertelement <128 x float> %tmp214, float %tmp36, i32 65
416   %tmp216 = insertelement <128 x float> %tmp215, float %tmp40, i32 66
417   %tmp217 = insertelement <128 x float> %tmp216, float %tmp44, i32 67
418   %tmp218 = insertelement <128 x float> %tmp217, float %tmp48, i32 68
419   %tmp219 = insertelement <128 x float> %tmp218, float %tmp52, i32 69
420   %tmp220 = insertelement <128 x float> %tmp219, float %tmp56, i32 70
421   %tmp221 = insertelement <128 x float> %tmp220, float %tmp60, i32 71
422   %tmp222 = insertelement <128 x float> %tmp221, float %tmp64, i32 72
423   %tmp223 = insertelement <128 x float> %tmp222, float %tmp68, i32 73
424   %tmp224 = insertelement <128 x float> %tmp223, float %tmp72, i32 74
425   %tmp225 = insertelement <128 x float> %tmp224, float %tmp76, i32 75
426   %tmp226 = insertelement <128 x float> %tmp225, float %tmp80, i32 76
427   %tmp227 = insertelement <128 x float> %tmp226, float %tmp84, i32 77
428   %tmp228 = insertelement <128 x float> %tmp227, float %tmp88, i32 78
429   %tmp229 = insertelement <128 x float> %tmp228, float %tmp92, i32 79
430   %tmp230 = insertelement <128 x float> %tmp229, float %tmp93, i32 80
431   %tmp231 = insertelement <128 x float> %tmp230, float %tmp94, i32 81
432   %tmp232 = insertelement <128 x float> %tmp231, float %tmp96, i32 82
433   %tmp233 = insertelement <128 x float> %tmp232, float %tmp97, i32 83
434   %tmp234 = insertelement <128 x float> %tmp233, float %tmp98, i32 84
435   %tmp235 = insertelement <128 x float> %tmp234, float %tmp99, i32 85
436   %tmp236 = insertelement <128 x float> %tmp235, float %tmp100, i32 86
437   %tmp237 = insertelement <128 x float> %tmp236, float %tmp101, i32 87
438   %tmp238 = insertelement <128 x float> %tmp237, float %tmp102, i32 88
439   %tmp239 = insertelement <128 x float> %tmp238, float %tmp103, i32 89
440   %tmp240 = insertelement <128 x float> %tmp239, float %tmp104, i32 90
441   %tmp241 = insertelement <128 x float> %tmp240, float %tmp105, i32 91
442   %tmp242 = insertelement <128 x float> %tmp241, float %tmp106, i32 92
443   %tmp243 = insertelement <128 x float> %tmp242, float %tmp107, i32 93
444   %tmp244 = insertelement <128 x float> %tmp243, float %tmp108, i32 94
445   %tmp245 = insertelement <128 x float> %tmp244, float %tmp109, i32 95
446   %tmp246 = insertelement <128 x float> %tmp245, float %tmp110, i32 96
447   %tmp247 = insertelement <128 x float> %tmp246, float %tmp111, i32 97
448   %tmp248 = insertelement <128 x float> %tmp247, float %tmp112, i32 98
449   %tmp249 = insertelement <128 x float> %tmp248, float %tmp113, i32 99
450   %tmp250 = insertelement <128 x float> %tmp249, float %tmp114, i32 100
451   %tmp251 = insertelement <128 x float> %tmp250, float %tmp115, i32 101
452   %tmp252 = insertelement <128 x float> %tmp251, float %tmp116, i32 102
453   %tmp253 = insertelement <128 x float> %tmp252, float %tmp117, i32 103
454   %tmp254 = insertelement <128 x float> %tmp253, float %tmp118, i32 104
455   %tmp255 = insertelement <128 x float> %tmp254, float %tmp119, i32 105
456   %tmp256 = insertelement <128 x float> %tmp255, float %tmp120, i32 106
457   %tmp257 = insertelement <128 x float> %tmp256, float %tmp121, i32 107
458   %tmp258 = insertelement <128 x float> %tmp257, float %tmp122, i32 108
459   %tmp259 = insertelement <128 x float> %tmp258, float %tmp123, i32 109
460   %tmp260 = insertelement <128 x float> %tmp259, float %tmp124, i32 110
461   %tmp261 = insertelement <128 x float> %tmp260, float %tmp125, i32 111
462   %tmp262 = insertelement <128 x float> %tmp261, float %tmp126, i32 112
463   %tmp263 = insertelement <128 x float> %tmp262, float %tmp127, i32 113
464   %tmp264 = insertelement <128 x float> %tmp263, float %tmp128, i32 114
465   %tmp265 = insertelement <128 x float> %tmp264, float %tmp129, i32 115
466   %tmp266 = insertelement <128 x float> %tmp265, float %tmp130, i32 116
467   %tmp267 = insertelement <128 x float> %tmp266, float %tmp131, i32 117
468   %tmp268 = insertelement <128 x float> %tmp267, float %tmp132, i32 118
469   %tmp269 = insertelement <128 x float> %tmp268, float %tmp133, i32 119
470   %tmp270 = insertelement <128 x float> %tmp269, float %tmp134, i32 120
471   %tmp271 = insertelement <128 x float> %tmp270, float %tmp135, i32 121
472   %tmp272 = insertelement <128 x float> %tmp271, float %tmp136, i32 122
473   %tmp273 = insertelement <128 x float> %tmp272, float %tmp137, i32 123
474   %tmp274 = insertelement <128 x float> %tmp273, float %tmp138, i32 124
475   %tmp275 = insertelement <128 x float> %tmp274, float %tmp139, i32 125
476   %tmp276 = insertelement <128 x float> %tmp275, float %tmp140, i32 126
477   %tmp277 = insertelement <128 x float> %tmp276, float %tmp141, i32 127
478   %tmp278 = insertelement <128 x float> %tmp277, float %tmp149, i32 %tmp146
479   %tmp279 = extractelement <128 x float> %tmp278, i32 0
480   %tmp280 = extractelement <128 x float> %tmp278, i32 1
481   %tmp281 = extractelement <128 x float> %tmp278, i32 2
482   %tmp282 = extractelement <128 x float> %tmp278, i32 3
483   %tmp283 = extractelement <128 x float> %tmp278, i32 4
484   %tmp284 = extractelement <128 x float> %tmp278, i32 5
485   %tmp285 = extractelement <128 x float> %tmp278, i32 6
486   %tmp286 = extractelement <128 x float> %tmp278, i32 7
487   %tmp287 = extractelement <128 x float> %tmp278, i32 8
488   %tmp288 = extractelement <128 x float> %tmp278, i32 9
489   %tmp289 = extractelement <128 x float> %tmp278, i32 10
490   %tmp290 = extractelement <128 x float> %tmp278, i32 11
491   %tmp291 = extractelement <128 x float> %tmp278, i32 12
492   %tmp292 = extractelement <128 x float> %tmp278, i32 13
493   %tmp293 = extractelement <128 x float> %tmp278, i32 14
494   %tmp294 = extractelement <128 x float> %tmp278, i32 15
495   %tmp295 = extractelement <128 x float> %tmp278, i32 16
496   %tmp296 = extractelement <128 x float> %tmp278, i32 17
497   %tmp297 = extractelement <128 x float> %tmp278, i32 18
498   %tmp298 = extractelement <128 x float> %tmp278, i32 19
499   %tmp299 = extractelement <128 x float> %tmp278, i32 20
500   %tmp300 = extractelement <128 x float> %tmp278, i32 21
501   %tmp301 = extractelement <128 x float> %tmp278, i32 22
502   %tmp302 = extractelement <128 x float> %tmp278, i32 23
503   %tmp303 = extractelement <128 x float> %tmp278, i32 24
504   %tmp304 = extractelement <128 x float> %tmp278, i32 25
505   %tmp305 = extractelement <128 x float> %tmp278, i32 26
506   %tmp306 = extractelement <128 x float> %tmp278, i32 27
507   %tmp307 = extractelement <128 x float> %tmp278, i32 28
508   %tmp308 = extractelement <128 x float> %tmp278, i32 29
509   %tmp309 = extractelement <128 x float> %tmp278, i32 30
510   %tmp310 = extractelement <128 x float> %tmp278, i32 31
511   %tmp311 = extractelement <128 x float> %tmp278, i32 32
512   %tmp312 = extractelement <128 x float> %tmp278, i32 33
513   %tmp313 = extractelement <128 x float> %tmp278, i32 34
514   %tmp314 = extractelement <128 x float> %tmp278, i32 35
515   %tmp315 = extractelement <128 x float> %tmp278, i32 36
516   %tmp316 = extractelement <128 x float> %tmp278, i32 37
517   %tmp317 = extractelement <128 x float> %tmp278, i32 38
518   %tmp318 = extractelement <128 x float> %tmp278, i32 39
519   %tmp319 = extractelement <128 x float> %tmp278, i32 40
520   %tmp320 = extractelement <128 x float> %tmp278, i32 41
521   %tmp321 = extractelement <128 x float> %tmp278, i32 42
522   %tmp322 = extractelement <128 x float> %tmp278, i32 43
523   %tmp323 = extractelement <128 x float> %tmp278, i32 44
524   %tmp324 = extractelement <128 x float> %tmp278, i32 45
525   %tmp325 = extractelement <128 x float> %tmp278, i32 46
526   %tmp326 = extractelement <128 x float> %tmp278, i32 47
527   %tmp327 = extractelement <128 x float> %tmp278, i32 48
528   %tmp328 = extractelement <128 x float> %tmp278, i32 49
529   %tmp329 = extractelement <128 x float> %tmp278, i32 50
530   %tmp330 = extractelement <128 x float> %tmp278, i32 51
531   %tmp331 = extractelement <128 x float> %tmp278, i32 52
532   %tmp332 = extractelement <128 x float> %tmp278, i32 53
533   %tmp333 = extractelement <128 x float> %tmp278, i32 54
534   %tmp334 = extractelement <128 x float> %tmp278, i32 55
535   %tmp335 = extractelement <128 x float> %tmp278, i32 56
536   %tmp336 = extractelement <128 x float> %tmp278, i32 57
537   %tmp337 = extractelement <128 x float> %tmp278, i32 58
538   %tmp338 = extractelement <128 x float> %tmp278, i32 59
539   %tmp339 = extractelement <128 x float> %tmp278, i32 60
540   %tmp340 = extractelement <128 x float> %tmp278, i32 61
541   %tmp341 = extractelement <128 x float> %tmp278, i32 62
542   %tmp342 = extractelement <128 x float> %tmp278, i32 63
543   %tmp343 = extractelement <128 x float> %tmp278, i32 64
544   %tmp344 = extractelement <128 x float> %tmp278, i32 65
545   %tmp345 = extractelement <128 x float> %tmp278, i32 66
546   %tmp346 = extractelement <128 x float> %tmp278, i32 67
547   %tmp347 = extractelement <128 x float> %tmp278, i32 68
548   %tmp348 = extractelement <128 x float> %tmp278, i32 69
549   %tmp349 = extractelement <128 x float> %tmp278, i32 70
550   %tmp350 = extractelement <128 x float> %tmp278, i32 71
551   %tmp351 = extractelement <128 x float> %tmp278, i32 72
552   %tmp352 = extractelement <128 x float> %tmp278, i32 73
553   %tmp353 = extractelement <128 x float> %tmp278, i32 74
554   %tmp354 = extractelement <128 x float> %tmp278, i32 75
555   %tmp355 = extractelement <128 x float> %tmp278, i32 76
556   %tmp356 = extractelement <128 x float> %tmp278, i32 77
557   %tmp357 = extractelement <128 x float> %tmp278, i32 78
558   %tmp358 = extractelement <128 x float> %tmp278, i32 79
559   %tmp359 = extractelement <128 x float> %tmp278, i32 80
560   %tmp360 = extractelement <128 x float> %tmp278, i32 81
561   %tmp361 = extractelement <128 x float> %tmp278, i32 82
562   %tmp362 = extractelement <128 x float> %tmp278, i32 83
563   %tmp363 = extractelement <128 x float> %tmp278, i32 84
564   %tmp364 = extractelement <128 x float> %tmp278, i32 85
565   %tmp365 = extractelement <128 x float> %tmp278, i32 86
566   %tmp366 = extractelement <128 x float> %tmp278, i32 87
567   %tmp367 = extractelement <128 x float> %tmp278, i32 88
568   %tmp368 = extractelement <128 x float> %tmp278, i32 89
569   %tmp369 = extractelement <128 x float> %tmp278, i32 90
570   %tmp370 = extractelement <128 x float> %tmp278, i32 91
571   %tmp371 = extractelement <128 x float> %tmp278, i32 92
572   %tmp372 = extractelement <128 x float> %tmp278, i32 93
573   %tmp373 = extractelement <128 x float> %tmp278, i32 94
574   %tmp374 = extractelement <128 x float> %tmp278, i32 95
575   %tmp375 = extractelement <128 x float> %tmp278, i32 96
576   %tmp376 = extractelement <128 x float> %tmp278, i32 97
577   %tmp377 = extractelement <128 x float> %tmp278, i32 98
578   %tmp378 = extractelement <128 x float> %tmp278, i32 99
579   %tmp379 = extractelement <128 x float> %tmp278, i32 100
580   %tmp380 = extractelement <128 x float> %tmp278, i32 101
581   %tmp381 = extractelement <128 x float> %tmp278, i32 102
582   %tmp382 = extractelement <128 x float> %tmp278, i32 103
583   %tmp383 = extractelement <128 x float> %tmp278, i32 104
584   %tmp384 = extractelement <128 x float> %tmp278, i32 105
585   %tmp385 = extractelement <128 x float> %tmp278, i32 106
586   %tmp386 = extractelement <128 x float> %tmp278, i32 107
587   %tmp387 = extractelement <128 x float> %tmp278, i32 108
588   %tmp388 = extractelement <128 x float> %tmp278, i32 109
589   %tmp389 = extractelement <128 x float> %tmp278, i32 110
590   %tmp390 = extractelement <128 x float> %tmp278, i32 111
591   %tmp391 = extractelement <128 x float> %tmp278, i32 112
592   %tmp392 = extractelement <128 x float> %tmp278, i32 113
593   %tmp393 = extractelement <128 x float> %tmp278, i32 114
594   %tmp394 = extractelement <128 x float> %tmp278, i32 115
595   %tmp395 = extractelement <128 x float> %tmp278, i32 116
596   %tmp396 = extractelement <128 x float> %tmp278, i32 117
597   %tmp397 = extractelement <128 x float> %tmp278, i32 118
598   %tmp398 = extractelement <128 x float> %tmp278, i32 119
599   %tmp399 = extractelement <128 x float> %tmp278, i32 120
600   %tmp400 = extractelement <128 x float> %tmp278, i32 121
601   %tmp401 = extractelement <128 x float> %tmp278, i32 122
602   %tmp402 = extractelement <128 x float> %tmp278, i32 123
603   %tmp403 = extractelement <128 x float> %tmp278, i32 124
604   %tmp404 = extractelement <128 x float> %tmp278, i32 125
605   %tmp405 = extractelement <128 x float> %tmp278, i32 126
606   %tmp406 = extractelement <128 x float> %tmp278, i32 127
607   %tmp407 = bitcast float %tmp95 to i32
608   %tmp408 = add i32 %tmp407, 1
609   %tmp409 = bitcast i32 %tmp408 to float
610   br label %bb12
613 declare i32 @llvm.amdgcn.workitem.id.x() #1
615 attributes #0 = { nounwind }
616 attributes #1 = { nounwind readnone }