[PATCH] D65351: [ARM] Lower "(x<<c) > 0x80000000U" to "lsls" on Thumb1.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 30 16:33:35 PDT 2019


efriedma added a comment.

> Would this also be profitable for Thumb2?

I think it saves only one instruction on ARM/Thumb2 ("cmp rN, #0x80000000" is legal).  Still worthwhile, I guess, assuming there isn't some sort of performance penalty for branching based on a shift. But I'd also have to figure out the right heuristics for D65175 <https://reviews.llvm.org/D65175>, since the transforms interact, and do a little more implementation work to lower ARMISD::LSLS.  I'll leave a FIXME.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65351/new/

https://reviews.llvm.org/D65351





More information about the llvm-commits mailing list