;RUN: llc < %s -march=r600 -mcpu=cayman -stress-sched -verify-misched
;REQUIRES: asserts

define void @main() {
main_body:
  %0 = call float @llvm.R600.interp.input(i32 0, i32 0)
  %1 = call float @llvm.R600.interp.input(i32 1, i32 0)
  %2 = call float @llvm.R600.interp.input(i32 2, i32 0)
  %3 = call float @llvm.R600.interp.input(i32 3, i32 0)
  %4 = fcmp ult float %1, 0.000000e+00
  %5 = select i1 %4, float 1.000000e+00, float 0.000000e+00
  %6 = fsub float -0.000000e+00, %5
  %7 = fptosi float %6 to i32
  %8 = bitcast i32 %7 to float
  %9 = fcmp ult float %0, 5.700000e+01
  %10 = select i1 %9, float 1.000000e+00, float 0.000000e+00
  %11 = fsub float -0.000000e+00, %10
  %12 = fptosi float %11 to i32
  %13 = bitcast i32 %12 to float
  %14 = bitcast float %8 to i32
  %15 = bitcast float %13 to i32
  %16 = and i32 %14, %15
  %17 = bitcast i32 %16 to float
  %18 = bitcast float %17 to i32
  %19 = icmp ne i32 %18, 0
  %20 = fcmp ult float %0, 0.000000e+00
  %21 = select i1 %20, float 1.000000e+00, float 0.000000e+00
  %22 = fsub float -0.000000e+00, %21
  %23 = fptosi float %22 to i32
  %24 = bitcast i32 %23 to float
  %25 = bitcast float %24 to i32
  %26 = icmp ne i32 %25, 0
  br i1 %19, label %IF, label %ELSE

IF:                                               ; preds = %main_body
  %. = select i1 %26, float 0.000000e+00, float 1.000000e+00
  %.18 = select i1 %26, float 1.000000e+00, float 0.000000e+00
  br label %ENDIF

ELSE:                                             ; preds = %main_body
  br i1 %26, label %ENDIF, label %ELSE17

ENDIF:                                            ; preds = %ELSE17, %ELSE, %IF
  %temp1.0 = phi float [ %., %IF ], [ %48, %ELSE17 ], [ 0.000000e+00, %ELSE ]
  %temp2.0 = phi float [ 0.000000e+00, %IF ], [ %49, %ELSE17 ], [ 1.000000e+00, %ELSE ]
  %temp.0 = phi float [ %.18, %IF ], [ %47, %ELSE17 ], [ 0.000000e+00, %ELSE ]
  %27 = call float @llvm.AMDIL.clamp.(float %temp.0, float 0.000000e+00, float 1.000000e+00)
  %28 = call float @llvm.AMDIL.clamp.(float %temp1.0, float 0.000000e+00, float 1.000000e+00)
  %29 = call float @llvm.AMDIL.clamp.(float %temp2.0, float 0.000000e+00, float 1.000000e+00)
  %30 = call float @llvm.AMDIL.clamp.(float 1.000000e+00, float 0.000000e+00, float 1.000000e+00)
  %31 = insertelement <4 x float> undef, float %27, i32 0
  %32 = insertelement <4 x float> %31, float %28, i32 1
  %33 = insertelement <4 x float> %32, float %29, i32 2
  %34 = insertelement <4 x float> %33, float %30, i32 3
  call void @llvm.R600.store.swizzle(<4 x float> %34, i32 0, i32 0)
  ret void

ELSE17:                                           ; preds = %ELSE
  %35 = fadd float 0.000000e+00, 0x3FC99999A0000000
  %36 = fadd float 0.000000e+00, 0x3FC99999A0000000
  %37 = fadd float 0.000000e+00, 0x3FC99999A0000000
  %38 = fadd float %35, 0x3FC99999A0000000
  %39 = fadd float %36, 0x3FC99999A0000000
  %40 = fadd float %37, 0x3FC99999A0000000
  %41 = fadd float %38, 0x3FC99999A0000000
  %42 = fadd float %39, 0x3FC99999A0000000
  %43 = fadd float %40, 0x3FC99999A0000000
  %44 = fadd float %41, 0x3FC99999A0000000
  %45 = fadd float %42, 0x3FC99999A0000000
  %46 = fadd float %43, 0x3FC99999A0000000
  %47 = fadd float %44, 0x3FC99999A0000000
  %48 = fadd float %45, 0x3FC99999A0000000
  %49 = fadd float %46, 0x3FC99999A0000000
  br label %ENDIF
}

declare float @llvm.R600.interp.input(i32, i32) #0

declare float @llvm.AMDIL.clamp.(float, float, float) #0

declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32)

attributes #0 = { readnone }
