brintos

brintos / llvm-project-archived public Read only

0
0
Text · 35.1 KiB · bca7a21 Raw
617 lines · plain
1; XFAIL: *2; RUN: llc -mtriple=amdgcn-- -mcpu=tahiti < %s | FileCheck -check-prefix=GCN -check-prefix=GCNMESA -check-prefix=SIMESA %s3; RUN: llc -mtriple=amdgcn-- -mcpu=fiji -mattr=-flat-for-global < %s | FileCheck -check-prefix=GCN -check-prefix=GCNMESA -check-prefix=VIMESA %s4; RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -mattr=-flat-for-global < %s | FileCheck -check-prefix=GCN -check-prefix=GCNMESA -check-prefix=GFX9MESA %s5; RUN: llc  -mcpu=hawaii -mtriple=amdgcn-unknown-amdhsa < %s | FileCheck -check-prefix=GCN -check-prefix=CIHSA -check-prefix=HSA %s6; RUN: llc  -mcpu=fiji -mtriple=amdgcn-unknown-amdhsa < %s | FileCheck -check-prefix=GCN -check-prefix=VIHSA -check-prefix=HSA %s7 8; This ends up using all 256 registers and requires register9; scavenging which will fail to find an unsued register.10 11; Check the ScratchSize to avoid regressions from spilling12; intermediate register class copies.13 14; FIXME: The same register is initialized to 0 for every spill.15 16; GCN-LABEL: {{^}}spill_vgpr_compute:17 18; HSA: enable_sgpr_private_segment_buffer = 119; HSA: enable_sgpr_flat_scratch_init = 020; HSA: workitem_private_segment_byte_size = 153621 22; GCN-NOT: flat_scr23; MESA-NOT: s_mov_b32 s324; HSA-NOT: s_mov_b32 s725 26; GCNMESA-DAG: s_mov_b32 s16, SCRATCH_RSRC_DWORD027; GCNMESA-DAG: s_mov_b32 s17, SCRATCH_RSRC_DWORD128; GCNMESA-DAG: s_mov_b32 s18, -129; SIMESA-DAG: s_mov_b32 s19, 0xe8f00030; VIMESA-DAG: s_mov_b32 s19, 0xe8000031; GFX9MESA-DAG: s_mov_b32 s19, 0xe0000032 33 34; GCNMESAMESA: buffer_store_dword {{v[0-9]+}}, off, s[16:19], s3 offset:{{[0-9]+}} ; 4-byte Folded Spill35 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]+}}40 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]+}}45 46 47 48; HSA: buffer_store_dword {{v[0-9]+}}, off, s[0:3], s7 offset:{{[0-9]+}} ; 4-byte Folded Spill49 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]+}}54 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]+}}59 60 61; GCN: NumVgprs: 25662; GCN: ScratchSize: 153663 64; s[0:3] input user SGPRs. s4,s5,s6 = workgroup IDs. s8 scratch offset.65define 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 {66bb:67  %tmp = add i32 %arg1, %arg268  %tmp7 = extractelement <4 x float> %arg6, i32 069  %tmp8 = extractelement <4 x float> %arg6, i32 170  %tmp9 = extractelement <4 x float> %arg6, i32 271  %tmp10 = extractelement <4 x float> %arg6, i32 372  %tmp11 = bitcast float %arg5 to i3273  br label %bb1274 75bb12:                                             ; preds = %bb145, %bb76  %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 i32206  %tid = call i32 @llvm.amdgcn.workitem.id.x() #1207  %tmp143 = icmp sgt i32 %tmp142, %tid208  br i1 %tmp143, label %bb144, label %bb145209 210bb144:                                            ; preds = %bb12211  store volatile float %arg3, ptr addrspace(1) %arg212  store volatile float %tmp91, ptr addrspace(1) %arg213  store volatile float %tmp90, ptr addrspace(1) %arg214  store volatile float %tmp89, ptr addrspace(1) %arg215  store volatile float %tmp87, ptr addrspace(1) %arg216  store volatile float %tmp86, ptr addrspace(1) %arg217  store volatile float %tmp85, ptr addrspace(1) %arg218  store volatile float %tmp83, ptr addrspace(1) %arg219  store volatile float %tmp82, ptr addrspace(1) %arg220  store volatile float %tmp81, ptr addrspace(1) %arg221  store volatile float %tmp79, ptr addrspace(1) %arg222  store volatile float %tmp78, ptr addrspace(1) %arg223  store volatile float %tmp77, ptr addrspace(1) %arg224  store volatile float %tmp75, ptr addrspace(1) %arg225  store volatile float %tmp74, ptr addrspace(1) %arg226  store volatile float %tmp73, ptr addrspace(1) %arg227  store volatile float %tmp71, ptr addrspace(1) %arg228  store volatile float %tmp70, ptr addrspace(1) %arg229  store volatile float %tmp69, ptr addrspace(1) %arg230  store volatile float %tmp67, ptr addrspace(1) %arg231  store volatile float %tmp66, ptr addrspace(1) %arg232  store volatile float %tmp65, ptr addrspace(1) %arg233  store volatile float %tmp63, ptr addrspace(1) %arg234  store volatile float %tmp62, ptr addrspace(1) %arg235  store volatile float %tmp61, ptr addrspace(1) %arg236  store volatile float %tmp59, ptr addrspace(1) %arg237  store volatile float %tmp58, ptr addrspace(1) %arg238  store volatile float %tmp57, ptr addrspace(1) %arg239  store volatile float %tmp55, ptr addrspace(1) %arg240  store volatile float %tmp54, ptr addrspace(1) %arg241  store volatile float %tmp53, ptr addrspace(1) %arg242  store volatile float %tmp51, ptr addrspace(1) %arg243  store volatile float %tmp50, ptr addrspace(1) %arg244  store volatile float %tmp49, ptr addrspace(1) %arg245  store volatile float %tmp47, ptr addrspace(1) %arg246  store volatile float %tmp46, ptr addrspace(1) %arg247  store volatile float %tmp45, ptr addrspace(1) %arg248  store volatile float %tmp43, ptr addrspace(1) %arg249  store volatile float %tmp42, ptr addrspace(1) %arg250  store volatile float %tmp41, ptr addrspace(1) %arg251  store volatile float %tmp39, ptr addrspace(1) %arg252  store volatile float %tmp38, ptr addrspace(1) %arg253  store volatile float %tmp37, ptr addrspace(1) %arg254  store volatile float %tmp35, ptr addrspace(1) %arg255  store volatile float %tmp34, ptr addrspace(1) %arg256  store volatile float %tmp33, ptr addrspace(1) %arg257  store volatile float %tmp31, ptr addrspace(1) %arg258  store volatile float %tmp30, ptr addrspace(1) %arg259  store volatile float %tmp29, ptr addrspace(1) %arg260  store volatile float %tmp27, ptr addrspace(1) %arg261  store volatile float %tmp26, ptr addrspace(1) %arg262  store volatile float %tmp25, ptr addrspace(1) %arg263  store volatile float %tmp23, ptr addrspace(1) %arg264  store volatile float %tmp22, ptr addrspace(1) %arg265  store volatile float %tmp21, ptr addrspace(1) %arg266  store volatile float %tmp19, ptr addrspace(1) %arg267  store volatile float %tmp18, ptr addrspace(1) %arg268  store volatile float %tmp17, ptr addrspace(1) %arg269  store volatile float %tmp15, ptr addrspace(1) %arg270  store volatile float %tmp14, ptr addrspace(1) %arg271  store volatile float %tmp13, ptr addrspace(1) %arg272  store volatile float %tmp16, ptr addrspace(1) %arg273  store volatile float %tmp20, ptr addrspace(1) %arg274  store volatile float %tmp24, ptr addrspace(1) %arg275  store volatile float %tmp28, ptr addrspace(1) %arg276  store volatile float %tmp32, ptr addrspace(1) %arg277  store volatile float %tmp36, ptr addrspace(1) %arg278  store volatile float %tmp40, ptr addrspace(1) %arg279  store volatile float %tmp44, ptr addrspace(1) %arg280  store volatile float %tmp48, ptr addrspace(1) %arg281  store volatile float %tmp52, ptr addrspace(1) %arg282  store volatile float %tmp56, ptr addrspace(1) %arg283  store volatile float %tmp60, ptr addrspace(1) %arg284  store volatile float %tmp64, ptr addrspace(1) %arg285  store volatile float %tmp68, ptr addrspace(1) %arg286  store volatile float %tmp72, ptr addrspace(1) %arg287  store volatile float %tmp76, ptr addrspace(1) %arg288  store volatile float %tmp80, ptr addrspace(1) %arg289  store volatile float %tmp84, ptr addrspace(1) %arg290  store volatile float %tmp88, ptr addrspace(1) %arg291  store volatile float %tmp92, ptr addrspace(1) %arg292  store volatile float %tmp93, ptr addrspace(1) %arg293  store volatile float %tmp94, ptr addrspace(1) %arg294  store volatile float %tmp96, ptr addrspace(1) %arg295  store volatile float %tmp97, ptr addrspace(1) %arg296  store volatile float %tmp98, ptr addrspace(1) %arg297  store volatile float %tmp99, ptr addrspace(1) %arg298  store volatile float %tmp100, ptr addrspace(1) %arg299  store volatile float %tmp101, ptr addrspace(1) %arg300  store volatile float %tmp102, ptr addrspace(1) %arg301  store volatile float %tmp103, ptr addrspace(1) %arg302  store volatile float %tmp104, ptr addrspace(1) %arg303  store volatile float %tmp105, ptr addrspace(1) %arg304  store volatile float %tmp106, ptr addrspace(1) %arg305  store volatile float %tmp107, ptr addrspace(1) %arg306  store volatile float %tmp108, ptr addrspace(1) %arg307  store volatile float %tmp109, ptr addrspace(1) %arg308  store volatile float %tmp110, ptr addrspace(1) %arg309  store volatile float %tmp111, ptr addrspace(1) %arg310  store volatile float %tmp112, ptr addrspace(1) %arg311  store volatile float %tmp113, ptr addrspace(1) %arg312  store volatile float %tmp114, ptr addrspace(1) %arg313  store volatile float %tmp115, ptr addrspace(1) %arg314  store volatile float %tmp116, ptr addrspace(1) %arg315  store volatile float %tmp117, ptr addrspace(1) %arg316  store volatile float %tmp118, ptr addrspace(1) %arg317  store volatile float %tmp119, ptr addrspace(1) %arg318  store volatile float %tmp120, ptr addrspace(1) %arg319  store volatile float %tmp121, ptr addrspace(1) %arg320  store volatile float %tmp122, ptr addrspace(1) %arg321  store volatile float %tmp123, ptr addrspace(1) %arg322  store volatile float %tmp124, ptr addrspace(1) %arg323  store volatile float %tmp125, ptr addrspace(1) %arg324  store volatile float %tmp126, ptr addrspace(1) %arg325  store volatile float %tmp127, ptr addrspace(1) %arg326  store volatile float %tmp128, ptr addrspace(1) %arg327  store volatile float %tmp129, ptr addrspace(1) %arg328  store volatile float %tmp130, ptr addrspace(1) %arg329  store volatile float %tmp131, ptr addrspace(1) %arg330  store volatile float %tmp132, ptr addrspace(1) %arg331  store volatile float %tmp133, ptr addrspace(1) %arg332  store volatile float %tmp134, ptr addrspace(1) %arg333  store volatile float %tmp135, ptr addrspace(1) %arg334  store volatile float %tmp136, ptr addrspace(1) %arg335  store volatile float %tmp137, ptr addrspace(1) %arg336  store volatile float %tmp138, ptr addrspace(1) %arg337  store volatile float %tmp139, ptr addrspace(1) %arg338  store volatile float %arg4, ptr addrspace(1) %arg339  store volatile float %tmp7, ptr addrspace(1) %arg340  store volatile float %tmp8, ptr addrspace(1) %arg341  store volatile float %tmp9, ptr addrspace(1) %arg342  store volatile float %tmp10, ptr addrspace(1) %arg343  ret void344 345bb145:                                            ; preds = %bb12346  %tmp146 = bitcast float %tmp95 to i32347  %tmp147 = bitcast float %tmp95 to i32348  %tmp148 = add i32 %tmp11, %tmp147349  %tmp149 = bitcast i32 %tmp148 to float350  %tmp150 = insertelement <128 x float> poison, float %tmp91, i32 0351  %tmp151 = insertelement <128 x float> %tmp150, float %tmp90, i32 1352  %tmp152 = insertelement <128 x float> %tmp151, float %tmp89, i32 2353  %tmp153 = insertelement <128 x float> %tmp152, float %tmp87, i32 3354  %tmp154 = insertelement <128 x float> %tmp153, float %tmp86, i32 4355  %tmp155 = insertelement <128 x float> %tmp154, float %tmp85, i32 5356  %tmp156 = insertelement <128 x float> %tmp155, float %tmp83, i32 6357  %tmp157 = insertelement <128 x float> %tmp156, float %tmp82, i32 7358  %tmp158 = insertelement <128 x float> %tmp157, float %tmp81, i32 8359  %tmp159 = insertelement <128 x float> %tmp158, float %tmp79, i32 9360  %tmp160 = insertelement <128 x float> %tmp159, float %tmp78, i32 10361  %tmp161 = insertelement <128 x float> %tmp160, float %tmp77, i32 11362  %tmp162 = insertelement <128 x float> %tmp161, float %tmp75, i32 12363  %tmp163 = insertelement <128 x float> %tmp162, float %tmp74, i32 13364  %tmp164 = insertelement <128 x float> %tmp163, float %tmp73, i32 14365  %tmp165 = insertelement <128 x float> %tmp164, float %tmp71, i32 15366  %tmp166 = insertelement <128 x float> %tmp165, float %tmp70, i32 16367  %tmp167 = insertelement <128 x float> %tmp166, float %tmp69, i32 17368  %tmp168 = insertelement <128 x float> %tmp167, float %tmp67, i32 18369  %tmp169 = insertelement <128 x float> %tmp168, float %tmp66, i32 19370  %tmp170 = insertelement <128 x float> %tmp169, float %tmp65, i32 20371  %tmp171 = insertelement <128 x float> %tmp170, float %tmp63, i32 21372  %tmp172 = insertelement <128 x float> %tmp171, float %tmp62, i32 22373  %tmp173 = insertelement <128 x float> %tmp172, float %tmp61, i32 23374  %tmp174 = insertelement <128 x float> %tmp173, float %tmp59, i32 24375  %tmp175 = insertelement <128 x float> %tmp174, float %tmp58, i32 25376  %tmp176 = insertelement <128 x float> %tmp175, float %tmp57, i32 26377  %tmp177 = insertelement <128 x float> %tmp176, float %tmp55, i32 27378  %tmp178 = insertelement <128 x float> %tmp177, float %tmp54, i32 28379  %tmp179 = insertelement <128 x float> %tmp178, float %tmp53, i32 29380  %tmp180 = insertelement <128 x float> %tmp179, float %tmp51, i32 30381  %tmp181 = insertelement <128 x float> %tmp180, float %tmp50, i32 31382  %tmp182 = insertelement <128 x float> %tmp181, float %tmp49, i32 32383  %tmp183 = insertelement <128 x float> %tmp182, float %tmp47, i32 33384  %tmp184 = insertelement <128 x float> %tmp183, float %tmp46, i32 34385  %tmp185 = insertelement <128 x float> %tmp184, float %tmp45, i32 35386  %tmp186 = insertelement <128 x float> %tmp185, float %tmp43, i32 36387  %tmp187 = insertelement <128 x float> %tmp186, float %tmp42, i32 37388  %tmp188 = insertelement <128 x float> %tmp187, float %tmp41, i32 38389  %tmp189 = insertelement <128 x float> %tmp188, float %tmp39, i32 39390  %tmp190 = insertelement <128 x float> %tmp189, float %tmp38, i32 40391  %tmp191 = insertelement <128 x float> %tmp190, float %tmp37, i32 41392  %tmp192 = insertelement <128 x float> %tmp191, float %tmp35, i32 42393  %tmp193 = insertelement <128 x float> %tmp192, float %tmp34, i32 43394  %tmp194 = insertelement <128 x float> %tmp193, float %tmp33, i32 44395  %tmp195 = insertelement <128 x float> %tmp194, float %tmp31, i32 45396  %tmp196 = insertelement <128 x float> %tmp195, float %tmp30, i32 46397  %tmp197 = insertelement <128 x float> %tmp196, float %tmp29, i32 47398  %tmp198 = insertelement <128 x float> %tmp197, float %tmp27, i32 48399  %tmp199 = insertelement <128 x float> %tmp198, float %tmp26, i32 49400  %tmp200 = insertelement <128 x float> %tmp199, float %tmp25, i32 50401  %tmp201 = insertelement <128 x float> %tmp200, float %tmp23, i32 51402  %tmp202 = insertelement <128 x float> %tmp201, float %tmp22, i32 52403  %tmp203 = insertelement <128 x float> %tmp202, float %tmp21, i32 53404  %tmp204 = insertelement <128 x float> %tmp203, float %tmp19, i32 54405  %tmp205 = insertelement <128 x float> %tmp204, float %tmp18, i32 55406  %tmp206 = insertelement <128 x float> %tmp205, float %tmp17, i32 56407  %tmp207 = insertelement <128 x float> %tmp206, float %tmp15, i32 57408  %tmp208 = insertelement <128 x float> %tmp207, float %tmp14, i32 58409  %tmp209 = insertelement <128 x float> %tmp208, float %tmp13, i32 59410  %tmp210 = insertelement <128 x float> %tmp209, float %tmp16, i32 60411  %tmp211 = insertelement <128 x float> %tmp210, float %tmp20, i32 61412  %tmp212 = insertelement <128 x float> %tmp211, float %tmp24, i32 62413  %tmp213 = insertelement <128 x float> %tmp212, float %tmp28, i32 63414  %tmp214 = insertelement <128 x float> %tmp213, float %tmp32, i32 64415  %tmp215 = insertelement <128 x float> %tmp214, float %tmp36, i32 65416  %tmp216 = insertelement <128 x float> %tmp215, float %tmp40, i32 66417  %tmp217 = insertelement <128 x float> %tmp216, float %tmp44, i32 67418  %tmp218 = insertelement <128 x float> %tmp217, float %tmp48, i32 68419  %tmp219 = insertelement <128 x float> %tmp218, float %tmp52, i32 69420  %tmp220 = insertelement <128 x float> %tmp219, float %tmp56, i32 70421  %tmp221 = insertelement <128 x float> %tmp220, float %tmp60, i32 71422  %tmp222 = insertelement <128 x float> %tmp221, float %tmp64, i32 72423  %tmp223 = insertelement <128 x float> %tmp222, float %tmp68, i32 73424  %tmp224 = insertelement <128 x float> %tmp223, float %tmp72, i32 74425  %tmp225 = insertelement <128 x float> %tmp224, float %tmp76, i32 75426  %tmp226 = insertelement <128 x float> %tmp225, float %tmp80, i32 76427  %tmp227 = insertelement <128 x float> %tmp226, float %tmp84, i32 77428  %tmp228 = insertelement <128 x float> %tmp227, float %tmp88, i32 78429  %tmp229 = insertelement <128 x float> %tmp228, float %tmp92, i32 79430  %tmp230 = insertelement <128 x float> %tmp229, float %tmp93, i32 80431  %tmp231 = insertelement <128 x float> %tmp230, float %tmp94, i32 81432  %tmp232 = insertelement <128 x float> %tmp231, float %tmp96, i32 82433  %tmp233 = insertelement <128 x float> %tmp232, float %tmp97, i32 83434  %tmp234 = insertelement <128 x float> %tmp233, float %tmp98, i32 84435  %tmp235 = insertelement <128 x float> %tmp234, float %tmp99, i32 85436  %tmp236 = insertelement <128 x float> %tmp235, float %tmp100, i32 86437  %tmp237 = insertelement <128 x float> %tmp236, float %tmp101, i32 87438  %tmp238 = insertelement <128 x float> %tmp237, float %tmp102, i32 88439  %tmp239 = insertelement <128 x float> %tmp238, float %tmp103, i32 89440  %tmp240 = insertelement <128 x float> %tmp239, float %tmp104, i32 90441  %tmp241 = insertelement <128 x float> %tmp240, float %tmp105, i32 91442  %tmp242 = insertelement <128 x float> %tmp241, float %tmp106, i32 92443  %tmp243 = insertelement <128 x float> %tmp242, float %tmp107, i32 93444  %tmp244 = insertelement <128 x float> %tmp243, float %tmp108, i32 94445  %tmp245 = insertelement <128 x float> %tmp244, float %tmp109, i32 95446  %tmp246 = insertelement <128 x float> %tmp245, float %tmp110, i32 96447  %tmp247 = insertelement <128 x float> %tmp246, float %tmp111, i32 97448  %tmp248 = insertelement <128 x float> %tmp247, float %tmp112, i32 98449  %tmp249 = insertelement <128 x float> %tmp248, float %tmp113, i32 99450  %tmp250 = insertelement <128 x float> %tmp249, float %tmp114, i32 100451  %tmp251 = insertelement <128 x float> %tmp250, float %tmp115, i32 101452  %tmp252 = insertelement <128 x float> %tmp251, float %tmp116, i32 102453  %tmp253 = insertelement <128 x float> %tmp252, float %tmp117, i32 103454  %tmp254 = insertelement <128 x float> %tmp253, float %tmp118, i32 104455  %tmp255 = insertelement <128 x float> %tmp254, float %tmp119, i32 105456  %tmp256 = insertelement <128 x float> %tmp255, float %tmp120, i32 106457  %tmp257 = insertelement <128 x float> %tmp256, float %tmp121, i32 107458  %tmp258 = insertelement <128 x float> %tmp257, float %tmp122, i32 108459  %tmp259 = insertelement <128 x float> %tmp258, float %tmp123, i32 109460  %tmp260 = insertelement <128 x float> %tmp259, float %tmp124, i32 110461  %tmp261 = insertelement <128 x float> %tmp260, float %tmp125, i32 111462  %tmp262 = insertelement <128 x float> %tmp261, float %tmp126, i32 112463  %tmp263 = insertelement <128 x float> %tmp262, float %tmp127, i32 113464  %tmp264 = insertelement <128 x float> %tmp263, float %tmp128, i32 114465  %tmp265 = insertelement <128 x float> %tmp264, float %tmp129, i32 115466  %tmp266 = insertelement <128 x float> %tmp265, float %tmp130, i32 116467  %tmp267 = insertelement <128 x float> %tmp266, float %tmp131, i32 117468  %tmp268 = insertelement <128 x float> %tmp267, float %tmp132, i32 118469  %tmp269 = insertelement <128 x float> %tmp268, float %tmp133, i32 119470  %tmp270 = insertelement <128 x float> %tmp269, float %tmp134, i32 120471  %tmp271 = insertelement <128 x float> %tmp270, float %tmp135, i32 121472  %tmp272 = insertelement <128 x float> %tmp271, float %tmp136, i32 122473  %tmp273 = insertelement <128 x float> %tmp272, float %tmp137, i32 123474  %tmp274 = insertelement <128 x float> %tmp273, float %tmp138, i32 124475  %tmp275 = insertelement <128 x float> %tmp274, float %tmp139, i32 125476  %tmp276 = insertelement <128 x float> %tmp275, float %tmp140, i32 126477  %tmp277 = insertelement <128 x float> %tmp276, float %tmp141, i32 127478  %tmp278 = insertelement <128 x float> %tmp277, float %tmp149, i32 %tmp146479  %tmp279 = extractelement <128 x float> %tmp278, i32 0480  %tmp280 = extractelement <128 x float> %tmp278, i32 1481  %tmp281 = extractelement <128 x float> %tmp278, i32 2482  %tmp282 = extractelement <128 x float> %tmp278, i32 3483  %tmp283 = extractelement <128 x float> %tmp278, i32 4484  %tmp284 = extractelement <128 x float> %tmp278, i32 5485  %tmp285 = extractelement <128 x float> %tmp278, i32 6486  %tmp286 = extractelement <128 x float> %tmp278, i32 7487  %tmp287 = extractelement <128 x float> %tmp278, i32 8488  %tmp288 = extractelement <128 x float> %tmp278, i32 9489  %tmp289 = extractelement <128 x float> %tmp278, i32 10490  %tmp290 = extractelement <128 x float> %tmp278, i32 11491  %tmp291 = extractelement <128 x float> %tmp278, i32 12492  %tmp292 = extractelement <128 x float> %tmp278, i32 13493  %tmp293 = extractelement <128 x float> %tmp278, i32 14494  %tmp294 = extractelement <128 x float> %tmp278, i32 15495  %tmp295 = extractelement <128 x float> %tmp278, i32 16496  %tmp296 = extractelement <128 x float> %tmp278, i32 17497  %tmp297 = extractelement <128 x float> %tmp278, i32 18498  %tmp298 = extractelement <128 x float> %tmp278, i32 19499  %tmp299 = extractelement <128 x float> %tmp278, i32 20500  %tmp300 = extractelement <128 x float> %tmp278, i32 21501  %tmp301 = extractelement <128 x float> %tmp278, i32 22502  %tmp302 = extractelement <128 x float> %tmp278, i32 23503  %tmp303 = extractelement <128 x float> %tmp278, i32 24504  %tmp304 = extractelement <128 x float> %tmp278, i32 25505  %tmp305 = extractelement <128 x float> %tmp278, i32 26506  %tmp306 = extractelement <128 x float> %tmp278, i32 27507  %tmp307 = extractelement <128 x float> %tmp278, i32 28508  %tmp308 = extractelement <128 x float> %tmp278, i32 29509  %tmp309 = extractelement <128 x float> %tmp278, i32 30510  %tmp310 = extractelement <128 x float> %tmp278, i32 31511  %tmp311 = extractelement <128 x float> %tmp278, i32 32512  %tmp312 = extractelement <128 x float> %tmp278, i32 33513  %tmp313 = extractelement <128 x float> %tmp278, i32 34514  %tmp314 = extractelement <128 x float> %tmp278, i32 35515  %tmp315 = extractelement <128 x float> %tmp278, i32 36516  %tmp316 = extractelement <128 x float> %tmp278, i32 37517  %tmp317 = extractelement <128 x float> %tmp278, i32 38518  %tmp318 = extractelement <128 x float> %tmp278, i32 39519  %tmp319 = extractelement <128 x float> %tmp278, i32 40520  %tmp320 = extractelement <128 x float> %tmp278, i32 41521  %tmp321 = extractelement <128 x float> %tmp278, i32 42522  %tmp322 = extractelement <128 x float> %tmp278, i32 43523  %tmp323 = extractelement <128 x float> %tmp278, i32 44524  %tmp324 = extractelement <128 x float> %tmp278, i32 45525  %tmp325 = extractelement <128 x float> %tmp278, i32 46526  %tmp326 = extractelement <128 x float> %tmp278, i32 47527  %tmp327 = extractelement <128 x float> %tmp278, i32 48528  %tmp328 = extractelement <128 x float> %tmp278, i32 49529  %tmp329 = extractelement <128 x float> %tmp278, i32 50530  %tmp330 = extractelement <128 x float> %tmp278, i32 51531  %tmp331 = extractelement <128 x float> %tmp278, i32 52532  %tmp332 = extractelement <128 x float> %tmp278, i32 53533  %tmp333 = extractelement <128 x float> %tmp278, i32 54534  %tmp334 = extractelement <128 x float> %tmp278, i32 55535  %tmp335 = extractelement <128 x float> %tmp278, i32 56536  %tmp336 = extractelement <128 x float> %tmp278, i32 57537  %tmp337 = extractelement <128 x float> %tmp278, i32 58538  %tmp338 = extractelement <128 x float> %tmp278, i32 59539  %tmp339 = extractelement <128 x float> %tmp278, i32 60540  %tmp340 = extractelement <128 x float> %tmp278, i32 61541  %tmp341 = extractelement <128 x float> %tmp278, i32 62542  %tmp342 = extractelement <128 x float> %tmp278, i32 63543  %tmp343 = extractelement <128 x float> %tmp278, i32 64544  %tmp344 = extractelement <128 x float> %tmp278, i32 65545  %tmp345 = extractelement <128 x float> %tmp278, i32 66546  %tmp346 = extractelement <128 x float> %tmp278, i32 67547  %tmp347 = extractelement <128 x float> %tmp278, i32 68548  %tmp348 = extractelement <128 x float> %tmp278, i32 69549  %tmp349 = extractelement <128 x float> %tmp278, i32 70550  %tmp350 = extractelement <128 x float> %tmp278, i32 71551  %tmp351 = extractelement <128 x float> %tmp278, i32 72552  %tmp352 = extractelement <128 x float> %tmp278, i32 73553  %tmp353 = extractelement <128 x float> %tmp278, i32 74554  %tmp354 = extractelement <128 x float> %tmp278, i32 75555  %tmp355 = extractelement <128 x float> %tmp278, i32 76556  %tmp356 = extractelement <128 x float> %tmp278, i32 77557  %tmp357 = extractelement <128 x float> %tmp278, i32 78558  %tmp358 = extractelement <128 x float> %tmp278, i32 79559  %tmp359 = extractelement <128 x float> %tmp278, i32 80560  %tmp360 = extractelement <128 x float> %tmp278, i32 81561  %tmp361 = extractelement <128 x float> %tmp278, i32 82562  %tmp362 = extractelement <128 x float> %tmp278, i32 83563  %tmp363 = extractelement <128 x float> %tmp278, i32 84564  %tmp364 = extractelement <128 x float> %tmp278, i32 85565  %tmp365 = extractelement <128 x float> %tmp278, i32 86566  %tmp366 = extractelement <128 x float> %tmp278, i32 87567  %tmp367 = extractelement <128 x float> %tmp278, i32 88568  %tmp368 = extractelement <128 x float> %tmp278, i32 89569  %tmp369 = extractelement <128 x float> %tmp278, i32 90570  %tmp370 = extractelement <128 x float> %tmp278, i32 91571  %tmp371 = extractelement <128 x float> %tmp278, i32 92572  %tmp372 = extractelement <128 x float> %tmp278, i32 93573  %tmp373 = extractelement <128 x float> %tmp278, i32 94574  %tmp374 = extractelement <128 x float> %tmp278, i32 95575  %tmp375 = extractelement <128 x float> %tmp278, i32 96576  %tmp376 = extractelement <128 x float> %tmp278, i32 97577  %tmp377 = extractelement <128 x float> %tmp278, i32 98578  %tmp378 = extractelement <128 x float> %tmp278, i32 99579  %tmp379 = extractelement <128 x float> %tmp278, i32 100580  %tmp380 = extractelement <128 x float> %tmp278, i32 101581  %tmp381 = extractelement <128 x float> %tmp278, i32 102582  %tmp382 = extractelement <128 x float> %tmp278, i32 103583  %tmp383 = extractelement <128 x float> %tmp278, i32 104584  %tmp384 = extractelement <128 x float> %tmp278, i32 105585  %tmp385 = extractelement <128 x float> %tmp278, i32 106586  %tmp386 = extractelement <128 x float> %tmp278, i32 107587  %tmp387 = extractelement <128 x float> %tmp278, i32 108588  %tmp388 = extractelement <128 x float> %tmp278, i32 109589  %tmp389 = extractelement <128 x float> %tmp278, i32 110590  %tmp390 = extractelement <128 x float> %tmp278, i32 111591  %tmp391 = extractelement <128 x float> %tmp278, i32 112592  %tmp392 = extractelement <128 x float> %tmp278, i32 113593  %tmp393 = extractelement <128 x float> %tmp278, i32 114594  %tmp394 = extractelement <128 x float> %tmp278, i32 115595  %tmp395 = extractelement <128 x float> %tmp278, i32 116596  %tmp396 = extractelement <128 x float> %tmp278, i32 117597  %tmp397 = extractelement <128 x float> %tmp278, i32 118598  %tmp398 = extractelement <128 x float> %tmp278, i32 119599  %tmp399 = extractelement <128 x float> %tmp278, i32 120600  %tmp400 = extractelement <128 x float> %tmp278, i32 121601  %tmp401 = extractelement <128 x float> %tmp278, i32 122602  %tmp402 = extractelement <128 x float> %tmp278, i32 123603  %tmp403 = extractelement <128 x float> %tmp278, i32 124604  %tmp404 = extractelement <128 x float> %tmp278, i32 125605  %tmp405 = extractelement <128 x float> %tmp278, i32 126606  %tmp406 = extractelement <128 x float> %tmp278, i32 127607  %tmp407 = bitcast float %tmp95 to i32608  %tmp408 = add i32 %tmp407, 1609  %tmp409 = bitcast i32 %tmp408 to float610  br label %bb12611}612 613declare i32 @llvm.amdgcn.workitem.id.x() #1614 615attributes #0 = { nounwind }616attributes #1 = { nounwind readnone }617