[all-commits] [llvm/llvm-project] 21378f: [VPlan] Merge `fcmp uno` feeding AnyOf. (#166823)

Florian Hahn via All-commits all-commits at lists.llvm.org
Sun Nov 23 07:52:40 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 21378fb75a6e4df1525067d408ebbf241aa63c75
      https://github.com/llvm/llvm-project/commit/21378fb75a6e4df1525067d408ebbf241aa63c75
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-11-23 (Sun, 23 Nov 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/fcmp-uno-fold-interleave.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll

  Log Message:
  -----------
  [VPlan] Merge `fcmp uno` feeding AnyOf. (#166823)

Fold
  any-of (fcmp uno %A, %A), (fcmp uno %B, %B), ... ->
  any-of (fcmp uno %A, %B), ...

This pattern is generated to check if any vector lane is NaN, and
combining multiple compares is beneficial on architectures that have
dedicated instructions.

Alive2 Proof: https://alive2.llvm.org/ce/z/vA_aoM

Combine suggested as part of
https://github.com/llvm/llvm-project/pull/161735

PR: https://github.com/llvm/llvm-project/pull/166823



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list