[14] RFR (L): 8235405: C2: Merge AD instructions for different vector operations

Viswanathan, Sandhya sandhya.viswanathan at intel.com
Mon Dec 9 18:54:32 UTC 2019


Hi Vladimir,

It will be wonderful if we can get this checked in by Thursday deadline for JDK 14.

Best Regards,
Sandhya


-----Original Message-----
From: Vladimir Ivanov <vladimir.x.ivanov at oracle.com> 
Sent: Thursday, December 05, 2019 4:01 AM
To: hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
Cc: Bhateja, Jatin <jatin.bhateja at intel.com>; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>
Subject: [14] RFR (L): 8235405: C2: Merge AD instructions for different vector operations

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