[llvm] [AMDGPU] Generate s_lshl?_add_u32 (PR #167032)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 10 09:52:43 PST 2025
================
@@ -2012,6 +2012,14 @@ let AddedComplexity = 20 in {
>;
}
+let SubtargetPredicate = isGFX9Plus in
+foreach I = 1-4 in {
+def : GCNPat <
+ (i32 (UniformBinFrag<add> (shl_oneuse i32:$src0, (i32 I)), i32:$src1)),
+ (!cast<SOP2_Pseudo>("S_LSHL"#I#"_ADD_U32") $src0, $src1)
----------------
LU-JOHN wrote:
Removed new pattern and enabled old pattern for SelectionDAG. Same results generated for shlN_add.ll with old and new patterns. Enabling old pattern passes check-libc-amdgcn-amd-amdhsa target with this distribution of s_lshl?_add instructions generated:
200 S_LSHL1_ADD_U32
96 S_LSHL2_ADD_U32
322 S_LSHL3_ADD_U32
24 S_LSHL4_ADD_U32
https://github.com/llvm/llvm-project/pull/167032
More information about the llvm-commits
mailing list