[all-commits] [llvm/llvm-project] f90b78: [WebAssembly] Do not form minnum/maxnum (#184796)
Nikita Popov via All-commits
all-commits at lists.llvm.org
Fri Mar 6 00:06:13 PST 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f90b783c3f2b29378bc2913db9995422c70579ea
https://github.com/llvm/llvm-project/commit/f90b783c3f2b29378bc2913db9995422c70579ea
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmax.ll
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmin.ll
Log Message:
-----------
[WebAssembly] Do not form minnum/maxnum (#184796)
For wasm, forming minnum/maxnum style ISD nodes is non-profitable,
because (in cases where any float min/max support exists at all), it has
pmin/pmax instructions that correspond to the fcmp+select semantics, or
relaxed_fmin/relaxed_fmax (for the nnan+nsz case) with even loser
semantics.
As such, return false from isProfitableToCombineMinNumMaxNum(), and also
respect that hook in the SDAGBuilder.
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