llvm-project/flang/unittests
Peixin Qiao 3ccd4ce29c [flang] Support aint/anint for 80/128 bit in lowering
For aint/anint, LLVM conversion operations llvm.trunc and llvm.round
can support the edge case of aint(-0.) and anint(-0.). The output is -0.
and it is the same of `gfortran` and `classic flang`, while the output
of `ifort` is 0.. The `real(10)/real(16)` is not supported before.
Support it and remove the runtime functions for aint/anint.

For nint, `gfortran`, `ifort`, and LLVM Flang using llvm.lround have
different results when the magnitude of argument is more than the max of
result value range. So delay its support in lowering after more
investigations.

Reviewed By: vzakhari

Differential Revision: https://reviews.llvm.org/D130024
2022-07-23 14:44:20 +08:00
..
Common [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00
Decimal [flang][runtime] Fix edge-case FP input bugs 2022-04-22 16:12:04 -07:00
Evaluate [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
Frontend [flang][driver] Switch to the MLIR coding style in the driver (nfc) 2022-05-14 10:27:06 +00:00
Optimizer [flang] Use has_value instead of hasValue (NFC) 2022-07-11 20:41:12 -07:00
Runtime [flang] Support aint/anint for 80/128 bit in lowering 2022-07-23 14:44:20 +08:00
CMakeLists.txt [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00