1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=pic -frame-pointer=all
; rdar://7394770
%struct.JVTLib_100487 = type <{ i8 }>
define i32 @_Z13JVTLib_10335613JVTLib_10266513JVTLib_100579S_S_S_jPhj(i16* nocapture %ResidualX_Array.0, %struct.JVTLib_100487* nocapture byval(%struct.JVTLib_100487) align 4 %xqp, i16* nocapture %ResidualL_Array.0, i16* %ResidualDCZ_Array.0, i16* nocapture %ResidualACZ_FOArray.0, i32 %useFRextDequant, i8* nocapture %JVTLib_103357, i32 %use_field_scan) ssp {
bb.nph:
%0 = shl i32 undef, 1 ; <i32> [#uses=2]
%mask133.masked.masked.masked.masked.masked.masked = or i640 undef, undef ; <i640> [#uses=1]
br label %bb
bb: ; preds = %_ZL13JVTLib_105204PKsPK13JVTLib_105184PsPhjS5_j.exit, %bb.nph
br i1 undef, label %bb2, label %bb1
bb1: ; preds = %bb
br i1 undef, label %bb.i, label %bb1.i
bb2: ; preds = %bb
unreachable
bb.i: ; preds = %bb1
br label %_ZL13JVTLib_105204PKsPK13JVTLib_105184PsPhjS5_j.exit
bb1.i: ; preds = %bb1
br label %_ZL13JVTLib_105204PKsPK13JVTLib_105184PsPhjS5_j.exit
_ZL13JVTLib_105204PKsPK13JVTLib_105184PsPhjS5_j.exit: ; preds = %bb1.i, %bb.i
br i1 undef, label %bb5, label %bb
bb5: ; preds = %_ZL13JVTLib_105204PKsPK13JVTLib_105184PsPhjS5_j.exit
%mask271.masked.masked.masked.masked.masked.masked.masked = or i256 0, undef ; <i256> [#uses=2]
%mask266.masked.masked.masked.masked.masked.masked = or i256 %mask271.masked.masked.masked.masked.masked.masked.masked, undef ; <i256> [#uses=1]
%mask241.masked = or i256 undef, undef ; <i256> [#uses=1]
%ins237 = or i256 undef, 0 ; <i256> [#uses=1]
br i1 undef, label %bb9, label %bb10
bb9: ; preds = %bb5
br i1 undef, label %bb12.i, label %_ZL13JVTLib_105255PKsPK13JVTLib_105184Psj.exit
bb12.i: ; preds = %bb9
br label %_ZL13JVTLib_105255PKsPK13JVTLib_105184Psj.exit
_ZL13JVTLib_105255PKsPK13JVTLib_105184Psj.exit: ; preds = %bb12.i, %bb9
ret i32 undef
bb10: ; preds = %bb5
%1 = sext i16 undef to i32 ; <i32> [#uses=1]
%2 = sext i16 undef to i32 ; <i32> [#uses=1]
%3 = sext i16 undef to i32 ; <i32> [#uses=1]
%4 = sext i16 undef to i32 ; <i32> [#uses=1]
%5 = sext i16 undef to i32 ; <i32> [#uses=1]
%6 = sext i16 undef to i32 ; <i32> [#uses=1]
%tmp211 = lshr i256 %mask271.masked.masked.masked.masked.masked.masked.masked, 112 ; <i256> [#uses=0]
%7 = sext i16 undef to i32 ; <i32> [#uses=1]
%tmp208 = lshr i256 %mask266.masked.masked.masked.masked.masked.masked, 128 ; <i256> [#uses=1]
%tmp209 = trunc i256 %tmp208 to i16 ; <i16> [#uses=1]
%8 = sext i16 %tmp209 to i32 ; <i32> [#uses=1]
%9 = sext i16 undef to i32 ; <i32> [#uses=1]
%10 = sext i16 undef to i32 ; <i32> [#uses=1]
%tmp193 = lshr i256 %mask241.masked, 208 ; <i256> [#uses=1]
%tmp194 = trunc i256 %tmp193 to i16 ; <i16> [#uses=1]
%11 = sext i16 %tmp194 to i32 ; <i32> [#uses=1]
%tmp187 = lshr i256 %ins237, 240 ; <i256> [#uses=1]
%tmp188 = trunc i256 %tmp187 to i16 ; <i16> [#uses=1]
%12 = sext i16 %tmp188 to i32 ; <i32> [#uses=1]
%13 = add nsw i32 %4, %1 ; <i32> [#uses=1]
%14 = add nsw i32 %5, 0 ; <i32> [#uses=1]
%15 = add nsw i32 %6, %2 ; <i32> [#uses=1]
%16 = add nsw i32 %7, %3 ; <i32> [#uses=1]
%17 = add nsw i32 0, %8 ; <i32> [#uses=1]
%18 = add nsw i32 %11, %9 ; <i32> [#uses=1]
%19 = add nsw i32 0, %10 ; <i32> [#uses=1]
%20 = add nsw i32 %12, 0 ; <i32> [#uses=1]
%21 = add nsw i32 %17, %13 ; <i32> [#uses=2]
%22 = add nsw i32 %18, %14 ; <i32> [#uses=2]
%23 = add nsw i32 %19, %15 ; <i32> [#uses=2]
%24 = add nsw i32 %20, %16 ; <i32> [#uses=2]
%25 = add nsw i32 %22, %21 ; <i32> [#uses=2]
%26 = add nsw i32 %24, %23 ; <i32> [#uses=2]
%27 = sub i32 %21, %22 ; <i32> [#uses=1]
%28 = sub i32 %23, %24 ; <i32> [#uses=1]
%29 = add nsw i32 %26, %25 ; <i32> [#uses=1]
%30 = sub i32 %25, %26 ; <i32> [#uses=1]
%31 = sub i32 %27, %28 ; <i32> [#uses=1]
%32 = ashr i32 %29, 1 ; <i32> [#uses=2]
%33 = ashr i32 %30, 1 ; <i32> [#uses=2]
%34 = ashr i32 %31, 1 ; <i32> [#uses=2]
%35 = icmp sgt i32 %32, 32767 ; <i1> [#uses=1]
%o0_0.0.i = select i1 %35, i32 32767, i32 %32 ; <i32> [#uses=2]
%36 = icmp slt i32 %o0_0.0.i, -32768 ; <i1> [#uses=1]
%37 = icmp sgt i32 %33, 32767 ; <i1> [#uses=1]
%o1_0.0.i = select i1 %37, i32 32767, i32 %33 ; <i32> [#uses=2]
%38 = icmp slt i32 %o1_0.0.i, -32768 ; <i1> [#uses=1]
%39 = icmp sgt i32 %34, 32767 ; <i1> [#uses=1]
%o2_0.0.i = select i1 %39, i32 32767, i32 %34 ; <i32> [#uses=2]
%40 = icmp slt i32 %o2_0.0.i, -32768 ; <i1> [#uses=1]
%tmp101 = lshr i640 %mask133.masked.masked.masked.masked.masked.masked, 256 ; <i640> [#uses=1]
%41 = trunc i32 %o0_0.0.i to i16 ; <i16> [#uses=1]
%tmp358 = select i1 %36, i16 -32768, i16 %41 ; <i16> [#uses=2]
%42 = trunc i32 %o1_0.0.i to i16 ; <i16> [#uses=1]
%tmp347 = select i1 %38, i16 -32768, i16 %42 ; <i16> [#uses=1]
%43 = trunc i32 %o2_0.0.i to i16 ; <i16> [#uses=1]
%tmp335 = select i1 %40, i16 -32768, i16 %43 ; <i16> [#uses=1]
%44 = icmp sgt i16 %tmp358, -1 ; <i1> [#uses=2]
%..i24 = select i1 %44, i16 %tmp358, i16 undef ; <i16> [#uses=1]
%45 = icmp sgt i16 %tmp347, -1 ; <i1> [#uses=1]
%46 = icmp sgt i16 %tmp335, -1 ; <i1> [#uses=1]
%47 = zext i16 %..i24 to i32 ; <i32> [#uses=1]
%tmp = trunc i640 %tmp101 to i32 ; <i32> [#uses=1]
%48 = and i32 %tmp, 65535 ; <i32> [#uses=2]
%49 = mul i32 %47, %48 ; <i32> [#uses=1]
%50 = zext i16 undef to i32 ; <i32> [#uses=1]
%51 = mul i32 %50, %48 ; <i32> [#uses=1]
%52 = add i32 %49, %0 ; <i32> [#uses=1]
%53 = add i32 %51, %0 ; <i32> [#uses=1]
%54 = lshr i32 %52, undef ; <i32> [#uses=1]
%55 = lshr i32 %53, undef ; <i32> [#uses=1]
%56 = trunc i32 %54 to i16 ; <i16> [#uses=1]
%57 = trunc i32 %55 to i16 ; <i16> [#uses=1]
%vs16Out0_0.0.i = select i1 %44, i16 %56, i16 undef ; <i16> [#uses=1]
%vs16Out0_4.0.i = select i1 %45, i16 0, i16 undef ; <i16> [#uses=1]
%vs16Out1_0.0.i = select i1 %46, i16 %57, i16 undef ; <i16> [#uses=1]
br i1 undef, label %bb129.i, label %_ZL13JVTLib_105207PKsPK13JVTLib_105184Psj.exit
bb129.i: ; preds = %bb10
br label %_ZL13JVTLib_105207PKsPK13JVTLib_105184Psj.exit
_ZL13JVTLib_105207PKsPK13JVTLib_105184Psj.exit: ; preds = %bb129.i, %bb10
%58 = phi i16 [ %vs16Out0_4.0.i, %bb129.i ], [ undef, %bb10 ] ; <i16> [#uses=0]
%59 = phi i16 [ undef, %bb129.i ], [ %vs16Out1_0.0.i, %bb10 ] ; <i16> [#uses=0]
store i16 %vs16Out0_0.0.i, i16* %ResidualDCZ_Array.0, align 2
unreachable
}
|