8191339: [JVMCI] BigInteger compiler intrinsics on Graal

Reviewed-by: kvn
This commit is contained in:
Patric Hedlin 2017-12-06 13:07:21 +01:00
parent 8f4456e77a
commit 2edd37a6ac
2 changed files with 18 additions and 5 deletions

View File

@ -1042,9 +1042,7 @@ void VM_Version::get_processor_features() {
}
}
#endif // COMPILER2 && ASSERT
#endif // COMPILER2_OR_JVMCI
#ifdef COMPILER2
#ifdef _LP64
if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
UseMultiplyToLenIntrinsic = true;
@ -1092,8 +1090,8 @@ void VM_Version::get_processor_features() {
}
FLAG_SET_DEFAULT(UseMulAddIntrinsic, false);
}
#endif
#endif // COMPILER2
#endif // _LP64
#endif // COMPILER2_OR_JVMCI
// On new cpus instructions which update whole XMM register should be used
// to prevent partial register stall due to dependencies on high half.

View File

@ -98,7 +98,22 @@
"Number of methods to record in call profile") \
\
develop(bool, TraceUncollectedSpeculations, false, \
"Print message when a failed speculation was not collected")
"Print message when a failed speculation was not collected") \
\
NOT_COMPILER2(diagnostic(bool, UseMultiplyToLenIntrinsic, false, \
"Enables intrinsification of BigInteger.multiplyToLen()")) \
\
NOT_COMPILER2(diagnostic(bool, UseSquareToLenIntrinsic, false, \
"Enables intrinsification of BigInteger.squareToLen()")) \
\
NOT_COMPILER2(diagnostic(bool, UseMulAddIntrinsic, false, \
"Enables intrinsification of BigInteger.mulAdd()")) \
\
NOT_COMPILER2(diagnostic(bool, UseMontgomeryMultiplyIntrinsic, false, \
"Enables intrinsification of BigInteger.montgomeryMultiply()")) \
\
NOT_COMPILER2(diagnostic(bool, UseMontgomerySquareIntrinsic, false, \
"Enables intrinsification of BigInteger.montgomerySquare()"))
// Read default values for JVMCI globals