diff options
author | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2022-08-20 19:52:26 +0000 |
---|---|---|
committer | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2022-08-20 19:52:26 +0000 |
commit | 528571be3414b19bc3c250189bfa59e813818470 (patch) | |
tree | 5ceb5f6cc6b370f96e58f6031a9988c4dfc115cd | |
parent | b08f07c9c42e6dc978e4155d5fe86d41b9736d6a (diff) | |
download | VirtualBox-svn-528571be3414b19bc3c250189bfa59e813818470.tar.gz |
VMM/testcase/tstIEMAImpl: Implement basic haddps/haddpd/hsubps/hsubpd testcases, bugref:9898 [scm]
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@96383 cfe28804-0f27-0410-a406-dd0f0b0b656f
-rw-r--r-- | src/VBox/VMM/testcase/Makefile.kmk | 4 | ||||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImpl.cpp | 4 | ||||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImpl.h | 4 | ||||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddpd_u128.bin | bin | 0 -> 1312256 bytes | |||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddps_u128.bin | bin | 0 -> 1330688 bytes | |||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubpd_u128.bin | bin | 0 -> 1277184 bytes | |||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubps_u128.bin | bin | 0 -> 1310720 bytes | |||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.S | 4 | ||||
-rw-r--r-- | src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.asm | 56 |
9 files changed, 46 insertions, 26 deletions
diff --git a/src/VBox/VMM/testcase/Makefile.kmk b/src/VBox/VMM/testcase/Makefile.kmk index 7a51a2aa2fb..77ba21ce319 100644 --- a/src/VBox/VMM/testcase/Makefile.kmk +++ b/src/VBox/VMM/testcase/Makefile.kmk @@ -238,12 +238,16 @@ TSTIEMAIMPL_TEST_DATA_DEPS = \ tstIEMAImplDataSseBinary-minps_u128.bin \ tstIEMAImplDataSseBinary-divps_u128.bin \ tstIEMAImplDataSseBinary-maxps_u128.bin \ + tstIEMAImplDataSseBinary-haddps_u128.bin \ + tstIEMAImplDataSseBinary-hsubps_u128.bin \ tstIEMAImplDataSseBinary-addpd_u128.bin \ tstIEMAImplDataSseBinary-mulpd_u128.bin \ tstIEMAImplDataSseBinary-subpd_u128.bin \ tstIEMAImplDataSseBinary-minpd_u128.bin \ tstIEMAImplDataSseBinary-divpd_u128.bin \ tstIEMAImplDataSseBinary-maxpd_u128.bin \ + tstIEMAImplDataSseBinary-haddpd_u128.bin \ + tstIEMAImplDataSseBinary-hsubpd_u128.bin \ tstIEMAImplDataSseBinary-addss_u128_r32.bin \ tstIEMAImplDataSseBinary-addsd_u128_r64.bin \ tstIEMAImplDataSseBinary-mulss_u128_r32.bin \ diff --git a/src/VBox/VMM/testcase/tstIEMAImpl.cpp b/src/VBox/VMM/testcase/tstIEMAImpl.cpp index 9da8e8eac98..192c37ba96c 100644 --- a/src/VBox/VMM/testcase/tstIEMAImpl.cpp +++ b/src/VBox/VMM/testcase/tstIEMAImpl.cpp @@ -4475,6 +4475,8 @@ static const SSE_BINARY_R32_T g_aSseBinaryR32[] = ENTRY_BIN(minps_u128), ENTRY_BIN(divps_u128), ENTRY_BIN(maxps_u128), + ENTRY_BIN(haddps_u128), + ENTRY_BIN(hsubps_u128), }; #ifdef TSTIEMAIMPL_WITH_GENERATOR @@ -4669,6 +4671,8 @@ static const SSE_BINARY_R64_T g_aSseBinaryR64[] = ENTRY_BIN(minpd_u128), ENTRY_BIN(divpd_u128), ENTRY_BIN(maxpd_u128), + ENTRY_BIN(haddpd_u128), + ENTRY_BIN(hsubpd_u128), }; #ifdef TSTIEMAIMPL_WITH_GENERATOR diff --git a/src/VBox/VMM/testcase/tstIEMAImpl.h b/src/VBox/VMM/testcase/tstIEMAImpl.h index afa82b7b74b..679489a1ff6 100644 --- a/src/VBox/VMM/testcase/tstIEMAImpl.h +++ b/src/VBox/VMM/testcase/tstIEMAImpl.h @@ -756,6 +756,8 @@ TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, subps_u1 TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, minps_u128 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, divps_u128 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, maxps_u128 ); +TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, haddps_u128 ); +TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, hsubps_u128 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, addss_u128_r32 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R32_TEST_T, mulss_u128_r32 ); @@ -771,6 +773,8 @@ TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, subpd_u1 TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, minpd_u128 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, divpd_u128 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, maxpd_u128 ); +TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, haddpd_u128 ); +TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_TEST_T, hsubpd_u128 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, addsd_u128_r64 ); TSTIEM_DECLARE_TEST_ARRAY_BIN(SseBinary, SSE_BINARY_U128_R64_TEST_T, mulsd_u128_r64 ); diff --git a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddpd_u128.bin b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddpd_u128.bin Binary files differnew file mode 100644 index 00000000000..7b9bd4ff36d --- /dev/null +++ b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddpd_u128.bin diff --git a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddps_u128.bin b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddps_u128.bin Binary files differnew file mode 100644 index 00000000000..35364dd351b --- /dev/null +++ b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-haddps_u128.bin diff --git a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubpd_u128.bin b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubpd_u128.bin Binary files differnew file mode 100644 index 00000000000..ac12251121d --- /dev/null +++ b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubpd_u128.bin diff --git a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubps_u128.bin b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubps_u128.bin Binary files differnew file mode 100644 index 00000000000..009bb885239 --- /dev/null +++ b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary-hsubps_u128.bin diff --git a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.S b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.S index 44c7feb4a01..695e2e70cd4 100644 --- a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.S +++ b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.S @@ -55,6 +55,8 @@ IEM_TEST_DATA subps_u128, "tstIEMAImplDataSseBinary-subps_u128.bin" IEM_TEST_DATA minps_u128, "tstIEMAImplDataSseBinary-minps_u128.bin" IEM_TEST_DATA divps_u128, "tstIEMAImplDataSseBinary-divps_u128.bin" IEM_TEST_DATA maxps_u128, "tstIEMAImplDataSseBinary-maxps_u128.bin" +IEM_TEST_DATA haddps_u128, "tstIEMAImplDataSseBinary-haddps_u128.bin" +IEM_TEST_DATA hsubps_u128, "tstIEMAImplDataSseBinary-hsubps_u128.bin" IEM_TEST_DATA addss_u128_r32, "tstIEMAImplDataSseBinary-addss_u128_r32.bin" IEM_TEST_DATA mulss_u128_r32, "tstIEMAImplDataSseBinary-mulss_u128_r32.bin" @@ -70,6 +72,8 @@ IEM_TEST_DATA subpd_u128, "tstIEMAImplDataSseBinary-subpd_u128.bin" IEM_TEST_DATA minpd_u128, "tstIEMAImplDataSseBinary-minpd_u128.bin" IEM_TEST_DATA divpd_u128, "tstIEMAImplDataSseBinary-divpd_u128.bin" IEM_TEST_DATA maxpd_u128, "tstIEMAImplDataSseBinary-maxpd_u128.bin" +IEM_TEST_DATA haddpd_u128, "tstIEMAImplDataSseBinary-haddpd_u128.bin" +IEM_TEST_DATA hsubpd_u128, "tstIEMAImplDataSseBinary-hsubpd_u128.bin" IEM_TEST_DATA addsd_u128_r64, "tstIEMAImplDataSseBinary-addsd_u128_r64.bin" IEM_TEST_DATA mulsd_u128_r64, "tstIEMAImplDataSseBinary-mulsd_u128_r64.bin" diff --git a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.asm b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.asm index 9d7d6597bb9..a8a4968e58c 100644 --- a/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.asm +++ b/src/VBox/VMM/testcase/tstIEMAImplDataSseBinary.asm @@ -47,32 +47,36 @@ type g_cbTests_ %+ %1 object %endif %endmacro -IEM_TEST_DATA addps_u128, "tstIEMAImplDataSseBinary-addps_u128.bin" -IEM_TEST_DATA mulps_u128, "tstIEMAImplDataSseBinary-mulps_u128.bin" -IEM_TEST_DATA subps_u128, "tstIEMAImplDataSseBinary-subps_u128.bin" -IEM_TEST_DATA minps_u128, "tstIEMAImplDataSseBinary-minps_u128.bin" -IEM_TEST_DATA divps_u128, "tstIEMAImplDataSseBinary-divps_u128.bin" -IEM_TEST_DATA maxps_u128, "tstIEMAImplDataSseBinary-maxps_u128.bin" +IEM_TEST_DATA addps_u128, "tstIEMAImplDataSseBinary-addps_u128.bin" +IEM_TEST_DATA mulps_u128, "tstIEMAImplDataSseBinary-mulps_u128.bin" +IEM_TEST_DATA subps_u128, "tstIEMAImplDataSseBinary-subps_u128.bin" +IEM_TEST_DATA minps_u128, "tstIEMAImplDataSseBinary-minps_u128.bin" +IEM_TEST_DATA divps_u128, "tstIEMAImplDataSseBinary-divps_u128.bin" +IEM_TEST_DATA maxps_u128, "tstIEMAImplDataSseBinary-maxps_u128.bin" +IEM_TEST_DATA haddps_u128, "tstIEMAImplDataSseBinary-haddps_u128.bin" +IEM_TEST_DATA hsubps_u128, "tstIEMAImplDataSseBinary-hsubps_u128.bin" -IEM_TEST_DATA addss_u128_r32, "tstIEMAImplDataSseBinary-addss_u128_r32.bin" -IEM_TEST_DATA mulss_u128_r32, "tstIEMAImplDataSseBinary-mulss_u128_r32.bin" -IEM_TEST_DATA subss_u128_r32, "tstIEMAImplDataSseBinary-subss_u128_r32.bin" -IEM_TEST_DATA minss_u128_r32, "tstIEMAImplDataSseBinary-minss_u128_r32.bin" -IEM_TEST_DATA divss_u128_r32, "tstIEMAImplDataSseBinary-divss_u128_r32.bin" -IEM_TEST_DATA maxss_u128_r32, "tstIEMAImplDataSseBinary-maxss_u128_r32.bin" -IEM_TEST_DATA cvtss2sd_u128_r32, "tstIEMAImplDataSseBinary-cvtss2sd_u128_r32.bin" +IEM_TEST_DATA addss_u128_r32, "tstIEMAImplDataSseBinary-addss_u128_r32.bin" +IEM_TEST_DATA mulss_u128_r32, "tstIEMAImplDataSseBinary-mulss_u128_r32.bin" +IEM_TEST_DATA subss_u128_r32, "tstIEMAImplDataSseBinary-subss_u128_r32.bin" +IEM_TEST_DATA minss_u128_r32, "tstIEMAImplDataSseBinary-minss_u128_r32.bin" +IEM_TEST_DATA divss_u128_r32, "tstIEMAImplDataSseBinary-divss_u128_r32.bin" +IEM_TEST_DATA maxss_u128_r32, "tstIEMAImplDataSseBinary-maxss_u128_r32.bin" +IEM_TEST_DATA cvtss2sd_u128_r32, "tstIEMAImplDataSseBinary-cvtss2sd_u128_r32.bin" -IEM_TEST_DATA addpd_u128, "tstIEMAImplDataSseBinary-addpd_u128.bin" -IEM_TEST_DATA mulpd_u128, "tstIEMAImplDataSseBinary-mulpd_u128.bin" -IEM_TEST_DATA subpd_u128, "tstIEMAImplDataSseBinary-subpd_u128.bin" -IEM_TEST_DATA minpd_u128, "tstIEMAImplDataSseBinary-minpd_u128.bin" -IEM_TEST_DATA divpd_u128, "tstIEMAImplDataSseBinary-divpd_u128.bin" -IEM_TEST_DATA maxpd_u128, "tstIEMAImplDataSseBinary-maxpd_u128.bin" +IEM_TEST_DATA addpd_u128, "tstIEMAImplDataSseBinary-addpd_u128.bin" +IEM_TEST_DATA mulpd_u128, "tstIEMAImplDataSseBinary-mulpd_u128.bin" +IEM_TEST_DATA subpd_u128, "tstIEMAImplDataSseBinary-subpd_u128.bin" +IEM_TEST_DATA minpd_u128, "tstIEMAImplDataSseBinary-minpd_u128.bin" +IEM_TEST_DATA divpd_u128, "tstIEMAImplDataSseBinary-divpd_u128.bin" +IEM_TEST_DATA maxpd_u128, "tstIEMAImplDataSseBinary-maxpd_u128.bin" +IEM_TEST_DATA haddpd_u128, "tstIEMAImplDataSseBinary-haddpd_u128.bin" +IEM_TEST_DATA hsubpd_u128, "tstIEMAImplDataSseBinary-hsubpd_u128.bin" -IEM_TEST_DATA addsd_u128_r64, "tstIEMAImplDataSseBinary-addsd_u128_r64.bin" -IEM_TEST_DATA mulsd_u128_r64, "tstIEMAImplDataSseBinary-mulsd_u128_r64.bin" -IEM_TEST_DATA subsd_u128_r64, "tstIEMAImplDataSseBinary-subsd_u128_r64.bin" -IEM_TEST_DATA minsd_u128_r64, "tstIEMAImplDataSseBinary-minsd_u128_r64.bin" -IEM_TEST_DATA divsd_u128_r64, "tstIEMAImplDataSseBinary-divsd_u128_r64.bin" -IEM_TEST_DATA maxsd_u128_r64, "tstIEMAImplDataSseBinary-maxsd_u128_r64.bin" -IEM_TEST_DATA cvtsd2ss_u128_r64, "tstIEMAImplDataSseBinary-cvtsd2ss_u128_r64.bin" +IEM_TEST_DATA addsd_u128_r64, "tstIEMAImplDataSseBinary-addsd_u128_r64.bin" +IEM_TEST_DATA mulsd_u128_r64, "tstIEMAImplDataSseBinary-mulsd_u128_r64.bin" +IEM_TEST_DATA subsd_u128_r64, "tstIEMAImplDataSseBinary-subsd_u128_r64.bin" +IEM_TEST_DATA minsd_u128_r64, "tstIEMAImplDataSseBinary-minsd_u128_r64.bin" +IEM_TEST_DATA divsd_u128_r64, "tstIEMAImplDataSseBinary-divsd_u128_r64.bin" +IEM_TEST_DATA maxsd_u128_r64, "tstIEMAImplDataSseBinary-maxsd_u128_r64.bin" +IEM_TEST_DATA cvtsd2ss_u128_r64, "tstIEMAImplDataSseBinary-cvtsd2ss_u128_r64.bin" |