src/cpu/ppc/vm/vm_version_ppc.cpp

changeset 7424
c5e86c5cd22e
parent 7358
327e7269f90d
child 7535
7ae4e26cb1e0
child 8608
0d78aecb0948
     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() {

mercurial