fpu_load_store.c revision 436e89c602e787e7a27dd6624b09beed41a0da8a
1#include <stdio.h>
2#include "macro_load_store.h"
3
4int 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