mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
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:
+2
-4
@@ -212,9 +212,7 @@ R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
||||
S: Maintained
|
||||
F: target/mips/
|
||||
F: default-configs/*mips*
|
||||
F: disas/mips.c
|
||||
F: disas/nanomips.cpp
|
||||
F: disas/nanomips.h
|
||||
F: disas/*mips*
|
||||
F: hw/intc/mips_gic.c
|
||||
F: hw/mips/
|
||||
F: hw/misc/mips_*
|
||||
@@ -930,6 +928,7 @@ M: Aurelien Jarno <aurelien@aurel32.net>
|
||||
R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
||||
S: Maintained
|
||||
F: hw/mips/mips_malta.c
|
||||
F: hw/mips/gt64xxx_pci.c
|
||||
F: tests/acceptance/linux_ssh_mips_malta.py
|
||||
|
||||
Mipssim
|
||||
@@ -2325,7 +2324,6 @@ M: Aurelien Jarno <aurelien@aurel32.net>
|
||||
R: Aleksandar Rikalo <arikalo@wavecomp.com>
|
||||
S: Maintained
|
||||
F: tcg/mips/
|
||||
F: disas/mips.c
|
||||
|
||||
PPC TCG target
|
||||
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) {
|
||||
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[14] = pwt->b[14];
|
||||
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[1] = pws->b[0];
|
||||
pwd->b[0] = pwt->b[0];
|
||||
#endif
|
||||
break;
|
||||
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[6] = pwt->h[6];
|
||||
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[1] = pws->h[0];
|
||||
pwd->h[0] = pwt->h[0];
|
||||
#endif
|
||||
break;
|
||||
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[2] = pwt->w[2];
|
||||
pwd->w[1] = pws->w[0];
|
||||
pwd->w[0] = pwt->w[0];
|
||||
#endif
|
||||
break;
|
||||
case DF_DOUBLE:
|
||||
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) {
|
||||
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[1] = pws->b[1];
|
||||
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[14] = pwt->b[15];
|
||||
pwd->b[15] = pws->b[15];
|
||||
#endif
|
||||
break;
|
||||
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[1] = pws->h[1];
|
||||
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[6] = pwt->h[7];
|
||||
pwd->h[7] = pws->h[7];
|
||||
#endif
|
||||
break;
|
||||
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[1] = pws->w[1];
|
||||
pwd->w[2] = pwt->w[3];
|
||||
pwd->w[3] = pws->w[3];
|
||||
#endif
|
||||
break;
|
||||
case DF_DOUBLE:
|
||||
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) {
|
||||
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[1] = pws->b[8];
|
||||
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[14] = pwt->b[15];
|
||||
pwd->b[15] = pws->b[15];
|
||||
#endif
|
||||
break;
|
||||
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[1] = pws->h[4];
|
||||
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[6] = pwt->h[7];
|
||||
pwd->h[7] = pws->h[7];
|
||||
#endif
|
||||
break;
|
||||
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[1] = pws->w[2];
|
||||
pwd->w[2] = pwt->w[3];
|
||||
pwd->w[3] = pws->w[3];
|
||||
#endif
|
||||
break;
|
||||
case DF_DOUBLE:
|
||||
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) {
|
||||
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[14] = pwt->b[7];
|
||||
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[1] = pws->b[0];
|
||||
pwd->b[0] = pwt->b[0];
|
||||
#endif
|
||||
break;
|
||||
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[6] = pwt->h[3];
|
||||
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[1] = pws->h[0];
|
||||
pwd->h[0] = pwt->h[0];
|
||||
#endif
|
||||
break;
|
||||
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[2] = pwt->w[1];
|
||||
pwd->w[1] = pws->w[0];
|
||||
pwd->w[0] = pwt->w[0];
|
||||
#endif
|
||||
break;
|
||||
case DF_DOUBLE:
|
||||
pwd->d[1] = pws->d[0];
|
||||
|
||||
+255
-190
File diff suppressed because it is too large
Load Diff
@@ -30,11 +30,13 @@
|
||||
#define PRINT_RESULTS 0
|
||||
|
||||
|
||||
static inline int32_t check_results(const char *instruction_name,
|
||||
const uint32_t test_count,
|
||||
const double elapsed_time,
|
||||
const uint64_t *b128_result,
|
||||
const uint64_t *b128_expect)
|
||||
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 double elapsed_time,
|
||||
const uint64_t *b128_result,
|
||||
const uint64_t *b128_expect)
|
||||
{
|
||||
#if PRINT_RESULTS
|
||||
uint32_t ii;
|
||||
@@ -56,7 +58,8 @@ static inline int32_t check_results(const char *instruction_name,
|
||||
uint32_t pass_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++) {
|
||||
if ((b128_result[2 * i] == b128_expect[2 * i]) &&
|
||||
(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);
|
||||
|
||||
if (fail_count > 0) {
|
||||
|
||||
@@ -30,7 +30,9 @@
|
||||
#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 double elapsed_time,
|
||||
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 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++) {
|
||||
if (b64_result[i] == b64_expect[i]) {
|
||||
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);
|
||||
|
||||
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__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__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__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__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__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__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__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__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__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__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__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__WD_WT(VSHF_D__DDT, vshf.d)
|
||||
DO_MSA__WD__WS_WD(VSHF_D__DSD, vshf.d)
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLOC.B";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLOC.B";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLOC.D";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLOC.D";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLOC.H";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLOC.H";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLOC.W";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLOC.W";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLZC.B";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLZC.B";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLZC.D";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLZC.D";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLZC.H";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLZC.H";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "NLZC.W";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "NLZC.W";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "PCNT.B";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "PCNT.B";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "PCNT.D";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "PCNT.D";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "PCNT.H";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "PCNT.H";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "PCNT.W";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Count";
|
||||
char *instruction_name = "PCNT.W";
|
||||
int32_t ret;
|
||||
uint32_t i;
|
||||
struct timeval start, end;
|
||||
@@ -139,8 +141,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "BCLR.B";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Set";
|
||||
char *instruction_name = "BCLR.B";
|
||||
int32_t ret;
|
||||
uint32_t i, j;
|
||||
struct timeval start, end;
|
||||
@@ -148,8 +150,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,9 @@
|
||||
|
||||
int32_t main(void)
|
||||
{
|
||||
char *instruction_name = "BCLR.D";
|
||||
char *isa_ase_name = "MSA";
|
||||
char *group_name = "Bit Set";
|
||||
char *instruction_name = "BCLR.D";
|
||||
int32_t ret;
|
||||
uint32_t i, j;
|
||||
struct timeval start, end;
|
||||
@@ -148,8 +150,9 @@ int32_t main(void)
|
||||
elapsed_time = (end.tv_sec - start.tv_sec) * 1000.0;
|
||||
elapsed_time += (end.tv_usec - start.tv_usec) / 1000.0;
|
||||
|
||||
ret = check_results(instruction_name, TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
ret = check_results_128(isa_ase_name, group_name, instruction_name,
|
||||
TEST_COUNT_TOTAL, elapsed_time,
|
||||
&b128_result[0][0], &b128_expect[0][0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user