Update the JIT to share the xplat vector tables across platforms#130049
Draft
tannergooding wants to merge 10 commits into
Draft
Update the JIT to share the xplat vector tables across platforms#130049tannergooding wants to merge 10 commits into
tannergooding wants to merge 10 commits into
Conversation
Contributor
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Comment on lines
+436
to
+443
| case NI_Vector_ExtractMostSignificantBits: | ||
| { | ||
| // We want to keep this as is, because we'll rewrite it in post-order | ||
| assert(varTypeIsShort(simdBaseType)); | ||
| return; | ||
| if (simdSize == 16) | ||
| { | ||
| // We want to keep this as is, because we'll rewrite it in post-order | ||
| assert(varTypeIsShort(simdBaseType)); | ||
| return; | ||
| } |
Comment on lines
+8289
to
8294
| case NI_Vector_ExtractMostSignificantBits: | ||
| #if defined(TARGET_XARCH) | ||
| case NI_X86Base_MoveMask: | ||
| case NI_AVX_MoveMask: | ||
| case NI_AVX2_MoveMask: | ||
| #endif |
Comment on lines
+436
to
+440
| case NI_Vector_ExtractMostSignificantBits: | ||
| { | ||
| // We want to keep this as is, because we'll rewrite it in post-order | ||
| assert(varTypeIsShort(simdBaseType)); | ||
| return; | ||
| if (simdSize == 16) | ||
| { | ||
| // We want to keep this as is, because we'll rewrite it in post-order |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This massively simplifies and unifies the xplat vector intrinsic support by unifying it to a single table and instruction set.
It removes around 3000 lines of code (more simplifications are possible in the future as well) and enables us to add WASM and Arm64 SVE support for the xplat intrinsics without duplicating the import logic two more times.
I've generally split it out into two commits. The first is the general refactoring and the second is some of the base support for WASM lightup. There's some pending platform specific work and some more xplat work required before WASM can be fully enabled.