[PATCH] D87452: [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895)

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 26 05:12:45 PDT 2020


RKSimon added a comment.

In D87452#2296369 <https://reviews.llvm.org/D87452#2296369>, @RKSimon wrote:

> In D87452#2295999 <https://reviews.llvm.org/D87452#2295999>, @nikic wrote:
>
>> There's a 40% code size increase on CMakeFiles/7zip-benchmark.dir/CPP/7zip/Crypto/Sha1.cpp.o, might be worth double checking that we're not missing some optimizations on funnel shifts.
>
> Looking at this now: https://wide.godbolt.org/z/h9GoTo

I think I've worked out whats happened - we've replaced a 3 x instruction pattern (which was later matched to a single rotate instruction in the DAG) with 1 intrinsic (which matched to the same single rotate instruction) - which seems to have allowed a couple of core loops to be unrolled further/completely - leading to the code size increase.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D87452



More information about the llvm-commits mailing list