; This shouldn't crash
; RUN: llc < %s -march=alpha

@.str_4 = external global [44 x i8]             ; <[44 x i8]*> [#uses=0]

declare void @printf(i32, ...)

define void @main() {
entry:
        %tmp.11861 = icmp slt i64 0, 1          ; <i1> [#uses=1]
        %tmp.19466 = icmp slt i64 0, 1          ; <i1> [#uses=1]
        %tmp.21571 = icmp slt i64 0, 1          ; <i1> [#uses=1]
        %tmp.36796 = icmp slt i64 0, 1          ; <i1> [#uses=1]
        br i1 %tmp.11861, label %loopexit.2, label %no_exit.2

no_exit.2:              ; preds = %entry
        ret void

loopexit.2:             ; preds = %entry
        br i1 %tmp.19466, label %loopexit.3, label %no_exit.3.preheader

no_exit.3.preheader:            ; preds = %loopexit.2
        ret void

loopexit.3:             ; preds = %loopexit.2
        br i1 %tmp.21571, label %no_exit.6, label %no_exit.4

no_exit.4:              ; preds = %loopexit.3
        ret void

no_exit.6:              ; preds = %no_exit.6, %loopexit.3
        %tmp.30793 = icmp sgt i64 0, 0          ; <i1> [#uses=1]
        br i1 %tmp.30793, label %loopexit.6, label %no_exit.6

loopexit.6:             ; preds = %no_exit.6
        %Z.1 = select i1 %tmp.36796, double 1.000000e+00, double 0x3FEFFF7CEDE74EAE; <double> [#uses=2]
        tail call void (i32, ...)* @printf( i32 0, i64 0, i64 0, i64 0, double 1.000000e+00, double 1.000000e+00, double %Z.1, double %Z.1 )
        ret void
}

