129 lines · plain
1; RUN: llc < %s -mtriple=armv6-apple-darwin92 3@r = external global i32 ; <ptr> [#uses=1]4@qr = external global i32 ; <ptr> [#uses=1]5@II = external global ptr ; <ptr> [#uses=1]6@no_mis = external global i32 ; <ptr> [#uses=1]7@name1 = external global ptr ; <ptr> [#uses=1]8 9declare void @diff(ptr, ptr, i32, i32, i32, i32) nounwind10 11define void @SIM(ptr %A, ptr %B, i32 %M, i32 %N, i32 %K, ptr %V, i32 %Q, i32 %R, i32 %nseq) nounwind {12entry:13 br i1 undef, label %bb5, label %bb14 15bb: ; preds = %bb, %entry16 br label %bb17 18bb5: ; preds = %entry19 br i1 undef, label %bb6, label %bb820 21bb6: ; preds = %bb6, %bb522 br i1 undef, label %bb8, label %bb623 24bb8: ; preds = %bb6, %bb525 %0 = load ptr, ptr @name1, align 4 ; <ptr> [#uses=0]26 br label %bb1527 28bb9: ; preds = %bb1529 br i1 undef, label %bb10, label %bb1130 31bb10: ; preds = %bb932 unreachable33 34bb11: ; preds = %bb935 store i32 0, ptr @no_mis, align 436 %1 = getelementptr i8, ptr %A, i32 0 ; <ptr> [#uses=1]37 %2 = getelementptr i8, ptr %B, i32 0 ; <ptr> [#uses=1]38 tail call void @diff(ptr %1, ptr %2, i32 undef, i32 undef, i32 undef, i32 undef) nounwind39 br i1 undef, label %bb15, label %bb1240 41bb12: ; preds = %bb1142 %3 = load ptr, ptr @II, align 4 ; <ptr> [#uses=1]43 %4 = load i32, ptr @r, align 4 ; <i32> [#uses=1]44 %5 = load i32, ptr @qr, align 4 ; <i32> [#uses=1]45 br label %bb228.i46 47bb74.i: ; preds = %bb228.i48 br i1 undef, label %bb138.i, label %bb145.i49 50bb138.i: ; preds = %bb74.i51 br label %bb145.i52 53bb145.i: ; preds = %bb228.i, %bb138.i, %bb74.i54 br i1 undef, label %bb146.i, label %bb151.i55 56bb146.i: ; preds = %bb145.i57 br i1 undef, label %bb228.i, label %bb151.i58 59bb151.i: ; preds = %bb146.i, %bb145.i60 br i1 undef, label %bb153.i, label %bb228.i61 62bb153.i: ; preds = %bb151.i63 %6 = add i32 undef, -1 ; <i32> [#uses=3]64 br i1 undef, label %bb220.i, label %bb.nph.i9865 66bb.nph.i98: ; preds = %bb153.i67 br label %bb158.i68 69bb158.i: ; preds = %bb218.i, %bb.nph.i9870 %c.1020.i = phi i32 [ 0, %bb.nph.i98 ], [ %c.14.i, %bb218.i ] ; <i32> [#uses=1]71 %f.419.i = phi i32 [ undef, %bb.nph.i98 ], [ %f.5.i, %bb218.i ] ; <i32> [#uses=1]72 %pi.316.i = phi i32 [ undef, %bb.nph.i98 ], [ %10, %bb218.i ] ; <i32> [#uses=1]73 %fj.515.i = phi i32 [ %6, %bb.nph.i98 ], [ %fj.4.i, %bb218.i ] ; <i32> [#uses=2]74 %fi.614.i = phi i32 [ undef, %bb.nph.i98 ], [ %fi.5.i, %bb218.i ] ; <i32> [#uses=3]75 %cj.811.i = phi i32 [ %6, %bb.nph.i98 ], [ %cj.11.i100, %bb218.i ] ; <i32> [#uses=3]76 %ci.910.i = phi i32 [ undef, %bb.nph.i98 ], [ %ci.12.i, %bb218.i ] ; <i32> [#uses=2]77 %7 = sub i32 %f.419.i, %4 ; <i32> [#uses=5]78 %8 = sub i32 %c.1020.i, %5 ; <i32> [#uses=2]79 %9 = icmp slt i32 %7, %8 ; <i1> [#uses=1]80 br i1 %9, label %bb168.i, label %bb160.i81 82bb160.i: ; preds = %bb158.i83 br i1 undef, label %bb161.i, label %bb168.i84 85bb161.i: ; preds = %bb160.i86 br i1 undef, label %bb168.i, label %bb163.i87 88bb163.i: ; preds = %bb161.i89 br i1 undef, label %bb167.i, label %bb168.i90 91bb167.i: ; preds = %bb163.i92 br label %bb168.i93 94bb168.i: ; preds = %bb167.i, %bb163.i, %bb161.i, %bb160.i, %bb158.i95 %fi.5.i = phi i32 [ %fi.614.i, %bb167.i ], [ %ci.910.i, %bb158.i ], [ %fi.614.i, %bb160.i ], [ %ci.910.i, %bb161.i ], [ %fi.614.i, %bb163.i ] ; <i32> [#uses=2]96 %fj.4.i = phi i32 [ %cj.811.i, %bb167.i ], [ %cj.811.i, %bb158.i ], [ %fj.515.i, %bb160.i ], [ %cj.811.i, %bb161.i ], [ %fj.515.i, %bb163.i ] ; <i32> [#uses=2]97 %f.5.i = phi i32 [ %7, %bb167.i ], [ %8, %bb158.i ], [ %7, %bb160.i ], [ %7, %bb161.i ], [ %7, %bb163.i ] ; <i32> [#uses=2]98 %scevgep88.i = getelementptr i32, ptr %3, i32 undef ; <ptr> [#uses=1]99 %ci.10.i = select i1 undef, i32 %pi.316.i, i32 undef ; <i32> [#uses=0]100 %ci.12.i = select i1 undef, i32 %fi.5.i, i32 undef ; <i32> [#uses=1]101 %cj.11.i100 = select i1 undef, i32 %fj.4.i, i32 undef ; <i32> [#uses=1]102 %c.14.i = select i1 undef, i32 %f.5.i, i32 undef ; <i32> [#uses=1]103 %10 = load i32, ptr %scevgep88.i, align 4 ; <i32> [#uses=1]104 br i1 undef, label %bb211.i, label %bb218.i105 106bb211.i: ; preds = %bb168.i107 br label %bb218.i108 109bb218.i: ; preds = %bb211.i, %bb168.i110 br i1 undef, label %bb220.i, label %bb158.i111 112bb220.i: ; preds = %bb218.i, %bb153.i113 %11 = getelementptr i32, ptr null, i32 %6 ; <ptr> [#uses=1]114 store i32 undef, ptr %11, align 4115 br i1 undef, label %bb221.i, label %bb228.i116 117bb221.i: ; preds = %bb220.i118 br label %bb228.i119 120bb228.i: ; preds = %bb221.i, %bb220.i, %bb151.i, %bb146.i, %bb12121 br i1 undef, label %bb74.i, label %bb145.i122 123bb15: ; preds = %bb11, %bb8124 br i1 undef, label %return, label %bb9125 126return: ; preds = %bb15127 ret void128}129