Adds XMM register PABS unit tests

verified with host runner
This commit is contained in:
Ryan Houdek committed 2020-09-26 12:47:01 -07:00
1 parent 854c2f259a
commit e09a9fb651
3 files changed
+128

No files matched your search

+42
View File
@@ -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
+43
View File
@@ -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
+43
View File
@@ -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