< prev index next >
src/cpu/s390/vm/vm_version_s390.cpp
Print this page
*** 109,125 ****
// to keep contended members that far apart? Performance tests are required.
if (FLAG_IS_DEFAULT(ContendedPaddingWidth) && (cache_line_size > ContendedPaddingWidth)) {
ContendedPaddingWidth = cache_line_size;
}
! // On z/Architecture, the CRC32 intrinsics had to be implemented "by hand".
! // They cannot be based on the CHECKSUM instruction which has been there
! // since the very beginning (of z/Architecture). It computes "some kind of" a checksum
! // which has nothing to do with the CRC32 algorithm.
if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
FLAG_SET_DEFAULT(UseCRC32Intrinsics, true);
}
// On z/Architecture, we take UseAES as the general switch to enable/disable the AES intrinsics.
// The specific, and yet to be defined, switches UseAESxxxIntrinsics will then be set
// depending on the actual machine capabilities.
// Explicitly setting them via CmdLine option takes precedence, of course.
--- 109,135 ----
// to keep contended members that far apart? Performance tests are required.
if (FLAG_IS_DEFAULT(ContendedPaddingWidth) && (cache_line_size > ContendedPaddingWidth)) {
ContendedPaddingWidth = cache_line_size;
}
! // On z/Architecture, the CRC32/CRC32C intrinsics are implemented "by hand".
! // TODO: Provide implementation based on the vector instructions available from z13.
! // Note: The CHECKSUM instruction, which has been there since the very beginning
! // (of z/Architecture), computes "some kind of" a checksum.
! // It has nothing to do with the CRC32 algorithm.
if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
FLAG_SET_DEFAULT(UseCRC32Intrinsics, true);
}
+ if (FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
+ FLAG_SET_DEFAULT(UseCRC32CIntrinsics, true);
+ }
+
+ // TODO: Provide implementation.
+ if (UseAdler32Intrinsics) {
+ warning("Adler32Intrinsics not available on this CPU.");
+ FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
+ }
// On z/Architecture, we take UseAES as the general switch to enable/disable the AES intrinsics.
// The specific, and yet to be defined, switches UseAESxxxIntrinsics will then be set
// depending on the actual machine capabilities.
// Explicitly setting them via CmdLine option takes precedence, of course.
*** 193,207 ****
} else if (UseSHA512Intrinsics) {
warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
}
- if (UseAdler32Intrinsics) {
- warning("Adler32Intrinsics not available on this CPU.");
- FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
- }
-
if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
FLAG_SET_DEFAULT(UseMultiplyToLenIntrinsic, true);
}
if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
FLAG_SET_DEFAULT(UseMontgomeryMultiplyIntrinsic, true);
--- 203,212 ----
< prev index next >