diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/fp-stack-ret-conv.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/fp-stack-ret-conv.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/fp-stack-ret-conv.ll b/llvm/test/CodeGen/X86/fp-stack-ret-conv.ll new file mode 100644 index 00000000000..5254e1c89f6 --- /dev/null +++ b/llvm/test/CodeGen/X86/fp-stack-ret-conv.ll @@ -0,0 +1,17 @@ +; RUN: llvm-as < %s | llc -mcpu=yonah | grep cvtss2sd +; RUN: llvm-as < %s | llc -mcpu=yonah | grep fstps +; RUN: llvm-as < %s | llc -mcpu=yonah | not grep cvtsd2ss + +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" +target triple = "i686-apple-darwin8" + +define void @test(double *%b) { +entry: + %tmp13 = tail call double @foo() + %tmp1314 = fptrunc double %tmp13 to float ; <float> [#uses=1] + %tmp3940 = fpext float %tmp1314 to double ; <double> [#uses=1] + volatile store double %tmp3940, double* %b + ret void +} + +declare double @foo() |