src/cpu/aarch64/vm/vm_version_aarch64.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/cpu/aarch64/vm

src/cpu/aarch64/vm/vm_version_aarch64.cpp

Print this page




 160   // we assume the worst and assume we could be on a big little system and have
 161   // undisclosed A53 cores which we could be swapped to at any stage
 162   if (_cpu == CPU_ARM && cpu_lines == 1 && _model == 0xd07) _cpuFeatures |= CPU_A53MAC;
 163 
 164   sprintf(buf, "0x%02x:0x%x:0x%03x:%d", _cpu, _variant, _model, _revision);
 165   if (_model2) sprintf(buf+strlen(buf), "(0x%03x)", _model2);
 166   if (auxv & HWCAP_ASIMD) strcat(buf, ", simd");
 167   if (auxv & HWCAP_CRC32) strcat(buf, ", crc");
 168   if (auxv & HWCAP_AES)   strcat(buf, ", aes");
 169   if (auxv & HWCAP_SHA1)  strcat(buf, ", sha1");
 170   if (auxv & HWCAP_SHA2)  strcat(buf, ", sha256");
 171 
 172   _features_str = os::strdup(buf);
 173 
 174   if (FLAG_IS_DEFAULT(UseCRC32)) {
 175     UseCRC32 = (auxv & HWCAP_CRC32) != 0;
 176   }
 177   if (UseCRC32 && (auxv & HWCAP_CRC32) == 0) {
 178     warning("UseCRC32 specified, but not supported on this CPU");
 179   }






 180   if (auxv & HWCAP_AES) {
 181     UseAES = UseAES || FLAG_IS_DEFAULT(UseAES);
 182     UseAESIntrinsics =
 183         UseAESIntrinsics || (UseAES && FLAG_IS_DEFAULT(UseAESIntrinsics));
 184     if (UseAESIntrinsics && !UseAES) {
 185       warning("UseAESIntrinsics enabled, but UseAES not, enabling");
 186       UseAES = true;
 187     }
 188   } else {
 189     if (UseAES) {
 190       warning("UseAES specified, but not supported on this CPU");
 191     }
 192     if (UseAESIntrinsics) {
 193       warning("UseAESIntrinsics specified, but not supported on this CPU");
 194     }
 195   }
 196 
 197   if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
 198     UseCRC32Intrinsics = true;
 199   }




 160   // we assume the worst and assume we could be on a big little system and have
 161   // undisclosed A53 cores which we could be swapped to at any stage
 162   if (_cpu == CPU_ARM && cpu_lines == 1 && _model == 0xd07) _cpuFeatures |= CPU_A53MAC;
 163 
 164   sprintf(buf, "0x%02x:0x%x:0x%03x:%d", _cpu, _variant, _model, _revision);
 165   if (_model2) sprintf(buf+strlen(buf), "(0x%03x)", _model2);
 166   if (auxv & HWCAP_ASIMD) strcat(buf, ", simd");
 167   if (auxv & HWCAP_CRC32) strcat(buf, ", crc");
 168   if (auxv & HWCAP_AES)   strcat(buf, ", aes");
 169   if (auxv & HWCAP_SHA1)  strcat(buf, ", sha1");
 170   if (auxv & HWCAP_SHA2)  strcat(buf, ", sha256");
 171 
 172   _features_str = os::strdup(buf);
 173 
 174   if (FLAG_IS_DEFAULT(UseCRC32)) {
 175     UseCRC32 = (auxv & HWCAP_CRC32) != 0;
 176   }
 177   if (UseCRC32 && (auxv & HWCAP_CRC32) == 0) {
 178     warning("UseCRC32 specified, but not supported on this CPU");
 179   }
 180   
 181   if (UseAdler32Intrinsics) {
 182     warning("Adler32Intrinsics not available on this CPU.");
 183     FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
 184   }
 185   
 186   if (auxv & HWCAP_AES) {
 187     UseAES = UseAES || FLAG_IS_DEFAULT(UseAES);
 188     UseAESIntrinsics =
 189         UseAESIntrinsics || (UseAES && FLAG_IS_DEFAULT(UseAESIntrinsics));
 190     if (UseAESIntrinsics && !UseAES) {
 191       warning("UseAESIntrinsics enabled, but UseAES not, enabling");
 192       UseAES = true;
 193     }
 194   } else {
 195     if (UseAES) {
 196       warning("UseAES specified, but not supported on this CPU");
 197     }
 198     if (UseAESIntrinsics) {
 199       warning("UseAESIntrinsics specified, but not supported on this CPU");
 200     }
 201   }
 202 
 203   if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
 204     UseCRC32Intrinsics = true;
 205   }


src/cpu/aarch64/vm/vm_version_aarch64.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File