[llvm] [AMDGPU] Recognise bitmask operations as srcmods (PR #149110)
Chris Jackson via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 18 06:19:45 PDT 2025
================
@@ -3036,6 +3036,36 @@ bool AMDGPUDAGToDAGISel::SelectVOP3ModsImpl(SDValue In, SDValue &Src,
Src = Src.getOperand(0);
}
+ // Convert various sign-bit masks to src mods. Currently disabled for 16-bit
+ // types as the codegen replaces the operand without adding a srcmod.
+ // Recognise (xor a, 0x80000000) as NEG SrcMod.
+ if (Src->getOpcode() == ISD::XOR &&
+ Src.getValueType().getFixedSizeInBits() != 16)
----------------
chrisjbris wrote:
I attempted with the 16-bit versions and I wasn't getting src mods applied. However I take your point about the positive checks, thanks.
https://github.com/llvm/llvm-project/pull/149110
More information about the llvm-commits
mailing list