[llvm] [X86] Add APX imulzu support. (PR #116806)

Daniel Zabawa via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 20 08:14:24 PST 2024


================
@@ -58919,6 +58919,12 @@ bool X86TargetLowering::IsDesirableToPromoteOp(SDValue Op, EVT &PVT) const {
     if (IsFoldableAtomicRMW(N0, Op) ||
         (Commute && IsFoldableAtomicRMW(N1, Op)))
       return false;
+    // When ZU is enabled, we prefer to not promote for MUL by a constant,
+    // since a 16b imulzu will not incur partial-write stalls, and may be
+    // able to fold away a zero-extend of the 16b result.
+    if (Subtarget.hasZU() && Op.getOpcode() == ISD::MUL &&
----------------
daniel-zabawa wrote:

I did not see any benefit to adding another fallthrough, since it would either require introducing a scope and duplicating the two getOperand() calls, or calling getOperand directly in the cast.  

https://github.com/llvm/llvm-project/pull/116806


More information about the llvm-commits mailing list