[PATCH] D70777: AArch64: use some crypto instructions during CodeGen

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 28 04:14:46 PST 2019


fhahn added reviewers: kristof.beyls, samparker, evandro, efriedma.
fhahn accepted this revision.
fhahn added a comment.
This revision is now accepted and ready to land.

In D70777#1762657 <https://reviews.llvm.org/D70777#1762657>, @t.p.northover wrote:

> In this case, on our CPUs it looks like there's no difference between how an these instructions and a single eor execute in either latency or pipelines. Since the final operation in all of these patterns is an eor anyway, I think that means the it's not a worry.


Right, IIUC assuming the cost of BCAX/ EOR3 is the same as the cost of any of the source instructions in the pattern (or, xor, and, not), then it should be always profitable. I could not find the cost of BCAX/EOR for the Cortex-A75 (the latest public software optimization guide I have), but it would be good to have people check this for other CPUs.

Adding a few additional people to give them a chance to double-check if that assumption holds for various CPUs.

LGTM, unless there are in concerns for other CPUs in the next few days (probably good to wait until mid next week, with Thanksgiving).

Also, it would be great to add a few test cases with multiple users (and a comment why the generated code is fine), to make clear we considered those cases.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70777





More information about the llvm-commits mailing list