aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2018-01-17 22:29:16 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2018-01-17 22:29:16 +0000
commit8b1986b5cb2c4282aab50794e05be412fbc421d1 (patch)
treea1f0f483fe7550b27624c8d935d071e1cee1766a /llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
parente5b8de2f1f4b785fe4105c74aa055e9319ebd9ac (diff)
downloadllvm-8b1986b5cb2c4282aab50794e05be412fbc421d1.zip
llvm-8b1986b5cb2c4282aab50794e05be412fbc421d1.tar.gz
llvm-8b1986b5cb2c4282aab50794e05be412fbc421d1.tar.bz2
Add support for emitting libcalls for x86_fp80 -> fp128 and vice-versa
compiler_rt doesn't provide them (yet), but libgcc does. PR34076. llvm-svn: 322772
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
index 18d914f..46a9375 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
@@ -309,6 +309,7 @@ RuntimeLibcallSignatures[RTLIB::UNKNOWN_LIBCALL] = {
// CONVERSION
/* FPEXT_F32_PPCF128 */ unsupported,
/* FPEXT_F64_PPCF128 */ unsupported,
+/* FPEXT_F80_F128 */ unsupported,
/* FPEXT_F64_F128 */ func_iPTR_f64,
/* FPEXT_F32_F128 */ func_iPTR_f32,
/* FPEXT_F32_F64 */ f64_func_f32,
@@ -325,6 +326,7 @@ RuntimeLibcallSignatures[RTLIB::UNKNOWN_LIBCALL] = {
/* FPROUND_F80_F64 */ unsupported,
/* FPROUND_F128_F64 */ f64_func_i64_i64,
/* FPROUND_PPCF128_F64 */ unsupported,
+/* FPROUND_F128_F80 */ unsupported,
/* FPTOSINT_F32_I32 */ i32_func_f32,
/* FPTOSINT_F32_I64 */ i64_func_f32,
/* FPTOSINT_F32_I128 */ i64_i64_func_f32,
@@ -804,6 +806,7 @@ RuntimeLibcallNames[RTLIB::UNKNOWN_LIBCALL] = {
/* FMAX_PPCF128 */ nullptr,
/* FPEXT_F32_PPCF128 */ nullptr,
/* FPEXT_F64_PPCF128 */ nullptr,
+/* FPEXT_F80_F128 */ nullptr,
/* FPEXT_F64_F128 */ "__extenddftf2",
/* FPEXT_F32_F128 */ "__extendsftf2",
/* FPEXT_F32_F64 */ "__extendsfdf2",
@@ -820,6 +823,7 @@ RuntimeLibcallNames[RTLIB::UNKNOWN_LIBCALL] = {
/* FPROUND_F80_F64 */ "__truncxfdf2",
/* FPROUND_F128_F64 */ "__trunctfdf2",
/* FPROUND_PPCF128_F64 */ nullptr,
+/* FPROUND_F128_F80 */ nullptr,
/* FPTOSINT_F32_I32 */ "__fixsfsi",
/* FPTOSINT_F32_I64 */ "__fixsfdi",
/* FPTOSINT_F32_I128 */ "__fixsfti",