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