[aarch64-port-dev ] RFR: JDK-8214527 AArch64: ZGC for Aarch64

Andrew Dinn adinn at redhat.com
Fri Jun 14 08:46:25 UTC 2019


On 13/06/2019 15:31, Stuart Monteith wrote:
> (taking off hotspot-gc-dev from the discussion)
> 
>>From my experiments, as soon as I have something other than:
>    for(i=0; i < n; i++) {
>       a[i] = b[i] + c[i];
>    }
> 
> It reverts to scalar code, such as when I add a volatile counter,
That doesn't actually surprise me very much given how superword
optimization works. It always needs a pair of aligned loads from two
separate arrays in order for vectorization to kick in and then the
presence of intermediate computations often seems to lead to a decision
that the vectorization is not going to pay off or not be valid.

If you want to see details of the decision process being made switch on
TraceSuperWord and TraceSuperWordLoopUnrollAnalysis in a debug build. It
may help you understand what is hindering optimization.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the aarch64-port-dev mailing list