[all-commits] [llvm/llvm-project] f30df0: [Hexagon] Fix ISel error: LLVM: cannot select -fma...

Fateme Hosseini via All-commits all-commits at lists.llvm.org
Thu Jul 30 07:05:00 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f30df0953917256142cfbe1172e22ebbca8204b3
      https://github.com/llvm/llvm-project/commit/f30df0953917256142cfbe1172e22ebbca8204b3
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    A llvm/test/CodeGen/Hexagon/fmaximum.ll
    A llvm/test/CodeGen/Hexagon/fminimum.ll

  Log Message:
  -----------
  [Hexagon] Fix ISel error: LLVM: cannot select -fmaximum (#211283)

This patch adds a custom lowering for FMAXIMUM.
FMAXIMUM is NaN-propagating, and currently, we
don't have any hexagon instruction to support
that behaviour. The patch is also extended to
cover FMINIMUM as well.

Check if any of the inputs are NaN. If so,
propagate the NaN to the output, otherwise
return the maximum/minimum of the inputs,
using ISD::FMINNUM/ISD::FMAXNUM to run
Hexagon's F2_sfmin/F2_sfmax when no operand
is NaN. NaN is propagated (rather than
replaced with a new ConstantFP NaN node) to
avoid triggering a wrong C2_MUX selection in
ISD::SELECT.



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