Commit | Line | Data |
---|---|---|
17f828b3 MR |
1 | # Source file used to test the doubleword memory access macros |
2 | # (ld and friends). | |
3 | ||
4 | # By default test ld. | |
5 | .set r4, $4 | |
6 | ||
7 | # If defined, test sd instead. | |
8 | .ifdef tsd | |
9 | .macro ld ops:vararg | |
10 | sd \ops | |
11 | .endm | |
12 | .endif | |
13 | # If defined, test l.d instead. | |
14 | .ifdef tl_d | |
15 | .set r4, $f4 | |
16 | .macro ld ops:vararg | |
17 | l.d \ops | |
18 | .endm | |
19 | .endif | |
20 | # If defined, test s.d instead. | |
21 | .ifdef ts_d | |
22 | .set r4, $f4 | |
23 | .macro ld ops:vararg | |
24 | s.d \ops | |
25 | .endm | |
26 | .endif | |
27 | # If defined, test ldc1 instead. | |
28 | .ifdef tldc1 | |
29 | .set r4, $f4 | |
30 | .macro ld ops:vararg | |
31 | ldc1 \ops | |
32 | .endm | |
33 | .endif | |
34 | # If defined, test sdc1 instead. | |
35 | .ifdef tsdc1 | |
36 | .set r4, $f4 | |
37 | .macro ld ops:vararg | |
38 | sdc1 \ops | |
39 | .endm | |
40 | .endif | |
eae14743 | 41 | |
484cf558 | 42 | .macro data |
eae14743 MR |
43 | .bss |
44 | .align 12 | |
45 | .sbss | |
46 | .align 12 | |
252b5132 | 47 | .data |
eae14743 | 48 | .align 12 |
252b5132 RH |
49 | data_label: |
50 | .extern big_external_data_label,1000 | |
51 | .extern small_external_data_label,1 | |
52 | .comm big_external_common,1000 | |
53 | .comm small_external_common,1 | |
54 | .lcomm big_local_common,1000 | |
55 | .lcomm small_local_common,1 | |
484cf558 MR |
56 | .endm |
57 | ||
58 | .ifndef forward | |
59 | data | |
60 | .endif | |
eae14743 | 61 | |
252b5132 | 62 | .text |
eae14743 | 63 | .align 12 |
17f828b3 MR |
64 | ld r4,0 |
65 | ld r4,1 | |
66 | ld r4,0x8000 | |
67 | ld r4,-0x8000 | |
68 | ld r4,0x10000 | |
69 | ld r4,0x1a5a5 | |
70 | ld r4,0($5) | |
71 | ld r4,1($5) | |
72 | ld r4,0x8000($5) | |
73 | ld r4,-0x8000($5) | |
74 | ld r4,0x10000($5) | |
75 | ld r4,0x1a5a5($5) | |
76 | ld r4,data_label | |
77 | ld r4,big_external_data_label | |
78 | ld r4,small_external_data_label | |
79 | ld r4,big_external_common | |
80 | ld r4,small_external_common | |
81 | ld r4,big_local_common | |
82 | ld r4,small_local_common | |
83 | ld r4,data_label+1 | |
84 | ld r4,big_external_data_label+1 | |
85 | ld r4,small_external_data_label+1 | |
86 | ld r4,big_external_common+1 | |
87 | ld r4,small_external_common+1 | |
88 | ld r4,big_local_common+1 | |
89 | ld r4,small_local_common+1 | |
90 | ld r4,data_label+0x8000 | |
91 | ld r4,big_external_data_label+0x8000 | |
92 | ld r4,small_external_data_label+0x8000 | |
93 | ld r4,big_external_common+0x8000 | |
94 | ld r4,small_external_common+0x8000 | |
95 | ld r4,big_local_common+0x8000 | |
96 | ld r4,small_local_common+0x8000 | |
97 | ld r4,data_label-0x8000 | |
98 | ld r4,big_external_data_label-0x8000 | |
99 | ld r4,small_external_data_label-0x8000 | |
100 | ld r4,big_external_common-0x8000 | |
101 | ld r4,small_external_common-0x8000 | |
102 | ld r4,big_local_common-0x8000 | |
103 | ld r4,small_local_common-0x8000 | |
104 | ld r4,data_label+0x10000 | |
105 | ld r4,big_external_data_label+0x10000 | |
106 | ld r4,small_external_data_label+0x10000 | |
107 | ld r4,big_external_common+0x10000 | |
108 | ld r4,small_external_common+0x10000 | |
109 | ld r4,big_local_common+0x10000 | |
110 | ld r4,small_local_common+0x10000 | |
111 | ld r4,data_label+0x1a5a5 | |
112 | ld r4,big_external_data_label+0x1a5a5 | |
113 | ld r4,small_external_data_label+0x1a5a5 | |
114 | ld r4,big_external_common+0x1a5a5 | |
115 | ld r4,small_external_common+0x1a5a5 | |
116 | ld r4,big_local_common+0x1a5a5 | |
117 | ld r4,small_local_common+0x1a5a5 | |
118 | ld r4,data_label($5) | |
119 | ld r4,big_external_data_label($5) | |
120 | ld r4,small_external_data_label($5) | |
121 | ld r4,big_external_common($5) | |
122 | ld r4,small_external_common($5) | |
123 | ld r4,big_local_common($5) | |
124 | ld r4,small_local_common($5) | |
125 | ld r4,data_label+1($5) | |
126 | ld r4,big_external_data_label+1($5) | |
127 | ld r4,small_external_data_label+1($5) | |
128 | ld r4,big_external_common+1($5) | |
129 | ld r4,small_external_common+1($5) | |
130 | ld r4,big_local_common+1($5) | |
131 | ld r4,small_local_common+1($5) | |
132 | ld r4,data_label+0x8000($5) | |
133 | ld r4,big_external_data_label+0x8000($5) | |
134 | ld r4,small_external_data_label+0x8000($5) | |
135 | ld r4,big_external_common+0x8000($5) | |
136 | ld r4,small_external_common+0x8000($5) | |
137 | ld r4,big_local_common+0x8000($5) | |
138 | ld r4,small_local_common+0x8000($5) | |
139 | ld r4,data_label-0x8000($5) | |
140 | ld r4,big_external_data_label-0x8000($5) | |
141 | ld r4,small_external_data_label-0x8000($5) | |
142 | ld r4,big_external_common-0x8000($5) | |
143 | ld r4,small_external_common-0x8000($5) | |
144 | ld r4,big_local_common-0x8000($5) | |
145 | ld r4,small_local_common-0x8000($5) | |
146 | ld r4,data_label+0x10000($5) | |
147 | ld r4,big_external_data_label+0x10000($5) | |
148 | ld r4,small_external_data_label+0x10000($5) | |
149 | ld r4,big_external_common+0x10000($5) | |
150 | ld r4,small_external_common+0x10000($5) | |
151 | ld r4,big_local_common+0x10000($5) | |
152 | ld r4,small_local_common+0x10000($5) | |
153 | ld r4,data_label+0x1a5a5($5) | |
154 | ld r4,big_external_data_label+0x1a5a5($5) | |
155 | ld r4,small_external_data_label+0x1a5a5($5) | |
156 | ld r4,big_external_common+0x1a5a5($5) | |
157 | ld r4,small_external_common+0x1a5a5($5) | |
158 | ld r4,big_local_common+0x1a5a5($5) | |
159 | ld r4,small_local_common+0x1a5a5($5) | |
252b5132 | 160 | |
eae14743 MR |
161 | # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... |
162 | .align 2 | |
163 | .space 8 | |
484cf558 MR |
164 | |
165 | .ifdef forward | |
166 | data | |
167 | .endif |