For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar...
[oota-llvm.git] / test / CodeGen / X86 / fastcc.ll
1 ; RUN: llvm-as < %s | llc -mtriple=i686-apple-darwin | grep mov | grep ecx | grep 0
2 ; RUN: llvm-as < %s | llc -mtriple=i686-apple-darwin | grep mov | grep xmm0 | grep 16
3
4 @d = external global double             ; <double*> [#uses=1]
5 @c = external global double             ; <double*> [#uses=1]
6 @b = external global double             ; <double*> [#uses=1]
7 @a = external global double             ; <double*> [#uses=1]
8
9 define i32 @foo() nounwind {
10 entry:
11         %0 = load double* @d, align 8           ; <double> [#uses=1]
12         %1 = load double* @c, align 8           ; <double> [#uses=1]
13         %2 = load double* @b, align 8           ; <double> [#uses=1]
14         %3 = load double* @a, align 8           ; <double> [#uses=1]
15         tail call fastcc void @bar( i32 0, i32 1, i32 2, double 1.000000e+00, double %3, double %2, double %1, double %0 ) nounwind
16         ret i32 0
17 }
18
19 declare fastcc void @bar(i32, i32, i32, double, double, double, double, double)