alexcrichton opened PR #10975 from alexcrichton:x64-blends to bytecodealliance:main:
This commit migrates the
pblendvb,blendvps,blendvpd, and AVX versions of each to the new assembler. This required a few minor features in the assembler:
- The fixed physical
xmm0register is now aLocation- The "/is4" encoding format for VEX instructions is supported
- The
Fixedtype now supports both xmm and gpr registers (minor update to itsto_stringmethod).In the end this enables deleting
XmmRmRBlendandXmmRmRBlendVex. (yay!)<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
alexcrichton requested cfallin for a review on PR #10975.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #10975.
alexcrichton submitted PR review.
alexcrichton created PR review comment:
I'll note that there's no actual register allocation changes here, this is just an artifact of how the instruction used to be printed. The xmm0 argument was omitted by default and the src/destination, which are required to be the same register, were printed twice.
alexcrichton updated PR #10975.
alexcrichton updated PR #10975.
abrown submitted PR review.
abrown created PR review comment:
inst("pblendvb", fmt("RM", [rw(xmm1), r(align(xmm_m128)), r(implicit(xmm0))]), rex([0x66, 0x0F, 0x38, 0x10]).r(), _64b | compat | sse41),Don't we want this to be implicit?
alexcrichton submitted PR review.
alexcrichton created PR review comment:
I originally thought so yeah but apparently Capstone disassembles this with
%xmm0show it shows up in the instruction listing. It looks like even Intel-style disassembly showsxmm0as well, so for whatever reason while it's implicit on instructions likedivit's not implicit here...
abrown submitted PR review.
abrown merged PR #10975.
Last updated: Dec 06 2025 at 06:05 UTC