Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mono] Add initial arm64 hardware intrinsics support for mini JIT #82420

Merged
merged 15 commits into from
Mar 6, 2023

Conversation

fanyang-mono
Copy link
Member

@fanyang-mono fanyang-mono commented Feb 21, 2023

The following has been added to mini JIT on arm64:

  • Enabled SIMD support for Vector128.
  • Emitted hardware intrinsics for add.
  • Fixed alignment for SIMD types on arm64.
  • Emitted arm64 intrinsics for various basic operations. They are OP_STOREX_MEMBASE, OP_LOADX_MEMBASE, OP_XZERO, OP_XCONST and OP_XMOVE.

Contributes to #80566

Comment on lines 1200 to 1203
// #ifdef TARGET_ARM64
// if (!(cfg->compile_aot && cfg->full_aot && !cfg->interp))
// return NULL;
// #endif
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Temporary commented these lines out for testing on CI. Need to uncomment before merging.

@vargaz
Copy link
Contributor

vargaz commented Feb 21, 2023

The ios-arm64 failures look relevant:
/tmp/helix/working/B18009D0/p/build/apple/AppleApp.targets(110,5): error : * Assertion at /Users/runner/work/1/s/src/mono/mono/mini/../../mono/arch/arm64/arm64-codegen.h:244, condition `arm_is_pimm12_scaled (pimm, size)' not met [/private/tmp/helix/working/B18009D0/w/9CB0086D/e/publish/ProxyProjectForAOTOnHelix.proj]

src/mono/mono/mini/mini-arm64.c Outdated Show resolved Hide resolved
src/mono/mono/mini/mini.c Outdated Show resolved Hide resolved
@jandupej
Copy link
Member

jandupej commented Mar 3, 2023

Could not reproduce the RegularExpressions failure on macos,arm64; anyway it seems unrelated. Other failures also seem unrelated.

@runfoapp runfoapp bot mentioned this pull request Mar 6, 2023
@fanyang-mono
Copy link
Member Author

Failures on runtime (Build browser-wasm linux Release WasmBuildTests) are not related to this PR.

@fanyang-mono
Copy link
Member Author

wasm failures on CI are not related to this PR.

@fanyang-mono
Copy link
Member Author

fanyang-mono commented Mar 8, 2023

Micro benchmarks improvement due of this PR:

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

Successfully merging this pull request may close these issues.

4 participants