#include #include "pub_core_basics.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); #if (__mips_isa_rev < 6) /* 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); #endif /* 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); #if (__mips_isa_rev < 6) /* 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); #endif /* 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); #if (__mips_isa_rev < 6) 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); #endif 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(); #if (__mips_isa_rev < 6) /* 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); #endif return 0; }