< prev index next >

src/hotspot/cpu/x86/vm_version_x86.cpp

Print this page
rev 60737 : 8252204: AArch64: Implement SHA3 accelerator/intrinsic
Reviewed-by: duke
Contributed-by: dongbo4@huawei.com


1011       FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
1012     }
1013   } else if (UseSHA256Intrinsics) {
1014     warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
1015     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
1016   }
1017 
1018 #ifdef _LP64
1019   // These are only supported on 64-bit
1020   if (UseSHA && supports_avx2() && supports_bmi2()) {
1021     if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
1022       FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
1023     }
1024   } else
1025 #endif
1026   if (UseSHA512Intrinsics) {
1027     warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
1028     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
1029   }
1030 





1031   if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
1032     FLAG_SET_DEFAULT(UseSHA, false);
1033   }
1034 
1035   if (UseAdler32Intrinsics) {
1036     warning("Adler32Intrinsics not available on this CPU.");
1037     FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
1038   }
1039 
1040   if (!supports_rtm() && UseRTMLocking) {
1041     // Can't continue because UseRTMLocking affects UseBiasedLocking flag
1042     // setting during arguments processing. See use_biased_locking().
1043     // VM_Version_init() is executed after UseBiasedLocking is used
1044     // in Thread::allocate().
1045     vm_exit_during_initialization("RTM instructions are not available on this CPU");
1046   }
1047 
1048 #if INCLUDE_RTM_OPT
1049   if (UseRTMLocking) {
1050     if (is_client_compilation_mode_vm()) {




1011       FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
1012     }
1013   } else if (UseSHA256Intrinsics) {
1014     warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
1015     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
1016   }
1017 
1018 #ifdef _LP64
1019   // These are only supported on 64-bit
1020   if (UseSHA && supports_avx2() && supports_bmi2()) {
1021     if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
1022       FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
1023     }
1024   } else
1025 #endif
1026   if (UseSHA512Intrinsics) {
1027     warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
1028     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
1029   }
1030 
1031   if (UseSHA3Intrinsics) {
1032     warning("Intrinsics for SHA3-224, SHA3-256, SHA3-384 and SHA3-512 crypto hash functions not available on this CPU.");
1033     FLAG_SET_DEFAULT(UseSHA3Intrinsics, false);
1034   }
1035 
1036   if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
1037     FLAG_SET_DEFAULT(UseSHA, false);
1038   }
1039 
1040   if (UseAdler32Intrinsics) {
1041     warning("Adler32Intrinsics not available on this CPU.");
1042     FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
1043   }
1044 
1045   if (!supports_rtm() && UseRTMLocking) {
1046     // Can't continue because UseRTMLocking affects UseBiasedLocking flag
1047     // setting during arguments processing. See use_biased_locking().
1048     // VM_Version_init() is executed after UseBiasedLocking is used
1049     // in Thread::allocate().
1050     vm_exit_during_initialization("RTM instructions are not available on this CPU");
1051   }
1052 
1053 #if INCLUDE_RTM_OPT
1054   if (UseRTMLocking) {
1055     if (is_client_compilation_mode_vm()) {


< prev index next >