[PATCH] D35299: [AArch64] Tie source and destination operands for AESMC/AESIMC.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 12 14:00:19 PDT 2017


fhahn added a comment.

In https://reviews.llvm.org/D35299#806967, @evandro wrote:

> I thought that the data dependency was enough for fusion in general:


It is for the MacroFusion pass and they will be scheduled back-to-back, regardless of the register constraint.

>   AESE Vi, Vj
>   AESMC Vk, Vi
> 
> 
> And:
> 
>   AESD Vi, Vj
>   AESIMC Vk, Vi
>   
>   

But unless Vk == Vi for AESMC/AESIMC, the most CPUs won't be able to fuse the pair and  won't execute it more efficiently.


https://reviews.llvm.org/D35299





More information about the llvm-commits mailing list