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