From 0654e5e287882359c2992f4c16023144fec87346 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Mon, 8 Sep 2025 12:11:53 +0100 Subject: [PATCH] [X86] PromoteMaskArithmetic - use similar code for LHS/RHS trunc pattern. NFC. Make it more obvious that LHS/RHS truncation patterns are the same. Noticed while working on #157425 --- llvm/lib/Target/X86/X86ISelLowering.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index cdc97faf394ca..15b59afabc61f 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -50957,15 +50957,13 @@ static SDValue PromoteMaskArithmetic(SDValue N, const SDLoc &DL, EVT VT, if (SDValue NN0 = PromoteMaskArithmetic(N0, DL, VT, DAG, Depth + 1)) N0 = NN0; else { - // The left side has to be a trunc. - if (N0.getOpcode() != ISD::TRUNCATE) - return SDValue(); - - // The type of the truncated inputs. - if (N0.getOperand(0).getValueType() != VT) + // The left side has to be a 'trunc'. + bool LHSTrunc = N0.getOpcode() == ISD::TRUNCATE && + N0.getOperand(0).getValueType() == VT; + if (LHSTrunc) + N0 = N0.getOperand(0); + else return SDValue(); - - N0 = N0.getOperand(0); } if (SDValue NN1 = PromoteMaskArithmetic(N1, DL, VT, DAG, Depth + 1))