FEX/unittests/ASM/VEX/vpsrlq.asm
lioncash 47b21fa758 OpcodeDispatcher: Handle VPSRLQ (vector)
Also mark VPMOVMSKB as UNDEC, since it's not implemented yet.
2022-12-16 22:18:40 +00:00

78 lines
2.3 KiB
NASM

%ifdef CONFIG
{
"HostFeatures": ["AVX"],
"RegData": {
"XMM1": ["0x20A121A222A323A4", "0x28A929AA2AAB2BAC", "0x0000000000000000", "0x0000000000000000"],
"XMM2": ["0x0041424344454647", "0x0051525354555657", "0x0000000000000000", "0x0000000000000000"],
"XMM3": ["0x0000414243444546", "0x0000515253545556", "0x0000000000000000", "0x0000000000000000"],
"XMM4": ["0x0000000041424344", "0x0000000051525354", "0x0000000000000000", "0x0000000000000000"],
"XMM5": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
"XMM6": ["0x20A121A222A323A4", "0x28A929AA2AAB2BAC", "0x20A121A222A323A4", "0x28A929AA2AAB2BAC"],
"XMM7": ["0x0041424344454647", "0x0051525354555657", "0x0041424344454647", "0x0051525354555657"],
"XMM8": ["0x0000414243444546", "0x0000515253545556", "0x0000414243444546", "0x0000515253545556"],
"XMM9": ["0x0000000041424344", "0x0000000051525354", "0x0000000041424344", "0x0000000051525354"],
"XMM10": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
"XMM12": ["0x20A121A222A323A4", "0x28A929AA2AAB2BAC", "0x0000000000000000", "0x0000000000000000"],
"XMM13": ["0x20A121A222A323A4", "0x28A929AA2AAB2BAC", "0x20A121A222A323A4", "0x28A929AA2AAB2BAC"]
},
"MemoryRegions": {
"0x100000000": "4096"
}
}
%endif
lea rdx, [rel .data]
vmovapd ymm0, [rdx]
vpsrlq xmm1, xmm0, [rdx + 32 * 1]
vpsrlq xmm2, xmm0, [rdx + 32 * 2]
vpsrlq xmm3, xmm0, [rdx + 32 * 3]
vpsrlq xmm4, xmm0, [rdx + 32 * 4]
vpsrlq xmm5, xmm0, [rdx + 32 * 5]
vpsrlq ymm6, ymm0, [rdx + 32 * 1]
vpsrlq ymm7, ymm0, [rdx + 32 * 2]
vpsrlq ymm8, ymm0, [rdx + 32 * 3]
vpsrlq ymm9, ymm0, [rdx + 32 * 4]
vpsrlq ymm10, ymm0, [rdx + 32 * 5]
vmovapd ymm11, [rdx + 32]
vpsrlw xmm12, xmm0, xmm11
vpsrlw ymm13, ymm0, xmm11
hlt
align 32
.data:
dq 0x4142434445464748
dq 0x5152535455565758
dq 0x4142434445464748
dq 0x5152535455565758
dq 0x0000000000000001
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000008
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000010
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000020
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000040
dq 0x0000000000000000
dq 0x0000000000000000
dq 0x0000000000000000