[all-commits] [llvm/llvm-project] fee444: RuntimeLibcalls: Add generic FCMP3_F* three-way co...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Wed Jul 29 12:27:45 PDT 2026


  Branch: refs/heads/users/arsenm/fcmp-generic-tristate-op
  Home:   https://github.com/llvm/llvm-project
  Commit: fee444e754bae0fa58913dd49f2795cd9dc982a6
      https://github.com/llvm/llvm-project/commit/fee444e754bae0fa58913dd49f2795cd9dc982a6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Add generic FCMP3_F* three-way compare for single-symbol ABIs

MSP430's __mspabi_cmpd/__mspabi_cmpf are one three-way compare symbol serving
every predicate, previously modeled as six suffixed impls each. Replace them
with a single generic operator FCMP3_*, and give softenSetCCOperands a 3rd
lowering option. After the boolean O*_F* and the per-predicate FCMP3_<pred>_F*
helpers, use the generic FCMP3_F* helper tested with the predicate's condition
code.

Also opt __nedf2 out of the MSP430 default set: it was the only libgcc F64
compare not already opted out, so it would otherwise provide FCMP3_UNE_F64 and
win over __mspabi_cmpd for not-equal.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>



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