summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-10-05 20:04:43 +0000
committerDale Johannesen <dalej@apple.com>2007-10-05 20:04:43 +0000
commit161e897b0fb35d156b2fe720fadabd975b0d6723 (patch)
tree7077a0839c21a1e72afa5dd377d02c66466159a0 /include
parentb952d1f5be9238b7d39ccb72303b677d97bd8ec5 (diff)
downloadexternal_llvm-161e897b0fb35d156b2fe720fadabd975b0d6723.zip
external_llvm-161e897b0fb35d156b2fe720fadabd975b0d6723.tar.gz
external_llvm-161e897b0fb35d156b2fe720fadabd975b0d6723.tar.bz2
First round of ppc long double. call/return and
basic arithmetic works. Rename RTLIB long double functions to distinguish different flavors of long double; the lib functions have different names, alas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42644 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/RuntimeLibcalls.h27
1 files changed, 18 insertions, 9 deletions
diff --git a/include/llvm/CodeGen/RuntimeLibcalls.h b/include/llvm/CodeGen/RuntimeLibcalls.h
index 80cc33a..5327d68 100644
--- a/include/llvm/CodeGen/RuntimeLibcalls.h
+++ b/include/llvm/CodeGen/RuntimeLibcalls.h
@@ -18,9 +18,8 @@
namespace llvm {
namespace RTLIB {
/// RTLIB::Libcall enum - This enum defines all of the runtime library calls
- /// the backend can emit. "LD" is used for all long double types, since
- /// these functions will have the same interface on different targets even
- /// though the data is not in the same format.
+ /// the backend can emit. The various long double types cannot be merged,
+ /// because 80-bit library functions use "xf" and 128-bit use "tf".
///
enum Libcall {
// Integer
@@ -46,22 +45,29 @@ namespace RTLIB {
// FLOATING POINT
ADD_F32,
ADD_F64,
+ ADD_PPCF128,
SUB_F32,
SUB_F64,
+ SUB_PPCF128,
MUL_F32,
MUL_F64,
+ MUL_PPCF128,
DIV_F32,
DIV_F64,
+ DIV_PPCF128,
REM_F32,
REM_F64,
+ REM_PPCF128,
NEG_F32,
NEG_F64,
POWI_F32,
POWI_F64,
- POWI_LD,
+ POWI_F80,
+ POWI_PPCF128,
SQRT_F32,
SQRT_F64,
- SQRT_LD,
+ SQRT_F80,
+ SQRT_PPCF128,
SIN_F32,
SIN_F64,
COS_F32,
@@ -74,18 +80,21 @@ namespace RTLIB {
FPTOSINT_F32_I64,
FPTOSINT_F64_I32,
FPTOSINT_F64_I64,
- FPTOSINT_LD_I64,
+ FPTOSINT_F80_I64,
+ FPTOSINT_PPCF128_I64,
FPTOUINT_F32_I32,
FPTOUINT_F32_I64,
FPTOUINT_F64_I32,
FPTOUINT_F64_I64,
- FPTOUINT_LD_I32,
- FPTOUINT_LD_I64,
+ FPTOUINT_F80_I32,
+ FPTOUINT_F80_I64,
+ FPTOUINT_PPCF128_I64,
SINTTOFP_I32_F32,
SINTTOFP_I32_F64,
SINTTOFP_I64_F32,
SINTTOFP_I64_F64,
- SINTTOFP_I64_LD,
+ SINTTOFP_I64_F80,
+ SINTTOFP_I64_PPCF128,
UINTTOFP_I32_F32,
UINTTOFP_I32_F64,
UINTTOFP_I64_F32,