Skip to content

x64: Add AVX support for some more float-related instructions#6092

Merged
abrown merged 3 commits into
bytecodealliance:mainfrom
alexcrichton:x64-avx-floats
Mar 29, 2023
Merged

x64: Add AVX support for some more float-related instructions#6092
abrown merged 3 commits into
bytecodealliance:mainfrom
alexcrichton:x64-avx-floats

Conversation

@alexcrichton
Copy link
Copy Markdown
Member

This PR adds AVX support for vsqrts{s,d}, vrounds{s,d}, and vcvt{ss2sd,sd2ss}. After this I think that XmmCmpRmR is the only remaining non-VEX instruction, which I hope to tackle next.

Additionally update the instruction helpers to take an `XmmMem` argument
to allow load sinking into the instruction.
@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:x64 Issues related to x64 codegen labels Mar 23, 2023
@alexcrichton alexcrichton requested a review from abrown March 28, 2023 19:55
Copy link
Copy Markdown
Member

@abrown abrown left a comment

Choose a reason for hiding this comment

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

LGTM!

// reflected in the CLIF instruction, however, since the SSE version
// doesn't have this functionality. Instead just copy whatever
// happens to already be in the destination, which at least is what
// LLVM seems to do.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍

@abrown abrown added this pull request to the merge queue Mar 29, 2023
Merged via the queue into bytecodealliance:main with commit 0b0ac3f Mar 29, 2023
@alexcrichton alexcrichton deleted the x64-avx-floats branch October 25, 2023 19:13
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 Issues related to the Cranelift code generator

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants