; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i386-unknown-unknown -jump-is-expensive=0 | FileCheck %s --check-prefix=JUMP2
; RUN: llc < %s -mtriple=i386-unknown-unknown -jump-is-expensive=1 | FileCheck %s --check-prefix=JUMP1

define void @foo(i32 %X, i32 %Y, i32 %Z) nounwind {
; JUMP2-LABEL: foo:
; JUMP2:       # %bb.0: # %entry
; JUMP2-NEXT:    cmpl $0, {{[0-9]+}}(%esp)
; JUMP2-NEXT:    setne %al
; JUMP2-NEXT:    cmpl $5, {{[0-9]+}}(%esp)
; JUMP2-NEXT:    setge %cl
; JUMP2-NEXT:    testb %al, %cl
; JUMP2-NEXT:    je bar@PLT # TAILCALL
; JUMP2-NEXT:  # %bb.1: # %UnifiedReturnBlock
; JUMP2-NEXT:    retl
;
; JUMP1-LABEL: foo:
; JUMP1:       # %bb.0: # %entry
; JUMP1-NEXT:    cmpl $0, {{[0-9]+}}(%esp)
; JUMP1-NEXT:    setne %al
; JUMP1-NEXT:    cmpl $5, {{[0-9]+}}(%esp)
; JUMP1-NEXT:    setge %cl
; JUMP1-NEXT:    testb %al, %cl
; JUMP1-NEXT:    je bar@PLT # TAILCALL
; JUMP1-NEXT:  # %bb.1: # %UnifiedReturnBlock
; JUMP1-NEXT:    retl
entry:
  %tmp1 = icmp eq i32 %X, 0
  %tmp3 = icmp slt i32 %Y, 5
  %tmp4 = or i1 %tmp3, %tmp1
  br i1 %tmp4, label %cond_true, label %UnifiedReturnBlock

cond_true:
  %tmp5 = tail call i32 (...) @bar( )
  ret void

UnifiedReturnBlock:
  ret void
}

; If the branch is unpredictable, don't add another branch
; regardless of whether they are expensive or not.

define void @unpredictable(i32 %X, i32 %Y, i32 %Z) nounwind {
; JUMP2-LABEL: unpredictable:
; JUMP2:       # %bb.0: # %entry
; JUMP2-NEXT:    cmpl $0, {{[0-9]+}}(%esp)
; JUMP2-NEXT:    setne %al
; JUMP2-NEXT:    cmpl $5, {{[0-9]+}}(%esp)
; JUMP2-NEXT:    setge %cl
; JUMP2-NEXT:    testb %al, %cl
; JUMP2-NEXT:    je bar@PLT # TAILCALL
; JUMP2-NEXT:  # %bb.1: # %UnifiedReturnBlock
; JUMP2-NEXT:    retl
;
; JUMP1-LABEL: unpredictable:
; JUMP1:       # %bb.0: # %entry
; JUMP1-NEXT:    cmpl $0, {{[0-9]+}}(%esp)
; JUMP1-NEXT:    setne %al
; JUMP1-NEXT:    cmpl $5, {{[0-9]+}}(%esp)
; JUMP1-NEXT:    setge %cl
; JUMP1-NEXT:    testb %al, %cl
; JUMP1-NEXT:    je bar@PLT # TAILCALL
; JUMP1-NEXT:  # %bb.1: # %UnifiedReturnBlock
; JUMP1-NEXT:    retl
entry:
  %tmp1 = icmp eq i32 %X, 0
  %tmp3 = icmp slt i32 %Y, 5
  %tmp4 = or i1 %tmp3, %tmp1
  br i1 %tmp4, label %cond_true, label %UnifiedReturnBlock, !unpredictable !0

cond_true:
  %tmp5 = tail call i32 (...) @bar( )
  ret void

UnifiedReturnBlock:
  ret void
}

declare i32 @bar(...)

!0 = !{}

