; RUN: llc < %s -mtriple=i686-apple-darwin8 -mcpu=yonah -march=x86 | FileCheck %s

; These testcases shouldn't require loading into an XMM register then storing 
; to memory, then reloading into an FPStack reg.

; CHECK: test1
; CHECK: fldl
; CHECK-NEXT: ret
define double @test1(double *%P) {
        %A = load double* %P
        ret double %A
}

; fastcc should return a value
; CHECK: test2
; CHECK-NOT: xmm
; CHECK: ret
define fastcc double @test2(<2 x double> %A) {
	%B = extractelement <2 x double> %A, i32 0
	ret double %B
}

; CHECK: test3
; CHECK: sub{{.*}}%esp
; CHECLK-NOT: xmm
define fastcc double @test3(<4 x float> %A) {
	%B = bitcast <4 x float> %A to <2 x double>
	%C = call fastcc double @test2(<2 x double> %B)
	ret double %C
}

; Clear the stack when not using a return value.
; CHECK: test4
; CHECK: call
; CHECK: fstp
; CHECK: ret
define void @test4(double *%P) {
  %A = call double @test1(double *%P)
  ret void
}
