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

define void @main() {
main_body:
  %0 = call float @llvm.R600.load.input(i32 4)
  %1 = call float @llvm.R600.load.input(i32 5)
  %2 = call float @llvm.R600.load.input(i32 6)
  %3 = call float @llvm.R600.load.input(i32 7)
  %4 = fcmp ult float %0, 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 = bitcast float %8 to i32
  %10 = icmp ne i32 %9, 0
  br i1 %10, label %LOOP, label %ENDIF

ENDIF:                                            ; preds = %ENDIF16, %LOOP, %main_body
  %temp.0 = phi float [ 0.000000e+00, %main_body ], [ %temp.1, %LOOP ], [ %temp.1, %ENDIF16 ]
  %temp1.0 = phi float [ 1.000000e+00, %main_body ], [ %temp1.1, %LOOP ], [ %temp1.1, %ENDIF16 ]
  %temp2.0 = phi float [ 0.000000e+00, %main_body ], [ %temp2.1, %LOOP ], [ %temp2.1, %ENDIF16 ]
  %temp3.0 = phi float [ 0.000000e+00, %main_body ], [ %temp3.1, %LOOP ], [ %temp3.1, %ENDIF16 ]
  %11 = load <4 x float> addrspace(9)* null
  %12 = extractelement <4 x float> %11, i32 0
  %13 = fmul float %12, %0
  %14 = load <4 x float> addrspace(9)* null
  %15 = extractelement <4 x float> %14, i32 1
  %16 = fmul float %15, %0
  %17 = load <4 x float> addrspace(9)* null
  %18 = extractelement <4 x float> %17, i32 2
  %19 = fmul float %18, %0
  %20 = load <4 x float> addrspace(9)* null
  %21 = extractelement <4 x float> %20, i32 3
  %22 = fmul float %21, %0
  %23 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 1)
  %24 = extractelement <4 x float> %23, i32 0
  %25 = fmul float %24, %1
  %26 = fadd float %25, %13
  %27 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 1)
  %28 = extractelement <4 x float> %27, i32 1
  %29 = fmul float %28, %1
  %30 = fadd float %29, %16
  %31 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 1)
  %32 = extractelement <4 x float> %31, i32 2
  %33 = fmul float %32, %1
  %34 = fadd float %33, %19
  %35 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 1)
  %36 = extractelement <4 x float> %35, i32 3
  %37 = fmul float %36, %1
  %38 = fadd float %37, %22
  %39 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 2)
  %40 = extractelement <4 x float> %39, i32 0
  %41 = fmul float %40, %2
  %42 = fadd float %41, %26
  %43 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 2)
  %44 = extractelement <4 x float> %43, i32 1
  %45 = fmul float %44, %2
  %46 = fadd float %45, %30
  %47 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 2)
  %48 = extractelement <4 x float> %47, i32 2
  %49 = fmul float %48, %2
  %50 = fadd float %49, %34
  %51 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 2)
  %52 = extractelement <4 x float> %51, i32 3
  %53 = fmul float %52, %2
  %54 = fadd float %53, %38
  %55 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 3)
  %56 = extractelement <4 x float> %55, i32 0
  %57 = fmul float %56, %3
  %58 = fadd float %57, %42
  %59 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 3)
  %60 = extractelement <4 x float> %59, i32 1
  %61 = fmul float %60, %3
  %62 = fadd float %61, %46
  %63 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 3)
  %64 = extractelement <4 x float> %63, i32 2
  %65 = fmul float %64, %3
  %66 = fadd float %65, %50
  %67 = load <4 x float> addrspace(9)* getelementptr ([1024 x <4 x float>] addrspace(9)* null, i64 0, i32 3)
  %68 = extractelement <4 x float> %67, i32 3
  %69 = fmul float %68, %3
  %70 = fadd float %69, %54
  %71 = insertelement <4 x float> undef, float %58, i32 0
  %72 = insertelement <4 x float> %71, float %62, i32 1
  %73 = insertelement <4 x float> %72, float %66, i32 2
  %74 = insertelement <4 x float> %73, float %70, i32 3
  call void @llvm.R600.store.swizzle(<4 x float> %74, i32 60, i32 1)
  %75 = insertelement <4 x float> undef, float %temp.0, i32 0
  %76 = insertelement <4 x float> %75, float %temp1.0, i32 1
  %77 = insertelement <4 x float> %76, float %temp2.0, i32 2
  %78 = insertelement <4 x float> %77, float %temp3.0, i32 3
  call void @llvm.R600.store.swizzle(<4 x float> %78, i32 0, i32 2)
  ret void

LOOP:                                             ; preds = %main_body, %ENDIF19
  %temp.1 = phi float [ %93, %ENDIF19 ], [ 0.000000e+00, %main_body ]
  %temp1.1 = phi float [ %94, %ENDIF19 ], [ 1.000000e+00, %main_body ]
  %temp2.1 = phi float [ %95, %ENDIF19 ], [ 0.000000e+00, %main_body ]
  %temp3.1 = phi float [ %96, %ENDIF19 ], [ 0.000000e+00, %main_body ]
  %temp4.0 = phi float [ %97, %ENDIF19 ], [ -2.000000e+00, %main_body ]
  %79 = fcmp uge float %temp4.0, %0
  %80 = select i1 %79, float 1.000000e+00, float 0.000000e+00
  %81 = fsub float -0.000000e+00, %80
  %82 = fptosi float %81 to i32
  %83 = bitcast i32 %82 to float
  %84 = bitcast float %83 to i32
  %85 = icmp ne i32 %84, 0
  br i1 %85, label %ENDIF, label %ENDIF16

ENDIF16:                                          ; preds = %LOOP
  %86 = fcmp une float %2, %temp4.0
  %87 = select i1 %86, float 1.000000e+00, float 0.000000e+00
  %88 = fsub float -0.000000e+00, %87
  %89 = fptosi float %88 to i32
  %90 = bitcast i32 %89 to float
  %91 = bitcast float %90 to i32
  %92 = icmp ne i32 %91, 0
  br i1 %92, label %ENDIF, label %ENDIF19

ENDIF19:                                          ; preds = %ENDIF16
  %93 = fadd float %temp.1, 1.000000e+00
  %94 = fadd float %temp1.1, 0.000000e+00
  %95 = fadd float %temp2.1, 0.000000e+00
  %96 = fadd float %temp3.1, 0.000000e+00
  %97 = fadd float %temp4.0, 1.000000e+00
  br label %LOOP
}

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

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

attributes #0 = { readnone }
