< prev index next >

src/cpu/s390/vm/vm_version_s390.cpp

Print this page
rev 12410 : 8171398: s390x: Make interpreter's math entries consistent with C1 and C2 and support FMA
Reviewed-by:


 138       FLAG_SET_DEFAULT(UseAESIntrinsics, true);
 139     }
 140   }
 141   if (UseAESIntrinsics && !has_Crypto_AES()) {
 142     warning("AES intrinsics are not available on this CPU");
 143     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 144   }
 145 
 146   // TODO: implement AES/CTR intrinsics
 147   if (UseAESCTRIntrinsics) {
 148     warning("AES/CTR intrinsics are not available on this CPU");
 149     FLAG_SET_DEFAULT(UseAESCTRIntrinsics, false);
 150   }
 151 
 152   // TODO: implement GHASH intrinsics
 153   if (UseGHASHIntrinsics) {
 154     warning("GHASH intrinsics are not available on this CPU");
 155     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
 156   }
 157 
 158   if (UseFMA) {
 159     warning("FMA instructions are not available on this CPU");
 160     FLAG_SET_DEFAULT(UseFMA, false);
 161   }
 162 
 163   // On z/Architecture, we take UseSHA as the general switch to enable/disable the SHA intrinsics.
 164   // The specific switches UseSHAxxxIntrinsics will then be set depending on the actual
 165   // machine capabilities.
 166   // Explicitly setting them via CmdLine option takes precedence, of course.
 167   if (FLAG_IS_DEFAULT(UseSHA) && has_Crypto_SHA()) {
 168     FLAG_SET_DEFAULT(UseSHA, true);
 169   }
 170   if (UseSHA && !has_Crypto_SHA()) {
 171     warning("SHA instructions are not available on this CPU");
 172     FLAG_SET_DEFAULT(UseSHA, false);
 173   }
 174   if (UseSHA && has_Crypto_SHA1()) {
 175     if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
 176       FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);
 177     }
 178   } else if (UseSHA1Intrinsics) {
 179     warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
 180     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);




 138       FLAG_SET_DEFAULT(UseAESIntrinsics, true);
 139     }
 140   }
 141   if (UseAESIntrinsics && !has_Crypto_AES()) {
 142     warning("AES intrinsics are not available on this CPU");
 143     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 144   }
 145 
 146   // TODO: implement AES/CTR intrinsics
 147   if (UseAESCTRIntrinsics) {
 148     warning("AES/CTR intrinsics are not available on this CPU");
 149     FLAG_SET_DEFAULT(UseAESCTRIntrinsics, false);
 150   }
 151 
 152   // TODO: implement GHASH intrinsics
 153   if (UseGHASHIntrinsics) {
 154     warning("GHASH intrinsics are not available on this CPU");
 155     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
 156   }
 157 
 158   if (FLAG_IS_DEFAULT(UseFMA)) {
 159     FLAG_SET_DEFAULT(UseFMA, true);

 160   }
 161 
 162   // On z/Architecture, we take UseSHA as the general switch to enable/disable the SHA intrinsics.
 163   // The specific switches UseSHAxxxIntrinsics will then be set depending on the actual
 164   // machine capabilities.
 165   // Explicitly setting them via CmdLine option takes precedence, of course.
 166   if (FLAG_IS_DEFAULT(UseSHA) && has_Crypto_SHA()) {
 167     FLAG_SET_DEFAULT(UseSHA, true);
 168   }
 169   if (UseSHA && !has_Crypto_SHA()) {
 170     warning("SHA instructions are not available on this CPU");
 171     FLAG_SET_DEFAULT(UseSHA, false);
 172   }
 173   if (UseSHA && has_Crypto_SHA1()) {
 174     if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
 175       FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);
 176     }
 177   } else if (UseSHA1Intrinsics) {
 178     warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
 179     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);


< prev index next >