Skip to content
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

Merged
merged 3 commits into from
May 2, 2023

Conversation

jandupej
Copy link
Member

@jandupej jandupej commented Apr 27, 2023

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.

@@ -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);
Copy link
Contributor

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.

Copy link
Member Author

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.

@jandupej
Copy link
Member Author

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jandupej
Copy link
Member Author

CI failures are unrelated. Will merge on Tue.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants