Files
bassofono/codice/build/StatisticsFunctions.lst
2022-02-07 02:02:36 +01:00

1483 lines
54 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccDbuMpk.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 2
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "StatisticsFunctions.c"
14 .text
15 .section .text.arm_entropy_f32,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .global arm_entropy_f32
19 .arch armv7e-m
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv4-sp-d16
25 arm_entropy_f32:
26 @ args = 0, pretend = 0, frame = 0
27 @ frame_needed = 0, uses_anonymous_args = 0
28 0000 A9B1 cbz r1, .L4
29 0002 38B5 push {r3, r4, r5, lr}
30 0004 2DED028B vpush.64 {d8}
31 0008 DFED0A8A vldr.32 s17, .L11
32 000c 0546 mov r5, r0
33 000e 0C46 mov r4, r1
34 .L3:
35 0010 B5EC018A vldmia.32 r5!, {s16}
36 0014 B0EE480A vmov.f32 s0, s16
37 0018 FFF7FEFF bl logf
38 001c 013C subs r4, r4, #1
39 001e E0EE088A vfma.f32 s17, s0, s16
40 0022 F5D1 bne .L3
41 0024 B1EE680A vneg.f32 s0, s17
42 0028 BDEC028B vldm sp!, {d8}
43 002c 38BD pop {r3, r4, r5, pc}
44 .L4:
45 002e 9FED020A vldr.32 s0, .L11+4
46 0032 7047 bx lr
47 .L12:
48 .align 2
49 .L11:
50 0034 00000000 .word 0
51 0038 00000080 .word -2147483648
53 .global __aeabi_dmul
54 .global __aeabi_dadd
55 .section .text.arm_entropy_f64,"ax",%progbits
56 .align 1
57 .p2align 2,,3
58 .global arm_entropy_f64
59 .syntax unified
ARM GAS /tmp/ccDbuMpk.s page 2
60 .thumb
61 .thumb_func
62 .fpu fpv4-sp-d16
64 arm_entropy_f64:
65 @ args = 0, pretend = 0, frame = 8
66 @ frame_needed = 0, uses_anonymous_args = 0
67 0000 21B3 cbz r1, .L16
68 0002 F0B5 push {r4, r5, r6, r7, lr}
69 0004 0746 mov r7, r0
70 0006 83B0 sub sp, sp, #12
71 0008 0E46 mov r6, r1
72 000a 0024 movs r4, #0
73 000c 0025 movs r5, #0
74 .L15:
75 000e F7E80223 ldrd r2, [r7], #8
76 0012 43EC102B vmov d0, r2, r3
77 0016 CDE90023 strd r2, [sp]
78 001a FFF7FEFF bl log
79 001e DDE90023 ldrd r2, [sp]
80 0022 51EC100B vmov r0, r1, d0
81 0026 FFF7FEFF bl __aeabi_dmul
82 002a 0246 mov r2, r0
83 002c 0B46 mov r3, r1
84 002e 2046 mov r0, r4
85 0030 2946 mov r1, r5
86 0032 FFF7FEFF bl __aeabi_dadd
87 0036 013E subs r6, r6, #1
88 0038 0446 mov r4, r0
89 003a 0D46 mov r5, r1
90 003c E7D1 bne .L15
91 003e 0246 mov r2, r0
92 0040 01F10043 add r3, r1, #-2147483648
93 0044 43EC102B vmov d0, r2, r3
94 0048 03B0 add sp, sp, #12
95 @ sp needed
96 004a F0BD pop {r4, r5, r6, r7, pc}
97 .L16:
98 004c 0022 movs r2, #0
99 004e 4FF00043 mov r3, #-2147483648
100 0052 43EC102B vmov d0, r2, r3
101 0056 7047 bx lr
103 .section .text.arm_kullback_leibler_f32,"ax",%progbits
104 .align 1
105 .p2align 2,,3
106 .global arm_kullback_leibler_f32
107 .syntax unified
108 .thumb
109 .thumb_func
110 .fpu fpv4-sp-d16
112 arm_kullback_leibler_f32:
113 @ args = 0, pretend = 0, frame = 0
114 @ frame_needed = 0, uses_anonymous_args = 0
115 0000 C2B1 cbz r2, .L25
116 0002 70B5 push {r4, r5, r6, lr}
117 0004 2DED028B vpush.64 {d8}
118 0008 DFED0C8A vldr.32 s17, .L31
119 000c 0546 mov r5, r0
ARM GAS /tmp/ccDbuMpk.s page 3
120 000e 0E46 mov r6, r1
121 0010 1446 mov r4, r2
122 .L24:
123 0012 B5EC018A vldmia.32 r5!, {s16}
124 0016 B6EC010A vldmia.32 r6!, {s0}
125 001a 80EE080A vdiv.f32 s0, s0, s16
126 001e FFF7FEFF bl logf
127 0022 013C subs r4, r4, #1
128 0024 E0EE088A vfma.f32 s17, s0, s16
129 0028 F3D1 bne .L24
130 002a B1EE680A vneg.f32 s0, s17
131 002e BDEC028B vldm sp!, {d8}
132 0032 70BD pop {r4, r5, r6, pc}
133 .L25:
134 0034 9FED020A vldr.32 s0, .L31+4
135 0038 7047 bx lr
136 .L32:
137 003a 00BF .align 2
138 .L31:
139 003c 00000000 .word 0
140 0040 00000080 .word -2147483648
142 .global __aeabi_ddiv
143 .section .text.arm_kullback_leibler_f64,"ax",%progbits
144 .align 1
145 .p2align 2,,3
146 .global arm_kullback_leibler_f64
147 .syntax unified
148 .thumb
149 .thumb_func
150 .fpu fpv4-sp-d16
152 arm_kullback_leibler_f64:
153 @ args = 0, pretend = 0, frame = 0
154 @ frame_needed = 0, uses_anonymous_args = 0
155 0000 4AB3 cbz r2, .L36
156 0002 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
157 0006 0746 mov r7, r0
158 0008 8A46 mov r10, r1
159 000a 1646 mov r6, r2
160 000c 0024 movs r4, #0
161 000e 0025 movs r5, #0
162 .L35:
163 0010 F7E80289 ldrd r8, [r7], #8
164 0014 FAE80201 ldrd r0, [r10], #8
165 0018 4246 mov r2, r8
166 001a 4B46 mov r3, r9
167 001c FFF7FEFF bl __aeabi_ddiv
168 0020 41EC100B vmov d0, r0, r1
169 0024 FFF7FEFF bl log
170 0028 4246 mov r2, r8
171 002a 51EC100B vmov r0, r1, d0
172 002e 4B46 mov r3, r9
173 0030 FFF7FEFF bl __aeabi_dmul
174 0034 0246 mov r2, r0
175 0036 0B46 mov r3, r1
176 0038 2046 mov r0, r4
177 003a 2946 mov r1, r5
178 003c FFF7FEFF bl __aeabi_dadd
ARM GAS /tmp/ccDbuMpk.s page 4
179 0040 013E subs r6, r6, #1
180 0042 0446 mov r4, r0
181 0044 0D46 mov r5, r1
182 0046 E3D1 bne .L35
183 0048 0246 mov r2, r0
184 004a 01F10043 add r3, r1, #-2147483648
185 004e 43EC102B vmov d0, r2, r3
186 0052 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
187 .L36:
188 0056 0022 movs r2, #0
189 0058 4FF00043 mov r3, #-2147483648
190 005c 43EC102B vmov d0, r2, r3
191 0060 7047 bx lr
193 0062 00BF .section .text.arm_logsumexp_dot_prod_f32,"ax",%progbits
194 .align 1
195 .p2align 2,,3
196 .global arm_logsumexp_dot_prod_f32
197 .syntax unified
198 .thumb
199 .thumb_func
200 .fpu fpv4-sp-d16
202 arm_logsumexp_dot_prod_f32:
203 @ args = 0, pretend = 0, frame = 0
204 @ frame_needed = 0, uses_anonymous_args = 0
205 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
206 0002 1E46 mov r6, r3
207 0004 1746 mov r7, r2
208 0006 2DED028B vpush.64 {d8}
209 000a 1346 mov r3, r2
210 000c 7D1E subs r5, r7, #1
211 000e 3246 mov r2, r6
212 0010 FFF7FEFF bl arm_add_f32
213 0014 341D adds r4, r6, #4
214 0016 96ED008A vldr.32 s16, [r6]
215 001a 2DB3 cbz r5, .L43
216 001c 2046 mov r0, r4
217 001e 2946 mov r1, r5
218 .L45:
219 0020 F0EC017A vldmia.32 r0!, {s15}
220 0024 B4EE678A vcmp.f32 s16, s15
221 0028 F1EE10FA vmrs APSR_nzcv, FPSCR
222 002c 48BF it mi
223 002e B0EE678A vmovmi.f32 s16, s15
224 0032 0139 subs r1, r1, #1
225 0034 F4D1 bne .L45
226 0036 DFED128A vldr.32 s17, .L55
227 003a 0FB9 cbnz r7, .L47
228 003c 0BE0 b .L46
229 .L54:
230 003e 013D subs r5, r5, #1
231 .L47:
232 0040 14ED010A vldr.32 s0, [r4, #-4]
233 0044 30EE480A vsub.f32 s0, s0, s16
234 0048 FFF7FEFF bl expf
235 004c 0434 adds r4, r4, #4
236 004e 78EE808A vadd.f32 s17, s17, s0
237 0052 002D cmp r5, #0
ARM GAS /tmp/ccDbuMpk.s page 5
238 0054 F3D1 bne .L54
239 .L46:
240 0056 B0EE680A vmov.f32 s0, s17
241 005a FFF7FEFF bl logf
242 005e 38EE000A vadd.f32 s0, s16, s0
243 0062 BDEC028B vldm sp!, {d8}
244 0066 F8BD pop {r3, r4, r5, r6, r7, pc}
245 .L43:
246 0068 14ED010A vldr.32 s0, [r4, #-4]
247 006c DFED048A vldr.32 s17, .L55
248 0070 30EE480A vsub.f32 s0, s0, s16
249 0074 FFF7FEFF bl expf
250 0078 70EE288A vadd.f32 s17, s0, s17
251 007c EBE7 b .L46
252 .L56:
253 007e 00BF .align 2
254 .L55:
255 0080 00000000 .word 0
257 .section .text.arm_logsumexp_f32,"ax",%progbits
258 .align 1
259 .p2align 2,,3
260 .global arm_logsumexp_f32
261 .syntax unified
262 .thumb
263 .thumb_func
264 .fpu fpv4-sp-d16
266 arm_logsumexp_f32:
267 @ args = 0, pretend = 0, frame = 0
268 @ frame_needed = 0, uses_anonymous_args = 0
269 0000 38B5 push {r3, r4, r5, lr}
270 0002 4D1E subs r5, r1, #1
271 0004 2DED028B vpush.64 {d8}
272 0008 041D adds r4, r0, #4
273 000a 90ED008A vldr.32 s16, [r0]
274 000e 2DB3 cbz r5, .L58
275 0010 2246 mov r2, r4
276 0012 2B46 mov r3, r5
277 .L60:
278 0014 F2EC017A vldmia.32 r2!, {s15}
279 0018 B4EE678A vcmp.f32 s16, s15
280 001c F1EE10FA vmrs APSR_nzcv, FPSCR
281 0020 48BF it mi
282 0022 B0EE678A vmovmi.f32 s16, s15
283 0026 013B subs r3, r3, #1
284 0028 F4D1 bne .L60
285 002a DFED128A vldr.32 s17, .L70
286 002e 09B9 cbnz r1, .L62
287 0030 0BE0 b .L61
288 .L69:
289 0032 013D subs r5, r5, #1
290 .L62:
291 0034 14ED010A vldr.32 s0, [r4, #-4]
292 0038 30EE480A vsub.f32 s0, s0, s16
293 003c FFF7FEFF bl expf
294 0040 0434 adds r4, r4, #4
295 0042 78EE808A vadd.f32 s17, s17, s0
296 0046 002D cmp r5, #0
ARM GAS /tmp/ccDbuMpk.s page 6
297 0048 F3D1 bne .L69
298 .L61:
299 004a B0EE680A vmov.f32 s0, s17
300 004e FFF7FEFF bl logf
301 0052 30EE080A vadd.f32 s0, s0, s16
302 0056 BDEC028B vldm sp!, {d8}
303 005a 38BD pop {r3, r4, r5, pc}
304 .L58:
305 005c 14ED010A vldr.32 s0, [r4, #-4]
306 0060 DFED048A vldr.32 s17, .L70
307 0064 30EE480A vsub.f32 s0, s0, s16
308 0068 FFF7FEFF bl expf
309 006c 70EE288A vadd.f32 s17, s0, s17
310 0070 EBE7 b .L61
311 .L71:
312 0072 00BF .align 2
313 .L70:
314 0074 00000000 .word 0
316 .section .text.arm_max_f32,"ax",%progbits
317 .align 1
318 .p2align 2,,3
319 .global arm_max_f32
320 .syntax unified
321 .thumb
322 .thumb_func
323 .fpu fpv4-sp-d16
325 arm_max_f32:
326 @ args = 0, pretend = 0, frame = 0
327 @ frame_needed = 0, uses_anonymous_args = 0
328 @ link register save eliminated.
329 0000 0129 cmp r1, #1
330 0002 10B4 push {r4}
331 0004 B0EC017A vldmia.32 r0!, {s14}
332 0008 17D0 beq .L76
333 000a 4FF0010C mov ip, #1
334 000e 0024 movs r4, #0
335 .L75:
336 0010 F0EC017A vldmia.32 r0!, {s15}
337 0014 B4EEE77A vcmpe.f32 s14, s15
338 0018 F1EE10FA vmrs APSR_nzcv, FPSCR
339 001c 48BF it mi
340 001e 6446 movmi r4, ip
341 0020 0CF1010C add ip, ip, #1
342 0024 48BF it mi
343 0026 B0EE677A vmovmi.f32 s14, s15
344 002a 6145 cmp r1, ip
345 002c F0D1 bne .L75
346 002e 82ED007A vstr.32 s14, [r2]
347 0032 1C60 str r4, [r3]
348 0034 5DF8044B ldr r4, [sp], #4
349 0038 7047 bx lr
350 .L76:
351 003a 0024 movs r4, #0
352 003c 82ED007A vstr.32 s14, [r2]
353 0040 1C60 str r4, [r3]
354 0042 5DF8044B ldr r4, [sp], #4
355 0046 7047 bx lr
ARM GAS /tmp/ccDbuMpk.s page 7
357 .section .text.arm_max_q15,"ax",%progbits
358 .align 1
359 .p2align 2,,3
360 .global arm_max_q15
361 .syntax unified
362 .thumb
363 .thumb_func
364 .fpu fpv4-sp-d16
366 arm_max_q15:
367 @ args = 0, pretend = 0, frame = 0
368 @ frame_needed = 0, uses_anonymous_args = 0
369 0000 0129 cmp r1, #1
370 0002 30B5 push {r4, r5, lr}
371 0004 30F9024B ldrsh r4, [r0], #2
372 0008 10D0 beq .L84
373 000a 4FF0010C mov ip, #1
374 000e 0025 movs r5, #0
375 .L83:
376 0010 30F902EB ldrsh lr, [r0], #2
377 0014 7445 cmp r4, lr
378 0016 B8BF it lt
379 0018 6546 movlt r5, ip
380 001a 0CF1010C add ip, ip, #1
381 001e B8BF it lt
382 0020 7446 movlt r4, lr
383 0022 6145 cmp r1, ip
384 0024 F4D1 bne .L83
385 0026 1480 strh r4, [r2] @ movhi
386 0028 1D60 str r5, [r3]
387 002a 30BD pop {r4, r5, pc}
388 .L84:
389 002c 0025 movs r5, #0
390 002e 1480 strh r4, [r2] @ movhi
391 0030 1D60 str r5, [r3]
392 0032 30BD pop {r4, r5, pc}
394 .section .text.arm_max_q31,"ax",%progbits
395 .align 1
396 .p2align 2,,3
397 .global arm_max_q31
398 .syntax unified
399 .thumb
400 .thumb_func
401 .fpu fpv4-sp-d16
403 arm_max_q31:
404 @ args = 0, pretend = 0, frame = 0
405 @ frame_needed = 0, uses_anonymous_args = 0
406 @ link register save eliminated.
407 0000 0129 cmp r1, #1
408 0002 70B4 push {r4, r5, r6}
409 0004 50F8045B ldr r5, [r0], #4
410 0008 11D0 beq .L91
411 000a 4FF0010C mov ip, #1
412 000e 0026 movs r6, #0
413 .L90:
414 0010 50F8044B ldr r4, [r0], #4
415 0014 A542 cmp r5, r4
416 0016 B8BF it lt
ARM GAS /tmp/ccDbuMpk.s page 8
417 0018 6646 movlt r6, ip
418 001a 0CF1010C add ip, ip, #1
419 001e B8BF it lt
420 0020 2546 movlt r5, r4
421 0022 6145 cmp r1, ip
422 0024 F4D1 bne .L90
423 0026 1560 str r5, [r2]
424 0028 1E60 str r6, [r3]
425 002a 70BC pop {r4, r5, r6}
426 002c 7047 bx lr
427 .L91:
428 002e 0026 movs r6, #0
429 0030 1560 str r5, [r2]
430 0032 1E60 str r6, [r3]
431 0034 70BC pop {r4, r5, r6}
432 0036 7047 bx lr
434 .section .text.arm_max_q7,"ax",%progbits
435 .align 1
436 .p2align 2,,3
437 .global arm_max_q7
438 .syntax unified
439 .thumb
440 .thumb_func
441 .fpu fpv4-sp-d16
443 arm_max_q7:
444 @ args = 0, pretend = 0, frame = 0
445 @ frame_needed = 0, uses_anonymous_args = 0
446 0000 30B5 push {r4, r5, lr}
447 0002 8446 mov ip, r0
448 0004 0129 cmp r1, #1
449 0006 1CF901EB ldrsb lr, [ip], #1
450 000a 10D0 beq .L98
451 000c 4518 adds r5, r0, r1
452 000e 0024 movs r4, #0
453 .L97:
454 0010 1CF9011B ldrsb r1, [ip], #1
455 0014 8E45 cmp lr, r1
456 0016 04DA bge .L96
457 0018 0CF1FF3E add lr, ip, #-1
458 001c AEEB0004 sub r4, lr, r0
459 0020 8E46 mov lr, r1
460 .L96:
461 0022 6545 cmp r5, ip
462 0024 F4D1 bne .L97
463 0026 82F800E0 strb lr, [r2]
464 002a 1C60 str r4, [r3]
465 002c 30BD pop {r4, r5, pc}
466 .L98:
467 002e 0024 movs r4, #0
468 0030 82F800E0 strb lr, [r2]
469 0034 1C60 str r4, [r3]
470 0036 30BD pop {r4, r5, pc}
472 .section .text.arm_max_no_idx_f32,"ax",%progbits
473 .align 1
474 .p2align 2,,3
475 .global arm_max_no_idx_f32
476 .syntax unified
ARM GAS /tmp/ccDbuMpk.s page 9
477 .thumb
478 .thumb_func
479 .fpu fpv4-sp-d16
481 arm_max_no_idx_f32:
482 @ args = 0, pretend = 0, frame = 0
483 @ frame_needed = 0, uses_anonymous_args = 0
484 @ link register save eliminated.
485 0000 DFED087A vldr.32 s15, .L108
486 0004 51B1 cbz r1, .L102
487 .L104:
488 0006 B0EC017A vldmia.32 r0!, {s14}
489 000a F4EE477A vcmp.f32 s15, s14
490 000e F1EE10FA vmrs APSR_nzcv, FPSCR
491 0012 48BF it mi
492 0014 F0EE477A vmovmi.f32 s15, s14
493 0018 0139 subs r1, r1, #1
494 001a F4D1 bne .L104
495 .L102:
496 001c C2ED007A vstr.32 s15, [r2]
497 0020 7047 bx lr
498 .L109:
499 0022 00BF .align 2
500 .L108:
501 0024 FFFF7FFF .word -8388609
503 .section .text.arm_mean_f32,"ax",%progbits
504 .align 1
505 .p2align 2,,3
506 .global arm_mean_f32
507 .syntax unified
508 .thumb
509 .thumb_func
510 .fpu fpv4-sp-d16
512 arm_mean_f32:
513 @ args = 0, pretend = 0, frame = 8
514 @ frame_needed = 0, uses_anonymous_args = 0
515 @ link register save eliminated.
516 0000 82B0 sub sp, sp, #8
517 0002 0191 str r1, [sp, #4]
518 0004 91B1 cbz r1, .L113
519 0006 DFED0B7A vldr.32 s15, .L116
520 000a 0B46 mov r3, r1
521 .L112:
522 000c B0EC017A vldmia.32 r0!, {s14}
523 0010 013B subs r3, r3, #1
524 0012 77EE877A vadd.f32 s15, s15, s14
525 0016 F9D1 bne .L112
526 .L111:
527 0018 9DED017A vldr.32 s14, [sp, #4] @ int
528 001c B8EE477A vcvt.f32.u32 s14, s14
529 0020 C7EE876A vdiv.f32 s13, s15, s14
530 0024 C2ED006A vstr.32 s13, [r2]
531 0028 02B0 add sp, sp, #8
532 @ sp needed
533 002a 7047 bx lr
534 .L113:
535 002c DFED017A vldr.32 s15, .L116
536 0030 F2E7 b .L111
ARM GAS /tmp/ccDbuMpk.s page 10
537 .L117:
538 0032 00BF .align 2
539 .L116:
540 0034 00000000 .word 0
542 .section .text.arm_mean_q15,"ax",%progbits
543 .align 1
544 .p2align 2,,3
545 .global arm_mean_q15
546 .syntax unified
547 .thumb
548 .thumb_func
549 .fpu fpv4-sp-d16
551 arm_mean_q15:
552 @ args = 0, pretend = 0, frame = 0
553 @ frame_needed = 0, uses_anonymous_args = 0
554 0000 81B1 cbz r1, .L121
555 0002 00B5 push {lr}
556 0004 0B46 mov r3, r1
557 0006 4FF0000C mov ip, #0
558 .L120:
559 000a 30F902EB ldrsh lr, [r0], #2
560 000e 013B subs r3, r3, #1
561 0010 F444 add ip, ip, lr
562 0012 FAD1 bne .L120
563 0014 9CFBF1FC sdiv ip, ip, r1
564 0018 0FFA8CFC sxth ip, ip
565 001c A2F800C0 strh ip, [r2] @ movhi
566 0020 5DF804FB ldr pc, [sp], #4
567 .L121:
568 0024 1180 strh r1, [r2] @ movhi
569 0026 7047 bx lr
571 .global __aeabi_ldivmod
572 .section .text.arm_mean_q31,"ax",%progbits
573 .align 1
574 .p2align 2,,3
575 .global arm_mean_q31
576 .syntax unified
577 .thumb
578 .thumb_func
579 .fpu fpv4-sp-d16
581 arm_mean_q31:
582 @ args = 0, pretend = 0, frame = 0
583 @ frame_needed = 0, uses_anonymous_args = 0
584 0000 38B5 push {r3, r4, r5, lr}
585 0002 1546 mov r5, r2
586 0004 0A46 mov r2, r1
587 0006 81B1 cbz r1, .L130
588 0008 4FF0000C mov ip, #0
589 000c 0B46 mov r3, r1
590 000e 6146 mov r1, ip
591 .L129:
592 0010 50F8044B ldr r4, [r0], #4
593 0014 14EB0C0C adds ip, r4, ip
594 0018 41EBE471 adc r1, r1, r4, asr #31
595 001c 013B subs r3, r3, #1
596 001e F7D1 bne .L129
597 0020 6046 mov r0, ip
ARM GAS /tmp/ccDbuMpk.s page 11
598 0022 FFF7FEFF bl __aeabi_ldivmod
599 0026 2860 str r0, [r5]
600 0028 38BD pop {r3, r4, r5, pc}
601 .L130:
602 002a 0846 mov r0, r1
603 002c 2860 str r0, [r5]
604 002e 38BD pop {r3, r4, r5, pc}
606 .section .text.arm_mean_q7,"ax",%progbits
607 .align 1
608 .p2align 2,,3
609 .global arm_mean_q7
610 .syntax unified
611 .thumb
612 .thumb_func
613 .fpu fpv4-sp-d16
615 arm_mean_q7:
616 @ args = 0, pretend = 0, frame = 0
617 @ frame_needed = 0, uses_anonymous_args = 0
618 0000 71B1 cbz r1, .L136
619 0002 00B5 push {lr}
620 0004 0023 movs r3, #0
621 0006 00EB010E add lr, r0, r1
622 .L135:
623 000a 10F901CB ldrsb ip, [r0], #1
624 000e 7045 cmp r0, lr
625 0010 6344 add r3, r3, ip
626 0012 FAD1 bne .L135
627 0014 93FBF1F3 sdiv r3, r3, r1
628 0018 5BB2 sxtb r3, r3
629 001a 1370 strb r3, [r2]
630 001c 5DF804FB ldr pc, [sp], #4
631 .L136:
632 0020 1170 strb r1, [r2]
633 0022 7047 bx lr
635 .section .text.arm_min_f32,"ax",%progbits
636 .align 1
637 .p2align 2,,3
638 .global arm_min_f32
639 .syntax unified
640 .thumb
641 .thumb_func
642 .fpu fpv4-sp-d16
644 arm_min_f32:
645 @ args = 0, pretend = 0, frame = 0
646 @ frame_needed = 0, uses_anonymous_args = 0
647 @ link register save eliminated.
648 0000 0129 cmp r1, #1
649 0002 10B4 push {r4}
650 0004 B0EC017A vldmia.32 r0!, {s14}
651 0008 17D0 beq .L146
652 000a 4FF0010C mov ip, #1
653 000e 0024 movs r4, #0
654 .L145:
655 0010 F0EC017A vldmia.32 r0!, {s15}
656 0014 B4EEE77A vcmpe.f32 s14, s15
657 0018 F1EE10FA vmrs APSR_nzcv, FPSCR
658 001c C8BF it gt
ARM GAS /tmp/ccDbuMpk.s page 12
659 001e 6446 movgt r4, ip
660 0020 0CF1010C add ip, ip, #1
661 0024 C8BF it gt
662 0026 B0EE677A vmovgt.f32 s14, s15
663 002a 6145 cmp r1, ip
664 002c F0D1 bne .L145
665 002e 82ED007A vstr.32 s14, [r2]
666 0032 1C60 str r4, [r3]
667 0034 5DF8044B ldr r4, [sp], #4
668 0038 7047 bx lr
669 .L146:
670 003a 0024 movs r4, #0
671 003c 82ED007A vstr.32 s14, [r2]
672 0040 1C60 str r4, [r3]
673 0042 5DF8044B ldr r4, [sp], #4
674 0046 7047 bx lr
676 .section .text.arm_min_q15,"ax",%progbits
677 .align 1
678 .p2align 2,,3
679 .global arm_min_q15
680 .syntax unified
681 .thumb
682 .thumb_func
683 .fpu fpv4-sp-d16
685 arm_min_q15:
686 @ args = 0, pretend = 0, frame = 0
687 @ frame_needed = 0, uses_anonymous_args = 0
688 0000 0129 cmp r1, #1
689 0002 30B5 push {r4, r5, lr}
690 0004 30F9024B ldrsh r4, [r0], #2
691 0008 10D0 beq .L154
692 000a 4FF0010C mov ip, #1
693 000e 0025 movs r5, #0
694 .L153:
695 0010 30F902EB ldrsh lr, [r0], #2
696 0014 7445 cmp r4, lr
697 0016 C8BF it gt
698 0018 6546 movgt r5, ip
699 001a 0CF1010C add ip, ip, #1
700 001e C8BF it gt
701 0020 7446 movgt r4, lr
702 0022 6145 cmp r1, ip
703 0024 F4D1 bne .L153
704 0026 1480 strh r4, [r2] @ movhi
705 0028 1D60 str r5, [r3]
706 002a 30BD pop {r4, r5, pc}
707 .L154:
708 002c 0025 movs r5, #0
709 002e 1480 strh r4, [r2] @ movhi
710 0030 1D60 str r5, [r3]
711 0032 30BD pop {r4, r5, pc}
713 .section .text.arm_min_q31,"ax",%progbits
714 .align 1
715 .p2align 2,,3
716 .global arm_min_q31
717 .syntax unified
718 .thumb
ARM GAS /tmp/ccDbuMpk.s page 13
719 .thumb_func
720 .fpu fpv4-sp-d16
722 arm_min_q31:
723 @ args = 0, pretend = 0, frame = 0
724 @ frame_needed = 0, uses_anonymous_args = 0
725 @ link register save eliminated.
726 0000 0129 cmp r1, #1
727 0002 70B4 push {r4, r5, r6}
728 0004 50F8045B ldr r5, [r0], #4
729 0008 11D0 beq .L161
730 000a 4FF0010C mov ip, #1
731 000e 0026 movs r6, #0
732 .L160:
733 0010 50F8044B ldr r4, [r0], #4
734 0014 A542 cmp r5, r4
735 0016 C8BF it gt
736 0018 6646 movgt r6, ip
737 001a 0CF1010C add ip, ip, #1
738 001e C8BF it gt
739 0020 2546 movgt r5, r4
740 0022 6145 cmp r1, ip
741 0024 F4D1 bne .L160
742 0026 1560 str r5, [r2]
743 0028 1E60 str r6, [r3]
744 002a 70BC pop {r4, r5, r6}
745 002c 7047 bx lr
746 .L161:
747 002e 0026 movs r6, #0
748 0030 1560 str r5, [r2]
749 0032 1E60 str r6, [r3]
750 0034 70BC pop {r4, r5, r6}
751 0036 7047 bx lr
753 .section .text.arm_min_q7,"ax",%progbits
754 .align 1
755 .p2align 2,,3
756 .global arm_min_q7
757 .syntax unified
758 .thumb
759 .thumb_func
760 .fpu fpv4-sp-d16
762 arm_min_q7:
763 @ args = 0, pretend = 0, frame = 0
764 @ frame_needed = 0, uses_anonymous_args = 0
765 0000 30B5 push {r4, r5, lr}
766 0002 8446 mov ip, r0
767 0004 0129 cmp r1, #1
768 0006 1CF901EB ldrsb lr, [ip], #1
769 000a 10D0 beq .L168
770 000c 4518 adds r5, r0, r1
771 000e 0024 movs r4, #0
772 .L167:
773 0010 1CF9011B ldrsb r1, [ip], #1
774 0014 8E45 cmp lr, r1
775 0016 04DD ble .L166
776 0018 0CF1FF3E add lr, ip, #-1
777 001c AEEB0004 sub r4, lr, r0
778 0020 8E46 mov lr, r1
ARM GAS /tmp/ccDbuMpk.s page 14
779 .L166:
780 0022 6545 cmp r5, ip
781 0024 F4D1 bne .L167
782 0026 82F800E0 strb lr, [r2]
783 002a 1C60 str r4, [r3]
784 002c 30BD pop {r4, r5, pc}
785 .L168:
786 002e 0024 movs r4, #0
787 0030 82F800E0 strb lr, [r2]
788 0034 1C60 str r4, [r3]
789 0036 30BD pop {r4, r5, pc}
791 .section .text.arm_power_f32,"ax",%progbits
792 .align 1
793 .p2align 2,,3
794 .global arm_power_f32
795 .syntax unified
796 .thumb
797 .thumb_func
798 .fpu fpv4-sp-d16
800 arm_power_f32:
801 @ args = 0, pretend = 0, frame = 0
802 @ frame_needed = 0, uses_anonymous_args = 0
803 @ link register save eliminated.
804 0000 9FED057A vldr.32 s14, .L176
805 0004 29B1 cbz r1, .L172
806 .L173:
807 0006 F0EC017A vldmia.32 r0!, {s15}
808 000a 0139 subs r1, r1, #1
809 000c A7EEA77A vfma.f32 s14, s15, s15
810 0010 F9D1 bne .L173
811 .L172:
812 0012 82ED007A vstr.32 s14, [r2]
813 0016 7047 bx lr
814 .L177:
815 .align 2
816 .L176:
817 0018 00000000 .word 0
819 .section .text.arm_power_q15,"ax",%progbits
820 .align 1
821 .p2align 2,,3
822 .global arm_power_q15
823 .syntax unified
824 .thumb
825 .thumb_func
826 .fpu fpv4-sp-d16
828 arm_power_q15:
829 @ args = 0, pretend = 0, frame = 0
830 @ frame_needed = 0, uses_anonymous_args = 0
831 @ link register save eliminated.
832 0000 30B4 push {r4, r5}
833 0002 0024 movs r4, #0
834 0004 0025 movs r5, #0
835 0006 29B1 cbz r1, .L179
836 .L180:
837 0008 30F9023B ldrsh r3, [r0], #2
838 000c 0139 subs r1, r1, #1
839 000e C3FB8345 smlalbb r4, r5, r3, r3
ARM GAS /tmp/ccDbuMpk.s page 15
840 0012 F9D1 bne .L180
841 .L179:
842 0014 C2E90045 strd r4, [r2]
843 0018 30BC pop {r4, r5}
844 001a 7047 bx lr
846 .section .text.arm_power_q31,"ax",%progbits
847 .align 1
848 .p2align 2,,3
849 .global arm_power_q31
850 .syntax unified
851 .thumb
852 .thumb_func
853 .fpu fpv4-sp-d16
855 arm_power_q31:
856 @ args = 0, pretend = 0, frame = 0
857 @ frame_needed = 0, uses_anonymous_args = 0
858 @ link register save eliminated.
859 0000 30B4 push {r4, r5}
860 0002 89B1 cbz r1, .L187
861 0004 0024 movs r4, #0
862 0006 2546 mov r5, r4
863 .L186:
864 0008 50F8043B ldr r3, [r0], #4
865 000c 83FB033C smull r3, ip, r3, r3
866 0010 9B0B lsrs r3, r3, #14
867 0012 43EA8C43 orr r3, r3, ip, lsl #18
868 0016 1C19 adds r4, r3, r4
869 0018 45EBAC35 adc r5, r5, ip, asr #14
870 001c 0139 subs r1, r1, #1
871 001e F3D1 bne .L186
872 0020 C2E90045 strd r4, r5, [r2]
873 0024 30BC pop {r4, r5}
874 0026 7047 bx lr
875 .L187:
876 0028 0C46 mov r4, r1
877 002a 0D46 mov r5, r1
878 002c C2E90045 strd r4, r5, [r2]
879 0030 30BC pop {r4, r5}
880 0032 7047 bx lr
882 .section .text.arm_power_q7,"ax",%progbits
883 .align 1
884 .p2align 2,,3
885 .global arm_power_q7
886 .syntax unified
887 .thumb
888 .thumb_func
889 .fpu fpv4-sp-d16
891 arm_power_q7:
892 @ args = 0, pretend = 0, frame = 0
893 @ frame_needed = 0, uses_anonymous_args = 0
894 @ link register save eliminated.
895 0000 41B1 cbz r1, .L191
896 0002 00EB010C add ip, r0, r1
897 0006 0021 movs r1, #0
898 .L192:
899 0008 10F9013B ldrsb r3, [r0], #1
900 000c 6045 cmp r0, ip
ARM GAS /tmp/ccDbuMpk.s page 16
901 000e 13FB0311 smlabb r1, r3, r3, r1
902 0012 F9D1 bne .L192
903 .L191:
904 0014 1160 str r1, [r2]
905 0016 7047 bx lr
907 .section .text.arm_rms_f32,"ax",%progbits
908 .align 1
909 .p2align 2,,3
910 .global arm_rms_f32
911 .syntax unified
912 .thumb
913 .thumb_func
914 .fpu fpv4-sp-d16
916 arm_rms_f32:
917 @ args = 0, pretend = 0, frame = 8
918 @ frame_needed = 0, uses_anonymous_args = 0
919 0000 00B5 push {lr}
920 0002 83B0 sub sp, sp, #12
921 0004 0191 str r1, [sp, #4]
922 0006 01B3 cbz r1, .L204
923 0008 9FED167A vldr.32 s14, .L211
924 000c 0B46 mov r3, r1
925 .L197:
926 000e F0EC017A vldmia.32 r0!, {s15}
927 0012 013B subs r3, r3, #1
928 0014 A7EEA77A vfma.f32 s14, s15, s15
929 0018 F9D1 bne .L197
930 .L196:
931 001a DDED017A vldr.32 s15, [sp, #4] @ int
932 001e F8EE677A vcvt.f32.u32 s15, s15
933 0022 0023 movs r3, #0
934 0024 87EE270A vdiv.f32 s0, s14, s15
935 0028 B5EEC00A vcmpe.f32 s0, #0
936 002c F1EE10FA vmrs APSR_nzcv, FPSCR
937 0030 0EDB blt .L208
938 0032 B5EE400A vcmp.f32 s0, #0
939 0036 F1EE10FA vmrs APSR_nzcv, FPSCR
940 003a 0BD4 bmi .L209
941 003c F1EEC07A vsqrt.f32 s15, s0
942 .L202:
943 0040 C2ED007A vstr.32 s15, [r2]
944 .L195:
945 0044 03B0 add sp, sp, #12
946 @ sp needed
947 0046 5DF804FB ldr pc, [sp], #4
948 .L204:
949 004a 9FED067A vldr.32 s14, .L211
950 004e E4E7 b .L196
951 .L208:
952 0050 1360 str r3, [r2] @ float
953 0052 F7E7 b .L195
954 .L209:
955 0054 0192 str r2, [sp, #4]
956 0056 FFF7FEFF bl sqrtf
957 005a 019A ldr r2, [sp, #4]
958 005c F0EE407A vmov.f32 s15, s0
959 0060 EEE7 b .L202
ARM GAS /tmp/ccDbuMpk.s page 17
960 .L212:
961 0062 00BF .align 2
962 .L211:
963 0064 00000000 .word 0
965 .section .text.arm_rms_q15,"ax",%progbits
966 .align 1
967 .p2align 2,,3
968 .global arm_rms_q15
969 .syntax unified
970 .thumb
971 .thumb_func
972 .fpu fpv4-sp-d16
974 arm_rms_q15:
975 @ args = 0, pretend = 0, frame = 0
976 @ frame_needed = 0, uses_anonymous_args = 0
977 0000 70B5 push {r4, r5, r6, lr}
978 0002 1646 mov r6, r2
979 0004 0A46 mov r2, r1
980 0006 79B1 cbz r1, .L214
981 0008 0B46 mov r3, r1
982 000a 0024 movs r4, #0
983 000c 0025 movs r5, #0
984 .L215:
985 000e 30F902CB ldrsh ip, [r0], #2
986 0012 013B subs r3, r3, #1
987 0014 CCFB8C45 smlalbb r4, r5, ip, ip
988 0018 F9D1 bne .L215
989 001a 2046 mov r0, r4
990 001c 2946 mov r1, r5
991 001e FFF7FEFF bl __aeabi_ldivmod
992 0022 C30B lsrs r3, r0, #15
993 0024 43EA4141 orr r1, r3, r1, lsl #17
994 .L214:
995 .syntax unified
996 @ 143 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_q15.c" 1
997 0028 01F30F00 ssat r0, #16, r1
998 @ 0 "" 2
999 .thumb
1000 .syntax unified
1001 002c 3146 mov r1, r6
1002 002e 00B2 sxth r0, r0
1003 0030 BDE87040 pop {r4, r5, r6, lr}
1004 0034 FFF7FEBF b arm_sqrt_q15
1006 .global __aeabi_uldivmod
1007 .section .text.arm_rms_q31,"ax",%progbits
1008 .align 1
1009 .p2align 2,,3
1010 .global arm_rms_q31
1011 .syntax unified
1012 .thumb
1013 .thumb_func
1014 .fpu fpv4-sp-d16
1016 arm_rms_q31:
1017 @ args = 0, pretend = 0, frame = 0
1018 @ frame_needed = 0, uses_anonymous_args = 0
1019 0000 38B5 push {r3, r4, r5, lr}
1020 0002 1546 mov r5, r2
ARM GAS /tmp/ccDbuMpk.s page 18
1021 0004 0A46 mov r2, r1
1022 0006 D1B1 cbz r1, .L222
1023 0008 4FF0000C mov ip, #0
1024 000c 0B46 mov r3, r1
1025 000e 6146 mov r1, ip
1026 .L221:
1027 0010 50F8044B ldr r4, [r0], #4
1028 0014 013B subs r3, r3, #1
1029 0016 C4FB04C1 smlal ip, r1, r4, r4
1030 001a F9D1 bne .L221
1031 001c 6046 mov r0, ip
1032 001e FFF7FEFF bl __aeabi_uldivmod
1033 0022 C00F lsrs r0, r0, #31
1034 0024 40EA4100 orr r0, r0, r1, lsl #1
1035 0028 C317 asrs r3, r0, #31
1036 002a B3EBD17F cmp r3, r1, lsr #31
1037 002e 18BF it ne
1038 0030 6FF00040 mvnne r0, #-2147483648
1039 0034 2946 mov r1, r5
1040 0036 BDE83840 pop {r3, r4, r5, lr}
1041 003a FFF7FEBF b arm_sqrt_q31
1042 .L222:
1043 003e 0846 mov r0, r1
1044 0040 2946 mov r1, r5
1045 0042 BDE83840 pop {r3, r4, r5, lr}
1046 0046 FFF7FEBF b arm_sqrt_q31
1048 004a 00BF .section .text.arm_std_f32,"ax",%progbits
1049 .align 1
1050 .p2align 2,,3
1051 .global arm_std_f32
1052 .syntax unified
1053 .thumb
1054 .thumb_func
1055 .fpu fpv4-sp-d16
1057 arm_std_f32:
1058 @ args = 0, pretend = 0, frame = 8
1059 @ frame_needed = 0, uses_anonymous_args = 0
1060 0000 0129 cmp r1, #1
1061 0002 2FD9 bls .L235
1062 0004 DFED217A vldr.32 s15, .L247
1063 0008 0B46 mov r3, r1
1064 000a 8446 mov ip, r0
1065 .L227:
1066 000c BCEC017A vldmia.32 ip!, {s14}
1067 0010 013B subs r3, r3, #1
1068 0012 77EE877A vadd.f32 s15, s15, s14
1069 0016 F9D1 bne .L227
1070 0018 07EE101A vmov s14, r1 @ int
1071 001c B8EE476A vcvt.f32.u32 s12, s14
1072 0020 9FED1A7A vldr.32 s14, .L247
1073 0024 C7EE866A vdiv.f32 s13, s15, s12
1074 .L228:
1075 0028 0139 subs r1, r1, #1
1076 002a F0EC017A vldmia.32 r0!, {s15}
1077 002e 77EEE67A vsub.f32 s15, s15, s13
1078 0032 A7EEA77A vfma.f32 s14, s15, s15
1079 0036 F7D1 bne .L228
ARM GAS /tmp/ccDbuMpk.s page 19
1080 0038 F7EE007A vmov.f32 s15, #1.0e+0
1081 003c 36EE676A vsub.f32 s12, s12, s15
1082 0040 0023 movs r3, #0
1083 0042 87EE060A vdiv.f32 s0, s14, s12
1084 0046 B5EEC00A vcmpe.f32 s0, #0
1085 004a F1EE10FA vmrs APSR_nzcv, FPSCR
1086 004e 10DB blt .L239
1087 0050 B5EE400A vcmp.f32 s0, #0
1088 0054 F1EE10FA vmrs APSR_nzcv, FPSCR
1089 0058 0DD4 bmi .L246
1090 005a F1EEC07A vsqrt.f32 s15, s0
1091 005e C2ED007A vstr.32 s15, [r2]
1092 0062 7047 bx lr
1093 .L235:
1094 0064 9FED090A vldr.32 s0, .L247
1095 0068 F1EEC07A vsqrt.f32 s15, s0
1096 006c C2ED007A vstr.32 s15, [r2]
1097 0070 7047 bx lr
1098 .L239:
1099 0072 1360 str r3, [r2] @ float
1100 0074 7047 bx lr
1101 .L246:
1102 0076 00B5 push {lr}
1103 0078 83B0 sub sp, sp, #12
1104 007a 0192 str r2, [sp, #4]
1105 007c FFF7FEFF bl sqrtf
1106 0080 019A ldr r2, [sp, #4]
1107 0082 82ED000A vstr.32 s0, [r2]
1108 0086 03B0 add sp, sp, #12
1109 @ sp needed
1110 0088 5DF804FB ldr pc, [sp], #4
1111 .L248:
1112 .align 2
1113 .L247:
1114 008c 00000000 .word 0
1116 .section .text.arm_std_q15,"ax",%progbits
1117 .align 1
1118 .p2align 2,,3
1119 .global arm_std_q15
1120 .syntax unified
1121 .thumb
1122 .thumb_func
1123 .fpu fpv4-sp-d16
1125 arm_std_q15:
1126 @ args = 0, pretend = 0, frame = 0
1127 @ frame_needed = 0, uses_anonymous_args = 0
1128 0000 0129 cmp r1, #1
1129 0002 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
1130 0006 9046 mov r8, r2
1131 0008 25D9 bls .L256
1132 000a 8946 mov r9, r1
1133 000c 0C46 mov r4, r1
1134 000e 0026 movs r6, #0
1135 0010 0027 movs r7, #0
1136 0012 0025 movs r5, #0
1137 .L250:
1138 0014 30F902CB ldrsh ip, [r0], #2
ARM GAS /tmp/ccDbuMpk.s page 20
1139 0018 013C subs r4, r4, #1
1140 001a CCFB8C67 smlalbb r6, r7, ip, ip
1141 001e 6544 add r5, r5, ip
1142 0020 F8D1 bne .L250
1143 0022 3046 mov r0, r6
1144 0024 09F1FF36 add r6, r9, #-1
1145 0028 3246 mov r2, r6
1146 002a 2346 mov r3, r4
1147 002c 3946 mov r1, r7
1148 002e FFF7FEFF bl __aeabi_ldivmod
1149 0032 2346 mov r3, r4
1150 0034 09FB06F2 mul r2, r9, r6
1151 0038 0446 mov r4, r0
1152 003a 85FB0501 smull r0, r1, r5, r5
1153 003e FFF7FEFF bl __aeabi_ldivmod
1154 0042 201A subs r0, r4, r0
1155 0044 C013 asrs r0, r0, #15
1156 0046 4146 mov r1, r8
1157 .syntax unified
1158 @ 167 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/StatisticsFunctions/arm_std_q15.c" 1
1159 0048 00F30F00 ssat r0, #16, r0
1160 @ 0 "" 2
1161 .thumb
1162 .syntax unified
1163 004c BDE8F843 pop {r3, r4, r5, r6, r7, r8, r9, lr}
1164 0050 00B2 sxth r0, r0
1165 0052 FFF7FEBF b arm_sqrt_q15
1166 .L256:
1167 0056 0023 movs r3, #0
1168 0058 1380 strh r3, [r2] @ movhi
1169 005a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1171 005e 00BF .section .text.arm_std_q31,"ax",%progbits
1172 .align 1
1173 .p2align 2,,3
1174 .global arm_std_q31
1175 .syntax unified
1176 .thumb
1177 .thumb_func
1178 .fpu fpv4-sp-d16
1180 arm_std_q31:
1181 @ args = 0, pretend = 0, frame = 0
1182 @ frame_needed = 0, uses_anonymous_args = 0
1183 0000 0129 cmp r1, #1
1184 0002 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
1185 0006 1746 mov r7, r2
1186 0008 31D9 bls .L264
1187 000a 4FF0000E mov lr, #0
1188 000e 8846 mov r8, r1
1189 0010 0D46 mov r5, r1
1190 0012 7446 mov r4, lr
1191 0014 7146 mov r1, lr
1192 0016 7646 mov r6, lr
1193 .L258:
1194 0018 50F8043B ldr r3, [r0], #4
1195 001c 4FEA232C asr ip, r3, #8
1196 0020 1CEB0404 adds r4, ip, r4
1197 0024 46EBE376 adc r6, r6, r3, asr #31
ARM GAS /tmp/ccDbuMpk.s page 21
1198 0028 013D subs r5, r5, #1
1199 002a CCFB0CE1 smlal lr, r1, ip, ip
1200 002e F3D1 bne .L258
1201 0030 08F1FF39 add r9, r8, #-1
1202 0034 7046 mov r0, lr
1203 0036 4A46 mov r2, r9
1204 0038 2B46 mov r3, r5
1205 003a FFF7FEFF bl __aeabi_ldivmod
1206 003e 04FB06F6 mul r6, r4, r6
1207 0042 2B46 mov r3, r5
1208 0044 0546 mov r5, r0
1209 0046 A4FB0404 umull r0, r4, r4, r4
1210 004a 08FB09F2 mul r2, r8, r9
1211 004e 8846 mov r8, r1
1212 0050 04EB4601 add r1, r4, r6, lsl #1
1213 0054 FFF7FEFF bl __aeabi_ldivmod
1214 0058 2D1A subs r5, r5, r0
1215 005a 68EB0100 sbc r0, r8, r1
1216 005e ED0B lsrs r5, r5, #15
1217 0060 3946 mov r1, r7
1218 0062 45EA4040 orr r0, r5, r0, lsl #17
1219 0066 BDE8F843 pop {r3, r4, r5, r6, r7, r8, r9, lr}
1220 006a FFF7FEBF b arm_sqrt_q31
1221 .L264:
1222 006e 0023 movs r3, #0
1223 0070 1360 str r3, [r2]
1224 0072 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1226 0076 00BF .section .text.arm_var_f32,"ax",%progbits
1227 .align 1
1228 .p2align 2,,3
1229 .global arm_var_f32
1230 .syntax unified
1231 .thumb
1232 .thumb_func
1233 .fpu fpv4-sp-d16
1235 arm_var_f32:
1236 @ args = 0, pretend = 0, frame = 0
1237 @ frame_needed = 0, uses_anonymous_args = 0
1238 @ link register save eliminated.
1239 0000 0129 cmp r1, #1
1240 0002 22D9 bls .L272
1241 0004 DFED127A vldr.32 s15, .L273
1242 0008 0B46 mov r3, r1
1243 000a 8446 mov ip, r0
1244 .L266:
1245 000c BCEC017A vldmia.32 ip!, {s14}
1246 0010 013B subs r3, r3, #1
1247 0012 77EE877A vadd.f32 s15, s15, s14
1248 0016 F9D1 bne .L266
1249 0018 07EE101A vmov s14, r1 @ int
1250 001c B8EE476A vcvt.f32.u32 s12, s14
1251 0020 9FED0B7A vldr.32 s14, .L273
1252 0024 C7EE866A vdiv.f32 s13, s15, s12
1253 .L268:
1254 0028 0139 subs r1, r1, #1
1255 002a F0EC017A vldmia.32 r0!, {s15}
1256 002e 77EEE67A vsub.f32 s15, s15, s13
ARM GAS /tmp/ccDbuMpk.s page 22
1257 0032 A7EEA77A vfma.f32 s14, s15, s15
1258 0036 F7D1 bne .L268
1259 0038 F7EE007A vmov.f32 s15, #1.0e+0
1260 003c 36EE676A vsub.f32 s12, s12, s15
1261 0040 C7EE067A vdiv.f32 s15, s14, s12
1262 0044 C2ED007A vstr.32 s15, [r2]
1263 0048 7047 bx lr
1264 .L272:
1265 004a 0023 movs r3, #0
1266 004c 1360 str r3, [r2] @ float
1267 004e 7047 bx lr
1268 .L274:
1269 .align 2
1270 .L273:
1271 0050 00000000 .word 0
1273 .section .text.arm_var_q15,"ax",%progbits
1274 .align 1
1275 .p2align 2,,3
1276 .global arm_var_q15
1277 .syntax unified
1278 .thumb
1279 .thumb_func
1280 .fpu fpv4-sp-d16
1282 arm_var_q15:
1283 @ args = 0, pretend = 0, frame = 0
1284 @ frame_needed = 0, uses_anonymous_args = 0
1285 0000 0129 cmp r1, #1
1286 0002 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1287 0006 1646 mov r6, r2
1288 0008 1FD9 bls .L281
1289 000a 0346 mov r3, r0
1290 000c 0020 movs r0, #0
1291 000e 0D46 mov r5, r1
1292 0010 0F46 mov r7, r1
1293 0012 0446 mov r4, r0
1294 0014 0146 mov r1, r0
1295 .L276:
1296 0016 33F902CB ldrsh ip, [r3], #2
1297 .syntax unified
1298 @ 2014 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1299 001a CCFBCC01 smlald r0, r1, ip, ip
1300 @ 0 "" 2
1301 .thumb
1302 .syntax unified
1303 001e 013F subs r7, r7, #1
1304 0020 6444 add r4, r4, ip
1305 0022 F8D1 bne .L276
1306 0024 05F1FF38 add r8, r5, #-1
1307 0028 4246 mov r2, r8
1308 002a 3B46 mov r3, r7
1309 002c FFF7FEFF bl __aeabi_ldivmod
1310 0030 05FB08F2 mul r2, r5, r8
1311 0034 3B46 mov r3, r7
1312 0036 0546 mov r5, r0
1313 0038 84FB0401 smull r0, r1, r4, r4
1314 003c FFF7FEFF bl __aeabi_ldivmod
1315 0040 281A subs r0, r5, r0
ARM GAS /tmp/ccDbuMpk.s page 23
1316 0042 C513 asrs r5, r0, #15
1317 0044 3580 strh r5, [r6] @ movhi
1318 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1319 .L281:
1320 004a 0023 movs r3, #0
1321 004c 1380 strh r3, [r2] @ movhi
1322 004e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1324 0052 00BF .section .text.arm_var_q31,"ax",%progbits
1325 .align 1
1326 .p2align 2,,3
1327 .global arm_var_q31
1328 .syntax unified
1329 .thumb
1330 .thumb_func
1331 .fpu fpv4-sp-d16
1333 arm_var_q31:
1334 @ args = 0, pretend = 0, frame = 0
1335 @ frame_needed = 0, uses_anonymous_args = 0
1336 0000 0129 cmp r1, #1
1337 0002 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
1338 0006 1746 mov r7, r2
1339 0008 2FD9 bls .L288
1340 000a 4FF0000E mov lr, #0
1341 000e 8846 mov r8, r1
1342 0010 0D46 mov r5, r1
1343 0012 7446 mov r4, lr
1344 0014 7146 mov r1, lr
1345 0016 7646 mov r6, lr
1346 .L283:
1347 0018 50F8043B ldr r3, [r0], #4
1348 001c 4FEA232C asr ip, r3, #8
1349 0020 1CEB0404 adds r4, ip, r4
1350 0024 46EBE376 adc r6, r6, r3, asr #31
1351 0028 013D subs r5, r5, #1
1352 002a CCFB0CE1 smlal lr, r1, ip, ip
1353 002e F3D1 bne .L283
1354 0030 08F1FF39 add r9, r8, #-1
1355 0034 2B46 mov r3, r5
1356 0036 7046 mov r0, lr
1357 0038 4A46 mov r2, r9
1358 003a FFF7FEFF bl __aeabi_ldivmod
1359 003e 04FB06F6 mul r6, r4, r6
1360 0042 2B46 mov r3, r5
1361 0044 0546 mov r5, r0
1362 0046 A4FB0404 umull r0, r4, r4, r4
1363 004a 08FB09F2 mul r2, r8, r9
1364 004e 8846 mov r8, r1
1365 0050 04EB4601 add r1, r4, r6, lsl #1
1366 0054 FFF7FEFF bl __aeabi_ldivmod
1367 0058 281A subs r0, r5, r0
1368 005a 68EB0108 sbc r8, r8, r1
1369 005e C00B lsrs r0, r0, #15
1370 0060 40EA4840 orr r0, r0, r8, lsl #17
1371 0064 3860 str r0, [r7]
1372 0066 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1373 .L288:
1374 006a 0023 movs r3, #0
ARM GAS /tmp/ccDbuMpk.s page 24
1375 006c 1360 str r3, [r2]
1376 006e BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1378 0072 00BF .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)"
ARM GAS /tmp/ccDbuMpk.s page 25
DEFINED SYMBOLS
*ABS*:0000000000000000 StatisticsFunctions.c
/tmp/ccDbuMpk.s:16 .text.arm_entropy_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:25 .text.arm_entropy_f32:0000000000000000 arm_entropy_f32
/tmp/ccDbuMpk.s:50 .text.arm_entropy_f32:0000000000000034 $d
/tmp/ccDbuMpk.s:56 .text.arm_entropy_f64:0000000000000000 $t
/tmp/ccDbuMpk.s:64 .text.arm_entropy_f64:0000000000000000 arm_entropy_f64
/tmp/ccDbuMpk.s:104 .text.arm_kullback_leibler_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:112 .text.arm_kullback_leibler_f32:0000000000000000 arm_kullback_leibler_f32
/tmp/ccDbuMpk.s:139 .text.arm_kullback_leibler_f32:000000000000003c $d
/tmp/ccDbuMpk.s:144 .text.arm_kullback_leibler_f64:0000000000000000 $t
/tmp/ccDbuMpk.s:152 .text.arm_kullback_leibler_f64:0000000000000000 arm_kullback_leibler_f64
/tmp/ccDbuMpk.s:194 .text.arm_logsumexp_dot_prod_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:202 .text.arm_logsumexp_dot_prod_f32:0000000000000000 arm_logsumexp_dot_prod_f32
/tmp/ccDbuMpk.s:255 .text.arm_logsumexp_dot_prod_f32:0000000000000080 $d
/tmp/ccDbuMpk.s:258 .text.arm_logsumexp_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:266 .text.arm_logsumexp_f32:0000000000000000 arm_logsumexp_f32
/tmp/ccDbuMpk.s:314 .text.arm_logsumexp_f32:0000000000000074 $d
/tmp/ccDbuMpk.s:317 .text.arm_max_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:325 .text.arm_max_f32:0000000000000000 arm_max_f32
/tmp/ccDbuMpk.s:358 .text.arm_max_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:366 .text.arm_max_q15:0000000000000000 arm_max_q15
/tmp/ccDbuMpk.s:395 .text.arm_max_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:403 .text.arm_max_q31:0000000000000000 arm_max_q31
/tmp/ccDbuMpk.s:435 .text.arm_max_q7:0000000000000000 $t
/tmp/ccDbuMpk.s:443 .text.arm_max_q7:0000000000000000 arm_max_q7
/tmp/ccDbuMpk.s:473 .text.arm_max_no_idx_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:481 .text.arm_max_no_idx_f32:0000000000000000 arm_max_no_idx_f32
/tmp/ccDbuMpk.s:501 .text.arm_max_no_idx_f32:0000000000000024 $d
/tmp/ccDbuMpk.s:504 .text.arm_mean_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:512 .text.arm_mean_f32:0000000000000000 arm_mean_f32
/tmp/ccDbuMpk.s:540 .text.arm_mean_f32:0000000000000034 $d
/tmp/ccDbuMpk.s:543 .text.arm_mean_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:551 .text.arm_mean_q15:0000000000000000 arm_mean_q15
/tmp/ccDbuMpk.s:573 .text.arm_mean_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:581 .text.arm_mean_q31:0000000000000000 arm_mean_q31
/tmp/ccDbuMpk.s:607 .text.arm_mean_q7:0000000000000000 $t
/tmp/ccDbuMpk.s:615 .text.arm_mean_q7:0000000000000000 arm_mean_q7
/tmp/ccDbuMpk.s:636 .text.arm_min_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:644 .text.arm_min_f32:0000000000000000 arm_min_f32
/tmp/ccDbuMpk.s:677 .text.arm_min_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:685 .text.arm_min_q15:0000000000000000 arm_min_q15
/tmp/ccDbuMpk.s:714 .text.arm_min_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:722 .text.arm_min_q31:0000000000000000 arm_min_q31
/tmp/ccDbuMpk.s:754 .text.arm_min_q7:0000000000000000 $t
/tmp/ccDbuMpk.s:762 .text.arm_min_q7:0000000000000000 arm_min_q7
/tmp/ccDbuMpk.s:792 .text.arm_power_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:800 .text.arm_power_f32:0000000000000000 arm_power_f32
/tmp/ccDbuMpk.s:817 .text.arm_power_f32:0000000000000018 $d
/tmp/ccDbuMpk.s:820 .text.arm_power_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:828 .text.arm_power_q15:0000000000000000 arm_power_q15
/tmp/ccDbuMpk.s:847 .text.arm_power_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:855 .text.arm_power_q31:0000000000000000 arm_power_q31
/tmp/ccDbuMpk.s:883 .text.arm_power_q7:0000000000000000 $t
/tmp/ccDbuMpk.s:891 .text.arm_power_q7:0000000000000000 arm_power_q7
/tmp/ccDbuMpk.s:908 .text.arm_rms_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:916 .text.arm_rms_f32:0000000000000000 arm_rms_f32
ARM GAS /tmp/ccDbuMpk.s page 26
/tmp/ccDbuMpk.s:963 .text.arm_rms_f32:0000000000000064 $d
/tmp/ccDbuMpk.s:966 .text.arm_rms_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:974 .text.arm_rms_q15:0000000000000000 arm_rms_q15
/tmp/ccDbuMpk.s:1008 .text.arm_rms_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:1016 .text.arm_rms_q31:0000000000000000 arm_rms_q31
/tmp/ccDbuMpk.s:1049 .text.arm_std_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:1057 .text.arm_std_f32:0000000000000000 arm_std_f32
/tmp/ccDbuMpk.s:1114 .text.arm_std_f32:000000000000008c $d
/tmp/ccDbuMpk.s:1117 .text.arm_std_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:1125 .text.arm_std_q15:0000000000000000 arm_std_q15
/tmp/ccDbuMpk.s:1172 .text.arm_std_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:1180 .text.arm_std_q31:0000000000000000 arm_std_q31
/tmp/ccDbuMpk.s:1227 .text.arm_var_f32:0000000000000000 $t
/tmp/ccDbuMpk.s:1235 .text.arm_var_f32:0000000000000000 arm_var_f32
/tmp/ccDbuMpk.s:1271 .text.arm_var_f32:0000000000000050 $d
/tmp/ccDbuMpk.s:1274 .text.arm_var_q15:0000000000000000 $t
/tmp/ccDbuMpk.s:1282 .text.arm_var_q15:0000000000000000 arm_var_q15
/tmp/ccDbuMpk.s:1325 .text.arm_var_q31:0000000000000000 $t
/tmp/ccDbuMpk.s:1333 .text.arm_var_q31:0000000000000000 arm_var_q31
UNDEFINED SYMBOLS
logf
__aeabi_dmul
__aeabi_dadd
log
__aeabi_ddiv
arm_add_f32
expf
__aeabi_ldivmod
sqrtf
arm_sqrt_q15
__aeabi_uldivmod
arm_sqrt_q31