]> granicus.if.org Git - llvm/commit
[ARM] Lower "(x<<c) > 0x80000000U" to "lsls" on Thumb1.
authorEli Friedman <efriedma@quicinc.com>
Wed, 31 Jul 2019 23:19:21 +0000 (23:19 +0000)
committerEli Friedman <efriedma@quicinc.com>
Wed, 31 Jul 2019 23:19:21 +0000 (23:19 +0000)
commitdad10eef77f734a1ece0a602a3da846cbcd0d9bd
tree626e562c9a913b9387f075be2dce03b91f11963b
parent23b51c9554a442e4e6f50a429b31e0134b7c8840
[ARM] Lower "(x<<c) > 0x80000000U" to "lsls" on Thumb1.

This is extremely specific, but saves three instructions when it's
legal.  I don't think the code can be usefully generalized.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367492 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
test/CodeGen/Thumb/cmp-and-fold.ll