You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Majority of bitwise logic instructions have 'S'-version which update status flags but only subset of these instructions is supported by the ARMBaseInstrInfo::optimizeCompareInstr peephole.
…eInstr
Combine cmp with zero and all versions of AND, ORR, EOR and BIC instructions into S-suffixed versions.
Related issue: #57122
Reviewed By: efriedma, samtebbs
Differential Revision: https://reviews.llvm.org/D131786
Majority of bitwise logic instructions have 'S'-version which update status flags but only subset of these instructions is supported by the
ARMBaseInstrInfo::optimizeCompareInstr
peephole.For example, ORR with shifted second operand is not supported by the peephole:
https://godbolt.org/z/536GvzfP4
is currently compiled into:
but a bit more optimal code will look like:
The same is true for AND, ORR, EOR with shifted register operand and all versions of BIC.
The peephole also ignores shift instructions (except T2's LSR and LSL).
The text was updated successfully, but these errors were encountered: