; RUN: llc < %s -march=ppc32 | not grep mfcr

define void @foo(i32 %X, i32 %Y, i32 %Z) {
entry:
        %tmp = icmp eq i32 %X, 0                ; <i1> [#uses=1]
        %tmp3 = icmp slt i32 %Y, 5              ; <i1> [#uses=1]
        %tmp4 = and i1 %tmp3, %tmp              ; <i1> [#uses=1]
        br i1 %tmp4, label %cond_true, label %UnifiedReturnBlock
cond_true:              ; preds = %entry
        %tmp5 = tail call i32 (...) @bar( )            ; <i32> [#uses=0]
        ret void
UnifiedReturnBlock:             ; preds = %entry
        ret void
}

declare i32 @bar(...)

