< prev index next >

src/hotspot/cpu/s390/vm_version_s390.cpp

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


 203     warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
 204     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 205   }
 206   if (UseSHA && has_Crypto_SHA256()) {
 207     if (FLAG_IS_DEFAULT(UseSHA256Intrinsics)) {
 208       FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
 209     }
 210   } else if (UseSHA256Intrinsics) {
 211     warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
 212     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
 213   }
 214   if (UseSHA && has_Crypto_SHA512()) {
 215     if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
 216       FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
 217     }
 218   } else if (UseSHA512Intrinsics) {
 219     warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
 220     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 221   }
 222 





 223   if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
 224     FLAG_SET_DEFAULT(UseSHA, false);
 225   }
 226 
 227 #ifdef COMPILER2
 228   if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
 229     FLAG_SET_DEFAULT(UseMultiplyToLenIntrinsic, true);
 230   }
 231   if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
 232     FLAG_SET_DEFAULT(UseMontgomeryMultiplyIntrinsic, true);
 233   }
 234   if (FLAG_IS_DEFAULT(UseMontgomerySquareIntrinsic)) {
 235     FLAG_SET_DEFAULT(UseMontgomerySquareIntrinsic, true);
 236   }
 237 #endif
 238   if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
 239     FLAG_SET_DEFAULT(UsePopCountInstruction, true);
 240   }
 241 
 242   // z/Architecture supports 8-byte compare-exchange operations




 203     warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
 204     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 205   }
 206   if (UseSHA && has_Crypto_SHA256()) {
 207     if (FLAG_IS_DEFAULT(UseSHA256Intrinsics)) {
 208       FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
 209     }
 210   } else if (UseSHA256Intrinsics) {
 211     warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
 212     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
 213   }
 214   if (UseSHA && has_Crypto_SHA512()) {
 215     if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
 216       FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
 217     }
 218   } else if (UseSHA512Intrinsics) {
 219     warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
 220     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 221   }
 222 
 223   if (UseSHA3Intrinsics) {
 224     warning("Intrinsics for SHA3-224, SHA3-256, SHA3-384 and SHA3-512 crypto hash functions not available on this CPU.");
 225     FLAG_SET_DEFAULT(UseSHA3Intrinsics, false);
 226   }
 227 
 228   if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
 229     FLAG_SET_DEFAULT(UseSHA, false);
 230   }
 231 
 232 #ifdef COMPILER2
 233   if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
 234     FLAG_SET_DEFAULT(UseMultiplyToLenIntrinsic, true);
 235   }
 236   if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
 237     FLAG_SET_DEFAULT(UseMontgomeryMultiplyIntrinsic, true);
 238   }
 239   if (FLAG_IS_DEFAULT(UseMontgomerySquareIntrinsic)) {
 240     FLAG_SET_DEFAULT(UseMontgomerySquareIntrinsic, true);
 241   }
 242 #endif
 243   if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
 244     FLAG_SET_DEFAULT(UsePopCountInstruction, true);
 245   }
 246 
 247   // z/Architecture supports 8-byte compare-exchange operations


< prev index next >