FEX/unittests/ASM/TwoByte/0F_17.asm
Lioncache 95393b07fb OpcodeDispatcher: Share MOVHPD implementation with MOVHPS
These instructions essentially have the same behavior. This also allows
us to remove the only used instance of FLAGS_SF_HIGH_XMM_REG, which,
given that we now support AVX, has ambiguous use.

While we're at it, we can expand the tests to make use of the store to
memory variant.

Also removes an erroneous copy-pasted comment about ZEXTing. This is
from the MOVQ implementation function. MOVHPS/MOVHPD don't do any
ZEXTing, they either store to memory or insert into a register.
2023-02-23 14:07:22 -05:00

32 lines
527 B
NASM

%ifdef CONFIG
{
"RegData": {
"XMM0": ["0x4142434445464748", "0x6162636465666768"],
"XMM1": ["0x6162636465666768", "0xFFFFFFFFFFFFFFFF"]
}
}
%endif
lea rdx, [rel .data]
; Into register
movaps xmm0, [rdx]
movhps xmm0, [rdx + 16]
; Into memory (should only store upper half of xmm into 64-bit region of memory)
movhps [rdx + 32], xmm0
movaps xmm1, [rdx + 32]
hlt
align 16
.data:
dq 0x4142434445464748
dq 0x5152535455565758
dq 0x6162636465666768
dq 0x7172737475767778
dq 0xFFFFFFFFFFFFFFFF
dq 0xFFFFFFFFFFFFFFFF