This repository was archived by the owner on Dec 22, 2021. It is now read-only.
Implement SIMD load splat and load extend #306
Closed
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.
Introduce a new SimdLoad AST node to represent SIMD load splat and load
extend. The existing parameters for loadop is not sufficient to
represent all the load splats and extends, as it only has 3 pack sizes,
and 2 sign-extensions, and 1 none case, giving at total of 7 cases:
while we have 6 load extends and 4 load splats (10 in total).
We can add 1 more case to pack_size, Pack64, which will only be used by
SIMD loads, but that still only gives 8 cases. We can also add 1 more
data type to extension, that will give us enough, but it will be useless
for non-v128 loads.