[flang] Legacy extension intrinsic functions IMAG, IZEXT, JZEXT
authorPeter Klausler <pklausler@nvidia.com>
Fri, 12 Aug 2022 19:28:44 +0000 (12:28 -0700)
committerPeter Klausler <pklausler@nvidia.com>
Thu, 18 Aug 2022 21:16:58 +0000 (14:16 -0700)
commit6d279f40510aa39a8fb3efd25143b2a0ccb0f0f6
tree7a1b521840bff01d683c2fde793e9bafbcc9c23a
parentb066195b3f026d319ee06b6c0285762d9a042a3a
[flang] Legacy extension intrinsic functions IMAG, IZEXT, JZEXT

Support these legacy extension intrinsic functions with unambiguous
semantics in those existing compilers that support them by means
of recognizing them as aliases for standard intrinsics (IMAG) or
with simple rewrites (IZEXT, JZEXT).  Note that ZEXT has different
semantics in different existing compilers, so we will not support it
due to lack of a broad unambiguous precedent.

Differential Revision: https://reviews.llvm.org/D132154
flang/docs/Extensions.md
flang/lib/Evaluate/fold-integer.cpp
flang/lib/Evaluate/intrinsics.cpp
flang/test/Evaluate/fold-jzext.f90 [new file with mode: 0644]