fix(asm): prefix MOVQ2DQ with F3
The two bank-crossing quadword moves take the mandatory prefix by direction: the toolchain renders F3 0F D6 as MOVQ2DQ with the MMX source and F2 0F D6 as MOVDQ2Q with the XMM source, and the encoder emitted F2 for both, so MOVQ2DQ encoded MOVDQ2Q. Assisted-by: GLM 5.3 Flash
This commit is contained in:
1 parent
0cfed5516c
commit
e7a1c20467
2 files changed
+13
-3
No files matched your search
@@ -24,6 +24,9 @@ func TestRenderedTextEncodes(t *testing.T) {
|
||||
// The segment-absolute rendering lowers to the FS-prefixed disp32
|
||||
// absolute, exactly what the 0(FS) spelling encodes.
|
||||
{"MOVQ FS:0, DX", "64488b142500000000"},
|
||||
// The bank-crossing quadword move takes the prefix by direction: the
|
||||
// MMX source carries F3, the XMM source F2.
|
||||
{"MOVQ2DQ M2, X11", "f3440fd6da"},
|
||||
} {
|
||||
src := "TEXT \u00b7k(SB), NOSPLIT, $0\n\t" + tt.text + "\n\tRET\n"
|
||||
f, errs := parser.Parse("k.s", src)
|
||||
|
||||
Reference in new issue
Block a user