mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-25 00:01:26 +02:00
Adds XMM register PABS unit tests
verified with host runner
This commit is contained in:
1 parent
854c2f259a
commit
e09a9fb651
3 files changed
+128
No files matched your search
@@ -0,0 +1,42 @@
|
||||
%ifdef CONFIG
|
||||
{
|
||||
"RegData": {
|
||||
"XMM0": ["0x0", "0x0"],
|
||||
"XMM1": ["0x0101010101010101", "0x0101010101010101"],
|
||||
"XMM2": ["0x0101010101010101", "0x0101010101010101"],
|
||||
"XMM3": ["0x0100010001010100", "0x0100010001010100"]
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
||||
mov rdx, 0xe0000000
|
||||
|
||||
mov rax, 0x0000000000000000
|
||||
mov [rdx + 8 * 0], rax
|
||||
mov [rdx + 8 * 1], rax
|
||||
|
||||
mov rax, 0xFFFFFFFFFFFFFFFF
|
||||
mov [rdx + 8 * 2], rax
|
||||
mov [rdx + 8 * 3], rax
|
||||
|
||||
mov rax, 0x0101010101010101
|
||||
mov [rdx + 8 * 4], rax
|
||||
mov [rdx + 8 * 5], rax
|
||||
|
||||
mov rax, 0xFF000100FF01FF00
|
||||
mov [rdx + 8 * 6], rax
|
||||
mov [rdx + 8 * 7], rax
|
||||
|
||||
; Test with full zero
|
||||
pabsb xmm0, [rdx + 8 * 0]
|
||||
|
||||
; Test with full negative
|
||||
pabsb xmm1, [rdx + 8 * 2]
|
||||
|
||||
; Test with full positive
|
||||
pabsb xmm2, [rdx + 8 * 4]
|
||||
|
||||
; Test a mix
|
||||
pabsb xmm3, [rdx + 8 * 6]
|
||||
|
||||
hlt
|
||||
@@ -0,0 +1,43 @@
|
||||
%ifdef CONFIG
|
||||
{
|
||||
"RegData": {
|
||||
"XMM0": ["0x0", "0x0"],
|
||||
"XMM1": ["0x0001000100010001", "0x0001000100010001"],
|
||||
"XMM2": ["0x0001000100010001", "0x0001000100010001"],
|
||||
"XMM3": ["0x0001000100000000", "0x0001000100010000"]
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
||||
mov rdx, 0xe0000000
|
||||
|
||||
mov rax, 0x0000000000000000
|
||||
mov [rdx + 8 * 0], rax
|
||||
mov [rdx + 8 * 1], rax
|
||||
|
||||
mov rax, 0xFFFFFFFFFFFFFFFF
|
||||
mov [rdx + 8 * 2], rax
|
||||
mov [rdx + 8 * 3], rax
|
||||
|
||||
mov rax, 0x0001000100010001
|
||||
mov [rdx + 8 * 4], rax
|
||||
mov [rdx + 8 * 5], rax
|
||||
|
||||
mov rax, 0xFFFFFFFF00000000
|
||||
mov [rdx + 8 * 6], rax
|
||||
mov rax, 0x00010001FFFF0000
|
||||
mov [rdx + 8 * 7], rax
|
||||
|
||||
; Test with full zero
|
||||
pabsw xmm0, [rdx + 8 * 0]
|
||||
|
||||
; Test with full negative
|
||||
pabsw xmm1, [rdx + 8 * 2]
|
||||
|
||||
; Test with full positive
|
||||
pabsw xmm2, [rdx + 8 * 4]
|
||||
|
||||
; Test a mix
|
||||
pabsw xmm3, [rdx + 8 * 6]
|
||||
|
||||
hlt
|
||||
@@ -0,0 +1,43 @@
|
||||
%ifdef CONFIG
|
||||
{
|
||||
"RegData": {
|
||||
"XMM0": ["0x0", "0x0"],
|
||||
"XMM1": ["0x0000000100000001", "0x0000000100000001"],
|
||||
"XMM2": ["0x0000000100000001", "0x0000000100000001"],
|
||||
"XMM3": ["0x0000000100000000", "0x0000000100000001"]
|
||||
}
|
||||
}
|
||||
%endif
|
||||
|
||||
mov rdx, 0xe0000000
|
||||
|
||||
mov rax, 0x0000000000000000
|
||||
mov [rdx + 8 * 0], rax
|
||||
mov [rdx + 8 * 1], rax
|
||||
|
||||
mov rax, 0xFFFFFFFFFFFFFFFF
|
||||
mov [rdx + 8 * 2], rax
|
||||
mov [rdx + 8 * 3], rax
|
||||
|
||||
mov rax, 0x0000000100000001
|
||||
mov [rdx + 8 * 4], rax
|
||||
mov [rdx + 8 * 5], rax
|
||||
|
||||
mov rax, 0xFFFFFFFF00000000
|
||||
mov [rdx + 8 * 6], rax
|
||||
mov rax, 0x00000001FFFFFFFF
|
||||
mov [rdx + 8 * 7], rax
|
||||
|
||||
; Test with full zero
|
||||
pabsd xmm0, [rdx + 8 * 0]
|
||||
|
||||
; Test with full negative
|
||||
pabsd xmm1, [rdx + 8 * 2]
|
||||
|
||||
; Test with full positive
|
||||
pabsd xmm2, [rdx + 8 * 4]
|
||||
|
||||
; Test a mix
|
||||
pabsd xmm3, [rdx + 8 * 6]
|
||||
|
||||
hlt
|
||||
Reference in new issue
Block a user