[15] RFR (M): 8238680: C2: Remove redundant AD instructions for Replicate nodes

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Mon Feb 10 17:16:12 UTC 2020


Thanks for the reviews, Sandhya & Tobias.

> Nice cleanup! Looks good to me too, assuming this has been tested on a machine that has AVX512F but
> not AVX512VL.

I don't have access to KNL hardware, so I tested it on a SKL with 
explicitly disabled AVX512VL.

I asked Sandhya's help with testing on KNL and will wait with pushing 
the patch until the results are ready.

Best regards,
Vladimir Ivanov

> On 07.02.20 23:37, Viswanathan, Sandhya wrote:
>> Hi Vladimir,
>>
>> The patch looks good to me.
>>
>> Best Regards,
>> Sandhya
>>
>> -----Original Message-----
>> From: Vladimir Ivanov <vladimir.x.ivanov at oracle.com>
>> Sent: Friday, February 07, 2020 6:27 AM
>> To: hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
>> Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Bhateja, Jatin <jatin.bhateja at intel.com>
>> Subject: [15] RFR (M): 8238680: C2: Remove redundant AD instructions for Replicate nodes
>>
>> http://cr.openjdk.java.net/~vlivanov/8238680/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8238680
>>
>> Replicate nodes have special handling on x86 for 512-bit case when AVX-512VL is absent.
>>
>> But according to Software Developer’s Manual from Intel, EVEX-encoded VPBROADCASTD/VPBROADCASTQ/VBROADCASTSS/VBROADCASTSD only require AVX512F for full 512-bit registers (VL is needed for 128-/256-bit cases), so no special handling is needed.
>>
>> The patch removes redundant AD instructions (Repl[ILFD]_[reg|mem]_leg) and adjusts generic instructions to handle all cases uniformly.
>>
>> Testing: tier1-4
>>
>> Thanks!
>>
>> Best regards,
>> Vladimir Ivanov
>>


More information about the hotspot-compiler-dev mailing list