< prev index next >

src/cpu/ppc/vm/vm_version_ppc.cpp

Print this page




 143   assert(AllocatePrefetchLines > 0, "invalid value");
 144   if (AllocatePrefetchLines < 1) { // Set valid value in product VM.
 145     AllocatePrefetchLines = 1; // Conservative value.
 146   }
 147 
 148   if (AllocatePrefetchStyle == 3 && AllocatePrefetchDistance < cache_line_size) {
 149     AllocatePrefetchStyle = 1; // Fall back if inappropriate.
 150   }
 151 
 152   assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive");
 153 
 154   // Implementation does not use any of the vector instructions
 155   // available with Power8. Their exploitation is still pending.
 156   if (!UseCRC32Intrinsics) {
 157     if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
 158       FLAG_SET_DEFAULT(UseCRC32Intrinsics, true);
 159     }
 160   }
 161 
 162   // The AES intrinsic stubs require AES instruction support.
 163 #if defined(VM_LITTLE_ENDIAN)
 164   if (has_vcipher()) {
 165     if (FLAG_IS_DEFAULT(UseAES)) {
 166       UseAES = true;
 167     }
 168   } else if (UseAES) {
 169     if (!FLAG_IS_DEFAULT(UseAES))
 170       warning("AES instructions are not available on this CPU");
 171     FLAG_SET_DEFAULT(UseAES, false);
 172   }
 173 
 174   if (UseAES && has_vcipher()) {
 175     if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
 176       UseAESIntrinsics = true;
 177     }
 178   } else if (UseAESIntrinsics) {
 179     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 180       warning("AES intrinsics are not available on this CPU");
 181     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 182   }
 183 
 184 #else
 185   if (UseAES) {
 186     warning("AES instructions are not available on this CPU");
 187     FLAG_SET_DEFAULT(UseAES, false);
 188   }
 189   if (UseAESIntrinsics) {
 190     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 191       warning("AES intrinsics are not available on this CPU");
 192     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 193   }
 194 #endif
 195 
 196   if (UseSHA) {
 197     warning("SHA instructions are not available on this CPU");
 198     FLAG_SET_DEFAULT(UseSHA, false);
 199   }
 200   if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) {
 201     warning("SHA intrinsics are not available on this CPU");
 202     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 203     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
 204     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 205   }
 206 
 207   if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
 208     UseMontgomeryMultiplyIntrinsic = true;
 209   }
 210   if (FLAG_IS_DEFAULT(UseMontgomerySquareIntrinsic)) {
 211     UseMontgomerySquareIntrinsic = true;
 212   }
 213 }
 214 




 143   assert(AllocatePrefetchLines > 0, "invalid value");
 144   if (AllocatePrefetchLines < 1) { // Set valid value in product VM.
 145     AllocatePrefetchLines = 1; // Conservative value.
 146   }
 147 
 148   if (AllocatePrefetchStyle == 3 && AllocatePrefetchDistance < cache_line_size) {
 149     AllocatePrefetchStyle = 1; // Fall back if inappropriate.
 150   }
 151 
 152   assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive");
 153 
 154   // Implementation does not use any of the vector instructions
 155   // available with Power8. Their exploitation is still pending.
 156   if (!UseCRC32Intrinsics) {
 157     if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
 158       FLAG_SET_DEFAULT(UseCRC32Intrinsics, true);
 159     }
 160   }
 161 
 162   // The AES intrinsic stubs require AES instruction support.

 163   if (has_vcipher()) {
 164     if (FLAG_IS_DEFAULT(UseAES)) {
 165       UseAES = true;
 166     }
 167   } else if (UseAES) {
 168     if (!FLAG_IS_DEFAULT(UseAES))
 169       warning("AES instructions are not available on this CPU");
 170     FLAG_SET_DEFAULT(UseAES, false);
 171   }
 172 
 173   if (UseAES && has_vcipher()) {
 174     if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
 175       UseAESIntrinsics = true;
 176     }
 177   } else if (UseAESIntrinsics) {
 178     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 179       warning("AES intrinsics are not available on this CPU");
 180     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 181   }












 182 
 183   if (UseSHA) {
 184     warning("SHA instructions are not available on this CPU");
 185     FLAG_SET_DEFAULT(UseSHA, false);
 186   }
 187   if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) {
 188     warning("SHA intrinsics are not available on this CPU");
 189     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 190     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
 191     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 192   }
 193 
 194   if (FLAG_IS_DEFAULT(UseMontgomeryMultiplyIntrinsic)) {
 195     UseMontgomeryMultiplyIntrinsic = true;
 196   }
 197   if (FLAG_IS_DEFAULT(UseMontgomerySquareIntrinsic)) {
 198     UseMontgomerySquareIntrinsic = true;
 199   }
 200 }
 201 


< prev index next >