mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-23 10:01:59 -06:00
MIPS queue for June 21st, 2019
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJdDKeRAAoJENSXKoln91pl7OAH/30utWuYrfhakCN2AoYWo4ek LrodEAQ01rdUBPC87v6no8MFm3ZqdcefOqZcm6OjBUhV5PCzIvb1LiayYNmcNTH6 eGZ5OYCLmR1IU32AeVQVqGDTt5yZMo6csdDVfNXIYmBdibJoqQ7np0wRik5ALQQE +5dsEpzQ4GdTJp/2BggaYb67Mf0fnPCWstcw/iMuTrxBvyyyNFj88XTKq1SJVxAd glFLw8iTVfFnsad9xINj/nkUfGKVGG5LTEjv/J0v6RmjWVD1TG5FPH1q4m6tX+Ey pEY/C4QKl1quJnpQaAdMkfxb8yzKNtCV92f2Oti05/tYoW6BNTDt3GLtsz21j+Y= =uL8C -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-jun-21-2019' into staging MIPS queue for June 21st, 2019 # gpg: Signature made Fri 21 Jun 2019 10:46:57 BST # gpg: using RSA key D4972A8967F75A65 # gpg: Good signature from "Aleksandar Markovic <amarkovic@wavecomp.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 8526 FBF1 5DA3 811F 4A01 DD75 D497 2A89 67F7 5A65 * remotes/amarkovic/tags/mips-queue-jun-21-2019: target/mips: Fix emulation of ILVR.<B|H|W> on big endian host target/mips: Fix emulation of ILVL.<B|H|W> on big endian host target/mips: Fix emulation of ILVOD.<B|H|W> on big endian host target/mips: Fix emulation of ILVEV.<B|H|W> on big endian host tests/tcg: target/mips: Amend tests for MSA pack instructions tests/tcg: target/mips: Include isa/ase and group name in test output target/mips: Fix if-else-switch-case arms checkpatch errors in translate.c target/mips: Fix some space checkpatch errors in translate.c MAINTAINERS: Consolidate MIPS disassembler-related items MAINTAINERS: Update file items for MIPS Malta board Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
474f3938d7
264 changed files with 2605 additions and 942 deletions
|
@ -212,9 +212,7 @@ R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: target/mips/
|
F: target/mips/
|
||||||
F: default-configs/*mips*
|
F: default-configs/*mips*
|
||||||
F: disas/mips.c
|
F: disas/*mips*
|
||||||
F: disas/nanomips.cpp
|
|
||||||
F: disas/nanomips.h
|
|
||||||
F: hw/intc/mips_gic.c
|
F: hw/intc/mips_gic.c
|
||||||
F: hw/mips/
|
F: hw/mips/
|
||||||
F: hw/misc/mips_*
|
F: hw/misc/mips_*
|
||||||
|
@ -930,6 +928,7 @@ M: Aurelien Jarno <aurelien@aurel32.net>
|
||||||
R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: hw/mips/mips_malta.c
|
F: hw/mips/mips_malta.c
|
||||||
|
F: hw/mips/gt64xxx_pci.c
|
||||||
F: tests/acceptance/linux_ssh_mips_malta.py
|
F: tests/acceptance/linux_ssh_mips_malta.py
|
||||||
|
|
||||||
Mipssim
|
Mipssim
|
||||||
|
@ -2325,7 +2324,6 @@ M: Aurelien Jarno <aurelien@aurel32.net>
|
||||||
R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: tcg/mips/
|
F: tcg/mips/
|
||||||
F: disas/mips.c
|
|
||||||
|
|
||||||
PPC TCG target
|
PPC TCG target
|
||||||
M: Richard Henderson <rth@twiddle.net>
|
M: Richard Henderson <rth@twiddle.net>
|
||||||
|
|
|
@ -1737,6 +1737,24 @@ void helper_msa_ilvev_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
|
|
||||||
switch (df) {
|
switch (df) {
|
||||||
case DF_BYTE:
|
case DF_BYTE:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->b[8] = pws->b[9];
|
||||||
|
pwd->b[9] = pwt->b[9];
|
||||||
|
pwd->b[10] = pws->b[11];
|
||||||
|
pwd->b[11] = pwt->b[11];
|
||||||
|
pwd->b[12] = pws->b[13];
|
||||||
|
pwd->b[13] = pwt->b[13];
|
||||||
|
pwd->b[14] = pws->b[15];
|
||||||
|
pwd->b[15] = pwt->b[15];
|
||||||
|
pwd->b[0] = pws->b[1];
|
||||||
|
pwd->b[1] = pwt->b[1];
|
||||||
|
pwd->b[2] = pws->b[3];
|
||||||
|
pwd->b[3] = pwt->b[3];
|
||||||
|
pwd->b[4] = pws->b[5];
|
||||||
|
pwd->b[5] = pwt->b[5];
|
||||||
|
pwd->b[6] = pws->b[7];
|
||||||
|
pwd->b[7] = pwt->b[7];
|
||||||
|
#else
|
||||||
pwd->b[15] = pws->b[14];
|
pwd->b[15] = pws->b[14];
|
||||||
pwd->b[14] = pwt->b[14];
|
pwd->b[14] = pwt->b[14];
|
||||||
pwd->b[13] = pws->b[12];
|
pwd->b[13] = pws->b[12];
|
||||||
|
@ -1753,8 +1771,19 @@ void helper_msa_ilvev_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->b[2] = pwt->b[2];
|
pwd->b[2] = pwt->b[2];
|
||||||
pwd->b[1] = pws->b[0];
|
pwd->b[1] = pws->b[0];
|
||||||
pwd->b[0] = pwt->b[0];
|
pwd->b[0] = pwt->b[0];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_HALF:
|
case DF_HALF:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->h[4] = pws->h[5];
|
||||||
|
pwd->h[5] = pwt->h[5];
|
||||||
|
pwd->h[6] = pws->h[7];
|
||||||
|
pwd->h[7] = pwt->h[7];
|
||||||
|
pwd->h[0] = pws->h[1];
|
||||||
|
pwd->h[1] = pwt->h[1];
|
||||||
|
pwd->h[2] = pws->h[3];
|
||||||
|
pwd->h[3] = pwt->h[3];
|
||||||
|
#else
|
||||||
pwd->h[7] = pws->h[6];
|
pwd->h[7] = pws->h[6];
|
||||||
pwd->h[6] = pwt->h[6];
|
pwd->h[6] = pwt->h[6];
|
||||||
pwd->h[5] = pws->h[4];
|
pwd->h[5] = pws->h[4];
|
||||||
|
@ -1763,12 +1792,20 @@ void helper_msa_ilvev_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->h[2] = pwt->h[2];
|
pwd->h[2] = pwt->h[2];
|
||||||
pwd->h[1] = pws->h[0];
|
pwd->h[1] = pws->h[0];
|
||||||
pwd->h[0] = pwt->h[0];
|
pwd->h[0] = pwt->h[0];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_WORD:
|
case DF_WORD:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->w[2] = pws->w[3];
|
||||||
|
pwd->w[3] = pwt->w[3];
|
||||||
|
pwd->w[0] = pws->w[1];
|
||||||
|
pwd->w[1] = pwt->w[1];
|
||||||
|
#else
|
||||||
pwd->w[3] = pws->w[2];
|
pwd->w[3] = pws->w[2];
|
||||||
pwd->w[2] = pwt->w[2];
|
pwd->w[2] = pwt->w[2];
|
||||||
pwd->w[1] = pws->w[0];
|
pwd->w[1] = pws->w[0];
|
||||||
pwd->w[0] = pwt->w[0];
|
pwd->w[0] = pwt->w[0];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_DOUBLE:
|
case DF_DOUBLE:
|
||||||
pwd->d[1] = pws->d[0];
|
pwd->d[1] = pws->d[0];
|
||||||
|
@ -1788,6 +1825,24 @@ void helper_msa_ilvod_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
|
|
||||||
switch (df) {
|
switch (df) {
|
||||||
case DF_BYTE:
|
case DF_BYTE:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->b[7] = pwt->b[6];
|
||||||
|
pwd->b[6] = pws->b[6];
|
||||||
|
pwd->b[5] = pwt->b[4];
|
||||||
|
pwd->b[4] = pws->b[4];
|
||||||
|
pwd->b[3] = pwt->b[2];
|
||||||
|
pwd->b[2] = pws->b[2];
|
||||||
|
pwd->b[1] = pwt->b[0];
|
||||||
|
pwd->b[0] = pws->b[0];
|
||||||
|
pwd->b[15] = pwt->b[14];
|
||||||
|
pwd->b[14] = pws->b[14];
|
||||||
|
pwd->b[13] = pwt->b[12];
|
||||||
|
pwd->b[12] = pws->b[12];
|
||||||
|
pwd->b[11] = pwt->b[10];
|
||||||
|
pwd->b[10] = pws->b[10];
|
||||||
|
pwd->b[9] = pwt->b[8];
|
||||||
|
pwd->b[8] = pws->b[8];
|
||||||
|
#else
|
||||||
pwd->b[0] = pwt->b[1];
|
pwd->b[0] = pwt->b[1];
|
||||||
pwd->b[1] = pws->b[1];
|
pwd->b[1] = pws->b[1];
|
||||||
pwd->b[2] = pwt->b[3];
|
pwd->b[2] = pwt->b[3];
|
||||||
|
@ -1804,8 +1859,19 @@ void helper_msa_ilvod_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->b[13] = pws->b[13];
|
pwd->b[13] = pws->b[13];
|
||||||
pwd->b[14] = pwt->b[15];
|
pwd->b[14] = pwt->b[15];
|
||||||
pwd->b[15] = pws->b[15];
|
pwd->b[15] = pws->b[15];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_HALF:
|
case DF_HALF:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->h[3] = pwt->h[2];
|
||||||
|
pwd->h[2] = pws->h[2];
|
||||||
|
pwd->h[1] = pwt->h[0];
|
||||||
|
pwd->h[0] = pws->h[0];
|
||||||
|
pwd->h[7] = pwt->h[6];
|
||||||
|
pwd->h[6] = pws->h[6];
|
||||||
|
pwd->h[5] = pwt->h[4];
|
||||||
|
pwd->h[4] = pws->h[4];
|
||||||
|
#else
|
||||||
pwd->h[0] = pwt->h[1];
|
pwd->h[0] = pwt->h[1];
|
||||||
pwd->h[1] = pws->h[1];
|
pwd->h[1] = pws->h[1];
|
||||||
pwd->h[2] = pwt->h[3];
|
pwd->h[2] = pwt->h[3];
|
||||||
|
@ -1814,12 +1880,20 @@ void helper_msa_ilvod_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->h[5] = pws->h[5];
|
pwd->h[5] = pws->h[5];
|
||||||
pwd->h[6] = pwt->h[7];
|
pwd->h[6] = pwt->h[7];
|
||||||
pwd->h[7] = pws->h[7];
|
pwd->h[7] = pws->h[7];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_WORD:
|
case DF_WORD:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->w[1] = pwt->w[0];
|
||||||
|
pwd->w[0] = pws->w[0];
|
||||||
|
pwd->w[3] = pwt->w[2];
|
||||||
|
pwd->w[2] = pws->w[2];
|
||||||
|
#else
|
||||||
pwd->w[0] = pwt->w[1];
|
pwd->w[0] = pwt->w[1];
|
||||||
pwd->w[1] = pws->w[1];
|
pwd->w[1] = pws->w[1];
|
||||||
pwd->w[2] = pwt->w[3];
|
pwd->w[2] = pwt->w[3];
|
||||||
pwd->w[3] = pws->w[3];
|
pwd->w[3] = pws->w[3];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_DOUBLE:
|
case DF_DOUBLE:
|
||||||
pwd->d[0] = pwt->d[1];
|
pwd->d[0] = pwt->d[1];
|
||||||
|
@ -1839,6 +1913,24 @@ void helper_msa_ilvl_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
|
|
||||||
switch (df) {
|
switch (df) {
|
||||||
case DF_BYTE:
|
case DF_BYTE:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->b[7] = pwt->b[15];
|
||||||
|
pwd->b[6] = pws->b[15];
|
||||||
|
pwd->b[5] = pwt->b[14];
|
||||||
|
pwd->b[4] = pws->b[14];
|
||||||
|
pwd->b[3] = pwt->b[13];
|
||||||
|
pwd->b[2] = pws->b[13];
|
||||||
|
pwd->b[1] = pwt->b[12];
|
||||||
|
pwd->b[0] = pws->b[12];
|
||||||
|
pwd->b[15] = pwt->b[11];
|
||||||
|
pwd->b[14] = pws->b[11];
|
||||||
|
pwd->b[13] = pwt->b[10];
|
||||||
|
pwd->b[12] = pws->b[10];
|
||||||
|
pwd->b[11] = pwt->b[9];
|
||||||
|
pwd->b[10] = pws->b[9];
|
||||||
|
pwd->b[9] = pwt->b[8];
|
||||||
|
pwd->b[8] = pws->b[8];
|
||||||
|
#else
|
||||||
pwd->b[0] = pwt->b[8];
|
pwd->b[0] = pwt->b[8];
|
||||||
pwd->b[1] = pws->b[8];
|
pwd->b[1] = pws->b[8];
|
||||||
pwd->b[2] = pwt->b[9];
|
pwd->b[2] = pwt->b[9];
|
||||||
|
@ -1855,8 +1947,19 @@ void helper_msa_ilvl_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->b[13] = pws->b[14];
|
pwd->b[13] = pws->b[14];
|
||||||
pwd->b[14] = pwt->b[15];
|
pwd->b[14] = pwt->b[15];
|
||||||
pwd->b[15] = pws->b[15];
|
pwd->b[15] = pws->b[15];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_HALF:
|
case DF_HALF:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->h[3] = pwt->h[7];
|
||||||
|
pwd->h[2] = pws->h[7];
|
||||||
|
pwd->h[1] = pwt->h[6];
|
||||||
|
pwd->h[0] = pws->h[6];
|
||||||
|
pwd->h[7] = pwt->h[5];
|
||||||
|
pwd->h[6] = pws->h[5];
|
||||||
|
pwd->h[5] = pwt->h[4];
|
||||||
|
pwd->h[4] = pws->h[4];
|
||||||
|
#else
|
||||||
pwd->h[0] = pwt->h[4];
|
pwd->h[0] = pwt->h[4];
|
||||||
pwd->h[1] = pws->h[4];
|
pwd->h[1] = pws->h[4];
|
||||||
pwd->h[2] = pwt->h[5];
|
pwd->h[2] = pwt->h[5];
|
||||||
|
@ -1865,12 +1968,20 @@ void helper_msa_ilvl_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->h[5] = pws->h[6];
|
pwd->h[5] = pws->h[6];
|
||||||
pwd->h[6] = pwt->h[7];
|
pwd->h[6] = pwt->h[7];
|
||||||
pwd->h[7] = pws->h[7];
|
pwd->h[7] = pws->h[7];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_WORD:
|
case DF_WORD:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->w[1] = pwt->w[3];
|
||||||
|
pwd->w[0] = pws->w[3];
|
||||||
|
pwd->w[3] = pwt->w[2];
|
||||||
|
pwd->w[2] = pws->w[2];
|
||||||
|
#else
|
||||||
pwd->w[0] = pwt->w[2];
|
pwd->w[0] = pwt->w[2];
|
||||||
pwd->w[1] = pws->w[2];
|
pwd->w[1] = pws->w[2];
|
||||||
pwd->w[2] = pwt->w[3];
|
pwd->w[2] = pwt->w[3];
|
||||||
pwd->w[3] = pws->w[3];
|
pwd->w[3] = pws->w[3];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_DOUBLE:
|
case DF_DOUBLE:
|
||||||
pwd->d[0] = pwt->d[1];
|
pwd->d[0] = pwt->d[1];
|
||||||
|
@ -1890,6 +2001,24 @@ void helper_msa_ilvr_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
|
|
||||||
switch (df) {
|
switch (df) {
|
||||||
case DF_BYTE:
|
case DF_BYTE:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->b[8] = pws->b[0];
|
||||||
|
pwd->b[9] = pwt->b[0];
|
||||||
|
pwd->b[10] = pws->b[1];
|
||||||
|
pwd->b[11] = pwt->b[1];
|
||||||
|
pwd->b[12] = pws->b[2];
|
||||||
|
pwd->b[13] = pwt->b[2];
|
||||||
|
pwd->b[14] = pws->b[3];
|
||||||
|
pwd->b[15] = pwt->b[3];
|
||||||
|
pwd->b[0] = pws->b[4];
|
||||||
|
pwd->b[1] = pwt->b[4];
|
||||||
|
pwd->b[2] = pws->b[5];
|
||||||
|
pwd->b[3] = pwt->b[5];
|
||||||
|
pwd->b[4] = pws->b[6];
|
||||||
|
pwd->b[5] = pwt->b[6];
|
||||||
|
pwd->b[6] = pws->b[7];
|
||||||
|
pwd->b[7] = pwt->b[7];
|
||||||
|
#else
|
||||||
pwd->b[15] = pws->b[7];
|
pwd->b[15] = pws->b[7];
|
||||||
pwd->b[14] = pwt->b[7];
|
pwd->b[14] = pwt->b[7];
|
||||||
pwd->b[13] = pws->b[6];
|
pwd->b[13] = pws->b[6];
|
||||||
|
@ -1906,8 +2035,19 @@ void helper_msa_ilvr_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->b[2] = pwt->b[1];
|
pwd->b[2] = pwt->b[1];
|
||||||
pwd->b[1] = pws->b[0];
|
pwd->b[1] = pws->b[0];
|
||||||
pwd->b[0] = pwt->b[0];
|
pwd->b[0] = pwt->b[0];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_HALF:
|
case DF_HALF:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->h[4] = pws->h[0];
|
||||||
|
pwd->h[5] = pwt->h[0];
|
||||||
|
pwd->h[6] = pws->h[1];
|
||||||
|
pwd->h[7] = pwt->h[1];
|
||||||
|
pwd->h[0] = pws->h[2];
|
||||||
|
pwd->h[1] = pwt->h[2];
|
||||||
|
pwd->h[2] = pws->h[3];
|
||||||
|
pwd->h[3] = pwt->h[3];
|
||||||
|
#else
|
||||||
pwd->h[7] = pws->h[3];
|
pwd->h[7] = pws->h[3];
|
||||||
pwd->h[6] = pwt->h[3];
|
pwd->h[6] = pwt->h[3];
|
||||||
pwd->h[5] = pws->h[2];
|
pwd->h[5] = pws->h[2];
|
||||||
|
@ -1916,12 +2056,20 @@ void helper_msa_ilvr_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
|
||||||
pwd->h[2] = pwt->h[1];
|
pwd->h[2] = pwt->h[1];
|
||||||
pwd->h[1] = pws->h[0];
|
pwd->h[1] = pws->h[0];
|
||||||
pwd->h[0] = pwt->h[0];
|
pwd->h[0] = pwt->h[0];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_WORD:
|
case DF_WORD:
|
||||||
|
#if defined(TARGET_WORDS_BIGENDIAN)
|
||||||
|
pwd->w[2] = pws->w[0];
|
||||||
|
pwd->w[3] = pwt->w[0];
|
||||||
|
pwd->w[0] = pws->w[1];
|
||||||
|
pwd->w[1] = pwt->w[1];
|
||||||
|
#else
|
||||||
pwd->w[3] = pws->w[1];
|
pwd->w[3] = pws->w[1];
|
||||||
pwd->w[2] = pwt->w[1];
|
pwd->w[2] = pwt->w[1];
|
||||||
pwd->w[1] = pws->w[0];
|
pwd->w[1] = pws->w[0];
|
||||||
pwd->w[0] = pwt->w[0];
|
pwd->w[0] = pwt->w[0];
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DF_DOUBLE:
|
case DF_DOUBLE:
|
||||||
pwd->d[1] = pws->d[0];
|
pwd->d[1] = pws->d[0];
|
||||||
|
|
|
@ -2619,26 +2619,28 @@ static const char * const mxuregnames[] = {
|
||||||
/* General purpose registers moves. */
|
/* General purpose registers moves. */
|
||||||
static inline void gen_load_gpr(TCGv t, int reg)
|
static inline void gen_load_gpr(TCGv t, int reg)
|
||||||
{
|
{
|
||||||
if (reg == 0)
|
if (reg == 0) {
|
||||||
tcg_gen_movi_tl(t, 0);
|
tcg_gen_movi_tl(t, 0);
|
||||||
else
|
} else {
|
||||||
tcg_gen_mov_tl(t, cpu_gpr[reg]);
|
tcg_gen_mov_tl(t, cpu_gpr[reg]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static inline void gen_store_gpr(TCGv t, int reg)
|
static inline void gen_store_gpr(TCGv t, int reg)
|
||||||
{
|
{
|
||||||
if (reg != 0)
|
if (reg != 0) {
|
||||||
tcg_gen_mov_tl(cpu_gpr[reg], t);
|
tcg_gen_mov_tl(cpu_gpr[reg], t);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Moves to/from shadow registers. */
|
/* Moves to/from shadow registers. */
|
||||||
static inline void gen_load_srsgpr(int from, int to)
|
static inline void gen_load_srsgpr(int from, int to)
|
||||||
{
|
{
|
||||||
TCGv t0 = tcg_temp_new();
|
TCGv t0 = tcg_temp_new();
|
||||||
|
|
||||||
if (from == 0)
|
if (from == 0) {
|
||||||
tcg_gen_movi_tl(t0, 0);
|
tcg_gen_movi_tl(t0, 0);
|
||||||
else {
|
} else {
|
||||||
TCGv_i32 t2 = tcg_temp_new_i32();
|
TCGv_i32 t2 = tcg_temp_new_i32();
|
||||||
TCGv_ptr addr = tcg_temp_new_ptr();
|
TCGv_ptr addr = tcg_temp_new_ptr();
|
||||||
|
|
||||||
|
@ -2841,14 +2843,16 @@ static void gen_store_fpr64(DisasContext *ctx, TCGv_i64 t, int reg)
|
||||||
|
|
||||||
static inline int get_fp_bit(int cc)
|
static inline int get_fp_bit(int cc)
|
||||||
{
|
{
|
||||||
if (cc)
|
if (cc) {
|
||||||
return 24 + cc;
|
return 24 + cc;
|
||||||
else
|
} else {
|
||||||
return 23;
|
return 23;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Addresses computation */
|
/* Addresses computation */
|
||||||
static inline void gen_op_addr_add (DisasContext *ctx, TCGv ret, TCGv arg0, TCGv arg1)
|
static inline void gen_op_addr_add(DisasContext *ctx, TCGv ret, TCGv arg0,
|
||||||
|
TCGv arg1)
|
||||||
{
|
{
|
||||||
tcg_gen_add_tl(ret, arg0, arg1);
|
tcg_gen_add_tl(ret, arg0, arg1);
|
||||||
|
|
||||||
|
@ -2907,15 +2911,17 @@ static inline void gen_move_high32(TCGv ret, TCGv_i64 arg)
|
||||||
|
|
||||||
static inline void check_cp0_enabled(DisasContext *ctx)
|
static inline void check_cp0_enabled(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
if (unlikely(!(ctx->hflags & MIPS_HFLAG_CP0)))
|
if (unlikely(!(ctx->hflags & MIPS_HFLAG_CP0))) {
|
||||||
generate_exception_err(ctx, EXCP_CpU, 0);
|
generate_exception_err(ctx, EXCP_CpU, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static inline void check_cp1_enabled(DisasContext *ctx)
|
static inline void check_cp1_enabled(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
if (unlikely(!(ctx->hflags & MIPS_HFLAG_FPU)))
|
if (unlikely(!(ctx->hflags & MIPS_HFLAG_FPU))) {
|
||||||
generate_exception_err(ctx, EXCP_CpU, 1);
|
generate_exception_err(ctx, EXCP_CpU, 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Verify that the processor is running with COP1X instructions enabled.
|
/* Verify that the processor is running with COP1X instructions enabled.
|
||||||
This is associated with the nabla symbol in the MIPS32 and MIPS64
|
This is associated with the nabla symbol in the MIPS32 and MIPS64
|
||||||
|
@ -2923,18 +2929,20 @@ static inline void check_cp1_enabled(DisasContext *ctx)
|
||||||
|
|
||||||
static inline void check_cop1x(DisasContext *ctx)
|
static inline void check_cop1x(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
if (unlikely(!(ctx->hflags & MIPS_HFLAG_COP1X)))
|
if (unlikely(!(ctx->hflags & MIPS_HFLAG_COP1X))) {
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Verify that the processor is running with 64-bit floating-point
|
/* Verify that the processor is running with 64-bit floating-point
|
||||||
operations enabled. */
|
operations enabled. */
|
||||||
|
|
||||||
static inline void check_cp1_64bitmode(DisasContext *ctx)
|
static inline void check_cp1_64bitmode(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
if (unlikely(~ctx->hflags & (MIPS_HFLAG_F64 | MIPS_HFLAG_COP1X)))
|
if (unlikely(~ctx->hflags & (MIPS_HFLAG_F64 | MIPS_HFLAG_COP1X))) {
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Verify if floating point register is valid; an operation is not defined
|
* Verify if floating point register is valid; an operation is not defined
|
||||||
|
@ -2949,9 +2957,10 @@ static inline void check_cp1_64bitmode(DisasContext *ctx)
|
||||||
*/
|
*/
|
||||||
static inline void check_cp1_registers(DisasContext *ctx, int regs)
|
static inline void check_cp1_registers(DisasContext *ctx, int regs)
|
||||||
{
|
{
|
||||||
if (unlikely(!(ctx->hflags & MIPS_HFLAG_F64) && (regs & 1)))
|
if (unlikely(!(ctx->hflags & MIPS_HFLAG_F64) && (regs & 1))) {
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Verify that the processor is running with DSP instructions enabled.
|
/* Verify that the processor is running with DSP instructions enabled.
|
||||||
This is enabled by CP0 Status register MX(24) bit.
|
This is enabled by CP0 Status register MX(24) bit.
|
||||||
|
@ -3039,9 +3048,10 @@ static inline void check_ps(DisasContext *ctx)
|
||||||
instructions are not enabled. */
|
instructions are not enabled. */
|
||||||
static inline void check_mips_64(DisasContext *ctx)
|
static inline void check_mips_64(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
if (unlikely(!(ctx->hflags & MIPS_HFLAG_64)))
|
if (unlikely(!(ctx->hflags & MIPS_HFLAG_64))) {
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
@ -3125,13 +3135,12 @@ static inline void check_nms(DisasContext *ctx)
|
||||||
*/
|
*/
|
||||||
static inline void check_nms_dl_il_sl_tl_l2c(DisasContext *ctx)
|
static inline void check_nms_dl_il_sl_tl_l2c(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
if (unlikely(ctx->CP0_Config5 & (1 << CP0C5_NMS)) &&
|
if (unlikely((ctx->CP0_Config5 & (1 << CP0C5_NMS)) &&
|
||||||
!(ctx->CP0_Config1 & (1 << CP0C1_DL)) &&
|
!(ctx->CP0_Config1 & (1 << CP0C1_DL)) &&
|
||||||
!(ctx->CP0_Config1 & (1 << CP0C1_IL)) &&
|
!(ctx->CP0_Config1 & (1 << CP0C1_IL)) &&
|
||||||
!(ctx->CP0_Config2 & (1 << CP0C2_SL)) &&
|
!(ctx->CP0_Config2 & (1 << CP0C2_SL)) &&
|
||||||
!(ctx->CP0_Config2 & (1 << CP0C2_TL)) &&
|
!(ctx->CP0_Config2 & (1 << CP0C2_TL)) &&
|
||||||
!(ctx->CP0_Config5 & (1 << CP0C5_L2C)))
|
!(ctx->CP0_Config5 & (1 << CP0C5_L2C)))) {
|
||||||
{
|
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3179,23 +3188,56 @@ static inline void gen_cmp ## type ## _ ## fmt(DisasContext *ctx, int n, \
|
||||||
gen_ldcmp_fpr##bits (ctx, fp0, fs); \
|
gen_ldcmp_fpr##bits (ctx, fp0, fs); \
|
||||||
gen_ldcmp_fpr##bits (ctx, fp1, ft); \
|
gen_ldcmp_fpr##bits (ctx, fp1, ft); \
|
||||||
switch (n) { \
|
switch (n) { \
|
||||||
case 0: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _f, fp0, fp1, cc); break;\
|
case 0: \
|
||||||
case 1: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _un, fp0, fp1, cc); break;\
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _f, fp0, fp1, cc); \
|
||||||
case 2: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _eq, fp0, fp1, cc); break;\
|
break; \
|
||||||
case 3: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ueq, fp0, fp1, cc); break;\
|
case 1: \
|
||||||
case 4: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _olt, fp0, fp1, cc); break;\
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _un, fp0, fp1, cc); \
|
||||||
case 5: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ult, fp0, fp1, cc); break;\
|
break; \
|
||||||
case 6: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ole, fp0, fp1, cc); break;\
|
case 2: \
|
||||||
case 7: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ule, fp0, fp1, cc); break;\
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _eq, fp0, fp1, cc); \
|
||||||
case 8: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _sf, fp0, fp1, cc); break;\
|
break; \
|
||||||
case 9: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ngle, fp0, fp1, cc); break;\
|
case 3: \
|
||||||
case 10: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _seq, fp0, fp1, cc); break;\
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ueq, fp0, fp1, cc); \
|
||||||
case 11: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ngl, fp0, fp1, cc); break;\
|
break; \
|
||||||
case 12: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _lt, fp0, fp1, cc); break;\
|
case 4: \
|
||||||
case 13: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _nge, fp0, fp1, cc); break;\
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _olt, fp0, fp1, cc); \
|
||||||
case 14: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _le, fp0, fp1, cc); break;\
|
break; \
|
||||||
case 15: gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ngt, fp0, fp1, cc); break;\
|
case 5: \
|
||||||
default: abort(); \
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ult, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 6: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ole, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 7: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ule, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 8: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _sf, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 9: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ngle, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 10: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _seq, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 11: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ngl, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 12: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _lt, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 13: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _nge, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 14: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _le, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
case 15: \
|
||||||
|
gen_helper_0e2i(cmp ## type ## _ ## fmt ## _ngt, fp0, fp1, cc); \
|
||||||
|
break; \
|
||||||
|
default: \
|
||||||
|
abort(); \
|
||||||
} \
|
} \
|
||||||
tcg_temp_free_i##bits (fp0); \
|
tcg_temp_free_i##bits (fp0); \
|
||||||
tcg_temp_free_i##bits (fp1); \
|
tcg_temp_free_i##bits (fp1); \
|
||||||
|
@ -3881,22 +3923,25 @@ static void gen_logic_imm(DisasContext *ctx, uint32_t opc,
|
||||||
uimm = (uint16_t)imm;
|
uimm = (uint16_t)imm;
|
||||||
switch (opc) {
|
switch (opc) {
|
||||||
case OPC_ANDI:
|
case OPC_ANDI:
|
||||||
if (likely(rs != 0))
|
if (likely(rs != 0)) {
|
||||||
tcg_gen_andi_tl(cpu_gpr[rt], cpu_gpr[rs], uimm);
|
tcg_gen_andi_tl(cpu_gpr[rt], cpu_gpr[rs], uimm);
|
||||||
else
|
} else {
|
||||||
tcg_gen_movi_tl(cpu_gpr[rt], 0);
|
tcg_gen_movi_tl(cpu_gpr[rt], 0);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case OPC_ORI:
|
case OPC_ORI:
|
||||||
if (rs != 0)
|
if (rs != 0) {
|
||||||
tcg_gen_ori_tl(cpu_gpr[rt], cpu_gpr[rs], uimm);
|
tcg_gen_ori_tl(cpu_gpr[rt], cpu_gpr[rs], uimm);
|
||||||
else
|
} else {
|
||||||
tcg_gen_movi_tl(cpu_gpr[rt], uimm);
|
tcg_gen_movi_tl(cpu_gpr[rt], uimm);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case OPC_XORI:
|
case OPC_XORI:
|
||||||
if (likely(rs != 0))
|
if (likely(rs != 0)) {
|
||||||
tcg_gen_xori_tl(cpu_gpr[rt], cpu_gpr[rs], uimm);
|
tcg_gen_xori_tl(cpu_gpr[rt], cpu_gpr[rs], uimm);
|
||||||
else
|
} else {
|
||||||
tcg_gen_movi_tl(cpu_gpr[rt], uimm);
|
tcg_gen_movi_tl(cpu_gpr[rt], uimm);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case OPC_LUI:
|
case OPC_LUI:
|
||||||
if (rs != 0 && (ctx->insn_flags & ISA_MIPS32R6)) {
|
if (rs != 0 && (ctx->insn_flags & ISA_MIPS32R6)) {
|
||||||
|
@ -6059,8 +6104,9 @@ static void gen_compute_branch (DisasContext *ctx, uint32_t opc,
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (insn_bytes == 2)
|
if (insn_bytes == 2) {
|
||||||
ctx->hflags |= MIPS_HFLAG_B16;
|
ctx->hflags |= MIPS_HFLAG_B16;
|
||||||
|
}
|
||||||
tcg_temp_free(t0);
|
tcg_temp_free(t0);
|
||||||
tcg_temp_free(t1);
|
tcg_temp_free(t1);
|
||||||
}
|
}
|
||||||
|
@ -6707,8 +6753,9 @@ static void gen_mfc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
||||||
{
|
{
|
||||||
const char *register_name = "invalid";
|
const char *register_name = "invalid";
|
||||||
|
|
||||||
if (sel != 0)
|
if (sel != 0) {
|
||||||
check_insn(ctx, ISA_MIPS32);
|
check_insn(ctx, ISA_MIPS32);
|
||||||
|
}
|
||||||
|
|
||||||
switch (reg) {
|
switch (reg) {
|
||||||
case CP0_REGISTER_00:
|
case CP0_REGISTER_00:
|
||||||
|
@ -7463,8 +7510,9 @@ static void gen_mtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
||||||
{
|
{
|
||||||
const char *register_name = "invalid";
|
const char *register_name = "invalid";
|
||||||
|
|
||||||
if (sel != 0)
|
if (sel != 0) {
|
||||||
check_insn(ctx, ISA_MIPS32);
|
check_insn(ctx, ISA_MIPS32);
|
||||||
|
}
|
||||||
|
|
||||||
if (tb_cflags(ctx->base.tb) & CF_USE_ICOUNT) {
|
if (tb_cflags(ctx->base.tb) & CF_USE_ICOUNT) {
|
||||||
gen_io_start();
|
gen_io_start();
|
||||||
|
@ -8209,8 +8257,9 @@ static void gen_dmfc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
||||||
{
|
{
|
||||||
const char *register_name = "invalid";
|
const char *register_name = "invalid";
|
||||||
|
|
||||||
if (sel != 0)
|
if (sel != 0) {
|
||||||
check_insn(ctx, ISA_MIPS64);
|
check_insn(ctx, ISA_MIPS64);
|
||||||
|
}
|
||||||
|
|
||||||
switch (reg) {
|
switch (reg) {
|
||||||
case CP0_REGISTER_00:
|
case CP0_REGISTER_00:
|
||||||
|
@ -8919,8 +8968,9 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
||||||
{
|
{
|
||||||
const char *register_name = "invalid";
|
const char *register_name = "invalid";
|
||||||
|
|
||||||
if (sel != 0)
|
if (sel != 0) {
|
||||||
check_insn(ctx, ISA_MIPS64);
|
check_insn(ctx, ISA_MIPS64);
|
||||||
|
}
|
||||||
|
|
||||||
if (tb_cflags(ctx->base.tb) & CF_USE_ICOUNT) {
|
if (tb_cflags(ctx->base.tb) & CF_USE_ICOUNT) {
|
||||||
gen_io_start();
|
gen_io_start();
|
||||||
|
@ -9657,12 +9707,12 @@ static void gen_mftr(CPUMIPSState *env, DisasContext *ctx, int rt, int rd,
|
||||||
|
|
||||||
if ((env->CP0_VPEConf0 & (1 << CP0VPEC0_MVP)) == 0 &&
|
if ((env->CP0_VPEConf0 & (1 << CP0VPEC0_MVP)) == 0 &&
|
||||||
((env->tcs[other_tc].CP0_TCBind & (0xf << CP0TCBd_CurVPE)) !=
|
((env->tcs[other_tc].CP0_TCBind & (0xf << CP0TCBd_CurVPE)) !=
|
||||||
(env->active_tc.CP0_TCBind & (0xf << CP0TCBd_CurVPE))))
|
(env->active_tc.CP0_TCBind & (0xf << CP0TCBd_CurVPE)))) {
|
||||||
tcg_gen_movi_tl(t0, -1);
|
tcg_gen_movi_tl(t0, -1);
|
||||||
else if ((env->CP0_VPEControl & (0xff << CP0VPECo_TargTC)) >
|
} else if ((env->CP0_VPEControl & (0xff << CP0VPECo_TargTC)) >
|
||||||
(env->mvp->CP0_MVPConf0 & (0xff << CP0MVPC0_PTC)))
|
(env->mvp->CP0_MVPConf0 & (0xff << CP0MVPC0_PTC))) {
|
||||||
tcg_gen_movi_tl(t0, -1);
|
tcg_gen_movi_tl(t0, -1);
|
||||||
else if (u == 0) {
|
} else if (u == 0) {
|
||||||
switch (rt) {
|
switch (rt) {
|
||||||
case 1:
|
case 1:
|
||||||
switch (sel) {
|
switch (sel) {
|
||||||
|
@ -9882,12 +9932,12 @@ static void gen_mttr(CPUMIPSState *env, DisasContext *ctx, int rd, int rt,
|
||||||
gen_load_gpr(t0, rt);
|
gen_load_gpr(t0, rt);
|
||||||
if ((env->CP0_VPEConf0 & (1 << CP0VPEC0_MVP)) == 0 &&
|
if ((env->CP0_VPEConf0 & (1 << CP0VPEC0_MVP)) == 0 &&
|
||||||
((env->tcs[other_tc].CP0_TCBind & (0xf << CP0TCBd_CurVPE)) !=
|
((env->tcs[other_tc].CP0_TCBind & (0xf << CP0TCBd_CurVPE)) !=
|
||||||
(env->active_tc.CP0_TCBind & (0xf << CP0TCBd_CurVPE))))
|
(env->active_tc.CP0_TCBind & (0xf << CP0TCBd_CurVPE)))) {
|
||||||
/* NOP */ ;
|
/* NOP */ ;
|
||||||
else if ((env->CP0_VPEControl & (0xff << CP0VPECo_TargTC)) >
|
} else if ((env->CP0_VPEControl & (0xff << CP0VPECo_TargTC)) >
|
||||||
(env->mvp->CP0_MVPConf0 & (0xff << CP0MVPC0_PTC)))
|
(env->mvp->CP0_MVPConf0 & (0xff << CP0MVPC0_PTC))) {
|
||||||
/* NOP */ ;
|
/* NOP */ ;
|
||||||
else if (u == 0) {
|
} else if (u == 0) {
|
||||||
switch (rd) {
|
switch (rd) {
|
||||||
case 1:
|
case 1:
|
||||||
switch (sel) {
|
switch (sel) {
|
||||||
|
@ -10077,7 +10127,8 @@ die:
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_cp0 (CPUMIPSState *env, DisasContext *ctx, uint32_t opc, int rt, int rd)
|
static void gen_cp0(CPUMIPSState *env, DisasContext *ctx, uint32_t opc,
|
||||||
|
int rt, int rd)
|
||||||
{
|
{
|
||||||
const char *opn = "ldst";
|
const char *opn = "ldst";
|
||||||
|
|
||||||
|
@ -10160,8 +10211,9 @@ static void gen_cp0 (CPUMIPSState *env, DisasContext *ctx, uint32_t opc, int rt,
|
||||||
break;
|
break;
|
||||||
case OPC_TLBWI:
|
case OPC_TLBWI:
|
||||||
opn = "tlbwi";
|
opn = "tlbwi";
|
||||||
if (!env->tlb->helper_tlbwi)
|
if (!env->tlb->helper_tlbwi) {
|
||||||
goto die;
|
goto die;
|
||||||
|
}
|
||||||
gen_helper_tlbwi(cpu_env);
|
gen_helper_tlbwi(cpu_env);
|
||||||
break;
|
break;
|
||||||
case OPC_TLBINV:
|
case OPC_TLBINV:
|
||||||
|
@ -10184,20 +10236,23 @@ static void gen_cp0 (CPUMIPSState *env, DisasContext *ctx, uint32_t opc, int rt,
|
||||||
break;
|
break;
|
||||||
case OPC_TLBWR:
|
case OPC_TLBWR:
|
||||||
opn = "tlbwr";
|
opn = "tlbwr";
|
||||||
if (!env->tlb->helper_tlbwr)
|
if (!env->tlb->helper_tlbwr) {
|
||||||
goto die;
|
goto die;
|
||||||
|
}
|
||||||
gen_helper_tlbwr(cpu_env);
|
gen_helper_tlbwr(cpu_env);
|
||||||
break;
|
break;
|
||||||
case OPC_TLBP:
|
case OPC_TLBP:
|
||||||
opn = "tlbp";
|
opn = "tlbp";
|
||||||
if (!env->tlb->helper_tlbp)
|
if (!env->tlb->helper_tlbp) {
|
||||||
goto die;
|
goto die;
|
||||||
|
}
|
||||||
gen_helper_tlbp(cpu_env);
|
gen_helper_tlbp(cpu_env);
|
||||||
break;
|
break;
|
||||||
case OPC_TLBR:
|
case OPC_TLBR:
|
||||||
opn = "tlbr";
|
opn = "tlbr";
|
||||||
if (!env->tlb->helper_tlbr)
|
if (!env->tlb->helper_tlbr) {
|
||||||
goto die;
|
goto die;
|
||||||
|
}
|
||||||
gen_helper_tlbr(cpu_env);
|
gen_helper_tlbr(cpu_env);
|
||||||
break;
|
break;
|
||||||
case OPC_ERET: /* OPC_ERETNC */
|
case OPC_ERET: /* OPC_ERETNC */
|
||||||
|
@ -10271,8 +10326,9 @@ static void gen_compute_branch1(DisasContext *ctx, uint32_t op,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cc != 0)
|
if (cc != 0) {
|
||||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS32);
|
check_insn(ctx, ISA_MIPS4 | ISA_MIPS32);
|
||||||
|
}
|
||||||
|
|
||||||
btarget = ctx->base.pc_next + 4 + offset;
|
btarget = ctx->base.pc_next + 4 + offset;
|
||||||
|
|
||||||
|
@ -10633,6 +10689,7 @@ enum r6_f_cmp_op {
|
||||||
R6_OPC_CMP_SUNE_D = FOP(26, FMT_L),
|
R6_OPC_CMP_SUNE_D = FOP(26, FMT_L),
|
||||||
R6_OPC_CMP_SNE_D = FOP(27, FMT_L),
|
R6_OPC_CMP_SNE_D = FOP(27, FMT_L),
|
||||||
};
|
};
|
||||||
|
|
||||||
static void gen_cp1(DisasContext *ctx, uint32_t opc, int rt, int fs)
|
static void gen_cp1(DisasContext *ctx, uint32_t opc, int rt, int fs)
|
||||||
{
|
{
|
||||||
TCGv t0 = tcg_temp_new();
|
TCGv t0 = tcg_temp_new();
|
||||||
|
@ -10725,10 +10782,11 @@ static void gen_movci (DisasContext *ctx, int rd, int rs, int cc, int tf)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tf)
|
if (tf) {
|
||||||
cond = TCG_COND_EQ;
|
cond = TCG_COND_EQ;
|
||||||
else
|
} else {
|
||||||
cond = TCG_COND_NE;
|
cond = TCG_COND_NE;
|
||||||
|
}
|
||||||
|
|
||||||
l1 = gen_new_label();
|
l1 = gen_new_label();
|
||||||
t0 = tcg_temp_new_i32();
|
t0 = tcg_temp_new_i32();
|
||||||
|
@ -10750,10 +10808,11 @@ static inline void gen_movcf_s(DisasContext *ctx, int fs, int fd, int cc,
|
||||||
TCGv_i32 t0 = tcg_temp_new_i32();
|
TCGv_i32 t0 = tcg_temp_new_i32();
|
||||||
TCGLabel *l1 = gen_new_label();
|
TCGLabel *l1 = gen_new_label();
|
||||||
|
|
||||||
if (tf)
|
if (tf) {
|
||||||
cond = TCG_COND_EQ;
|
cond = TCG_COND_EQ;
|
||||||
else
|
} else {
|
||||||
cond = TCG_COND_NE;
|
cond = TCG_COND_NE;
|
||||||
|
}
|
||||||
|
|
||||||
tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc));
|
tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc));
|
||||||
tcg_gen_brcondi_i32(cond, t0, 0, l1);
|
tcg_gen_brcondi_i32(cond, t0, 0, l1);
|
||||||
|
@ -10763,17 +10822,19 @@ static inline void gen_movcf_s(DisasContext *ctx, int fs, int fd, int cc,
|
||||||
tcg_temp_free_i32(t0);
|
tcg_temp_free_i32(t0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void gen_movcf_d (DisasContext *ctx, int fs, int fd, int cc, int tf)
|
static inline void gen_movcf_d(DisasContext *ctx, int fs, int fd, int cc,
|
||||||
|
int tf)
|
||||||
{
|
{
|
||||||
int cond;
|
int cond;
|
||||||
TCGv_i32 t0 = tcg_temp_new_i32();
|
TCGv_i32 t0 = tcg_temp_new_i32();
|
||||||
TCGv_i64 fp0;
|
TCGv_i64 fp0;
|
||||||
TCGLabel *l1 = gen_new_label();
|
TCGLabel *l1 = gen_new_label();
|
||||||
|
|
||||||
if (tf)
|
if (tf) {
|
||||||
cond = TCG_COND_EQ;
|
cond = TCG_COND_EQ;
|
||||||
else
|
} else {
|
||||||
cond = TCG_COND_NE;
|
cond = TCG_COND_NE;
|
||||||
|
}
|
||||||
|
|
||||||
tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc));
|
tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc));
|
||||||
tcg_gen_brcondi_i32(cond, t0, 0, l1);
|
tcg_gen_brcondi_i32(cond, t0, 0, l1);
|
||||||
|
@ -10793,10 +10854,11 @@ static inline void gen_movcf_ps(DisasContext *ctx, int fs, int fd,
|
||||||
TCGLabel *l1 = gen_new_label();
|
TCGLabel *l1 = gen_new_label();
|
||||||
TCGLabel *l2 = gen_new_label();
|
TCGLabel *l2 = gen_new_label();
|
||||||
|
|
||||||
if (tf)
|
if (tf) {
|
||||||
cond = TCG_COND_EQ;
|
cond = TCG_COND_EQ;
|
||||||
else
|
} else {
|
||||||
cond = TCG_COND_NE;
|
cond = TCG_COND_NE;
|
||||||
|
}
|
||||||
|
|
||||||
tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc));
|
tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc));
|
||||||
tcg_gen_brcondi_i32(cond, t0, 0, l1);
|
tcg_gen_brcondi_i32(cond, t0, 0, l1);
|
||||||
|
@ -12092,8 +12154,9 @@ static void gen_farith (DisasContext *ctx, enum fopcode op1,
|
||||||
TCGLabel *l1 = gen_new_label();
|
TCGLabel *l1 = gen_new_label();
|
||||||
TCGv_i64 fp0;
|
TCGv_i64 fp0;
|
||||||
|
|
||||||
if (ft != 0)
|
if (ft != 0) {
|
||||||
tcg_gen_brcondi_tl(TCG_COND_NE, cpu_gpr[ft], 0, l1);
|
tcg_gen_brcondi_tl(TCG_COND_NE, cpu_gpr[ft], 0, l1);
|
||||||
|
}
|
||||||
fp0 = tcg_temp_new_i64();
|
fp0 = tcg_temp_new_i64();
|
||||||
gen_load_fpr64(ctx, fp0, fs);
|
gen_load_fpr64(ctx, fp0, fs);
|
||||||
gen_store_fpr64(ctx, fp0, fd);
|
gen_store_fpr64(ctx, fp0, fd);
|
||||||
|
@ -29987,13 +30050,15 @@ void mips_cpu_dump_state(CPUState *cs, FILE *f, int flags)
|
||||||
env->active_tc.PC, env->active_tc.HI[0], env->active_tc.LO[0],
|
env->active_tc.PC, env->active_tc.HI[0], env->active_tc.LO[0],
|
||||||
env->hflags, env->btarget, env->bcond);
|
env->hflags, env->btarget, env->bcond);
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
if ((i & 3) == 0)
|
if ((i & 3) == 0) {
|
||||||
qemu_fprintf(f, "GPR%02d:", i);
|
qemu_fprintf(f, "GPR%02d:", i);
|
||||||
|
}
|
||||||
qemu_fprintf(f, " %s " TARGET_FMT_lx,
|
qemu_fprintf(f, " %s " TARGET_FMT_lx,
|
||||||
regnames[i], env->active_tc.gpr[i]);
|
regnames[i], env->active_tc.gpr[i]);
|
||||||
if ((i & 3) == 3)
|
if ((i & 3) == 3) {
|
||||||
qemu_fprintf(f, "\n");
|
qemu_fprintf(f, "\n");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
qemu_fprintf(f, "CP0 Status 0x%08x Cause 0x%08x EPC 0x" TARGET_FMT_lx "\n",
|
qemu_fprintf(f, "CP0 Status 0x%08x Cause 0x%08x EPC 0x" TARGET_FMT_lx "\n",
|
||||||
env->CP0_Status, env->CP0_Cause, env->CP0_EPC);
|
env->CP0_Status, env->CP0_Cause, env->CP0_EPC);
|
||||||
|
|
|
@ -30,7 +30,9 @@
|
||||||
#define PRINT_RESULTS 0
|
#define PRINT_RESULTS 0
|
||||||
|
|
||||||
|
|
||||||
static inline int32_t check_results(const char *instruction_name,
|
static inline int32_t check_results_128(const char *isa_ase_name,
|
||||||
|
const char *group_name,
|
||||||
|
const char *instruction_name,
|
||||||
const uint32_t test_count,
|
const uint32_t test_count,
|
||||||
const double elapsed_time,
|
const double elapsed_time,
|
||||||
const uint64_t *b128_result,
|
const uint64_t *b128_result,
|
||||||
|
@ -56,7 +58,8 @@ static inline int32_t check_results(const char *instruction_name,
|
||||||
uint32_t pass_count = 0;
|
uint32_t pass_count = 0;
|
||||||
uint32_t fail_count = 0;
|
uint32_t fail_count = 0;
|
||||||
|
|
||||||
printf("%s: ", instruction_name);
|
printf("| %-10s \t| %-20s\t| %-16s \t|",
|
||||||
|
isa_ase_name, group_name, instruction_name);
|
||||||
for (i = 0; i < test_count; i++) {
|
for (i = 0; i < test_count; i++) {
|
||||||
if ((b128_result[2 * i] == b128_expect[2 * i]) &&
|
if ((b128_result[2 * i] == b128_expect[2 * i]) &&
|
||||||
(b128_result[2 * i + 1] == b128_expect[2 * i + 1])) {
|
(b128_result[2 * i + 1] == b128_expect[2 * i + 1])) {
|
||||||
|
@ -66,7 +69,7 @@ static inline int32_t check_results(const char *instruction_name,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\tPASS: %3d \tFAIL: %3d \telapsed time: %5.2f ms\n",
|
printf(" PASS: %3d \t| FAIL: %3d \t| elapsed time: %5.2f ms \t|\n",
|
||||||
pass_count, fail_count, elapsed_time);
|
pass_count, fail_count, elapsed_time);
|
||||||
|
|
||||||
if (fail_count > 0) {
|
if (fail_count > 0) {
|
||||||
|
|
|
@ -30,7 +30,9 @@
|
||||||
#define PRINT_RESULTS 0
|
#define PRINT_RESULTS 0
|
||||||
|
|
||||||
|
|
||||||
static inline int32_t check_results_64(const char *instruction_name,
|
static inline int32_t check_results_64(const char *isa_ase_name,
|
||||||
|
const char *group_name,
|
||||||
|
const char *instruction_name,
|
||||||
const uint32_t test_count,
|
const uint32_t test_count,
|
||||||
const double elapsed_time,
|
const double elapsed_time,
|
||||||
const uint64_t *b64_result,
|
const uint64_t *b64_result,
|
||||||
|
@ -55,7 +57,8 @@ static inline int32_t check_results_64(const char *instruction_name,
|
||||||
uint32_t pass_count = 0;
|
uint32_t pass_count = 0;
|
||||||
uint32_t fail_count = 0;
|
uint32_t fail_count = 0;
|
||||||
|
|
||||||
printf("%s: ", instruction_name);
|
printf("| %-10s \t| %-20s\t| %-16s \t|",
|
||||||
|
isa_ase_name, group_name, instruction_name);
|
||||||
for (i = 0; i < test_count; i++) {
|
for (i = 0; i < test_count; i++) {
|
||||||
if (b64_result[i] == b64_expect[i]) {
|
if (b64_result[i] == b64_expect[i]) {
|
||||||
pass_count++;
|
pass_count++;
|
||||||
|
@ -64,7 +67,7 @@ static inline int32_t check_results_64(const char *instruction_name,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("PASS: %3d FAIL: %3d elapsed time: %5.2f ms\n",
|
printf(" PASS: %3d \t| FAIL: %3d \t| elapsed time: %5.2f ms \t|\n",
|
||||||
pass_count, fail_count, elapsed_time);
|
pass_count, fail_count, elapsed_time);
|
||||||
|
|
||||||
if (fail_count > 0) {
|
if (fail_count > 0) {
|
||||||
|
|
|
@ -555,19 +555,43 @@ DO_MSA__WD__WS_WT(XOR_V, xor.v)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DO_MSA__WD__WS_WT(PCKEV_B, pckev.b)
|
DO_MSA__WD__WS_WT(PCKEV_B, pckev.b)
|
||||||
|
DO_MSA__WD__WD_WT(PCKEV_B__DDT, pckev.b)
|
||||||
|
DO_MSA__WD__WS_WD(PCKEV_B__DSD, pckev.b)
|
||||||
DO_MSA__WD__WS_WT(PCKEV_H, pckev.h)
|
DO_MSA__WD__WS_WT(PCKEV_H, pckev.h)
|
||||||
|
DO_MSA__WD__WD_WT(PCKEV_H__DDT, pckev.h)
|
||||||
|
DO_MSA__WD__WS_WD(PCKEV_H__DSD, pckev.h)
|
||||||
DO_MSA__WD__WS_WT(PCKEV_W, pckev.w)
|
DO_MSA__WD__WS_WT(PCKEV_W, pckev.w)
|
||||||
|
DO_MSA__WD__WD_WT(PCKEV_W__DDT, pckev.w)
|
||||||
|
DO_MSA__WD__WS_WD(PCKEV_W__DSD, pckev.w)
|
||||||
DO_MSA__WD__WS_WT(PCKEV_D, pckev.d)
|
DO_MSA__WD__WS_WT(PCKEV_D, pckev.d)
|
||||||
|
DO_MSA__WD__WD_WT(PCKEV_D__DDT, pckev.d)
|
||||||
|
DO_MSA__WD__WS_WD(PCKEV_D__DSD, pckev.d)
|
||||||
|
|
||||||
DO_MSA__WD__WS_WT(PCKOD_B, pckod.b)
|
DO_MSA__WD__WS_WT(PCKOD_B, pckod.b)
|
||||||
|
DO_MSA__WD__WD_WT(PCKOD_B__DDT, pckod.b)
|
||||||
|
DO_MSA__WD__WS_WD(PCKOD_B__DSD, pckod.b)
|
||||||
DO_MSA__WD__WS_WT(PCKOD_H, pckod.h)
|
DO_MSA__WD__WS_WT(PCKOD_H, pckod.h)
|
||||||
|
DO_MSA__WD__WD_WT(PCKOD_H__DDT, pckod.h)
|
||||||
|
DO_MSA__WD__WS_WD(PCKOD_H__DSD, pckod.h)
|
||||||
DO_MSA__WD__WS_WT(PCKOD_W, pckod.w)
|
DO_MSA__WD__WS_WT(PCKOD_W, pckod.w)
|
||||||
|
DO_MSA__WD__WD_WT(PCKOD_W__DDT, pckod.w)
|
||||||
|
DO_MSA__WD__WS_WD(PCKOD_W__DSD, pckod.w)
|
||||||
DO_MSA__WD__WS_WT(PCKOD_D, pckod.d)
|
DO_MSA__WD__WS_WT(PCKOD_D, pckod.d)
|
||||||
|
DO_MSA__WD__WD_WT(PCKOD_D__DDT, pckod.d)
|
||||||
|
DO_MSA__WD__WS_WD(PCKOD_D__DSD, pckod.d)
|
||||||
|
|
||||||
DO_MSA__WD__WS_WT(VSHF_B, vshf.b)
|
DO_MSA__WD__WS_WT(VSHF_B, vshf.b)
|
||||||
|
DO_MSA__WD__WD_WT(VSHF_B__DDT, vshf.b)
|
||||||
|
DO_MSA__WD__WS_WD(VSHF_B__DSD, vshf.b)
|
||||||
DO_MSA__WD__WS_WT(VSHF_H, vshf.h)
|
DO_MSA__WD__WS_WT(VSHF_H, vshf.h)
|
||||||
|
DO_MSA__WD__WD_WT(VSHF_H__DDT, vshf.h)
|
||||||
|
DO_MSA__WD__WS_WD(VSHF_H__DSD, vshf.h)
|
||||||
DO_MSA__WD__WS_WT(VSHF_W, vshf.w)
|
DO_MSA__WD__WS_WT(VSHF_W, vshf.w)
|
||||||
|
DO_MSA__WD__WD_WT(VSHF_W__DDT, vshf.w)
|
||||||
|
DO_MSA__WD__WS_WD(VSHF_W__DSD, vshf.w)
|
||||||
DO_MSA__WD__WS_WT(VSHF_D, vshf.d)
|
DO_MSA__WD__WS_WT(VSHF_D, vshf.d)
|
||||||
|
DO_MSA__WD__WD_WT(VSHF_D__DDT, vshf.d)
|
||||||
|
DO_MSA__WD__WS_WD(VSHF_D__DSD, vshf.d)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLOC.B";
|
char *instruction_name = "NLOC.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLOC.D";
|
char *instruction_name = "NLOC.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLOC.H";
|
char *instruction_name = "NLOC.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLOC.W";
|
char *instruction_name = "NLOC.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLZC.B";
|
char *instruction_name = "NLZC.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLZC.D";
|
char *instruction_name = "NLZC.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLZC.H";
|
char *instruction_name = "NLZC.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "NLZC.W";
|
char *instruction_name = "NLZC.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "PCNT.B";
|
char *instruction_name = "PCNT.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "PCNT.D";
|
char *instruction_name = "PCNT.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "PCNT.H";
|
char *instruction_name = "PCNT.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Count";
|
||||||
char *instruction_name = "PCNT.W";
|
char *instruction_name = "PCNT.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -139,7 +141,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BCLR.B";
|
char *instruction_name = "BCLR.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BCLR.D";
|
char *instruction_name = "BCLR.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BCLR.H";
|
char *instruction_name = "BCLR.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BCLR.W";
|
char *instruction_name = "BCLR.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BNEG.B";
|
char *instruction_name = "BNEG.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BNEG.D";
|
char *instruction_name = "BNEG.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BNEG.H";
|
char *instruction_name = "BNEG.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BNEG.W";
|
char *instruction_name = "BNEG.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BSET.B";
|
char *instruction_name = "BSET.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BSET.D";
|
char *instruction_name = "BSET.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BSET.H";
|
char *instruction_name = "BSET.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Bit Set";
|
||||||
char *instruction_name = "BSET.W";
|
char *instruction_name = "BSET.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Fixed Multiply";
|
||||||
char *instruction_name = "MUL_Q.H";
|
char *instruction_name = "MUL_Q.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Fixed Multiply";
|
||||||
char *instruction_name = "MUL_Q.W";
|
char *instruction_name = "MUL_Q.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Fixed Multiply";
|
||||||
char *instruction_name = "MULR_Q.H";
|
char *instruction_name = "MULR_Q.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Fixed Multiply";
|
||||||
char *instruction_name = "MULR_Q.W";
|
char *instruction_name = "MULR_Q.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMAX_A.D";
|
char *instruction_name = "FMAX_A.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMAX_A.W";
|
char *instruction_name = "FMAX_A.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMAX.D";
|
char *instruction_name = "FMAX.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMAX.W";
|
char *instruction_name = "FMAX.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMIN_A.D";
|
char *instruction_name = "FMIN_A.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMIN_A.W";
|
char *instruction_name = "FMIN_A.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMIN.D";
|
char *instruction_name = "FMIN.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Float Max Min";
|
||||||
char *instruction_name = "FMIN.W";
|
char *instruction_name = "FMIN.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -148,7 +150,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADD_A.B";
|
char *instruction_name = "ADD_A.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADD_A.D";
|
char *instruction_name = "ADD_A.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADD_A.H";
|
char *instruction_name = "ADD_A.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADD_A.W";
|
char *instruction_name = "ADD_A.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_A.B";
|
char *instruction_name = "ADDS_A.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_A.D";
|
char *instruction_name = "ADDS_A.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_A.H";
|
char *instruction_name = "ADDS_A.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_A.W";
|
char *instruction_name = "ADDS_A.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_S.B";
|
char *instruction_name = "ADDS_S.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_S.D";
|
char *instruction_name = "ADDS_S.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_S.H";
|
char *instruction_name = "ADDS_S.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_S.W";
|
char *instruction_name = "ADDS_S.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_U.B";
|
char *instruction_name = "ADDS_U.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_U.D";
|
char *instruction_name = "ADDS_U.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_U.H";
|
char *instruction_name = "ADDS_U.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDS_U.W";
|
char *instruction_name = "ADDS_U.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDV.B";
|
char *instruction_name = "ADDV.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDV.D";
|
char *instruction_name = "ADDV.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDV.H";
|
char *instruction_name = "ADDV.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "ADDV.W";
|
char *instruction_name = "ADDV.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "HADD_S.D";
|
char *instruction_name = "HADD_S.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "HADD_S.H";
|
char *instruction_name = "HADD_S.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "HADD_S.W";
|
char *instruction_name = "HADD_S.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "HADD_U.D";
|
char *instruction_name = "HADD_U.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "HADD_U.H";
|
char *instruction_name = "HADD_U.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Add";
|
||||||
char *instruction_name = "HADD_U.W";
|
char *instruction_name = "HADD_U.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_S.B";
|
char *instruction_name = "AVE_S.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_S.D";
|
char *instruction_name = "AVE_S.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_S.H";
|
char *instruction_name = "AVE_S.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_S.W";
|
char *instruction_name = "AVE_S.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_U.B";
|
char *instruction_name = "AVE_U.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_U.D";
|
char *instruction_name = "AVE_U.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_U.H";
|
char *instruction_name = "AVE_U.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVE_U.W";
|
char *instruction_name = "AVE_U.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_S.B";
|
char *instruction_name = "AVER_S.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_S.D";
|
char *instruction_name = "AVER_S.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_S.H";
|
char *instruction_name = "AVER_S.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_S.W";
|
char *instruction_name = "AVER_S.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_U.B";
|
char *instruction_name = "AVER_U.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_U.D";
|
char *instruction_name = "AVER_U.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_U.H";
|
char *instruction_name = "AVER_U.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Average";
|
||||||
char *instruction_name = "AVER_U.W";
|
char *instruction_name = "AVER_U.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CEQ.B";
|
char *instruction_name = "CEQ.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CEQ.D";
|
char *instruction_name = "CEQ.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CEQ.H";
|
char *instruction_name = "CEQ.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CEQ.W";
|
char *instruction_name = "CEQ.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_S.B";
|
char *instruction_name = "CLE_S.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_S.D";
|
char *instruction_name = "CLE_S.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_S.H";
|
char *instruction_name = "CLE_S.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_S.W";
|
char *instruction_name = "CLE_S.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_U.B";
|
char *instruction_name = "CLE_U.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_U.D";
|
char *instruction_name = "CLE_U.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_U.H";
|
char *instruction_name = "CLE_U.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLE_U.W";
|
char *instruction_name = "CLE_U.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLT_S.B";
|
char *instruction_name = "CLT_S.B";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLT_S.D";
|
char *instruction_name = "CLT_S.D";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLT_S.H";
|
char *instruction_name = "CLT_S.H";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
|
|
||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
|
char *isa_ase_name = "MSA";
|
||||||
|
char *group_name = "Int Compare";
|
||||||
char *instruction_name = "CLT_S.W";
|
char *instruction_name = "CLT_S.W";
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
@ -150,7 +152,8 @@ int32_t main(void)
|
||||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||||
|
|
||||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||||
|
TEST_COUNT_TOTAL, elapsed_time,
|
||||||
&b128_result[0][0], &b128_expect[0][0]);
|
&b128_result[0][0], &b128_expect[0][0]);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue