summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/smml.ll
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-06-22 16:23:30 +0000
committerCraig Topper <craig.topper@intel.com>2017-06-22 16:23:30 +0000
commitdffbbcb3fd42124842a8ae2cae18d40874d81f0b (patch)
treec93a55597568ce81a9a497d1af6afd5f44068471 /llvm/test/CodeGen/ARM/smml.ll
parenta690e3cea23b17715fdbcecb24ae634ebc103fa5 (diff)
downloadbcm5719-llvm-dffbbcb3fd42124842a8ae2cae18d40874d81f0b.tar.gz
bcm5719-llvm-dffbbcb3fd42124842a8ae2cae18d40874d81f0b.zip
[InstCombine] Teach foldSelectICmpAndOr to recognize (select (icmp slt (trunc (X)), 0), Y, (or Y, C2))
Summary: InstCombine likes to turn (icmp eq (and X, C1), 0) into (icmp slt (trunc (X)), 0) sometimes. This breaks foldSelectICmpAndOr's ability to recognize (select (icmp eq (and X, C1), 0), Y, (or Y, C2))->(or (shl (and X, C1), C3), y). This patch tries to recover this. I had to flip around some of the early out checks so that I could create a new And instruction during the compare processing without it possibly never getting used. Reviewers: spatel, majnemer, davide Reviewed By: spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34184 llvm-svn: 306029
Diffstat (limited to 'llvm/test/CodeGen/ARM/smml.ll')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud