HomePhabricator

[ARM] Transform compare of masked value to shift on Thumb1.

Authored by efriedma on Wed, Jul 31, 4:17 PM.

Description

[ARM] Transform compare of masked value to shift on Thumb1.

Thumb1 has very limited immediate modes, so turning an "and" into a
shift can save multiple instructions.

It's possible to simplify the generated code for test2 and test3 in
cmp-and-fold.ll a little more, but I'll implement that as a followup.

Differential Revision: https://reviews.llvm.org/D65175

llvm-svn: 367491