1.1 --- a/src/cpu/ppc/vm/vm_version_ppc.cpp Thu Dec 11 18:53:50 2014 -0500 1.2 +++ b/src/cpu/ppc/vm/vm_version_ppc.cpp Fri Dec 12 08:48:56 2014 +0100 1.3 @@ -139,13 +139,44 @@ 1.4 } 1.5 1.6 assert(AllocatePrefetchLines > 0, "invalid value"); 1.7 - if (AllocatePrefetchLines < 1) // Set valid value in product VM. 1.8 + if (AllocatePrefetchLines < 1) { // Set valid value in product VM. 1.9 AllocatePrefetchLines = 1; // Conservative value. 1.10 + } 1.11 1.12 - if (AllocatePrefetchStyle == 3 && AllocatePrefetchDistance < cache_line_size) 1.13 + if (AllocatePrefetchStyle == 3 && AllocatePrefetchDistance < cache_line_size) { 1.14 AllocatePrefetchStyle = 1; // Fall back if inappropriate. 1.15 + } 1.16 1.17 assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive"); 1.18 + 1.19 + if (UseCRC32Intrinsics) { 1.20 + if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics)) 1.21 + warning("CRC32 intrinsics are not available on this CPU"); 1.22 + FLAG_SET_DEFAULT(UseCRC32Intrinsics, false); 1.23 + } 1.24 + 1.25 + // The AES intrinsic stubs require AES instruction support. 1.26 + if (UseAES) { 1.27 + warning("AES instructions are not available on this CPU"); 1.28 + FLAG_SET_DEFAULT(UseAES, false); 1.29 + } 1.30 + if (UseAESIntrinsics) { 1.31 + if (!FLAG_IS_DEFAULT(UseAESIntrinsics)) 1.32 + warning("AES intrinsics are not available on this CPU"); 1.33 + FLAG_SET_DEFAULT(UseAESIntrinsics, false); 1.34 + } 1.35 + 1.36 + if (UseSHA) { 1.37 + warning("SHA instructions are not available on this CPU"); 1.38 + FLAG_SET_DEFAULT(UseSHA, false); 1.39 + } 1.40 + if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { 1.41 + warning("SHA intrinsics are not available on this CPU"); 1.42 + FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); 1.43 + FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); 1.44 + FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); 1.45 + } 1.46 + 1.47 } 1.48 1.49 void VM_Version::print_features() {