-
Notifications
You must be signed in to change notification settings - Fork 245
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
wasmparser
: feature gate Wasm simd
support
#1903
Open
Robbepop
wants to merge
57
commits into
bytecodealliance:main
Choose a base branch
from
Robbepop:rf-feature-gate-simd
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
827b128
add for_each_simd_operator generator macro
Robbepop 5944fb9
define SimdOperator enum
Robbepop d3e99f0
add SimdOperator::operator_arity impl
Robbepop 9698f97
add VisitSimdOperator trait definition
Robbepop 76557eb
define VisitSimdOperator delegates
Robbepop 6adace1
add benchmark NopVisit impl
Robbepop 2fa11f2
add simd crate feature
Robbepop baa1de5
add simd_visitor method to VisitOperator trait
Robbepop bb4a415
add VisitSimdOperator impl to OperatorFactory
Robbepop df32e79
use VisitOperator::simd_visitor in BinaryReader::visit_operator
Robbepop de0f049
add lifetime to return value of simd_visitor method
Robbepop efd1c0c
add VisitSimdOperator impl for OperatorValidator
Robbepop 26cc42d
add Operator::Simd variant
Robbepop ac2d6a8
remove simd operators from for_each_operator macro
Robbepop 531240e
adjust wasmprinter crate for simd crate feature
Robbepop 5c94737
enable wasmparser's simd feature by default
Robbepop bfb354a
fix trait impl signature
Robbepop e257fcb
add docs to wasmparser's simd crate feature
Robbepop eb3845d
feature gate simd related code in wasmparser
Robbepop 77a33de
update docs for SimdOperator
Robbepop 7439a1f
add missing `simd` crate feature gates
Robbepop 82412a5
Merge branch 'main' into rf-feature-gate-simd
Robbepop c373909
move simd op validation down in file
Robbepop 267808c
put simd specific operator validation in separate file
Robbepop 28e15df
add docs to for_each_simd_operator macro
Robbepop faa8317
move for_each_simd_operator macro into a separate file
Robbepop 6eef116
fix docs for VisitSimdOperator
Robbepop cc88460
allow missing docs again for VisitSimdOperator
Robbepop a703340
add docs and example to VisitOperator::simd_visitor
Robbepop e6614e0
move visit_0xfd_operator into separate file
Robbepop 3c9559c
apply rustftm
Robbepop a8f67fe
wasmprinter: fix remaining simd feature toggles
Robbepop c9204e6
apply rustfmt
Robbepop 2755180
fix wasmparser benchmarks
Robbepop accb113
wasm-encoder: add simd support
Robbepop c87a791
apply rustfmt and avoid formatting some parts
Robbepop 7b0a04b
wasm-mutate: fix compile errors
Robbepop 76d4d6a
apply rustfmt
Robbepop 7c7eb46
fix dev-dependencies for wasm-mutate
Robbepop 73fb3ba
add simd_visitor impl to NopVisitor
Robbepop a458b3a
add missing VisitSimdOperator impl for WasmProposalValidator
Robbepop 8924923
mark doc example as compile_fail
Robbepop 8884f95
add simd support for VisitConstOperator
Robbepop 0beba9e
use wasmparser/simd in validate tool
Robbepop 351e169
add simd crate feature propagation to wasm-tools CLI tool
Robbepop 04f34ab
wasm-smith: use wasmparser/simd crate feature
Robbepop c419be7
apply rustfmt
Robbepop 5c1eeb4
feature gate simd_visitor impl
Robbepop cec6bb7
unconditionally enable simd for wasmprinter
Robbepop 1dfbf6e
unconditionally enable simd for wasm-encoder
Robbepop a98227f
remove wasm-tools simd feature (enable by default)
Robbepop efa3d43
use macros generate for_each_operator macros
Robbepop 887a8cf
remove comment out line
Robbepop cbbc575
put docs on the exported macros
Robbepop ba48386
fix macro imports
Robbepop 6b9a883
fix bugs in generator macros
Robbepop 91ddc75
improve compile times for macros
Robbepop File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at this again, what do you think of throwing all the simd ops back into
Operator
? It's already#[non_exhaustive]
and would be nice to have a bit less churn as well in theoryThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not yet sure if this works as intended due to the split into 2 macros and the problem that you cannot have macro invokation at enum variant definition position but I ll see how it goes. A downside to this approach is that this would result in tons of cfgs.