diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2024-09-24 16:54:58 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2024-09-24 17:37:38 +0100 |
commit | 9e60a6ad4242274c39242079d5351fcb9d6d99e6 (patch) | |
tree | 228f36497cd916ba6a6d64493326f3003e4d4064 | |
parent | 01be0252c834bc7be222057049d697f488493543 (diff) | |
download | llvm-9e60a6ad4242274c39242079d5351fcb9d6d99e6.zip llvm-9e60a6ad4242274c39242079d5351fcb9d6d99e6.tar.gz llvm-9e60a6ad4242274c39242079d5351fcb9d6d99e6.tar.bz2 |
[X86] combinePMULH - pull out repeated IsTruncateFree helper. NFC.
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index cf6617f..65dc107 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -53021,12 +53021,12 @@ static SDValue combinePMULH(SDValue Src, EVT VT, const SDLoc &DL, return SDValue(); // Check if both inputs are extensions, which will be removed by truncation. - bool IsTruncateFree = (LHS.getOpcode() == ISD::SIGN_EXTEND || - LHS.getOpcode() == ISD::ZERO_EXTEND) && - (RHS.getOpcode() == ISD::SIGN_EXTEND || - RHS.getOpcode() == ISD::ZERO_EXTEND) && - LHS.getOperand(0).getScalarValueSizeInBits() <= 16 && - RHS.getOperand(0).getScalarValueSizeInBits() <= 16; + auto isOpTruncateFree = [](SDValue Op) { + return (Op.getOpcode() == ISD::SIGN_EXTEND || + Op.getOpcode() == ISD::ZERO_EXTEND) && + Op.getOperand(0).getScalarValueSizeInBits() <= 16; + }; + bool IsTruncateFree = isOpTruncateFree(LHS) && isOpTruncateFree(RHS); // For AVX2+ targets, with the upper bits known zero, we can perform MULHU on // the (bitcasted) inputs directly, and then cheaply pack/truncate the result |