src/cpu/x86/vm/vm_version_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/cpu/x86/vm

src/cpu/x86/vm/vm_version_x86.cpp

Print this page




 795       UseCRC32CIntrinsics = true;
 796     }
 797   } else if (UseCRC32CIntrinsics) {
 798     if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
 799       warning("CRC32C intrinsics are not available on this CPU");
 800     }
 801     FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
 802   }
 803 
 804   // GHASH/GCM intrinsics
 805   if (UseCLMUL && (UseSSE > 2)) {
 806     if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
 807       UseGHASHIntrinsics = true;
 808     }
 809   } else if (UseGHASHIntrinsics) {
 810     if (!FLAG_IS_DEFAULT(UseGHASHIntrinsics))
 811       warning("GHASH intrinsic requires CLMUL and SSE2 instructions on this CPU");
 812     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
 813   }
 814 
 815   if (supports_fma()) {
 816     if (FLAG_IS_DEFAULT(UseFMA)) {
 817       UseFMA = true;
 818     }
 819   } else if (UseFMA) {
 820     warning("FMA instructions are not available on this CPU");
 821     FLAG_SET_DEFAULT(UseFMA, false);
 822   }
 823 
 824   if (supports_sha() LP64_ONLY(|| supports_avx2() && supports_bmi2())) {
 825     if (FLAG_IS_DEFAULT(UseSHA)) {
 826       UseSHA = true;
 827     }
 828   } else if (UseSHA) {
 829     warning("SHA instructions are not available on this CPU");
 830     FLAG_SET_DEFAULT(UseSHA, false);
 831   }
 832 
 833   if (supports_sha() && UseSHA) {
 834     if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
 835       FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);




 795       UseCRC32CIntrinsics = true;
 796     }
 797   } else if (UseCRC32CIntrinsics) {
 798     if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
 799       warning("CRC32C intrinsics are not available on this CPU");
 800     }
 801     FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
 802   }
 803 
 804   // GHASH/GCM intrinsics
 805   if (UseCLMUL && (UseSSE > 2)) {
 806     if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
 807       UseGHASHIntrinsics = true;
 808     }
 809   } else if (UseGHASHIntrinsics) {
 810     if (!FLAG_IS_DEFAULT(UseGHASHIntrinsics))
 811       warning("GHASH intrinsic requires CLMUL and SSE2 instructions on this CPU");
 812     FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
 813   }
 814 
 815   if (supports_fma() && UseSSE >= 2) { // Check UseSSE since FMA code uses SSE instructions
 816     if (FLAG_IS_DEFAULT(UseFMA)) {
 817       UseFMA = true;
 818     }
 819   } else if (UseFMA) {
 820     warning("FMA instructions are not available on this CPU");
 821     FLAG_SET_DEFAULT(UseFMA, false);
 822   }
 823 
 824   if (supports_sha() LP64_ONLY(|| supports_avx2() && supports_bmi2())) {
 825     if (FLAG_IS_DEFAULT(UseSHA)) {
 826       UseSHA = true;
 827     }
 828   } else if (UseSHA) {
 829     warning("SHA instructions are not available on this CPU");
 830     FLAG_SET_DEFAULT(UseSHA, false);
 831   }
 832 
 833   if (supports_sha() && UseSHA) {
 834     if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
 835       FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);


src/cpu/x86/vm/vm_version_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File