Files
ftmemsim-valgrind/none/tests/mips64/fpu_load_store.c
Petar Jovanovic 7449ebb921 mips64: enable soft-float build of the tests
Cavium toolchain defaults to soft-float, so it is important to enable full
build of the test suite to work in that case as well.

This boils down to protecting FPU-specific code segments with

#if defined(__mips_hard_float)
#endif


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14572
2014-09-27 05:40:33 +00:00

72 lines
1.8 KiB
C

#include <stdio.h>
#include "macro_load_store.h"
int main()
{
#if defined(__mips_hard_float)
int i;
int s1 = sizeof(int);
int s2 = sizeof(unsigned long long);
init_reg_val2();
/**********************************************************************/
/*-------------------------------LOAD---------------------------------*/
/**********************************************************************/
printf("--- LDC1 ---\n");
for (i = 0; i < N*s1; i = i+8)
TEST3("ldc1", i, reg_val1);
for (i = 0; i < N*s2; i = i+8)
TEST3("ldc1", i, reg_val2);
printf("--- LDXC1 ---\n");
for (i = 0; i < N*s1; i = i+8)
TEST5("ldxc1", i, reg_val1);
for (i = 0; i < N*s2; i = i+8)
TEST5("ldxc1", i, reg_val2);
printf("--- LWC1 ---\n");
for (i = 0; i < N*s1; i = i+4)
TEST3w("lwc1", i, reg_val1);
for (i = 0; i < N*s2; i = i+4)
TEST3w("lwc1", i, reg_val2);
printf("--- LWXC1 ---\n");
for (i = 0; i < N*s1; i = i+4)
TEST5w("lwxc1", i, reg_val1);
for (i = 0; i < N*s2; i = i+4)
TEST5w("lwxc1", i, reg_val2);
/**********************************************************************/
/*-------------------------------STORE--------------------------------*/
/**********************************************************************/
init_reg_val_zero();
printf("--- SDC1 ---\n");
for (i = 0; i < N*s1; i = i+8) {
TEST4("sdc1", i);
}
init_reg_val_zero();
printf("--- SWC1 ---\n");
for (i = 0; i < (N-1)*s1; i = i+4) {
TEST4("swc1", i);
}
init_reg_val_zero();
printf("--- SDXC1 ---\n");
for (i = 0; i < N*s1; i = i+8) {
TEST6("sdxc1", i);
}
init_reg_val_zero();
printf("--- SWXC1 ---\n");
for (i = 0; i < (N-1)*s1; i = i+4) {
TEST6("swxc1", i);
}
#endif
return 0;
}