769 }
770 }
771 else if (UseCRC32CIntrinsics) {
772 if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
773 warning("CRC32C intrinsics are not available on this CPU");
774 }
775 FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
776 }
777
778 // GHASH/GCM intrinsics
779 if (UseCLMUL && (UseSSE > 2)) {
780 if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
781 UseGHASHIntrinsics = true;
782 }
783 } else if (UseGHASHIntrinsics) {
784 if (!FLAG_IS_DEFAULT(UseGHASHIntrinsics))
785 warning("GHASH intrinsic requires CLMUL and SSE2 instructions on this CPU");
786 FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
787 }
788
789 if (supports_fma() && UseSSE >= 2) {
790 if (FLAG_IS_DEFAULT(UseFMA)) {
791 UseFMA = true;
792 }
793 } else if (UseFMA) {
794 warning("FMA instructions are not available on this CPU");
795 FLAG_SET_DEFAULT(UseFMA, false);
796 }
797
798 if (supports_sha() LP64_ONLY(|| supports_avx2() && supports_bmi2())) {
799 if (FLAG_IS_DEFAULT(UseSHA)) {
800 UseSHA = true;
801 }
802 } else if (UseSHA) {
803 warning("SHA instructions are not available on this CPU");
804 FLAG_SET_DEFAULT(UseSHA, false);
805 }
806
807 if (supports_sha() && UseSHA) {
808 if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
809 FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);
|
769 }
770 }
771 else if (UseCRC32CIntrinsics) {
772 if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) {
773 warning("CRC32C intrinsics are not available on this CPU");
774 }
775 FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
776 }
777
778 // GHASH/GCM intrinsics
779 if (UseCLMUL && (UseSSE > 2)) {
780 if (FLAG_IS_DEFAULT(UseGHASHIntrinsics)) {
781 UseGHASHIntrinsics = true;
782 }
783 } else if (UseGHASHIntrinsics) {
784 if (!FLAG_IS_DEFAULT(UseGHASHIntrinsics))
785 warning("GHASH intrinsic requires CLMUL and SSE2 instructions on this CPU");
786 FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
787 }
788
789 if (supports_fma() && UseAVX > 0) {
790 if (FLAG_IS_DEFAULT(UseFMA)) {
791 UseFMA = true;
792 }
793 } else if (UseFMA) {
794 warning("FMA instructions are not available on this CPU");
795 FLAG_SET_DEFAULT(UseFMA, false);
796 }
797
798 if (supports_sha() LP64_ONLY(|| supports_avx2() && supports_bmi2())) {
799 if (FLAG_IS_DEFAULT(UseSHA)) {
800 UseSHA = true;
801 }
802 } else if (UseSHA) {
803 warning("SHA instructions are not available on this CPU");
804 FLAG_SET_DEFAULT(UseSHA, false);
805 }
806
807 if (supports_sha() && UseSHA) {
808 if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
809 FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);
|