forked from bytecodealliance/wasmtime
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Shifts: ishr
, sshr
, ushr
#49
Closed
Closed
Conversation
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
avanhatt
pushed a commit
that referenced
this pull request
May 26, 2023
* Use `use` imports consistently. * Rename `flags_from_descriptor_flags` to `descriptor_flags_from_flags`. * Rename `black_box` to `obscure`. * Make some comments be doc comments. * Use a hyphen for compound adjectives. * Delete an unused variable. * Update the name of `change-file-permissions-at`. * Use generated typedefs instead of hard-coding u64. * Use core::hint::black_box now that it's stabilized.
avanhatt
pushed a commit
that referenced
this pull request
May 26, 2023
* Use `use` imports consistently. * Rename `flags_from_descriptor_flags` to `descriptor_flags_from_flags`. * Rename `black_box` to `obscure`. * Make some comments be doc comments. * Use a hyphen for compound adjectives. * Delete an unused variable. * Update the name of `change-file-permissions-at`. * Use generated typedefs instead of hard-coding u64. * Use core::hint::black_box now that it's stabilized.
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
This PR makes a minor tweak to the ISLE `spec` parsing to unify how `provide` and `require` fields are parsed. The intention is to make it slightly cleaner to parse additional fields, such as to support state modeling avanhatt#49. Doing this in a separate PR just to verify this change is valid.
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Add global state variables accessible from specs. State variables may declare a `default`. Specs may also declare which state variables they modify. If no specs in an expansion modify a state variable, the default is applied. Updates avanhatt#49
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Generate specifications from ASLp for AArch64 load operations for a subset of addressing modes. Define `loaded_value` and `isa_load` state variables. Updates avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Provide a mechanism for generated specs to declare which state fields they modify, and use it in the generated load specs. Updates avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Generate AArch64 load specs for `AMode.RegScaledExtended` and `AMode.RegExtended` addressing modes. Updates avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Change the `isa_load` state to measure load size in bits instead of bytes. Updates avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Introduces an explicit unspecified type in the spec language. This is motivated by work to model memory operations avanhatt#99, and in particular the use of the `AMode` enum and its many variants. Some of the variants are unused at the moment. The unspecified type is intended to allow us to define _some_ model for them, and therefore satisfy type inference. However, unspecified type is not allowed to be used for anything non-trivial, so we would be alerted in future if we need to revise the model to a correct type. Updates avanhatt#48 avanhatt#49
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
Derive type constraints for struct types. This now allows an `instantiate` directive for example to contain a struct field. This arises in avanhatt#99 when specifying the type instantiations of a `load`, which takes `MemFlags`. Updates avanhatt#49
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 9, 2024
…iance#111) Introduces specification for CLIF load instructions, and verifies a limited subset of the `I64` load lowerings. Verifying these lowerings is a clear example of rule chaining at work. We tag the `amode*` intermediate terms with the `chain` tag. As a result the total number of expansions increases substantially to 9000+. There are a 200+ expansions of the `load_i64` rule. In order to make this work it was necessary to exclude a lot of terms for the time being with a `TODO` tag, as well as model some types as unspecified. We will need to return to these and specify them, or decide they are out of scope. Updates avanhatt#49
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 18, 2024
Verify `load_i64` expansions involving `MovWide` instructions. We added `MovWide` ASLp specs in bytecodealliance#127. This PR provides additional specs to utilize them. Updates avanhatt#49 avanhatt#34
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 18, 2024
) Generate the `AMode.Unscaled` cases in the load specifications. Updates avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 18, 2024
Expand verification coverage of load rules. Includes the 8/16/32-bit cases. Builds on bytecodealliance#132 to verify `AMode.Unscaled` cases. Port over specs for `{s,u}extend` to cover `load` expansions involving extensions. Updates avanhatt#49 avanhatt#34
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 18, 2024
Generate specifications for `Store<N>` instructions. Define `isa_store` state variable. Slight refactor to enable sharing the amode case enumeration logic with loads. Updates avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 23, 2024
…codealliance#168) Generate load/store specs using `AMode.UnsignedOffset`. Updates avanhatt#36 avanhatt#49 avanhatt#35
avanhatt
pushed a commit
to wellesley-prog-sys/wasmtime
that referenced
this pull request
Oct 23, 2024
…codealliance#168) Generate load/store specs using `AMode.UnsignedOffset`. Updates avanhatt#36 avanhatt#49 avanhatt#35
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.
Currently, two rules with immediate are still failing with infeasible assumptions. Working on it.