[all-commits] [llvm/llvm-project] 2178db: [X86] Handle multi-use setcc in commuteSelect (#21...
Timur Golubovich via All-commits
all-commits at lists.llvm.org
Tue Aug 4 13:43:07 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2178db6d3de4ad9fb9794f55e6d6d38cdf2b0347
https://github.com/llvm/llvm-project/commit/2178db6d3de4ad9fb9794f55e6d6d38cdf2b0347
Author: Timur Golubovich <timur.golubovich at intel.com>
Date: 2026-08-04 (Tue, 04 Aug 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-masked-op-fusion.ll
Log Message:
-----------
[X86] Handle multi-use setcc in commuteSelect (#213645)
When a setcc condition is shared between multiple vselects,
commuteSelect previously bailed out due to the m_OneUse constraint.
Extend it to check all users of the setcc and, if they all benefit from
commuting, invert the condition once with ReplaceAllUsesOfValueWith and
swap all vselect operands.
This fixes a write-mask fusion regression where masked min/max
reductions produced unfused vminps + vmovaps {%k} instead of a single
write-masked vminps {%k}.
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