#include <stdio.h>
#include "macro_load_store.h"
int main()
{
int i;
int s1 = sizeof(int);
int s2 = sizeof(unsigned long long);
init_reg_val2();
/**********************************************************************/
/*-------------------------------LOAD---------------------------------*/
/**********************************************************************/
/* lb */
for (i = 0; i < N*s1; i++)
TEST1("lb", i, reg_val1);
for (i = 0; i < N*s2; i++)
TEST1("lb", i, reg_val2);
/* lbu */
for (i = 0; i < N*s1; i++)
TEST1("lbu", i, reg_val1);
for (i = 0; i < N*s2; i++)
TEST1("lbu", i, reg_val2);
/* ld */
for (i = 0; i < N*s1; i = i+8)
TEST1("ld", i, reg_val1);
for (i = 0; i < N*s2; i = i+8)
TEST1("ld", i, reg_val2);
/* ldl */
for (i = 0; i < N*s1; i++)
TEST1("ldl", i, reg_val1);
for (i = 0; i < N*s2; i++)
TEST1("ldl", i, reg_val2);
/* ldr */
for (i = 0; i < N*s1; i++)
TEST1("ldr", i, reg_val1);
for (i = 0; i < N*s2; i++)
TEST1("ldr", i, reg_val2);
/* lh */
for (i = 0; i < N*s1; i = i+2)
TEST1("lh", i, reg_val1);
for (i = 0; i < N*s2; i = i+2)
TEST1("lh", i, reg_val2);
/* lhu */
for (i = 0; i < N*s1; i = i+2)
TEST1("lhu", i, reg_val1);
for (i = 0; i < N*s2; i = i+2)
TEST1("lhu", i, reg_val2);
/* lw */
for (i = 0; i < N*s1; i = i+4)
TEST1("lw", i, reg_val1);
for (i = 0; i < N*s2; i = i+4)
TEST1("lw", i, reg_val2);
/* lwl */
for (i = 0; i < N*s1; i++)
TEST1("lwl", i, reg_val1);
for (i = 0; i < N*s2; i++)
TEST1("lwl", i, reg_val2);
/* lwr */
for (i = 0; i < N*s1; i++)
TEST1("lwr", i, reg_val1);
for (i = 0; i < N*s2; i++)
TEST1("lwr", i, reg_val2);
/* lwu */
for (i = 0; i < N*s1; i = i+4)
TEST1("lwu", i, reg_val1);
for (i = 0; i < N*s2; i = i+4)
TEST1("lwu", i, reg_val2);
/**********************************************************************/
/*-------------------------------STORE--------------------------------*/
/**********************************************************************/
init_reg_val_zero();
/* sb */
for (i = 0; i < (N-1)*s2; i++)
TEST2("sb", i);
init_reg_val_zero();
/* sd */
for (i = 0; i < (N-1)*s2; i = i+8)
TEST2("sd", i);
init_reg_val_zero();
/* sdl */
for (i = 0; i < (N-1)*s2; i++)
TEST2("sdl", i);
init_reg_val_zero();
/* sdr */
for (i = 8; i < (N-1)*s2; i++)
TEST2("sdr", i);
init_reg_val_zero();
/* sh */
for (i = 0; i < (N-1)*s2; i = i+2)
TEST2("sh", i);
init_reg_val_zero();
/* sw */
for (i = 0; i < (N-1)*s2; i = i+4)
TEST2("sw", i);
init_reg_val_zero();
/* swl */
for (i = 4; i < (N-1)*s2; i++)
TEST2("swl", i);
init_reg_val_zero();
/* swr */
for (i = 4; i < (N-1)*s2; i++)
TEST2("swr", i);
return 0;
}