[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 22:41:06 UTC 2019


> I concur with the occasional simplification of the printed formats.

It would be nice for ADLC to automatically generate AD instruction 
description when "format" declaration is omitted. Just printing 
instruction name and operand values should be as informative most of the 
time.

Best regards,
Vladimir Ivanov

> (The combined diff hunks are epic diff salad; such is life.
> Despite all that it reads OK in Emacs diff-auto-refine-mode.
> And the individual diffs are very helpful as a backup,
> especially for byte multiply.)
> 
> — John
> 
>> On Dec 10, 2019, at 11:35 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> 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
> 
> Typo somewhere:
> http://cr.openjdk.java.net/~vlivanov/jbhateja/8235688/webrev.00/indiviual/
>>
>> 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