< prev index next >

src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Print this page




 258   }
 259 
 260   // Cortex A53
 261   if (_cpu == CPU_ARM && (_model == 0xd03 || _model2 == 0xd03)) {
 262     _features |= CPU_A53MAC;
 263     if (FLAG_IS_DEFAULT(UseSIMDForArrayEquals)) {
 264       FLAG_SET_DEFAULT(UseSIMDForArrayEquals, false);
 265     }
 266   }
 267 
 268   // Cortex A73
 269   if (_cpu == CPU_ARM && (_model == 0xd09 || _model2 == 0xd09)) {
 270     if (FLAG_IS_DEFAULT(SoftwarePrefetchHintDistance)) {
 271       FLAG_SET_DEFAULT(SoftwarePrefetchHintDistance, -1);
 272     }
 273     // A73 is faster with short-and-easy-for-speculative-execution-loop
 274     if (FLAG_IS_DEFAULT(UseSimpleArrayEquals)) {
 275       FLAG_SET_DEFAULT(UseSimpleArrayEquals, true);
 276     }
 277   }






 278 
 279   if (_cpu == CPU_ARM && (_model == 0xd07 || _model2 == 0xd07)) _features |= CPU_STXR_PREFETCH;
 280   // If an olde style /proc/cpuinfo (cpu_lines == 1) then if _model is an A57 (0xd07)
 281   // we assume the worst and assume we could be on a big little system and have
 282   // undisclosed A53 cores which we could be swapped to at any stage
 283   if (_cpu == CPU_ARM && cpu_lines == 1 && _model == 0xd07) _features |= CPU_A53MAC;
 284 
 285   sprintf(buf, "0x%02x:0x%x:0x%03x:%d", _cpu, _variant, _model, _revision);
 286   if (_model2) sprintf(buf+strlen(buf), "(0x%03x)", _model2);
 287   if (auxv & HWCAP_ASIMD) strcat(buf, ", simd");
 288   if (auxv & HWCAP_CRC32) strcat(buf, ", crc");
 289   if (auxv & HWCAP_AES)   strcat(buf, ", aes");
 290   if (auxv & HWCAP_SHA1)  strcat(buf, ", sha1");
 291   if (auxv & HWCAP_SHA2)  strcat(buf, ", sha256");
 292   if (auxv & HWCAP_SHA512) strcat(buf, ", sha512");
 293   if (auxv & HWCAP_ATOMICS) strcat(buf, ", lse");
 294 
 295   _features_string = os::strdup(buf);
 296 
 297   if (FLAG_IS_DEFAULT(UseCRC32)) {




 258   }
 259 
 260   // Cortex A53
 261   if (_cpu == CPU_ARM && (_model == 0xd03 || _model2 == 0xd03)) {
 262     _features |= CPU_A53MAC;
 263     if (FLAG_IS_DEFAULT(UseSIMDForArrayEquals)) {
 264       FLAG_SET_DEFAULT(UseSIMDForArrayEquals, false);
 265     }
 266   }
 267 
 268   // Cortex A73
 269   if (_cpu == CPU_ARM && (_model == 0xd09 || _model2 == 0xd09)) {
 270     if (FLAG_IS_DEFAULT(SoftwarePrefetchHintDistance)) {
 271       FLAG_SET_DEFAULT(SoftwarePrefetchHintDistance, -1);
 272     }
 273     // A73 is faster with short-and-easy-for-speculative-execution-loop
 274     if (FLAG_IS_DEFAULT(UseSimpleArrayEquals)) {
 275       FLAG_SET_DEFAULT(UseSimpleArrayEquals, true);
 276     }
 277   }
 278   
 279   if (_cpu == CPU_ARM) {
 280     if (FLAG_IS_DEFAULT(UseSignumIntrinsic)) {
 281       FLAG_SET_DEFAULT(UseSignumIntrinsic, true);
 282     }
 283   }
 284 
 285   if (_cpu == CPU_ARM && (_model == 0xd07 || _model2 == 0xd07)) _features |= CPU_STXR_PREFETCH;
 286   // If an olde style /proc/cpuinfo (cpu_lines == 1) then if _model is an A57 (0xd07)
 287   // we assume the worst and assume we could be on a big little system and have
 288   // undisclosed A53 cores which we could be swapped to at any stage
 289   if (_cpu == CPU_ARM && cpu_lines == 1 && _model == 0xd07) _features |= CPU_A53MAC;
 290 
 291   sprintf(buf, "0x%02x:0x%x:0x%03x:%d", _cpu, _variant, _model, _revision);
 292   if (_model2) sprintf(buf+strlen(buf), "(0x%03x)", _model2);
 293   if (auxv & HWCAP_ASIMD) strcat(buf, ", simd");
 294   if (auxv & HWCAP_CRC32) strcat(buf, ", crc");
 295   if (auxv & HWCAP_AES)   strcat(buf, ", aes");
 296   if (auxv & HWCAP_SHA1)  strcat(buf, ", sha1");
 297   if (auxv & HWCAP_SHA2)  strcat(buf, ", sha256");
 298   if (auxv & HWCAP_SHA512) strcat(buf, ", sha512");
 299   if (auxv & HWCAP_ATOMICS) strcat(buf, ", lse");
 300 
 301   _features_string = os::strdup(buf);
 302 
 303   if (FLAG_IS_DEFAULT(UseCRC32)) {


< prev index next >