< prev index next >

src/cpu/ppc/vm/vm_version_ppc.cpp

Print this page




 157   assert(AllocatePrefetchLines > 0, "invalid value");
 158   if (AllocatePrefetchLines < 1) { // Set valid value in product VM.
 159     AllocatePrefetchLines = 1; // Conservative value.
 160   }
 161 
 162   if (AllocatePrefetchStyle == 3 && AllocatePrefetchDistance < cache_line_size) {
 163     AllocatePrefetchStyle = 1; // Fall back if inappropriate.
 164   }
 165 
 166   assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive");
 167 
 168   // Implementation does not use any of the vector instructions
 169   // available with Power8. Their exploitation is still pending.
 170   if (!UseCRC32Intrinsics) {
 171     if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
 172       FLAG_SET_DEFAULT(UseCRC32Intrinsics, true);
 173     }
 174   }
 175 
 176   // The AES intrinsic stubs require AES instruction support.
 177 #if defined(VM_LITTLE_ENDIAN)
 178   if (has_vcipher()) {
 179     if (FLAG_IS_DEFAULT(UseAES)) {
 180       UseAES = true;
 181     }
 182   } else if (UseAES) {
 183     if (!FLAG_IS_DEFAULT(UseAES))
 184       warning("AES instructions are not available on this CPU");
 185     FLAG_SET_DEFAULT(UseAES, false);
 186   }
 187 
 188   if (UseAES && has_vcipher()) {
 189     if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
 190       UseAESIntrinsics = true;
 191     }
 192   } else if (UseAESIntrinsics) {
 193     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 194       warning("AES intrinsics are not available on this CPU");
 195     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 196   }
 197 
 198 #else
 199   if (UseAES) {
 200     warning("AES instructions are not available on this CPU");
 201     FLAG_SET_DEFAULT(UseAES, false);
 202   }
 203   if (UseAESIntrinsics) {
 204     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 205       warning("AES intrinsics are not available on this CPU");
 206     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 207   }
 208 #endif
 209 
 210   if (has_vshasig()) {
 211     if (FLAG_IS_DEFAULT(UseSHA)) {
 212       UseSHA = true;
 213     }
 214   } else if (UseSHA) {
 215     if (!FLAG_IS_DEFAULT(UseSHA))
 216       warning("SHA instructions are not available on this CPU");
 217     FLAG_SET_DEFAULT(UseSHA, false);
 218   }
 219 
 220   if (UseSHA1Intrinsics) {
 221     warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
 222     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 223   }
 224 
 225   if (UseSHA && has_vshasig()) {
 226     if (FLAG_IS_DEFAULT(UseSHA256Intrinsics)) {
 227       FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
 228     }




 157   assert(AllocatePrefetchLines > 0, "invalid value");
 158   if (AllocatePrefetchLines < 1) { // Set valid value in product VM.
 159     AllocatePrefetchLines = 1; // Conservative value.
 160   }
 161 
 162   if (AllocatePrefetchStyle == 3 && AllocatePrefetchDistance < cache_line_size) {
 163     AllocatePrefetchStyle = 1; // Fall back if inappropriate.
 164   }
 165 
 166   assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive");
 167 
 168   // Implementation does not use any of the vector instructions
 169   // available with Power8. Their exploitation is still pending.
 170   if (!UseCRC32Intrinsics) {
 171     if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
 172       FLAG_SET_DEFAULT(UseCRC32Intrinsics, true);
 173     }
 174   }
 175 
 176   // The AES intrinsic stubs require AES instruction support.

 177   if (has_vcipher()) {
 178     if (FLAG_IS_DEFAULT(UseAES)) {
 179       UseAES = true;
 180     }
 181   } else if (UseAES) {
 182     if (!FLAG_IS_DEFAULT(UseAES))
 183       warning("AES instructions are not available on this CPU");
 184     FLAG_SET_DEFAULT(UseAES, false);
 185   }
 186 
 187   if (UseAES && has_vcipher()) {
 188     if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
 189       UseAESIntrinsics = true;
 190     }
 191   } else if (UseAESIntrinsics) {
 192     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 193       warning("AES intrinsics are not available on this CPU");
 194     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 195   }












 196 
 197   if (has_vshasig()) {
 198     if (FLAG_IS_DEFAULT(UseSHA)) {
 199       UseSHA = true;
 200     }
 201   } else if (UseSHA) {
 202     if (!FLAG_IS_DEFAULT(UseSHA))
 203       warning("SHA instructions are not available on this CPU");
 204     FLAG_SET_DEFAULT(UseSHA, false);
 205   }
 206 
 207   if (UseSHA1Intrinsics) {
 208     warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
 209     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 210   }
 211 
 212   if (UseSHA && has_vshasig()) {
 213     if (FLAG_IS_DEFAULT(UseSHA256Intrinsics)) {
 214       FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
 215     }


< prev index next >