FEX/unittests/ASM/VEX/vpsrld.asm
2022-12-16 22:09:52 +00:00

78 lines
2.3 KiB
NASM

%ifdef CONFIG
{
"HostFeatures": ["AVX"],
"RegData": {
"XMM1": ["0x20A121A222A323A4", "0x28A929AA2AAB2BAC", "0x0000000000000000", "0x0000000000000000"],
"XMM2": ["0x0041424300454647", "0x0051525300555657", "0x0000000000000000", "0x0000000000000000"],
"XMM3": ["0x0000414200004546", "0x0000515200005556", "0x0000000000000000", "0x0000000000000000"],
"XMM4": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
"XMM5": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
"XMM6": ["0x20A121A222A323A4", "0x28A929AA2AAB2BAC", "0x20A121A222A323A4", "0x28A929AA2AAB2BAC"],
"XMM7": ["0x0041424300454647", "0x0051525300555657", "0x0041424300454647", "0x0051525300555657"],
"XMM8": ["0x0000414200004546", "0x0000515200005556", "0x0000414200004546", "0x0000515200005556"],
"XMM9": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
"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]
vpsrld xmm1, xmm0, [rdx + 32 * 1]
vpsrld xmm2, xmm0, [rdx + 32 * 2]
vpsrld xmm3, xmm0, [rdx + 32 * 3]
vpsrld xmm4, xmm0, [rdx + 32 * 4]
vpsrld xmm5, xmm0, [rdx + 32 * 5]
vpsrld ymm6, ymm0, [rdx + 32 * 1]
vpsrld ymm7, ymm0, [rdx + 32 * 2]
vpsrld ymm8, ymm0, [rdx + 32 * 3]
vpsrld ymm9, ymm0, [rdx + 32 * 4]
vpsrld ymm10, ymm0, [rdx + 32 * 5]
vmovapd ymm11, [rdx + 32]
vpsrld xmm12, xmm0, xmm11
vpsrld 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