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