[all-commits] [llvm/llvm-project] 62fe3d: Fix PPC buildbot break caused by 4c4093e6e39fe6601...
Nemanja Ivanovic via All-commits
all-commits at lists.llvm.org
Fri Aug 6 20:10:37 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 62fe3dcf98d17ea027492fd723dbb9b6dc295761
https://github.com/llvm/llvm-project/commit/62fe3dcf98d17ea027492fd723dbb9b6dc295761
Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Date: 2021-08-06 (Fri, 06 Aug 2021)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/PowerPC/ppc-fpclass.ll
Log Message:
-----------
Fix PPC buildbot break caused by 4c4093e6e39fe6601f9c95a95a6bc242ef648cd5
This commit adds the isnan intrinsic and provides a default expansion
for it in the SDAG. However, it makes the assumption that types
it operates on are IEEE-compliant types. This is not always the case.
An example of that is PPC "double double" which has a representation
that
- Does not need to conform to IEEE requirements for isnan as it is
not an IEEE-compliant type
- Does not have a representation that allows for straightforward
reinterpreting as an integer and use of integer operations
The result was that this commit broke __builtin_isnan for ppc_fp128
making many valid numeric values report a NaN.
This patch simply changes the expansion to always expand to unordered
comparison (regardless of whether FP exceptions are tracked). This
is inline with previous semantics.
More information about the All-commits
mailing list