-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[mono][jit] ArmBase methods are now intrinsic. #85458
Conversation
src/mono/mono/mini/simd-intrinsics.c
Outdated
@@ -3596,6 +3597,13 @@ emit_arm64_intrinsics ( | |||
(is_64bit ? OP_XOP_I8_I8 : OP_XOP_I4_I4), | |||
(is_64bit ? INTRINS_BITREVERSE_I64 : INTRINS_BITREVERSE_I32), | |||
arg0_type, fsig, args); | |||
case SN_Yield: { | |||
MonoInst* ins; | |||
MONO_INST_NEW (cfg, ins, OP_NOP); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
arm64 has a yield instruction.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added OP_ARM64_HINT
to account for this and other hint codes. This is also reflected on LLVM side.
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
CI failures are unrelated. Will merge on Tue. |
This adds
ArmBase
methods as intrinsic under arm64. These see use in BCL and might result in minor performance improvements.EDIT: The support for
ArmBase.Yield
is now also added on both LLVM and mini sides.