PerformBFICombine - (bfi A, (and B, Mask1), Mask2) -> (bfi A, B, Mask2) iff
authorEvan Cheng <evan.cheng@apple.com>
Wed, 15 Jun 2011 01:12:31 +0000 (01:12 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 15 Jun 2011 01:12:31 +0000 (01:12 +0000)
commitbf188aeae7a579fb71480be7d32a2edc4d56d827
treebb4fb35062d992f7249a8027f3cd0fa869615a60
parentcf886188fb04d9521db39fe5213df1295673f51e
PerformBFICombine - (bfi A, (and B, Mask1), Mask2) -> (bfi A, B, Mask2) iff
the bits being cleared by the AND are not demanded by the BFI.

The previous BFI dag combine rule was actually incorrect (or used to be
correct until BFI representation changed).

rdar://9609030

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133034 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/bfi.ll