[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) ->...
[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw (REAPPLIED) If value tracking can confirm that a shift value is less than the type bitwidth then we can more confidently fold general or(shl(a,x),lshr(b,sub(bw,x))) patterns to a funnel/rotate intrinsic pattern without causing bad codegen regressions in the backend (see D89139). Reapplied after the shift canonicalization in rG02295e6d which removed the need to flip the shift values. Differential Revision: https://reviews.llvm.org/D88783
parent
fa566233
Please register or sign in to comment