This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / fp-stack-ret-store.ll
blob05dfc545db17bde51eefaabd46c187a5e8103801
1 ; RUN: llc < %s -mcpu=yonah | not grep movss
2 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
3 target triple = "i686-apple-darwin8"
5 ; This should store directly into P from the FP stack.  It should not
6 ; go through a stack slot to get there.
8 define void @bar(double* %P) {
9 entry:
10         %tmp = tail call double (...)* @foo( )          ; <double> [#uses=1]
11         store double %tmp, double* %P, align 8
12         ret void
15 declare double @foo(...)
17 define void @bar2(float* %P) {
18 entry:
19         %tmp = tail call double (...)* @foo2( )         ; <double> [#uses=1]
20         %tmp1 = fptrunc double %tmp to float            ; <float> [#uses=1]
21         store float %tmp1, float* %P, align 4
22         ret void
25 declare double @foo2(...)