[14] RFR (L): 8235405: C2: Merge AD instructions for different vector operations
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Thu Dec 5 12:01:21 UTC 2019
http://cr.openjdk.java.net/~vlivanov/jbhateja/8235405/webrev.00/all
https://bugs.openjdk.java.net/browse/JDK-8235405
Reduce the number of AD instructions needed to implement vector
operations by merging existing ones. The patch covers the following
operations:
- LoadVector
- StoreVector
- RoundDoubleModeV
- AndV
- OrV
- XorV
- MulAddVS2VI
- PopCountVI
Indiviual patches:
http://cr.openjdk.java.net/~vlivanov/jbhateja/8235405/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 and the other parts of
refactorings in x86.ad will be posted for review separately (7 more
patches pending).
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
More information about the hotspot-compiler-dev
mailing list