[llvm] [X86] Remove redundant TEST after shifts when count is non-zero (PR #169069)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 24 13:48:58 PST 2025
================
@@ -689,3 +689,52 @@ let Predicates = [HasBMI2, HasEGPR] in {
defm SHRX : ShiftX_Pats<srl, "_EVEX">;
defm SHLX : ShiftX_Pats<shl, "_EVEX">;
}
+
+def SDTX86ShiftWithFlags : SDTypeProfile<2, 1, [
+ SDTCisSameAs<0, 2>,
+ SDTCisVT<1, i32>,
+]>;
+
+def X86shl : SDNode<"X86ISD::SHL", SDTX86ShiftWithFlags, [SDNPInGlue]>;
+def X86srl : SDNode<"X86ISD::SRL", SDTX86ShiftWithFlags, [SDNPInGlue]>;
+def X86sra : SDNode<"X86ISD::SRA", SDTX86ShiftWithFlags, [SDNPInGlue]>;
----------------
GrumpyPigSkin wrote:
Moved
https://github.com/llvm/llvm-project/pull/169069
More information about the llvm-commits
mailing list