[flang] IEEE_ARITHMETIC intrinsic module procedures
authorV Donaldson <vdonaldson@nvidia.com>
Thu, 29 Jun 2023 18:32:56 +0000 (11:32 -0700)
committerV Donaldson <vdonaldson@nvidia.com>
Thu, 29 Jun 2023 23:46:22 +0000 (16:46 -0700)
commit09ea692d166af42cda43bd24d42a6c67a12cce5a
treec0687225a886d1ddc40487e8cdfcb9ca0493e35c
parentecfc2328ea8a1180170827d300674d0cf75a20d0
[flang] IEEE_ARITHMETIC intrinsic module procedures

Implement

 - IEEE_CLASS
 - IEEE_COPY_SIGN
 - IEEE_GET_ROUNDING_MODE
 - IEEE_IS_FINITE
 - IEEE_IS_NAN
 - IEEE_IS_NEGATIVE
 - IEEE_IS_NORMAL
 - IEEE_SET_ROUNDING_MODE
 - IEEE_SIGNBIT
 - IEEE_SUPPORT_ROUNDING
 - IEEE_UNORDERED
 - IEEE_VALUE

for all REAL kinds (2, 3, 4, 8, 10, 16) where applicable.
18 files changed:
flang/include/flang/Lower/PFTBuilder.h
flang/include/flang/Optimizer/Builder/IntrinsicCall.h
flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
flang/include/flang/Runtime/ieee_arithmetic.h [new file with mode: 0644]
flang/lib/Evaluate/fold-logical.cpp
flang/lib/Lower/Bridge.cpp
flang/lib/Lower/PFTBuilder.cpp
flang/lib/Optimizer/Builder/IntrinsicCall.cpp
flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
flang/module/ieee_arithmetic.f90
flang/test/Lower/Intrinsics/ieee_class.f90 [new file with mode: 0644]
flang/test/Lower/Intrinsics/ieee_class_queries.f90 [new file with mode: 0644]
flang/test/Lower/Intrinsics/ieee_copy_sign.f90 [new file with mode: 0644]
flang/test/Lower/Intrinsics/ieee_is_finite.f90
flang/test/Lower/Intrinsics/ieee_operator_eq.f90
flang/test/Lower/Intrinsics/ieee_rounding.f90 [new file with mode: 0644]
flang/test/Lower/Intrinsics/ieee_signbit.f90 [new file with mode: 0644]
flang/test/Lower/Intrinsics/ieee_unordered.f90 [new file with mode: 0644]