Winch: Add SIMD load and extend and load and splat instructions for x64 #9950
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.
Part of #8093. Adds support on x64 with AVX2 for:
v128.load8x8_s
v128.load8x8_u
v128.load16x4_s
v128.load16x4_u
v128.load32x2_s
v128.load32x2_u
v128.load8_splat
v128.load16_splat
v128.load32_splat
v128.load64_splat
I've changed
wasm_load
on the macroassemblers to take aLoadKind
instead ofOption<ExtendKind>
to model the additional vector operations (vector extends and splats), but I'm open to changing that to a different abstraction.