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

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Mon Dec 9 22:44:31 UTC 2019


> Could we please get one more review on this?
> This is part of the Generic operand and libjvm size reduction.
> This work was split into five patches of which three are checked in.
> The 8235405 and 8234392 are the remaining two.

To clarify: as I mentioned in the original email, it's the first batch 
of merged instructions:

 >> The patch is derived from the initial 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).

(I delayed posting the rest for review partly to avoid spamming the 
alias and to be able to promptly address review feedback.)

Considering the size of those patches (~6k LOCs in total), I doubt all 7 
can be fully reviewed before Thursday. But IMO it's fine to get as much 
as we can into 14 and put the rest into 15.

Best regards,
Vladimir Ivanov

> -----Original Message-----
> From: Vladimir Ivanov <vladimir.x.ivanov at oracle.com>
> Sent: Monday, December 09, 2019 2:11 PM
> To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
> Cc: Bhateja, Jatin <jatin.bhateja at intel.com>
> Subject: Re: [14] RFR (L): 8235405: C2: Merge AD instructions for different vector operations
> 
> Hi Sandhya,
> 
> We need 1 more (R)eview before I can push it.
> 
> PS: and 8234392 [1] which it depends on.
> 
> Best regards,
> Vladimir Ivanov
> 
> [1]
> https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-December/036291.html
> 
> On 09.12.2019 21:54, Viswanathan, Sandhya wrote:
>> 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