ld: Move the .note.build-id section to near the start of the memory map.
[binutils-gdb.git] / sim / testsuite / bfin / dotproduct2.s
blobf7ea41edbd1519590eb516b17dc912348150baa9
1 /* Vector Dot Product
2 * This program computes a simple vector dot product using hard
3 * wired input buffers of 128 samples each. These values are in
4 * 1.15 signed .
5 */
6 # mach: bfin
8 .include "testutils.inc"
9 start
11 // load buffer addresses into pointer regs
12 loadsym I0, data0;
13 loadsym I1, data1;
15 // loop control
16 // number of loop iterations is 2^N with r4|=1<<N
17 // to process 128 samples need 64 iterations
18 P4 = 63;
19 LSETUP ( loop1 , loop1 ) LC0 = P4;
20 A1 = A0 = 0;
22 // For now, serialize two 32b loads.
23 // These should be done in parallel with the dual mac.
25 R0 = [ I0 ++ ]; R1 = [ I1 ++ ];
27 loop1: A1 += R0.H * R1.H, A0 += R0.L * R1.L || R0 = [ I0 ++ ] || R1 = [ I1 ++ ];
29 A1 += R0.H * R1.H, A0 += R0.L * R1.L;
31 // extract two partial results from accumulators
32 // and do final addition
33 R0 = ( A0 += A1 );
35 DBGA ( R0.L , 0x5600 ); // 0x00545600 = 0.002574 fract
36 DBGA ( R0.H , 0x0054 );
38 pass
40 .data
41 data0:
42 .dw 0x0
43 .dw 0x2
44 .dw 0x4
45 .dw 0x6
46 .dw 0x8
47 .dw 0xA
48 .dw 0xC
49 .dw 0xE
50 .dw 0x10
51 .dw 0x12
52 .dw 0x14
53 .dw 0x16
54 .dw 0x18
55 .dw 0x1A
56 .dw 0x1C
57 .dw 0x1E
58 .dw 0x20
59 .dw 0x22
60 .dw 0x24
61 .dw 0x26
62 .dw 0x28
63 .dw 0x2A
64 .dw 0x2C
65 .dw 0x2E
66 .dw 0x30
67 .dw 0x32
68 .dw 0x34
69 .dw 0x36
70 .dw 0x38
71 .dw 0x3A
72 .dw 0x3C
73 .dw 0x3E
74 .dw 0x40
75 .dw 0x42
76 .dw 0x44
77 .dw 0x46
78 .dw 0x48
79 .dw 0x4A
80 .dw 0x4C
81 .dw 0x4E
82 .dw 0x50
83 .dw 0x52
84 .dw 0x54
85 .dw 0x56
86 .dw 0x58
87 .dw 0x5A
88 .dw 0x5C
89 .dw 0x5E
90 .dw 0x60
91 .dw 0x62
92 .dw 0x64
93 .dw 0x66
94 .dw 0x68
95 .dw 0x6A
96 .dw 0x6C
97 .dw 0x6E
98 .dw 0x70
99 .dw 0x72
100 .dw 0x74
101 .dw 0x76
102 .dw 0x78
103 .dw 0x7A
104 .dw 0x7C
105 .dw 0x7E
106 .dw 0x80
107 .dw 0x82
108 .dw 0x84
109 .dw 0x86
110 .dw 0x88
111 .dw 0x8A
112 .dw 0x8C
113 .dw 0x8E
114 .dw 0x90
115 .dw 0x92
116 .dw 0x94
117 .dw 0x96
118 .dw 0x98
119 .dw 0x9A
120 .dw 0x9C
121 .dw 0x9E
122 .dw 0xA0
123 .dw 0xA2
124 .dw 0xA4
125 .dw 0xA6
126 .dw 0xA8
127 .dw 0xAA
128 .dw 0xAC
129 .dw 0xAE
130 .dw 0xB0
131 .dw 0xB2
132 .dw 0xB4
133 .dw 0xB6
134 .dw 0xB8
135 .dw 0xBA
136 .dw 0xBC
137 .dw 0xBE
138 .dw 0xC0
139 .dw 0xC2
140 .dw 0xC4
141 .dw 0xC6
142 .dw 0xC8
143 .dw 0xCA
144 .dw 0xCC
145 .dw 0xCE
146 .dw 0xD0
147 .dw 0xD2
148 .dw 0xD4
149 .dw 0xD6
150 .dw 0xD8
151 .dw 0xDA
152 .dw 0xDC
153 .dw 0xDE
154 .dw 0xE0
155 .dw 0xE2
156 .dw 0xE4
157 .dw 0xE6
158 .dw 0xE8
159 .dw 0xEA
160 .dw 0xEC
161 .dw 0xEE
162 .dw 0xF0
163 .dw 0xF2
164 .dw 0xF4
165 .dw 0xF6
166 .dw 0xF8
167 .dw 0xFA
168 .dw 0xFC
169 .dw 0xFE
171 data1:
172 .dw 0x0
173 .dw 0x2
174 .dw 0x4
175 .dw 0x6
176 .dw 0x8
177 .dw 0xA
178 .dw 0xC
179 .dw 0xE
180 .dw 0x10
181 .dw 0x12
182 .dw 0x14
183 .dw 0x16
184 .dw 0x18
185 .dw 0x1A
186 .dw 0x1C
187 .dw 0x1E
188 .dw 0x20
189 .dw 0x22
190 .dw 0x24
191 .dw 0x26
192 .dw 0x28
193 .dw 0x2A
194 .dw 0x2C
195 .dw 0x2E
196 .dw 0x30
197 .dw 0x32
198 .dw 0x34
199 .dw 0x36
200 .dw 0x38
201 .dw 0x3A
202 .dw 0x3C
203 .dw 0x3E
204 .dw 0x40
205 .dw 0x42
206 .dw 0x44
207 .dw 0x46
208 .dw 0x48
209 .dw 0x4A
210 .dw 0x4C
211 .dw 0x4E
212 .dw 0x50
213 .dw 0x52
214 .dw 0x54
215 .dw 0x56
216 .dw 0x58
217 .dw 0x5A
218 .dw 0x5C
219 .dw 0x5E
220 .dw 0x60
221 .dw 0x62
222 .dw 0x64
223 .dw 0x66
224 .dw 0x68
225 .dw 0x6A
226 .dw 0x6C
227 .dw 0x6E
228 .dw 0x70
229 .dw 0x72
230 .dw 0x74
231 .dw 0x76
232 .dw 0x78
233 .dw 0x7A
234 .dw 0x7C
235 .dw 0x7E
236 .dw 0x80
237 .dw 0x82
238 .dw 0x84
239 .dw 0x86
240 .dw 0x88
241 .dw 0x8A
242 .dw 0x8C
243 .dw 0x8E
244 .dw 0x90
245 .dw 0x92
246 .dw 0x94
247 .dw 0x96
248 .dw 0x98
249 .dw 0x9A
250 .dw 0x9C
251 .dw 0x9E
252 .dw 0xA0
253 .dw 0xA2
254 .dw 0xA4
255 .dw 0xA6
256 .dw 0xA8
257 .dw 0xAA
258 .dw 0xAC
259 .dw 0xAE
260 .dw 0xB0
261 .dw 0xB2
262 .dw 0xB4
263 .dw 0xB6
264 .dw 0xB8
265 .dw 0xBA
266 .dw 0xBC
267 .dw 0xBE
268 .dw 0xC0
269 .dw 0xC2
270 .dw 0xC4
271 .dw 0xC6
272 .dw 0xC8
273 .dw 0xCA
274 .dw 0xCC
275 .dw 0xCE
276 .dw 0xD0
277 .dw 0xD2
278 .dw 0xD4
279 .dw 0xD6
280 .dw 0xD8
281 .dw 0xDA
282 .dw 0xDC
283 .dw 0xDE
284 .dw 0xE0
285 .dw 0xE2
286 .dw 0xE4
287 .dw 0xE6
288 .dw 0xE8
289 .dw 0xEA
290 .dw 0xEC
291 .dw 0xEE
292 .dw 0xF0
293 .dw 0xF2
294 .dw 0xF4
295 .dw 0xF6
296 .dw 0xF8
297 .dw 0xFA
298 .dw 0xFC
299 .dw 0xFE