Skip to content

x64: Migrate movddup to the new assembler#10958

Merged
fitzgen merged 1 commit into
bytecodealliance:mainfrom
alexcrichton:x64-movddup
Jun 6, 2025
Merged

x64: Migrate movddup to the new assembler#10958
fitzgen merged 1 commit into
bytecodealliance:mainfrom
alexcrichton:x64-movddup

Conversation

@alexcrichton
Copy link
Copy Markdown
Member

Enables removing the XmmUnaryRmRUnaligned instruction variant. Additionally this exposed a shortcoming where Cranelift didn't have access for testing for SSE3 in ISLE (not to be confused with SSSE3). Additionally movddup was incorrectly classified as SSSE3 so this commit fills out some infrastructure to use SSE3 instead of SSSE3. There are more instructions as well that are mis-classified under SSSE3 which I'll address in a follow-up.

Enables removing the `XmmUnaryRmRUnaligned` instruction variant.
Additionally this exposed a shortcoming where Cranelift didn't have
access for testing for SSE3 in ISLE (not to be confused with SSSE3).
Additionally `movddup` was incorrectly classified as SSSE3 so this
commit fills out some infrastructure to use SSE3 instead of SSSE3. There
are more instructions as well that are mis-classified under SSSE3 which
I'll address in a follow-up.
@alexcrichton alexcrichton requested a review from a team as a code owner June 6, 2025 18:37
@alexcrichton alexcrichton requested review from fitzgen and removed request for a team June 6, 2025 18:37
@alexcrichton
Copy link
Copy Markdown
Member Author

On the topic of SSE3 testing lacking in Cranelift and instructions mis-classified as SSSE3 instead of SSE3 AFAIK it's benign and otherwise dates back to #6025 where I assume I misread something and got the classification wrong. I think that movddup is the only SSE3 instruction that Cranelift supports at this time too.

@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:x64 Issues related to x64 codegen cranelift:meta Everything related to the meta-language. isle Related to the ISLE domain-specific language labels Jun 6, 2025
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 6, 2025

Subscribe to Label Action

cc @cfallin, @fitzgen

Details This issue or pull request has been labeled: "cranelift", "cranelift:area:x64", "cranelift:meta", "isle"

Thus the following users have been cc'd because of the following labels:

  • cfallin: isle
  • fitzgen: isle

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

@fitzgen fitzgen added this pull request to the merge queue Jun 6, 2025
Merged via the queue into bytecodealliance:main with commit 4e31cb0 Jun 6, 2025
53 checks passed
@alexcrichton alexcrichton deleted the x64-movddup branch June 6, 2025 21:30
bongjunj pushed a commit to prosyslab/wasmtime that referenced this pull request Oct 20, 2025
Enables removing the `XmmUnaryRmRUnaligned` instruction variant.
Additionally this exposed a shortcoming where Cranelift didn't have
access for testing for SSE3 in ISLE (not to be confused with SSSE3).
Additionally `movddup` was incorrectly classified as SSSE3 so this
commit fills out some infrastructure to use SSE3 instead of SSSE3. There
are more instructions as well that are mis-classified under SSSE3 which
I'll address in a follow-up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift:area:x64 Issues related to x64 codegen cranelift:meta Everything related to the meta-language. cranelift Issues related to the Cranelift code generator isle Related to the ISLE domain-specific language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants