[14] RFR (L): 8235688: C2: Merge AD instructions for AddV, SubV, and MulV nodes

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Dec 10 19:35:31 UTC 2019


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

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