From ee931def980ae7be280ef9597bcbd2f71cc386e4 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Wed, 29 Apr 2020 18:59:23 -0700 Subject: [PATCH] Implements three unit tests for the new conversion ops --- unittests/ASM/TwoByte/0F_2A.asm | 30 ++++++++++++++++++++++++++++++ unittests/ASM/TwoByte/0F_2C.asm | 30 ++++++++++++++++++++++++++++++ unittests/ASM/TwoByte/0F_2D.asm | 30 ++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 unittests/ASM/TwoByte/0F_2A.asm create mode 100644 unittests/ASM/TwoByte/0F_2C.asm create mode 100644 unittests/ASM/TwoByte/0F_2D.asm diff --git a/unittests/ASM/TwoByte/0F_2A.asm b/unittests/ASM/TwoByte/0F_2A.asm new file mode 100644 index 000000000..174df0486 --- /dev/null +++ b/unittests/ASM/TwoByte/0F_2A.asm @@ -0,0 +1,30 @@ +%ifdef CONFIG +{ + "RegData": { + "MM0": ["0x0000000100000002", "0x0"], + "XMM0": ["0x3f80000040000000", "0x7172737475767778"] + }, + "MemoryRegions": { + "0x100000000": "4096" + } +} +%endif + +mov rdx, 0xe0000000 + +mov rax, 0x0000000100000002 +mov [rdx + 8 * 0], rax +mov rax, 0x5152535455565758 +mov [rdx + 8 * 1], rax + +mov rax, 0x6162636465666768 +mov [rdx + 8 * 2], rax +mov rax, 0x7172737475767778 +mov [rdx + 8 * 3], rax + +movq mm0, [rdx + 8 * 0] +movaps xmm0, [rdx + 8 * 2] + +cvtpi2ps xmm0, mm0 + +hlt diff --git a/unittests/ASM/TwoByte/0F_2C.asm b/unittests/ASM/TwoByte/0F_2C.asm new file mode 100644 index 000000000..04a73ecd1 --- /dev/null +++ b/unittests/ASM/TwoByte/0F_2C.asm @@ -0,0 +1,30 @@ +%ifdef CONFIG +{ + "RegData": { + "MM0": ["0x0000000100000002", "0x0"], + "XMM0": ["0x3f80000040000000", "0x5152535455565758"] + }, + "MemoryRegions": { + "0x100000000": "4096" + } +} +%endif + +mov rdx, 0xe0000000 + +mov rax, 0x3f80000040000000 +mov [rdx + 8 * 0], rax +mov rax, 0x5152535455565758 +mov [rdx + 8 * 1], rax + +mov rax, 0x6162636465666768 +mov [rdx + 8 * 2], rax +mov rax, 0x7172737475767778 +mov [rdx + 8 * 3], rax + +movq mm0, [rdx + 8 * 2] +movaps xmm0, [rdx + 8 * 0] + +cvttps2pi mm0, xmm0 + +hlt diff --git a/unittests/ASM/TwoByte/0F_2D.asm b/unittests/ASM/TwoByte/0F_2D.asm new file mode 100644 index 000000000..5f2fa02d6 --- /dev/null +++ b/unittests/ASM/TwoByte/0F_2D.asm @@ -0,0 +1,30 @@ +%ifdef CONFIG +{ + "RegData": { + "MM0": ["0x0000000100000002", "0x0"], + "XMM0": ["0x3f80000040000000", "0x5152535455565758"] + }, + "MemoryRegions": { + "0x100000000": "4096" + } +} +%endif + +mov rdx, 0xe0000000 + +mov rax, 0x3f80000040000000 +mov [rdx + 8 * 0], rax +mov rax, 0x5152535455565758 +mov [rdx + 8 * 1], rax + +mov rax, 0x6162636465666768 +mov [rdx + 8 * 2], rax +mov rax, 0x7172737475767778 +mov [rdx + 8 * 3], rax + +movq mm0, [rdx + 8 * 2] +movaps xmm0, [rdx + 8 * 0] + +cvtps2pi mm0, xmm0 + +hlt