diff options
author | Peter Steinfeld <psteinfeld@nvidia.com> | 2023-07-17 12:21:01 -0700 |
---|---|---|
committer | Peter Steinfeld <psteinfeld@nvidia.com> | 2023-07-31 11:12:29 -0700 |
commit | 478e0b58605c4be16f1590f9b67889290ab45dab (patch) | |
tree | 5f79bde231fb6fe42c88aedf603b4f2e7d1a2281 /flang/unittests | |
parent | 57f879cdd4c63189c569bdc1ce4e87e7342eea46 (diff) | |
download | llvm-478e0b58605c4be16f1590f9b67889290ab45dab.zip llvm-478e0b58605c4be16f1590f9b67889290ab45dab.tar.gz llvm-478e0b58605c4be16f1590f9b67889290ab45dab.tar.bz2 |
[flang] Quadmath 128 bit floating point intrinsics
This update allows constant folding for many 128 bit floating point intrinsics
through the library quadmath, which is only available on some platforms.
Differential Revision: https://reviews.llvm.org/D156435
Diffstat (limited to 'flang/unittests')
-rw-r--r-- | flang/unittests/Evaluate/CMakeLists.txt | 9 | ||||
-rw-r--r-- | flang/unittests/Runtime/Numeric.cpp | 1 | ||||
-rw-r--r-- | flang/unittests/Runtime/Reduction.cpp | 1 | ||||
-rw-r--r-- | flang/unittests/Runtime/Transformational.cpp | 1 |
4 files changed, 11 insertions, 1 deletions
diff --git a/flang/unittests/Evaluate/CMakeLists.txt b/flang/unittests/Evaluate/CMakeLists.txt index ffd821a..e4a4df3 100644 --- a/flang/unittests/Evaluate/CMakeLists.txt +++ b/flang/unittests/Evaluate/CMakeLists.txt @@ -8,8 +8,15 @@ if (LLVM_LINK_LLVM_DYLIB) else() llvm_map_components_to_libnames(llvm_libs Support) endif() + +check_include_file(quadmath.h FOUND_QUADMATH_HEADER) +check_library_exists(quadmath sinq "" FOUND_QUADMATH_LIB) +if(FOUND_QUADMATH_HEADER AND FOUND_QUADMATH_LIB) + set(QUADMATHLIB quadmath) +endif() + target_link_libraries(FortranEvaluateTesting - ${llvm_libs}) + ${llvm_libs} ${QUADMATHLIB}) add_flang_nongtest_unittest(leading-zero-bit-count FortranEvaluateTesting diff --git a/flang/unittests/Runtime/Numeric.cpp b/flang/unittests/Runtime/Numeric.cpp index 456d25f..5afed75 100644 --- a/flang/unittests/Runtime/Numeric.cpp +++ b/flang/unittests/Runtime/Numeric.cpp @@ -8,6 +8,7 @@ #include "flang/Runtime/numeric.h" #include "gtest/gtest.h" +#include "flang/Common/float128.h" #include <cmath> #include <limits> diff --git a/flang/unittests/Runtime/Reduction.cpp b/flang/unittests/Runtime/Reduction.cpp index 064edd4..b17988b 100644 --- a/flang/unittests/Runtime/Reduction.cpp +++ b/flang/unittests/Runtime/Reduction.cpp @@ -9,6 +9,7 @@ #include "flang/Runtime/reduction.h" #include "gtest/gtest.h" #include "tools.h" +#include "flang/Common/float128.h" #include "flang/Runtime/allocatable.h" #include "flang/Runtime/cpp-type.h" #include "flang/Runtime/descriptor.h" diff --git a/flang/unittests/Runtime/Transformational.cpp b/flang/unittests/Runtime/Transformational.cpp index 70ab424..942a206 100644 --- a/flang/unittests/Runtime/Transformational.cpp +++ b/flang/unittests/Runtime/Transformational.cpp @@ -9,6 +9,7 @@ #include "flang/Runtime/transformational.h" #include "gtest/gtest.h" #include "tools.h" +#include "flang/Common/float128.h" #include "flang/Runtime/type-code.h" #include <vector> |