[11] RFR (XS): JDK-8198293: AARCH64 - Add CPU detection code for Cavium Thunder X2

Dmitry Chuyko dmitry.chuyko at bell-sw.com
Thu Oct 18 16:30:04 UTC 2018


Hi Andrew,

On 10/18/18 5:44 PM, Andrew Haley wrote:
> On 02/20/2018 11:27 AM, Dmitry Chuyko wrote:
>> @@ -202,6 +204,20 @@
>>          FLAG_SET_DEFAULT(UseSIMDForMemoryOps, (_variant > 0));
>>        }
>>      }
>> +  // ThunderX2
>> +  if ((_cpu == CPU_CAVIUM && (_model == 0xAF)) ||
>> +      (_cpu == CPU_BROADCOM && (_model == 0x516))) {
>> +    if (FLAG_IS_DEFAULT(AvoidUnalignedAccesses)) {
>> +      FLAG_SET_DEFAULT(AvoidUnalignedAccesses, true);
>> +    }
> Is there some significant performance benefit here to avoiding unaligned
> accesses on Thunder X2?

I've just finished testing of that flags. For 12 it looks like best 
combinations are

-XX:+AvoidUnalignedAccesses -XX:+UseSIMDForMemoryOps -XX:-UseFPUForSpilling
and
-XX:-AvoidUnalignedAccesses -XX:-UseSIMDForMemoryOps -XX:-UseFPUForSpilling

At the same time -XX:-AvoidUnalignedAccesses -XX:+UseSIMDForMemoryOps 
doesn't look great (+- either), e.g. derby may vary like 10%.

-Dmitry

>


More information about the hotspot-compiler-dev mailing list