Search through associative operators for BMI patterns (BLSI, BLSR, BLSMSK)
(a & (-b)) & b is often lowered as:
%sub = sub i32 0, %b
%and0 = and i32 %sub, %a
%and1 = and i32 %and0, %b
Which won't get detected by the BLSI pattern as b & -b are never in
the same SDNode.
This patch will do a small search through associative operators and try
and place BMI patterns in the same node so they will hit the pattern.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D141179
parent
cf8fadcf
Please register or sign in to comment