1 ; RUN: opt -indvars -disable-output < %s 2 3 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i8:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128-n32" 4 target triple = "powerpc-apple-darwin11" 5 6 define void @vec_inverse_5_7_vert_loop_copyseparate(i8* %x, i32 %n, i32 %rowbytes) nounwind { 7 entry: 8 %tmp1 = sdiv i32 %n, 3 ; <i32> [#uses=1] 9 %tmp2 = sdiv i32 %rowbytes, 5 ; <i32> [#uses=2] 10 br label %bb49 11 12 bb49: ; preds = %bb48, %entry 13 %x_addr.0 = phi i8* [ %x, %entry ], [ %tmp481, %bb48 ] ; <i8*> [#uses=2] 14 br label %bb10 15 16 bb10: ; preds = %bb49 17 %tmp326 = mul nsw i32 %tmp1, %tmp2 ; <i32> [#uses=1] 18 %tmp351 = getelementptr inbounds i8* %x_addr.0, i32 %tmp326 ; <i8*> [#uses=1] 19 br i1 false, label %bb.nph, label %bb48 20 21 bb.nph: ; preds = %bb10 22 br label %bb23 23 24 bb23: ; preds = %bb28, %bb.nph 25 %pOriginHi.01 = phi i8* [ %tmp351, %bb.nph ], [ %pOriginHi.0, %bb28 ] ; <i8*> [#uses=2] 26 %tmp378 = bitcast i8* %pOriginHi.01 to i8* ; <i8*> [#uses=1] 27 store i8* %tmp378, i8** null 28 %tmp385 = getelementptr inbounds i8* %pOriginHi.01, i32 %tmp2 ; <i8*> [#uses=1] 29 br label %bb28 30 31 bb28: ; preds = %bb23 32 %pOriginHi.0 = phi i8* [ %tmp385, %bb23 ] ; <i8*> [#uses=1] 33 br i1 false, label %bb23, label %bb28.bb48_crit_edge 34 35 bb28.bb48_crit_edge: ; preds = %bb28 36 br label %bb48 37 38 bb48: ; preds = %bb28.bb48_crit_edge, %bb10 39 %tmp481 = getelementptr inbounds i8* %x_addr.0, i32 1 ; <i8*> [#uses=1] 40 br label %bb49 41 } 42