Skip to content
This repository has been archived by the owner on Dec 22, 2021. It is now read-only.

[spectext] Load lane and store lane validation and semantics #445

Merged
merged 2 commits into from
Feb 9, 2021

Conversation

ngzhian
Copy link
Member

@ngzhian ngzhian commented Feb 3, 2021

Load lane and store lane instructions added in #350.

@ngzhian ngzhian added the spectext changes to spec text label Feb 3, 2021
@ngzhian
Copy link
Member Author

ngzhian commented Feb 3, 2021

I think loadN_lane and loadN_zero could be merged into one, similar to how load and loadn has the if/else case. But not sure if that will make things less or more clear.

\K{v128.}\STORE\K{8\_lane}~\memarg ~|~
\K{v128.}\STORE\K{16\_lane}~\memarg \\&&|&
\K{v128.}\STORE\K{32\_lane}~\memarg ~|~
\K{v128.}\STORE\K{64\_lane}~\memarg \\&&|&
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we avoid all the repetition (including splat) by defining an auxiliary lanewidth non-terminal?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, it does look a tiny bit squished up:
Screen Shot 2021-02-04 at 9 28 43 AM

(Also made a fix to the load/store lane instructions, they take a \laneidx immediate after the \memarg.

@ngzhian ngzhian merged commit 34e195c into WebAssembly:master Feb 9, 2021
@ngzhian ngzhian deleted the load-lane-store-lane-text branch February 9, 2021 18:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
spectext changes to spec text
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants