On 14 October 2015 at 13:30, Wilco Dijkstra <wdijk...@arm.com> wrote:
> Enable instruction fusion of dependent AESE; AESMC and AESD; AESIMC pairs. 
> This can give up to 2x
> speedup on many AArch64 implementations. Also model the crypto instructions 
> on Cortex-A57 according
> to the Optimization Guide.
>
> Passes regression tests.
>
> ChangeLog:
> 2015-10-14  Wilco Dijkstra  <wdijk...@arm.com>
>
>         * gcc/config/aarch64/aarch64.c (cortexa53_tunings): Add AES fusion.
>         (cortexa57_tunings): Likewise.
>         (cortexa72_tunings): Likewise.
>         (arch_macro_fusion_pair_p): Add support for AES fusion.
>         * gcc/config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.

These AArch64 changes are OK....

>         * gcc/config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
>         Allow virtual registers before reload so early scheduling works.
>         * gcc/config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
>         correct latency and pipeline.
>         (cortex_a57_crypto_complex): Likewise.
>         (cortex_a57_crypto_xor): Likewise.
>         (define_bypass): Add AES bypass.

... but wait for Ramana or Kyrill to respond on these changes before you commit.

Cheers
/Marcus

Reply via email to