; RUN: llc < %s -mtriple=x86_64-apple-darwin10
; rdar://9045024
; PR9305

define void @calc_gb_rad_still_sse2_double() nounwind ssp {
entry:
  br label %for.cond.outer

for.cond.outer:                                   ; preds = %if.end71, %entry
  %theta.0.ph = phi <2 x double> [ undef, %entry ], [ %theta.1, %if.end71 ]
  %mul.i97 = fmul <2 x double> %theta.0.ph, undef
  %mul.i96 = fmul <2 x double> %mul.i97, fmul (<2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double> undef)
  br i1 undef, label %for.body, label %for.end82

for.body:                                         ; preds = %for.cond.outer
  br i1 undef, label %for.body33.lr.ph, label %for.end

for.body33.lr.ph:                                 ; preds = %for.body
  %dccf.2 = select i1 undef, <2 x double> %mul.i96, <2 x double> undef
  unreachable

for.end:                                          ; preds = %for.body
  %vecins.i94 = insertelement <2 x double> undef, double 0.000000e+00, i32 0
  %cmpsd.i = tail call <2 x double> @llvm.x86.sse2.cmp.sd(<2 x double> %vecins.i94, <2 x double> <double 0x3FE984B204153B34, double 0x3FE984B204153B34>, i8 2) nounwind
  tail call void (...)* @_mm_movemask_pd(<2 x double> %cmpsd.i) nounwind
  br i1 undef, label %if.then67, label %if.end71

if.then67:                                        ; preds = %for.end
  %vecins.i91 = insertelement <2 x double> %vecins.i94, double undef, i32 0
  br label %if.end71

if.end71:                                         ; preds = %if.then67, %for.end
  %theta.1 = phi <2 x double> [ %vecins.i91, %if.then67 ], [ %theta.0.ph, %for.end ]
  br label %for.cond.outer

for.end82:                                        ; preds = %for.cond.outer
  ret void
}

declare void @_mm_movemask_pd(...)

declare <2 x double> @llvm.x86.sse2.cmp.sd(<2 x double>, <2 x double>, i8) nounwind readnone
