< prev index next >

src/hotspot/cpu/x86/vm_version_x86.cpp

Print this page




 838       UseCRC32CIntrinsics = true;
 839     }
 840   } else if (UseCRC32CIntrinsics) {
 841     if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
 842       warning("CRC32C intrinsics are not available on this CPU");
 843     }
 844     FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
 845   }
 846 
 847   // GHASH/GCM intrinsics
 848   if (UseCLMUL && (UseSSE > 2)) {
 849     if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
 850       UseGHASHIntrinsics = true;
 851     }
 852   } else if (UseGHASHIntrinsics) {
 853     if (!FLAG_IS_DEFAULT(UseGHASHIntrinsics))
 854       warning("GHASH intrinsic requires CLMUL and SSE2 instructions on this CPU");
 855     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
 856   }
 857 











 858   if (supports_fma() && UseSSE >= 2) { // Check UseSSE since FMA code uses SSE instructions
 859     if (FLAG_IS_DEFAULT(UseFMA)) {
 860       UseFMA = true;
 861     }
 862   } else if (UseFMA) {
 863     warning("FMA instructions are not available on this CPU");
 864     FLAG_SET_DEFAULT(UseFMA, false);
 865   }
 866 
 867   if (supports_sha() LP64_ONLY(|| supports_avx2() && supports_bmi2())) {
 868     if (FLAG_IS_DEFAULT(UseSHA)) {
 869       UseSHA = true;
 870     }
 871   } else if (UseSHA) {
 872     warning("SHA instructions are not available on this CPU");
 873     FLAG_SET_DEFAULT(UseSHA, false);
 874   }
 875 
 876   if (supports_sha() && UseSHA) {
 877     if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {




 838       UseCRC32CIntrinsics = true;
 839     }
 840   } else if (UseCRC32CIntrinsics) {
 841     if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
 842       warning("CRC32C intrinsics are not available on this CPU");
 843     }
 844     FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
 845   }
 846 
 847   // GHASH/GCM intrinsics
 848   if (UseCLMUL && (UseSSE > 2)) {
 849     if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
 850       UseGHASHIntrinsics = true;
 851     }
 852   } else if (UseGHASHIntrinsics) {
 853     if (!FLAG_IS_DEFAULT(UseGHASHIntrinsics))
 854       warning("GHASH intrinsic requires CLMUL and SSE2 instructions on this CPU");
 855     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
 856   }
 857 
 858   // Base64 Intrinsics (Check the condition for which the intrinsic will be active)
 859   if ((UseAVX > 2) && supports_avx512vl() && supports_avx512bw()) {
 860     if (FLAG_IS_DEFAULT(UseBASE64Intrinsics)) {
 861       UseBASE64Intrinsics = true;
 862     }
 863   } else if (UseBASE64Intrinsics) {
 864      if (!FLAG_IS_DEFAULT(UseBASE64Intrinsics))
 865       warning("Base64 intrinsic requires EVEX instructions on this CPU");
 866     FLAG_SET_DEFAULT(UseBASE64Intrinsics, false);
 867   }
 868 
 869   if (supports_fma() && UseSSE >= 2) { // Check UseSSE since FMA code uses SSE instructions
 870     if (FLAG_IS_DEFAULT(UseFMA)) {
 871       UseFMA = true;
 872     }
 873   } else if (UseFMA) {
 874     warning("FMA instructions are not available on this CPU");
 875     FLAG_SET_DEFAULT(UseFMA, false);
 876   }
 877 
 878   if (supports_sha() LP64_ONLY(|| supports_avx2() && supports_bmi2())) {
 879     if (FLAG_IS_DEFAULT(UseSHA)) {
 880       UseSHA = true;
 881     }
 882   } else if (UseSHA) {
 883     warning("SHA instructions are not available on this CPU");
 884     FLAG_SET_DEFAULT(UseSHA, false);
 885   }
 886 
 887   if (supports_sha() && UseSHA) {
 888     if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {


< prev index next >