On Thu, Mar 09, 2017 at 10:01:57AM +0000, Kyrill Tkachov wrote:
> 
> On 08/03/17 17:39, James Greenhalgh wrote:
> >On Mon, Mar 06, 2017 at 05:09:58AM +0000, Hurugalawadi, Naveen wrote:
> >>Hi,
> >>
> >>Please find attached the patch that adds aes and sha reservations for
> >>Thunderx2t99.
> >>
> >>Bootstrapped and Regression tested on aarch64-thunder-linux.
> >>Please review the patch and let us know if its okay for Stage-1?
> >>
> >>Thanks,
> >>Naveen
> >>
> >>2017-03-06  Julian Brown  <jul...@codesourcery.com>
> >>        Naveen H.S  <naveen.hurugalaw...@cavium.com>
> >>
> >>    * config/aarch64/thunderx2t99.md (thunderx2t99_crc): New Reservation.
> >>diff --git a/gcc/config/aarch64/thunderx2t99.md 
> >>b/gcc/config/aarch64/thunderx2t99.md
> >>index f807547..2eb136b 100644
> >>--- a/gcc/config/aarch64/thunderx2t99.md
> >>+++ b/gcc/config/aarch64/thunderx2t99.md
> >>@@ -443,7 +443,22 @@
> >>         (eq_attr "type" "neon_store2_one_lane,neon_store2_one_lane_q"))
> >>    "thunderx2t99_ls01,thunderx2t99_f01")
> >>+;; Crypto extensions.
> >>+
> >>+; FIXME: Forwarding path for aese/aesmc or aesd/aesimc pairs?
> >Do you need these if you've enabled instruction fusion?
> 
> I'd recommend it if one wants to bring the pairs together.
> 
> >I'm not sure on the exact mechanics of how instruction fusion works, and
> >whether you'd get further scheduling benefits from modeling a forwarding
> >path if one exists.
> 
> The (macro) fusion mechanism in the scheduler makes sure to keep
> the pairs together if they appear together before scheduling, but doesn't
> do anything to actually bring them together if they are far apart.
> So having bypasses would encourage the scheduler to form pairs more
> aggressively.

Thanks for the explanation, that is useful to know.

James

Reply via email to