RFR 8080325 SuperWord loop unrolling analysis

Berg, Michael C michael.c.berg at intel.com
Thu May 14 01:26:59 UTC 2015


Hi Folks,

We (Intel) would like to contribute superword loop unrolling analysis to facilitate more default unrolling and larger SIMD vector mapping.
Please review this patch and comment as needed:

Bug-id: https://bugs.openjdk.java.net/browse/JDK-8080325

webrev:

http://cr.openjdk.java.net/~kvn/8080325/webrev/

The design finds the highest common vector supported and implemented on a given machine and applies that to unrolling, iff it is greater than the default. If the user gates unrolling we will still obey the user directive. It's light weight, when we get to the analysis part, if we fail, we stop further tries. If we succeed we stop further tries. We generally always analyze only once. We then gate the unroll factor by extending the size of the unroll segment so that the iterative tries will keep unrolling, obtaining larger unrolls of a targeted loop. I see no negative behavior wrt to performance, and a modest positive swing in default behavior up to 1.5x for some micros.

Vladimir Koslov has offered to sponsor this patch.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150514/6f8a7b98/attachment.html>


More information about the hotspot-compiler-dev mailing list