1 ; RUN: llc -mtriple=armv7-eabi -mcpu=cortex-a8 < %s 2 ; PR5614 3 4 %"als" = type { i32 (...)** } 5 %"av" = type { %"als" } 6 %"c" = type { %"lsm", %"Vec3", %"av"*, float, i8, float, %"lsm", i8, %"Vec3", %"Vec3", %"Vec3", float, float, float, %"Vec3", %"Vec3" } 7 %"lsm" = type { %"als", %"Vec3", %"Vec3", %"Vec3", %"Vec3" } 8 %"Vec3" = type { float, float, float } 9 10 define arm_aapcs_vfpcc void @foo(%"c"* %this, %"Vec3"* nocapture %adjustment) { 11 entry: 12 switch i32 undef, label %return [ 13 i32 1, label %bb 14 i32 2, label %bb72 15 i32 3, label %bb31 16 i32 4, label %bb79 17 i32 5, label %bb104 18 ] 19 20 bb: ; preds = %entry 21 ret void 22 23 bb31: ; preds = %entry 24 %0 = call arm_aapcs_vfpcc %"Vec3" undef(%"lsm"* undef) ; <%"Vec3"> [#uses=1] 25 %mrv_gr69 = extractvalue %"Vec3" %0, 1 ; <float> [#uses=1] 26 %1 = fsub float %mrv_gr69, undef ; <float> [#uses=1] 27 store float %1, float* undef, align 4 28 ret void 29 30 bb72: ; preds = %entry 31 ret void 32 33 bb79: ; preds = %entry 34 ret void 35 36 bb104: ; preds = %entry 37 ret void 38 39 return: ; preds = %entry 40 ret void 41 } 42