[14] RFR (L): 8235688: C2: Merge AD instructions for AddV, SubV, and MulV nodes
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Dec 10 21:56:04 UTC 2019
On 12/10/19 11:35 AM, Vladimir Ivanov 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
The link does not work because directory name on server is 'indiviual'
There is inconsistency in method names and comments string in some cases
(I expects that number '2' is removed from names as in most cases):
instruct vadd2L(vec dst, vec src) %{
...
format %{ "paddq $dst,$src\t! add packed2L" %}
format %{ "addpd $dst,$src\t! add packed2D" %}
format %{ "psubq $dst,$src\t! sub packed2L" %}
format %{ "subpd $dst,$src\t! sub packed2D" %}
format %{ "vsubpd $dst,$src1,$src2\t! sub packed2D" %}
format %{ "vsubpd $dst,$src,$mem\t! sub packed2D" %}
format %{ "mulpd $dst,$src\t! mul packed2D" %}
The rest seems fine. I agree with short formats in webrev.12.vmul_byte.
Thanks,
Vladimir
>
> 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