[all-commits] [llvm/llvm-project] 7bff37: [SDAG] Check fminnum/fmaxnum for non-zero operand.

Sam Parker via All-commits all-commits at lists.llvm.org
Tue Feb 7 02:55:06 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7bff37783f72ed99e4cdd0fd7dad1bf1f119f793
      https://github.com/llvm/llvm-project/commit/7bff37783f72ed99e4cdd0fd7dad1bf1f119f793
  Author: Samuel Parker <sam.parker at arm.com>
  Date:   2023-02-07 (Tue, 07 Feb 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/ARM/lower-vmax.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/WebAssembly/f32.ll
    M llvm/test/CodeGen/WebAssembly/f64.ll
    M llvm/test/CodeGen/WebAssembly/simd-arith.ll

  Log Message:
  -----------
  [SDAG] Check fminnum/fmaxnum for non-zero operand.

Currently, in TargetLowering, if the target does not support fminnum, we lower
to fminimum if neither operand could be a NaN. But this isn't quite correct
because fminnum and fminimum treat +/-0 differently; so, we need to prove that
one of the operands isn't a zero, or we don't have signed zeros.

Differential Revision: https://reviews.llvm.org/D143256




More information about the All-commits mailing list