diff options
| author | Dan Gohman <gohman@apple.com> | 2008-03-10 23:03:31 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2008-03-10 23:03:31 +0000 |
| commit | ec51f643a9a098c6d32ac7ab7c775bdf0d332b89 (patch) | |
| tree | 0e06fcf819cf910580f4df1f58bb6101f6114bf6 /test/CodeGen/PowerPC | |
| parent | 99d40f5ebca19890fe66899533eda6e84e4bf4fa (diff) | |
| download | external_llvm-ec51f643a9a098c6d32ac7ab7c775bdf0d332b89.zip external_llvm-ec51f643a9a098c6d32ac7ab7c775bdf0d332b89.tar.gz external_llvm-ec51f643a9a098c6d32ac7ab7c775bdf0d332b89.tar.bz2 | |
Implement more support for fp-to-i128 and i128-to-fp conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48189 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC')
| -rw-r--r-- | test/CodeGen/PowerPC/int-fp-conv.ll | 17 | ||||
| -rw-r--r-- | test/CodeGen/PowerPC/itofp128.ll | 14 |
2 files changed, 31 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/int-fp-conv.ll b/test/CodeGen/PowerPC/int-fp-conv.ll new file mode 100644 index 0000000..82a1826 --- /dev/null +++ b/test/CodeGen/PowerPC/int-fp-conv.ll @@ -0,0 +1,17 @@ +; RUN: llvm-as < %s | llc -march=ppc64 > %t +; RUN: grep __floattitf %t +; RUN: grep __fixunstfti %t + +target datalayout = "E-p:64:64:64-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-f128:64:128" +target triple = "powerpc64-apple-darwin9.2.0" + +define ppc_fp128 @foo(i128 %a) nounwind { +entry: + %tmp2829 = uitofp i128 %a to ppc_fp128 ; <i64> [#uses=1] + ret ppc_fp128 %tmp2829 +} +define i128 @boo(ppc_fp128 %a) nounwind { +entry: + %tmp2829 = fptoui ppc_fp128 %a to i128 ; <i64> [#uses=1] + ret i128 %tmp2829 +} diff --git a/test/CodeGen/PowerPC/itofp128.ll b/test/CodeGen/PowerPC/itofp128.ll new file mode 100644 index 0000000..91119e9 --- /dev/null +++ b/test/CodeGen/PowerPC/itofp128.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as < %s | llc -march=ppc64 + +target datalayout = "E-p:64:64:64-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-f128:64:128" +target triple = "powerpc64-apple-darwin9.2.0" + +define i128 @__fixunstfti(ppc_fp128 %a) nounwind { +entry: + %tmp1213 = uitofp i128 0 to ppc_fp128 ; <ppc_fp128> [#uses=1] + %tmp15 = sub ppc_fp128 %a, %tmp1213 ; <ppc_fp128> [#uses=1] + %tmp2829 = fptoui ppc_fp128 %tmp15 to i64 ; <i64> [#uses=1] + %tmp282930 = zext i64 %tmp2829 to i128 ; <i128> [#uses=1] + %tmp32 = add i128 %tmp282930, 0 ; <i128> [#uses=1] + ret i128 %tmp32 +} |
