From e0701ef04266fa742bd3c7ced44b3195e32f146e Mon Sep 17 00:00:00 2001 From: Wilco Dijkstra Date: Wed, 22 Mar 2017 17:51:12 +0000 Subject: [PATCH] Many supported cores implement fusion of AES instructions. Many supported cores implement fusion of AES instructions. When fusion happens it can give a significant performance gain. If not, scheduling fusion candidates next to each other has almost no effect on performance. Due to the high benefit/low cost it makes sense to enable AES fusion with -mcpu=generic so that cores that support it always benefit. gcc/ * config/aarch64/aarch64.c (generic_tunings): Add AES fusion. From-SVN: r246395 --- gcc/ChangeLog | 4 ++++ gcc/config/aarch64/aarch64.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eaf76508621..a4d5a9a560e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2017-03-22 Wilco Dijkstra + + * config/aarch64/aarch64.c (generic_tunings): Add AES fusion. + 2017-03-21 Aaron Sawdey PR target/80123 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index a069427f576..eb0095d6b6d 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -536,7 +536,7 @@ static const struct tune_params generic_tunings = &generic_approx_modes, 4, /* memmov_cost */ 2, /* issue_rate */ - AARCH64_FUSE_NOTHING, /* fusible_ops */ + (AARCH64_FUSE_AES_AESMC), /* fusible_ops */ 8, /* function_align. */ 8, /* jump_align. */ 4, /* loop_align. */ -- 2.30.2