Skip to content

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

Merged
fanyang-mono merged 15 commits into
dotnet:mainfrom
fanyang-mono:arm64_hi
Mar 6, 2023
Merged

[Mono] Add initial arm64 hardware intrinsics support for mini JIT#82420
fanyang-mono merged 15 commits into
dotnet:mainfrom
fanyang-mono:arm64_hi

Conversation

@fanyang-mono

@fanyang-monofanyang-mono commented Feb 21, 2023

Copy link
Copy Markdown
Member

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 threadsrc/mono/mono/mini/simd-intrinsics.c Outdated
Comment on lines +1200 to +1203
// #ifdef TARGET_ARM64
// if (!(cfg->compile_aot && cfg->full_aot && !cfg->interp))
// return NULL;
// #endif

Copy link
Copy Markdown
MemberAuthor

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
Copy Markdown
Contributor

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]

Comment threadsrc/mono/mono/mini/mini-arm64.c Outdated
Comment threadsrc/mono/mono/mini/mini-arm64.c Outdated
Comment threadsrc/mono/mono/mini/mini-arm64.c Outdated
Comment threadsrc/mono/mono/mini/mini.c Outdated
Comment threadsrc/mono/mono/mini/mini.c
Comment threadsrc/mono/mono/mini/mini-arm64.c Outdated
Comment threadsrc/mono/mono/mini/mini-arm64.h
@jandupej

Copy link
Copy Markdown
Contributor

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

@runfoapprunfoappBot mentioned this pull request Mar 6, 2023
@fanyang-mono

Copy link
Copy Markdown
MemberAuthor

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

@fanyang-mono

Copy link
Copy Markdown
MemberAuthor

wasm failures on CI are not related to this PR.

@fanyang-mono

fanyang-mono commented Mar 8, 2023

Copy link
Copy Markdown
MemberAuthor

Sign up for freeto 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

@fanyang-mono@vargaz@jandupej@tannergooding