1 #include <stdio.h>
2 #include "macro_load_store.h"
3
main()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 /* lb */
14 for (i = 0; i < N*s1; i++)
15 TEST1("lb", i, reg_val1);
16
17 for (i = 0; i < N*s2; i++)
18 TEST1("lb", i, reg_val2);
19
20 /* lbu */
21 for (i = 0; i < N*s1; i++)
22 TEST1("lbu", i, reg_val1);
23
24 for (i = 0; i < N*s2; i++)
25 TEST1("lbu", i, reg_val2);
26
27 /* ld */
28 for (i = 0; i < N*s1; i = i+8)
29 TEST1("ld", i, reg_val1);
30
31 for (i = 0; i < N*s2; i = i+8)
32 TEST1("ld", i, reg_val2);
33
34 /* ldl */
35 for (i = 0; i < N*s1; i++)
36 TEST1("ldl", i, reg_val1);
37
38 for (i = 0; i < N*s2; i++)
39 TEST1("ldl", i, reg_val2);
40
41 /* ldr */
42 for (i = 0; i < N*s1; i++)
43 TEST1("ldr", i, reg_val1);
44
45 for (i = 0; i < N*s2; i++)
46 TEST1("ldr", i, reg_val2);
47
48 /* lh */
49 for (i = 0; i < N*s1; i = i+2)
50 TEST1("lh", i, reg_val1);
51
52 for (i = 0; i < N*s2; i = i+2)
53 TEST1("lh", i, reg_val2);
54
55 /* lhu */
56 for (i = 0; i < N*s1; i = i+2)
57 TEST1("lhu", i, reg_val1);
58
59 for (i = 0; i < N*s2; i = i+2)
60 TEST1("lhu", i, reg_val2);
61
62 /* lw */
63 for (i = 0; i < N*s1; i = i+4)
64 TEST1("lw", i, reg_val1);
65
66 for (i = 0; i < N*s2; i = i+4)
67 TEST1("lw", i, reg_val2);
68
69 /* lwl */
70 for (i = 0; i < N*s1; i++)
71 TEST1("lwl", i, reg_val1);
72
73 for (i = 0; i < N*s2; i++)
74 TEST1("lwl", i, reg_val2);
75
76 /* lwr */
77 for (i = 0; i < N*s1; i++)
78 TEST1("lwr", i, reg_val1);
79
80 for (i = 0; i < N*s2; i++)
81 TEST1("lwr", i, reg_val2);
82
83 /* lwu */
84 for (i = 0; i < N*s1; i = i+4)
85 TEST1("lwu", i, reg_val1);
86
87 for (i = 0; i < N*s2; i = i+4)
88 TEST1("lwu", i, reg_val2);
89
90 /**********************************************************************/
91 /*-------------------------------STORE--------------------------------*/
92 /**********************************************************************/
93 init_reg_val_zero();
94 /* sb */
95 for (i = 0; i < (N-1)*s2; i++)
96 TEST2("sb", i);
97
98 init_reg_val_zero();
99 /* sd */
100 for (i = 0; i < (N-1)*s2; i = i+8)
101 TEST2("sd", i);
102
103 init_reg_val_zero();
104 /* sdl */
105 for (i = 0; i < (N-1)*s2; i++)
106 TEST2("sdl", i);
107
108 init_reg_val_zero();
109 /* sdr */
110 for (i = 8; i < (N-1)*s2; i++)
111 TEST2("sdr", i);
112
113 init_reg_val_zero();
114 /* sh */
115 for (i = 0; i < (N-1)*s2; i = i+2)
116 TEST2("sh", i);
117
118 init_reg_val_zero();
119 /* sw */
120 for (i = 0; i < (N-1)*s2; i = i+4)
121 TEST2("sw", i);
122
123 init_reg_val_zero();
124 /* swl */
125 for (i = 4; i < (N-1)*s2; i++)
126 TEST2("swl", i);
127
128 init_reg_val_zero();
129 /* swr */
130 for (i = 4; i < (N-1)*s2; i++)
131 TEST2("swr", i);
132
133 return 0;
134 }
135