1 #include <stdio.h> 2 #include "macro_load_store.h" 3 4 int main() 5 { 6 int i; 7 int s1 = sizeof(int); 8 int s2 = sizeof(unsigned long long); 9 init_reg_val2(); 10 /**********************************************************************/ 11 /*-------------------------------LOAD---------------------------------*/ 12 /**********************************************************************/ 13 printf("--- LDC1 ---\n"); 14 for (i = 0; i < N*s1; i = i+8) 15 TEST3("ldc1", i, reg_val1); 16 17 for (i = 0; i < N*s2; i = i+8) 18 TEST3("ldc1", i, reg_val2); 19 20 printf("--- LDXC1 ---\n"); 21 for (i = 0; i < N*s1; i = i+8) 22 TEST5("ldxc1", i, reg_val1); 23 24 for (i = 0; i < N*s2; i = i+8) 25 TEST5("ldxc1", i, reg_val2); 26 27 printf("--- LWC1 ---\n"); 28 for (i = 0; i < N*s1; i = i+4) 29 TEST3w("lwc1", i, reg_val1); 30 31 for (i = 0; i < N*s2; i = i+4) 32 TEST3w("lwc1", i, reg_val2); 33 34 printf("--- LWXC1 ---\n"); 35 for (i = 0; i < N*s1; i = i+4) 36 TEST5w("lwxc1", i, reg_val1); 37 38 for (i = 0; i < N*s2; i = i+4) 39 TEST5w("lwxc1", i, reg_val2); 40 41 /**********************************************************************/ 42 /*-------------------------------STORE--------------------------------*/ 43 /**********************************************************************/ 44 init_reg_val_zero(); 45 printf("--- SDC1 ---\n"); 46 for (i = 0; i < N*s1; i = i+8) { 47 TEST4("sdc1", i); 48 } 49 50 init_reg_val_zero(); 51 printf("--- SWC1 ---\n"); 52 for (i = 0; i < (N-1)*s1; i = i+4) { 53 TEST4("swc1", i); 54 } 55 56 init_reg_val_zero(); 57 printf("--- SDXC1 ---\n"); 58 for (i = 0; i < N*s1; i = i+8) { 59 TEST6("sdxc1", i); 60 } 61 62 init_reg_val_zero(); 63 printf("--- SWXC1 ---\n"); 64 for (i = 0; i < (N-1)*s1; i = i+4) { 65 TEST6("swxc1", i); 66 } 67 68 return 0; 69 } 70