[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