[14] RFR (L): 8235688: C2: Merge AD instructions for AddV, SubV, and MulV nodes
John Rose
john.r.rose at oracle.com
Tue Dec 10 20:32:26 UTC 2019
Reviewed.
I concur with the occasional simplification of the printed formats.
(The combined diff hunks are epic diff salad; such is life.
Despite all that it reads OK in Emacs diff-auto-refine-mode.
And the individual diffs are very helpful as a backup,
especially for byte multiply.)
— John
> On Dec 10, 2019, at 11:35 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
>
> http://cr.openjdk.java.net/~vlivanov/jbhateja/8235688/webrev.00/all
> https://bugs.openjdk.java.net/browse/JDK-8235688
>
> Reduce the number of AD instructions needed to implement vector operations by merging existing ones. The patch covers the following node types:
> - AddV(B/S/I/L/F/D)
> - SubVB/.../SubVD
> - MulVB/.../MulVD
>
> Individual patches:
> http://cr.openjdk.java.net/~vlivanov/jbhateja/8235688/webrev.00/individual
Typo somewhere:
http://cr.openjdk.java.net/~vlivanov/jbhateja/8235688/webrev.00/indiviual/
>
> As Jatin described, merging is applied only to AD instructions of similar shape. There are some more opportunities for reduction/merging left, but they are deliberately left out for future work.
>
> The patch is derived from the inintial version of generic vector support [1]. Generic vector support was reviewed earlier [2].
>
> Testing: tier1-4, test run on different CPU flavors (KNL, SKL, etc)
>
> Contributed-by: Jatin Bhateja <jatin.bhateja at intel.com>
> Reviewed-by: vlivanov, sviswanathan, ?
>
> Best regards,
> Vladimir Ivanov
>
> [1] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-August/034822.html
>
> [2] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-November/036016.html
More information about the hotspot-compiler-dev
mailing list