From f067572dada960b0bf6391f7de0128447a59d241 Mon Sep 17 00:00:00 2001 From: yomaytk Date: Thu, 19 Feb 2026 16:53:32 +0000 Subject: [PATCH] Add additional test patterns to X86/DATAXFER instructions. --- backend/remill/tests/X86/DATAXFER/MOVAPD.S | 132 ++++++++++++-- backend/remill/tests/X86/DATAXFER/MOVAPS.S | 132 ++++++++++++-- backend/remill/tests/X86/DATAXFER/MOVD.S | 153 +++++++++++++++- backend/remill/tests/X86/DATAXFER/MOVDQA.S | 132 ++++++++++++-- backend/remill/tests/X86/DATAXFER/MOVDQU.S | 132 ++++++++++++-- backend/remill/tests/X86/DATAXFER/MOVHLPS.S | 24 ++- backend/remill/tests/X86/DATAXFER/MOVHPD.S | 45 ++++- backend/remill/tests/X86/DATAXFER/MOVHPS.S | 45 ++++- backend/remill/tests/X86/DATAXFER/MOVLHPS.S | 24 ++- backend/remill/tests/X86/DATAXFER/MOVLPD.S | 45 ++++- backend/remill/tests/X86/DATAXFER/MOVLPS.S | 45 ++++- backend/remill/tests/X86/DATAXFER/MOVQ.S | 184 +++++++++++++++++++- backend/remill/tests/X86/DATAXFER/MOVSD.S | 121 +++++++++++-- backend/remill/tests/X86/DATAXFER/MOVSS.S | 121 +++++++++++-- backend/remill/tests/X86/DATAXFER/MOVUPD.S | 138 +++++++++++++-- backend/remill/tests/X86/DATAXFER/MOVUPS.S | 66 ++++++- 16 files changed, 1420 insertions(+), 119 deletions(-) diff --git a/backend/remill/tests/X86/DATAXFER/MOVAPD.S b/backend/remill/tests/X86/DATAXFER/MOVAPD.S index 8b87f393..5168a0e0 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVAPD.S +++ b/backend/remill/tests/X86/DATAXFER/MOVAPD.S @@ -20,26 +20,62 @@ TEST_BEGIN(MOVAPDv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movapd xmm4, xmm0 TEST_END TEST_BEGIN(MOVAPDv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movapd xmm0, xmm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(MOVAPDv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movapd xmm0, [rsp - 128] TEST_END TEST_BEGIN(MOVAPDv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movapd xmm4, [rsp - 128] TEST_END #endif // APPLE_SAFE_TESTS @@ -48,50 +84,122 @@ TEST_END TEST_BEGIN(VMOVAPDv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd xmm4, xmm0 TEST_END TEST_BEGIN(VMOVAPDv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd xmm0, xmm4 TEST_END TEST_BEGIN(VMOVAPDv256v256_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd ymm4, ymm0 TEST_END TEST_BEGIN(VMOVAPDv256v256_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd ymm0, ymm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(VMOVAPDv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd xmm0, [rsp - 128] TEST_END TEST_BEGIN(VMOVAPDv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd xmm4, [rsp - 128] TEST_END TEST_BEGIN(VMOVAPDv256m256, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd ymm0, [rsp - 128] TEST_END TEST_BEGIN(VMOVAPDv256m256_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovapd ymm4, [rsp - 128] TEST_END #endif // APPLE_SAFE_TESTS diff --git a/backend/remill/tests/X86/DATAXFER/MOVAPS.S b/backend/remill/tests/X86/DATAXFER/MOVAPS.S index 9ccd9a95..071c2887 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVAPS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVAPS.S @@ -20,26 +20,62 @@ TEST_BEGIN(MOVAPSv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movaps xmm4, xmm0 TEST_END TEST_BEGIN(MOVAPSv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movaps xmm0, xmm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(MOVAPSv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movaps xmm0, [rsp - 16] TEST_END TEST_BEGIN(MOVAPSv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movaps xmm4, [rsp - 16] TEST_END #endif // APPLE_SAFE_TESTS @@ -48,50 +84,122 @@ TEST_END TEST_BEGIN(VMOVAPSv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps xmm4, xmm0 TEST_END TEST_BEGIN(VMOVAPSv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps xmm0, xmm4 TEST_END TEST_BEGIN(VMOVAPSv256v256_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps ymm4, ymm0 TEST_END TEST_BEGIN(VMOVAPSv256v256_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps ymm0, ymm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(VMOVAPSv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps xmm0, [rsp - 16] TEST_END TEST_BEGIN(VMOVAPSv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps xmm4, [rsp - 16] TEST_END TEST_BEGIN(VMOVAPSv256m256, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps ymm0, [rsp - 32] TEST_END TEST_BEGIN(VMOVAPSv256m256_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovaps ymm4, [rsp - 32] TEST_END #endif // APPLE_SAFE_TESTS diff --git a/backend/remill/tests/X86/DATAXFER/MOVD.S b/backend/remill/tests/X86/DATAXFER/MOVD.S index 7bc31c81..ef1e296c 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVD.S +++ b/backend/remill/tests/X86/DATAXFER/MOVD.S @@ -22,8 +22,17 @@ TEST_BEGIN(MOVDv128r32, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) movd xmm0, ARG1_32 @@ -33,8 +42,17 @@ TEST_BEGIN(MOVDr32v128, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) movd xmm0, ARG1_32 @@ -44,19 +62,58 @@ TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(MOVDv128m32, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0x8000, + 0xFFFF, + 0x7FFFFFFF, + 0x80000000, + 0xFFFFFFFF) movd xmm0, DWORD PTR [rsp - 16] // Same encoding in 32-bit. TEST_END TEST_BEGIN(MOVDv128m32_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0x8000, + 0xFFFF, + 0x7FFFFFFF, + 0x80000000, + 0xFFFFFFFF) movd xmm4, DWORD PTR [rsp - 16] // Same encoding in 32-bit. TEST_END TEST_BEGIN(MOVDm32v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0x8000, + 0xFFFF, + 0x7FFFFFFF, + 0x80000000, + 0xFFFFFFFF) movd DWORD PTR [rsp - 16], xmm0 // Same encoding in 32-bit. TEST_END #endif // APPLE_SAFE_TESTS @@ -66,8 +123,17 @@ TEST_BEGIN(VMOVDv128r32, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) vmovd xmm0, ARG1_32 @@ -77,8 +143,17 @@ TEST_BEGIN(VMOVDr32v128, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) vmovd xmm0, ARG1_32 @@ -88,19 +163,58 @@ TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(VMOVDv128m32, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0x8000, + 0xFFFF, + 0x7FFFFFFF, + 0x80000000, + 0xFFFFFFFF) vmovd xmm0, DWORD PTR [rsp - 16] // Same encoding in 32-bit. TEST_END TEST_BEGIN(VMOVDv128m32_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0x8000, + 0xFFFF, + 0x7FFFFFFF, + 0x80000000, + 0xFFFFFFFF) vmovd xmm4, DWORD PTR [rsp - 16] // Same encoding in 32-bit. TEST_END TEST_BEGIN(VMOVDm32v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0x8000, + 0xFFFF, + 0x7FFFFFFF, + 0x80000000, + 0xFFFFFFFF) vmovd DWORD PTR [rsp - 16], xmm0 // Same encoding in 32-bit. TEST_END #endif // APPLE_SAFE_TESTS @@ -110,8 +224,17 @@ TEST_BEGIN(MOVDmm64r32, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) movd mm0, ARG1_32 @@ -123,8 +246,17 @@ TEST_BEGIN_64(MOVDmm64m32, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) push ARG1_64 @@ -135,8 +267,17 @@ TEST_BEGIN(MOVDm64mm64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0x3E8, + 0xBC614E, + 0x7F, + 0x80, 0xFF, + 0x7FFF, + 0x8000, 0xFFFF, + 0x7FFFFFFF, + 0x80000000, 0xFFFFFFFF) movd mm0, ARG1_32 diff --git a/backend/remill/tests/X86/DATAXFER/MOVDQA.S b/backend/remill/tests/X86/DATAXFER/MOVDQA.S index a0cd0035..0e2c7b9f 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVDQA.S +++ b/backend/remill/tests/X86/DATAXFER/MOVDQA.S @@ -20,26 +20,62 @@ TEST_BEGIN(MOVDQAv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqa xmm4, xmm0 TEST_END TEST_BEGIN(MOVDQAv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqa xmm0, xmm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(MOVDQAv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqa xmm0, [rsp - 16] TEST_END TEST_BEGIN(MOVDQAv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqa xmm4, [rsp - 16] TEST_END #endif // APPLE_SAFE_TESTS @@ -48,50 +84,122 @@ TEST_END TEST_BEGIN(VMOVDQAv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa xmm4, xmm0 TEST_END TEST_BEGIN(VMOVDQAv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa xmm0, xmm4 TEST_END TEST_BEGIN(VMOVDQAv256v256_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa ymm4, ymm0 TEST_END TEST_BEGIN(VMOVDQAv256v256_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa ymm0, ymm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(VMOVDQAv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa xmm0, [rsp - 16] TEST_END TEST_BEGIN(VMOVDQAv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa xmm4, [rsp - 16] TEST_END TEST_BEGIN(VMOVDQAv256m256, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa ymm0, [rsp - 32] TEST_END TEST_BEGIN(VMOVDQAv256m256_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqa ymm4, [rsp - 32] TEST_END #endif // APPLE_SAFE_TESTS diff --git a/backend/remill/tests/X86/DATAXFER/MOVDQU.S b/backend/remill/tests/X86/DATAXFER/MOVDQU.S index bde14ff6..6d35b7b7 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVDQU.S +++ b/backend/remill/tests/X86/DATAXFER/MOVDQU.S @@ -20,26 +20,62 @@ TEST_BEGIN(MOVDQUv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqu xmm4, xmm0 TEST_END TEST_BEGIN(MOVDQUv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqu xmm0, xmm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(MOVDQUv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqu xmm0, [rsp - 16] TEST_END TEST_BEGIN(MOVDQUv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movdqu xmm4, [rsp - 16] TEST_END #endif // APPLE_SAFE_TESTS @@ -48,50 +84,122 @@ TEST_END TEST_BEGIN(VMOVDQUv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu xmm4, xmm0 TEST_END TEST_BEGIN(VMOVDQUv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu xmm0, xmm4 TEST_END TEST_BEGIN(VMOVDQUv256v256_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu ymm4, ymm0 TEST_END TEST_BEGIN(VMOVDQUv256v256_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu ymm0, ymm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN(VMOVDQUv128m128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu xmm0, [rsp - 16] TEST_END TEST_BEGIN(VMOVDQUv128m128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu xmm4, [rsp - 16] TEST_END TEST_BEGIN(VMOVDQUv256m256, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu ymm0, [rsp - 32] TEST_END TEST_BEGIN(VMOVDQUv256m256_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovdqu ymm4, [rsp - 32] TEST_END #endif // APPLE_SAFE_TESTS diff --git a/backend/remill/tests/X86/DATAXFER/MOVHLPS.S b/backend/remill/tests/X86/DATAXFER/MOVHLPS.S index 772e2e19..5030164d 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVHLPS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVHLPS.S @@ -16,7 +16,17 @@ */ TEST_BEGIN_64(MOVHLPSv128v128, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movhlps xmm0, xmm1 movhlps xmm1, xmm2 movhlps xmm3, xmm4 @@ -26,7 +36,17 @@ TEST_END_64 #if HAS_FEATURE_AVX TEST_BEGIN_64(VMOVHLPSvv128v128v128, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovhlps xmm0, xmm1, xmm2 vmovhlps xmm1, xmm2, xmm3 vmovhlps xmm2, xmm3, xmm4 diff --git a/backend/remill/tests/X86/DATAXFER/MOVHPD.S b/backend/remill/tests/X86/DATAXFER/MOVHPD.S index fe037caf..5d571e5f 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVHPD.S +++ b/backend/remill/tests/X86/DATAXFER/MOVHPD.S @@ -16,7 +16,16 @@ TEST_BEGIN_64(MOVHPDv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movhpd xmm0,QWORD PTR [rsp - 0] /* whatever is on the stack */ movhpd xmm1,QWORD PTR [rsp - 8] @@ -30,7 +39,16 @@ TEST_END_64 TEST_BEGIN_64(MOVHPDm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movhpd QWORD PTR [rsp - 0], xmm0 movhpd QWORD PTR [rsp - 8], xmm1 @@ -45,7 +63,17 @@ TEST_END_64 #if HAS_FEATURE_AVX TEST_BEGIN_64(VMOVHPDvv128v128m64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovhpd xmm0, xmm1, QWORD PTR [rsp - 0] vmovhpd xmm1, xmm2, QWORD PTR [rsp - 8] @@ -58,7 +86,16 @@ TEST_END_64 TEST_BEGIN_64(VMOVHPDm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovhpd QWORD PTR [rsp - 0], xmm0 vmovhpd QWORD PTR [rsp - 8], xmm1 diff --git a/backend/remill/tests/X86/DATAXFER/MOVHPS.S b/backend/remill/tests/X86/DATAXFER/MOVHPS.S index e1498603..413ecf59 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVHPS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVHPS.S @@ -16,7 +16,16 @@ TEST_BEGIN_64(MOVHPSv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movhps xmm0,QWORD PTR [rsp - 0] /* whatever is on the stack */ movhps xmm1,QWORD PTR [rsp - 8] @@ -30,7 +39,16 @@ TEST_END_64 TEST_BEGIN_64(MOVHPSm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movhps QWORD PTR [rsp - 0], xmm0 movhps QWORD PTR [rsp - 8], xmm1 @@ -45,7 +63,17 @@ TEST_END_64 #if HAS_FEATURE_AVX TEST_BEGIN_64(VMOVHPSvv128v128m64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovhps xmm0, xmm1, QWORD PTR [rsp - 0] vmovhps xmm1, xmm2, QWORD PTR [rsp - 8] @@ -58,7 +86,16 @@ TEST_END_64 TEST_BEGIN_64(VMOVHPSm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovhps QWORD PTR [rsp - 0], xmm0 vmovhps QWORD PTR [rsp - 8], xmm1 diff --git a/backend/remill/tests/X86/DATAXFER/MOVLHPS.S b/backend/remill/tests/X86/DATAXFER/MOVLHPS.S index fdedcab5..260f84ef 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVLHPS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVLHPS.S @@ -16,7 +16,17 @@ */ TEST_BEGIN_64(MOVLHPSv128v128, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movlhps xmm0, xmm1 movlhps xmm1, xmm2 movlhps xmm3, xmm4 @@ -26,7 +36,17 @@ TEST_END_64 #if HAS_FEATURE_AVX TEST_BEGIN_64(VMOVLHPSvv128v128v128, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovlhps xmm0, xmm1, xmm2 vmovlhps xmm1, xmm2, xmm3 vmovlhps xmm2, xmm3, xmm4 diff --git a/backend/remill/tests/X86/DATAXFER/MOVLPD.S b/backend/remill/tests/X86/DATAXFER/MOVLPD.S index 416ecfa0..ecbcb22a 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVLPD.S +++ b/backend/remill/tests/X86/DATAXFER/MOVLPD.S @@ -16,7 +16,16 @@ TEST_BEGIN_64(MOVLPDv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movlpd xmm0,QWORD PTR [rsp - 0] /* whatever is on the stack */ movlpd xmm1,QWORD PTR [rsp - 8] @@ -30,7 +39,16 @@ TEST_END_64 TEST_BEGIN_64(MOVLPDm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movlpd QWORD PTR [rsp - 0], xmm0 movlpd QWORD PTR [rsp - 8], xmm1 @@ -45,7 +63,17 @@ TEST_END_64 #if HAS_FEATURE_AVX TEST_BEGIN_64(VMOVLPDvv128v128m64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovlpd xmm0, xmm1, QWORD PTR [rsp - 0] vmovlpd xmm1, xmm2, QWORD PTR [rsp - 8] @@ -58,7 +86,16 @@ TEST_END_64 TEST_BEGIN_64(VMOVLPDm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovlpd QWORD PTR [rsp - 0], xmm0 vmovlpd QWORD PTR [rsp - 8], xmm1 diff --git a/backend/remill/tests/X86/DATAXFER/MOVLPS.S b/backend/remill/tests/X86/DATAXFER/MOVLPS.S index 61bf3148..7d53daba 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVLPS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVLPS.S @@ -16,7 +16,16 @@ TEST_BEGIN_64(MOVLPSv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movlps xmm0,QWORD PTR [rsp - 0] /* whatever is on the stack */ movlps xmm1,QWORD PTR [rsp - 8] @@ -30,7 +39,16 @@ TEST_END_64 TEST_BEGIN_64(MOVLPSm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] movlps QWORD PTR [rsp - 0], xmm0 movlps QWORD PTR [rsp - 8], xmm1 @@ -45,7 +63,17 @@ TEST_END_64 #if HAS_FEATURE_AVX TEST_BEGIN_64(VMOVLPSvv128v128m64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovlps xmm0, xmm1, QWORD PTR [rsp - 0] vmovlps xmm1, xmm2, QWORD PTR [rsp - 8] @@ -58,7 +86,16 @@ TEST_END_64 TEST_BEGIN_64(VMOVLPSm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) lea rsp, [rsp - 64] vmovlps QWORD PTR [rsp - 0], xmm0 vmovlps QWORD PTR [rsp - 8], xmm1 diff --git a/backend/remill/tests/X86/DATAXFER/MOVQ.S b/backend/remill/tests/X86/DATAXFER/MOVQ.S index e94f7ea3..f7b52483 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVQ.S +++ b/backend/remill/tests/X86/DATAXFER/MOVQ.S @@ -22,9 +22,18 @@ TEST_BEGIN_64(MOVQv128r64_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq xmm0, ARG1_64 @@ -34,9 +43,18 @@ TEST_BEGIN_64(MOVQv128r64_4_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq xmm4, ARG1_64 @@ -45,12 +63,42 @@ TEST_END_64 #if APPLE_SAFE_TESTS TEST_BEGIN_64(MOVQv128m64_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0xFFFF, + 0x7FFFFFFF, + 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, + 0xFFFFFFFFFFFFFFFF) movq xmm0, [rsp - 16] TEST_END_64 TEST_BEGIN_64(MOVQv128m64_4_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0xFFFF, + 0x7FFFFFFF, + 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, + 0xFFFFFFFFFFFFFFFF) movq xmm4, [rsp - 16] TEST_END_64 @@ -60,9 +108,18 @@ TEST_BEGIN_64(MOVQr64v128_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq xmm0, ARG1_64 @@ -74,9 +131,18 @@ TEST_BEGIN_64(MOVQv128v128_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq xmm0, ARG1_64 @@ -88,9 +154,18 @@ TEST_BEGIN_64(VMOVQv128r64_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) vmovq xmm0, ARG1_64 @@ -100,9 +175,18 @@ TEST_BEGIN_64(VMOVQv128v128_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) vmovq xmm0, ARG1_64 @@ -113,9 +197,18 @@ TEST_BEGIN_64(VMOVQr64v128_64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) vmovq xmm0, ARG1_64 @@ -126,12 +219,42 @@ TEST_END_64 #if APPLE_SAFE_TESTS TEST_BEGIN_64(VMOVQv128m64_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0xFFFF, + 0x7FFFFFFF, + 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, + 0xFFFFFFFFFFFFFFFF) vmovq xmm0, [rsp - 16] TEST_END_64 TEST_BEGIN_64(VMOVQv128m64_4_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0xFFFF, + 0x7FFFFFFF, + 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, + 0xFFFFFFFFFFFFFFFF) vmovq xmm4, [rsp - 16] TEST_END_64 @@ -141,7 +264,22 @@ TEST_END_64 #if APPLE_SAFE_TESTS TEST_BEGIN(MOVQv64m64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, + 0xFF, + 0x7FFF, + 0xFFFF, + 0x7FFFFFFF, + 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, + 0xFFFFFFFFFFFFFFFF) movq mm0, QWORD PTR [rsp - 8] TEST_END @@ -149,9 +287,18 @@ TEST_BEGIN_64(MOVQm64v64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq mm3, ARG1_64 movq QWORD PTR [rsp - 8], mm3 @@ -163,9 +310,18 @@ TEST_BEGIN_64(MOVWmm64r64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq mm0, ARG1_64 TEST_END_64 @@ -176,9 +332,18 @@ TEST_BEGIN_64(MOVQmm64m64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) push ARG1_64 @@ -189,9 +354,18 @@ TEST_BEGIN_64(MOVQm64mm64, 1) TEST_INPUTS( 0, 1, + 0x2A, + 0xF4240, + 0x123456789ABCDEF0, + 0x7F, + 0x80, 0xFF, + 0x7FFF, 0xFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFFFFFFFFFF, + 0x8000000000000000, 0xFFFFFFFFFFFFFFFF) movq mm0, ARG1_64 diff --git a/backend/remill/tests/X86/DATAXFER/MOVSD.S b/backend/remill/tests/X86/DATAXFER/MOVSD.S index 30deb410..76347616 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVSD.S +++ b/backend/remill/tests/X86/DATAXFER/MOVSD.S @@ -18,19 +18,46 @@ TEST_BEGIN(MOVSDv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movsd xmm0,QWORD PTR [rsp - 8] TEST_END TEST_BEGIN(MOVSDv128m64_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movsd xmm1,QWORD PTR [rsp - 8] TEST_END TEST_BEGIN(MOVSDm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movsd QWORD PTR [rsp - 8], xmm0 TEST_END @@ -38,13 +65,31 @@ TEST_END TEST_BEGIN(MOVSDv128v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movsd xmm0, xmm4 TEST_END TEST_BEGIN(MOVSDv128v128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movsd xmm4, xmm0 TEST_END @@ -53,37 +98,91 @@ TEST_END TEST_BEGIN(VMOVSDv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovsd xmm0, QWORD PTR [rsp - 8] TEST_END TEST_BEGIN(VMOVSDv128m64_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovsd xmm4, QWORD PTR [rsp - 8] TEST_END TEST_BEGIN(VMOVSDm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovsd QWORD PTR [rsp - 8], xmm0 TEST_END TEST_BEGIN(VMOVSDm64v128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovsd QWORD PTR [rsp - 8], xmm4 TEST_END TEST_BEGIN(VMOVSDv128v128v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovsd xmm0, xmm1, xmm4 TEST_END TEST_BEGIN(VMOVSDv128v128v128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovsd xmm4, xmm1, xmm0 TEST_END #endif // APPLE_SAFE_TESTS diff --git a/backend/remill/tests/X86/DATAXFER/MOVSS.S b/backend/remill/tests/X86/DATAXFER/MOVSS.S index fbe9f258..bad7fae1 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVSS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVSS.S @@ -18,19 +18,46 @@ TEST_BEGIN(MOVSSv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movss xmm0,DWORD PTR [rsp - 8] TEST_END TEST_BEGIN(MOVSSv128m64_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movss xmm1,DWORD PTR [rsp - 8] TEST_END TEST_BEGIN(MOVSSm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movss DWORD PTR [rsp - 8], xmm0 TEST_END @@ -38,13 +65,31 @@ TEST_END TEST_BEGIN(MOVSSv12v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movss xmm0, xmm4 TEST_END TEST_BEGIN(MOVSSv12v128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movss xmm4, xmm0 TEST_END @@ -53,37 +98,91 @@ TEST_END TEST_BEGIN(VMOVSSv128m64, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovss xmm0,DWORD PTR [rsp - 8] TEST_END TEST_BEGIN(VMOVSSv128m64_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovss xmm4,DWORD PTR [rsp - 8] TEST_END TEST_BEGIN(VMOVSSm64v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovss DWORD PTR [rsp - 8], xmm0 TEST_END TEST_BEGIN(VMOVSSm64v128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovss DWORD PTR [rsp - 8], xmm4 TEST_END TEST_BEGIN(VMOVSSv128v128v128, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovss xmm0, xmm1, xmm4 TEST_END TEST_BEGIN(VMOVSSv128v128v128_4, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovss xmm4, xmm1, xmm0 TEST_END #endif // APPLE_SAFE_TESTS diff --git a/backend/remill/tests/X86/DATAXFER/MOVUPD.S b/backend/remill/tests/X86/DATAXFER/MOVUPD.S index 277c467a..2f6e3447 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVUPD.S +++ b/backend/remill/tests/X86/DATAXFER/MOVUPD.S @@ -20,25 +20,63 @@ TEST_BEGIN(MOVUPDv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movupd xmm4, xmm0 TEST_END TEST_BEGIN(MOVUPDv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movupd xmm0, xmm4 TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN_64(MOVUPDv128m128_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movupd xmm0, [rsp - 16] TEST_END_64 TEST_BEGIN_64(MOVUPDv128m128_1_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movupd xmm4, [rsp - 16] TEST_END_64 @@ -48,25 +86,61 @@ TEST_END_64 TEST_BEGIN(VMOVUPDv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd xmm4, xmm0 TEST_END TEST_BEGIN(VMOVUPDv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd xmm0, xmm4 TEST_END TEST_BEGIN(VMOVUPDv256v256_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd ymm4, ymm0 TEST_END TEST_BEGIN(VMOVUPDv256v256_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd ymm0, ymm4 TEST_END @@ -74,22 +148,62 @@ TEST_END #if APPLE_SAFE_TESTS TEST_BEGIN_64(VMOVUPDv128m128_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd xmm0, [rsp - 16] TEST_END_64 TEST_BEGIN_64(VMOVUPDv128m128_1_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd xmm4, [rsp - 16] TEST_END_64 TEST_BEGIN_64(VMOVUPDv256m256_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd ymm0, [rsp - 32] TEST_END_64 TEST_BEGIN_64(VMOVUPDv128m256_1_64, 1) -TEST_INPUTS(0) +TEST_INPUTS( + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovupd ymm4, [rsp - 32] TEST_END_64 diff --git a/backend/remill/tests/X86/DATAXFER/MOVUPS.S b/backend/remill/tests/X86/DATAXFER/MOVUPS.S index 3acd1e64..a88fa087 100644 --- a/backend/remill/tests/X86/DATAXFER/MOVUPS.S +++ b/backend/remill/tests/X86/DATAXFER/MOVUPS.S @@ -20,14 +20,32 @@ TEST_BEGIN(MOVUPSv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movups xmm4, xmm0 TEST_END TEST_BEGIN(MOVUPSv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) movups xmm0, xmm4 TEST_END @@ -35,25 +53,61 @@ TEST_END TEST_BEGIN(VMOVUPSv128v128_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovups xmm4, xmm0 TEST_END TEST_BEGIN(VMOVUPSv128v128_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovups xmm0, xmm4 TEST_END TEST_BEGIN(VMOVUPSv256v256_1to0, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovups ymm4, ymm0 TEST_END TEST_BEGIN(VMOVUPSv256v256_0to1, 1) TEST_INPUTS( - 0) + 0, + 1, + 0x41, + 0xFF, + 0x7F, + 0xFFFF, + 0x7FFF, + 0xFFFFFFFF, + 0x7FFFFFFF, + 0x7FFFFFFFFFFFFFFF) vmovups ymm0, ymm4 TEST_END