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

1365 lines
50 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/ccJXZUzF.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 "DistanceFunctions.c"
14 .text
15 .section .text.arm_boolean_distance_TT_TF_FT,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .global arm_boolean_distance_TT_TF_FT
19 .arch armv7e-m
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv4-sp-d16
25 arm_boolean_distance_TT_TF_FT:
26 @ args = 8, pretend = 0, frame = 8
27 @ frame_needed = 0, uses_anonymous_args = 0
28 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
29 0004 83B0 sub sp, sp, #12
30 0006 1F2A cmp r2, #31
31 0008 1646 mov r6, r2
32 000a 0746 mov r7, r0
33 000c 8A46 mov r10, r1
34 000e 0193 str r3, [sp, #4]
35 0010 57D9 bls .L15
36 0012 A2F12009 sub r9, r2, #32
37 0016 4FEA5919 lsr r9, r9, #5
38 001a 09F10109 add r9, r9, #1
39 001e 4FF0000C mov ip, #0
40 0022 4FEA890B lsl fp, r9, #2
41 0026 8846 mov r8, r1
42 0028 00EB8909 add r9, r0, r9, lsl #2
43 002c E646 mov lr, ip
44 002e 6546 mov r5, ip
45 .L8:
46 0030 57F8041B ldr r1, [r7], #4
47 0034 58F8042B ldr r2, [r8], #4
48 0038 2023 movs r3, #32
49 003a 04E0 b .L7
50 .L31:
51 003c 0CB1 cbz r4, .L5
52 003e 0CF1010C add ip, ip, #1
53 .L5:
54 0042 013B subs r3, r3, #1
55 0044 0CD0 beq .L30
56 .L7:
57 0046 01F00100 and r0, r1, #1
58 004a 02F00104 and r4, r2, #1
ARM GAS /tmp/ccJXZUzF.s page 2
59 004e 4908 lsrs r1, r1, #1
60 0050 5208 lsrs r2, r2, #1
61 0052 0028 cmp r0, #0
62 0054 F2D0 beq .L31
63 0056 7CBB cbnz r4, .L6
64 0058 013B subs r3, r3, #1
65 005a 0EF1010E add lr, lr, #1
66 005e F2D1 bne .L7
67 .L30:
68 0060 4F45 cmp r7, r9
69 0062 E5D1 bne .L8
70 0064 DA44 add r10, r10, fp
71 0066 06F01F06 and r6, r6, #31
72 .L2:
73 006a D9F80020 ldr r2, [r9]
74 006e DAF80030 ldr r3, [r10]
75 0072 C6F12001 rsb r1, r6, #32
76 0076 CA40 lsrs r2, r2, r1
77 0078 CB40 lsrs r3, r3, r1
78 007a 26B9 cbnz r6, .L14
79 007c 11E0 b .L9
80 .L32:
81 007e E9B1 cbz r1, .L11
82 0080 0135 adds r5, r5, #1
83 .L13:
84 0082 013E subs r6, r6, #1
85 0084 0DD0 beq .L9
86 .L14:
87 0086 02F00100 and r0, r2, #1
88 008a 03F00101 and r1, r3, #1
89 008e 5208 lsrs r2, r2, #1
90 0090 5B08 lsrs r3, r3, #1
91 0092 0028 cmp r0, #0
92 0094 F3D1 bne .L32
93 0096 0029 cmp r1, #0
94 0098 F3D0 beq .L13
95 009a 013E subs r6, r6, #1
96 009c 0CF1010C add ip, ip, #1
97 00a0 F1D1 bne .L14
98 .L9:
99 00a2 019B ldr r3, [sp, #4]
100 00a4 1D60 str r5, [r3]
101 00a6 0C9B ldr r3, [sp, #48]
102 00a8 C3F800E0 str lr, [r3]
103 00ac 0D9B ldr r3, [sp, #52]
104 00ae C3F800C0 str ip, [r3]
105 00b2 03B0 add sp, sp, #12
106 @ sp needed
107 00b4 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
108 .L6:
109 00b8 0135 adds r5, r5, #1
110 00ba C2E7 b .L5
111 .L11:
112 00bc 0EF1010E add lr, lr, #1
113 00c0 DFE7 b .L13
114 .L15:
115 00c2 4FF0000C mov ip, #0
ARM GAS /tmp/ccJXZUzF.s page 3
116 00c6 8146 mov r9, r0
117 00c8 E646 mov lr, ip
118 00ca 6546 mov r5, ip
119 00cc CDE7 b .L2
121 00ce 00BF .section .text.arm_boolean_distance_TF_FT,"ax",%progbits
122 .align 1
123 .p2align 2,,3
124 .global arm_boolean_distance_TF_FT
125 .syntax unified
126 .thumb
127 .thumb_func
128 .fpu fpv4-sp-d16
130 arm_boolean_distance_TF_FT:
131 @ args = 4, pretend = 0, frame = 0
132 @ frame_needed = 0, uses_anonymous_args = 0
133 0000 1F2A cmp r2, #31
134 0002 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
135 0006 1546 mov r5, r2
136 0008 8946 mov r9, r1
137 000a 9A46 mov r10, r3
138 000c 4AD9 bls .L43
139 000e A2F12008 sub r8, r2, #32
140 0012 4FEA5818 lsr r8, r8, #5
141 0016 08F10108 add r8, r8, #1
142 001a 4FF0000E mov lr, #0
143 001e 4FEA880B lsl fp, r8, #2
144 0022 0F46 mov r7, r1
145 0024 00EB8808 add r8, r0, r8, lsl #2
146 0028 7446 mov r4, lr
147 002a 8446 mov ip, r0
148 .L38:
149 002c 5CF8041B ldr r1, [ip], #4
150 0030 57F8042B ldr r2, [r7], #4
151 0034 2023 movs r3, #32
152 0036 02E0 b .L37
153 .L52:
154 0038 B644 add lr, lr, r6
155 .L36:
156 003a 013B subs r3, r3, #1
157 003c 0DD0 beq .L51
158 .L37:
159 003e 01F00100 and r0, r1, #1
160 0042 02F00106 and r6, r2, #1
161 0046 4908 lsrs r1, r1, #1
162 0048 5208 lsrs r2, r2, #1
163 004a 0028 cmp r0, #0
164 004c F4D0 beq .L52
165 004e 002E cmp r6, #0
166 0050 F3D1 bne .L36
167 0052 013B subs r3, r3, #1
168 0054 04F10104 add r4, r4, #1
169 0058 F1D1 bne .L37
170 .L51:
171 005a C445 cmp ip, r8
172 005c E6D1 bne .L38
173 005e D944 add r9, r9, fp
174 0060 05F01F05 and r5, r5, #31
ARM GAS /tmp/ccJXZUzF.s page 4
175 .L34:
176 0064 D8F80020 ldr r2, [r8]
177 0068 D9F80030 ldr r3, [r9]
178 006c C5F12001 rsb r1, r5, #32
179 0070 CA40 lsrs r2, r2, r1
180 0072 CB40 lsrs r3, r3, r1
181 0074 25B9 cbnz r5, .L42
182 0076 0EE0 b .L39
183 .L53:
184 0078 01B9 cbnz r1, .L41
185 007a 0134 adds r4, r4, #1
186 .L41:
187 007c 013D subs r5, r5, #1
188 007e 0AD0 beq .L39
189 .L42:
190 0080 02F00100 and r0, r2, #1
191 0084 03F00101 and r1, r3, #1
192 0088 5208 lsrs r2, r2, #1
193 008a 5B08 lsrs r3, r3, #1
194 008c 0028 cmp r0, #0
195 008e F3D1 bne .L53
196 0090 013D subs r5, r5, #1
197 0092 8E44 add lr, lr, r1
198 0094 F4D1 bne .L42
199 .L39:
200 0096 099B ldr r3, [sp, #36]
201 0098 CAF80040 str r4, [r10]
202 009c C3F800E0 str lr, [r3]
203 00a0 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
204 .L43:
205 00a4 4FF0000E mov lr, #0
206 00a8 8046 mov r8, r0
207 00aa 7446 mov r4, lr
208 00ac DAE7 b .L34
210 00ae 00BF .section .text.arm_boolean_distance_TT_FF_TF_FT,"ax",%progbits
211 .align 1
212 .p2align 2,,3
213 .global arm_boolean_distance_TT_FF_TF_FT
214 .syntax unified
215 .thumb
216 .thumb_func
217 .fpu fpv4-sp-d16
219 arm_boolean_distance_TT_FF_TF_FT:
220 @ args = 12, pretend = 0, frame = 8
221 @ frame_needed = 0, uses_anonymous_args = 0
222 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
223 0004 83B0 sub sp, sp, #12
224 0006 1F2A cmp r2, #31
225 0008 1746 mov r7, r2
226 000a 8046 mov r8, r0
227 000c 8B46 mov fp, r1
228 000e 0193 str r3, [sp, #4]
229 0010 61D9 bls .L68
230 0012 A2F1200A sub r10, r2, #32
231 0016 4FEA5A1A lsr r10, r10, #5
232 001a 0AF1010A add r10, r10, #1
233 001e 4FF0000C mov ip, #0
ARM GAS /tmp/ccJXZUzF.s page 5
234 0022 4FEA8A03 lsl r3, r10, #2
235 0026 0093 str r3, [sp]
236 0028 00EB8A0A add r10, r0, r10, lsl #2
237 002c 8946 mov r9, r1
238 002e E646 mov lr, ip
239 0030 6546 mov r5, ip
240 0032 6646 mov r6, ip
241 .L61:
242 0034 58F8041B ldr r1, [r8], #4
243 0038 59F8042B ldr r2, [r9], #4
244 003c 2023 movs r3, #32
245 003e 05E0 b .L60
246 .L77:
247 0040 002C cmp r4, #0
248 0042 3ED0 beq .L57
249 0044 0CF1010C add ip, ip, #1
250 .L58:
251 0048 013B subs r3, r3, #1
252 004a 0CD0 beq .L76
253 .L60:
254 004c 01F00100 and r0, r1, #1
255 0050 02F00104 and r4, r2, #1
256 0054 4908 lsrs r1, r1, #1
257 0056 5208 lsrs r2, r2, #1
258 0058 0028 cmp r0, #0
259 005a F1D0 beq .L77
260 005c 9CBB cbnz r4, .L59
261 005e 013B subs r3, r3, #1
262 0060 0EF1010E add lr, lr, #1
263 0064 F2D1 bne .L60
264 .L76:
265 0066 D045 cmp r8, r10
266 0068 E4D1 bne .L61
267 006a 009B ldr r3, [sp]
268 006c 07F01F07 and r7, r7, #31
269 0070 9B44 add fp, fp, r3
270 .L55:
271 0072 DAF80020 ldr r2, [r10]
272 0076 DBF80030 ldr r3, [fp]
273 007a C7F12001 rsb r1, r7, #32
274 007e CA40 lsrs r2, r2, r1
275 0080 CB40 lsrs r3, r3, r1
276 0082 27B9 cbnz r7, .L67
277 0084 10E0 b .L62
278 .L78:
279 0086 01B3 cbz r1, .L64
280 0088 0136 adds r6, r6, #1
281 .L65:
282 008a 013F subs r7, r7, #1
283 008c 0CD0 beq .L62
284 .L67:
285 008e 02F00100 and r0, r2, #1
286 0092 03F00101 and r1, r3, #1
287 0096 5208 lsrs r2, r2, #1
288 0098 5B08 lsrs r3, r3, #1
289 009a 0028 cmp r0, #0
290 009c F3D1 bne .L78
ARM GAS /tmp/ccJXZUzF.s page 6
291 009e B9B9 cbnz r1, .L66
292 00a0 013F subs r7, r7, #1
293 00a2 05F10105 add r5, r5, #1
294 00a6 F2D1 bne .L67
295 .L62:
296 00a8 019B ldr r3, [sp, #4]
297 00aa 1E60 str r6, [r3]
298 00ac 0C9B ldr r3, [sp, #48]
299 00ae 1D60 str r5, [r3]
300 00b0 0D9B ldr r3, [sp, #52]
301 00b2 C3F800E0 str lr, [r3]
302 00b6 0E9B ldr r3, [sp, #56]
303 00b8 C3F800C0 str ip, [r3]
304 00bc 03B0 add sp, sp, #12
305 @ sp needed
306 00be BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
307 .L57:
308 00c2 0135 adds r5, r5, #1
309 00c4 C0E7 b .L58
310 .L59:
311 00c6 0136 adds r6, r6, #1
312 00c8 BEE7 b .L58
313 .L64:
314 00ca 0EF1010E add lr, lr, #1
315 00ce DCE7 b .L65
316 .L66:
317 00d0 0CF1010C add ip, ip, #1
318 00d4 D9E7 b .L65
319 .L68:
320 00d6 4FF0000C mov ip, #0
321 00da 8246 mov r10, r0
322 00dc E646 mov lr, ip
323 00de 6546 mov r5, ip
324 00e0 6646 mov r6, ip
325 00e2 C6E7 b .L55
327 .section .text.arm_boolean_distance_TT,"ax",%progbits
328 .align 1
329 .p2align 2,,3
330 .global arm_boolean_distance_TT
331 .syntax unified
332 .thumb
333 .thumb_func
334 .fpu fpv4-sp-d16
336 arm_boolean_distance_TT:
337 @ args = 0, pretend = 0, frame = 0
338 @ frame_needed = 0, uses_anonymous_args = 0
339 0000 1F2A cmp r2, #31
340 0002 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
341 0006 1446 mov r4, r2
342 0008 0546 mov r5, r0
343 000a 8946 mov r9, r1
344 000c 1F46 mov r7, r3
345 000e 3AD9 bls .L87
346 0010 A2F12008 sub r8, r2, #32
347 0014 4FEA5818 lsr r8, r8, #5
348 0018 08F10108 add r8, r8, #1
349 001c 4FEA880A lsl r10, r8, #2
ARM GAS /tmp/ccJXZUzF.s page 7
350 0020 0E46 mov r6, r1
351 0022 00EB8808 add r8, r0, r8, lsl #2
352 0026 0020 movs r0, #0
353 .L83:
354 0028 55F8042B ldr r2, [r5], #4
355 002c 56F8043B ldr r3, [r6], #4
356 0030 4FF0200C mov ip, #32
357 .L82:
358 0034 02F00101 and r1, r2, #1
359 0038 9E46 mov lr, r3
360 003a 5208 lsrs r2, r2, #1
361 003c 5B08 lsrs r3, r3, #1
362 003e 19B1 cbz r1, .L81
363 0040 1EF0010F tst lr, #1
364 0044 18BF it ne
365 0046 0130 addne r0, r0, #1
366 .L81:
367 0048 BCF1010C subs ip, ip, #1
368 004c F2D1 bne .L82
369 004e 4545 cmp r5, r8
370 0050 EAD1 bne .L83
371 0052 D144 add r9, r9, r10
372 0054 04F01F04 and r4, r4, #31
373 .L80:
374 0058 D8F80010 ldr r1, [r8]
375 005c D9F80020 ldr r2, [r9]
376 0060 C4F12003 rsb r3, r4, #32
377 0064 D940 lsrs r1, r1, r3
378 0066 DA40 lsrs r2, r2, r3
379 0068 54B1 cbz r4, .L84
380 .L86:
381 006a 01F00103 and r3, r1, #1
382 006e 1546 mov r5, r2
383 0070 4908 lsrs r1, r1, #1
384 0072 5208 lsrs r2, r2, #1
385 0074 13B1 cbz r3, .L85
386 0076 EB07 lsls r3, r5, #31
387 0078 48BF it mi
388 007a 0130 addmi r0, r0, #1
389 .L85:
390 007c 013C subs r4, r4, #1
391 007e F4D1 bne .L86
392 .L84:
393 0080 3860 str r0, [r7]
394 0082 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
395 .L87:
396 0086 8046 mov r8, r0
397 0088 0020 movs r0, #0
398 008a E5E7 b .L80
400 .section .text.arm_braycurtis_distance_f32,"ax",%progbits
401 .align 1
402 .p2align 2,,3
403 .global arm_braycurtis_distance_f32
404 .syntax unified
405 .thumb
406 .thumb_func
407 .fpu fpv4-sp-d16
ARM GAS /tmp/ccJXZUzF.s page 8
409 arm_braycurtis_distance_f32:
410 @ args = 0, pretend = 0, frame = 0
411 @ frame_needed = 0, uses_anonymous_args = 0
412 @ link register save eliminated.
413 0000 9FED0C6A vldr.32 s12, .L112
414 0004 B0EE460A vmov.f32 s0, s12
415 0008 8AB1 cbz r2, .L108
416 .L109:
417 000a F0EC017A vldmia.32 r0!, {s15}
418 000e F1EC016A vldmia.32 r1!, {s13}
419 0012 37EEE67A vsub.f32 s14, s15, s13
420 0016 77EEA67A vadd.f32 s15, s15, s13
421 001a B0EEC77A vabs.f32 s14, s14
422 001e F0EEE77A vabs.f32 s15, s15
423 0022 013A subs r2, r2, #1
424 0024 30EE070A vadd.f32 s0, s0, s14
425 0028 36EE276A vadd.f32 s12, s12, s15
426 002c EDD1 bne .L109
427 .L108:
428 002e 80EE060A vdiv.f32 s0, s0, s12
429 0032 7047 bx lr
430 .L113:
431 .align 2
432 .L112:
433 0034 00000000 .word 0
435 .section .text.arm_canberra_distance_f32,"ax",%progbits
436 .align 1
437 .p2align 2,,3
438 .global arm_canberra_distance_f32
439 .syntax unified
440 .thumb
441 .thumb_func
442 .fpu fpv4-sp-d16
444 arm_canberra_distance_f32:
445 @ args = 0, pretend = 0, frame = 0
446 @ frame_needed = 0, uses_anonymous_args = 0
447 @ link register save eliminated.
448 0000 9FED110A vldr.32 s0, .L121
449 0004 F2B1 cbz r2, .L119
450 .L118:
451 0006 F0EC017A vldmia.32 r0!, {s15}
452 000a B1EC016A vldmia.32 r1!, {s12}
453 000e F5EE407A vcmp.f32 s15, #0
454 0012 77EEC66A vsub.f32 s13, s15, s12
455 0016 F0EEC65A vabs.f32 s11, s12
456 001a B0EEE77A vabs.f32 s14, s15
457 001e F1EE10FA vmrs APSR_nzcv, FPSCR
458 0022 37EE257A vadd.f32 s14, s14, s11
459 0026 F0EEE66A vabs.f32 s13, s13
460 002a 04D1 bne .L116
461 002c B5EE406A vcmp.f32 s12, #0
462 0030 F1EE10FA vmrs APSR_nzcv, FPSCR
463 0034 03D0 beq .L117
464 .L116:
465 0036 C6EE877A vdiv.f32 s15, s13, s14
466 003a 30EE270A vadd.f32 s0, s0, s15
467 .L117:
ARM GAS /tmp/ccJXZUzF.s page 9
468 003e 013A subs r2, r2, #1
469 0040 E1D1 bne .L118
470 0042 7047 bx lr
471 .L119:
472 0044 7047 bx lr
473 .L122:
474 0046 00BF .align 2
475 .L121:
476 0048 00000000 .word 0
478 .section .text.arm_chebyshev_distance_f32,"ax",%progbits
479 .align 1
480 .p2align 2,,3
481 .global arm_chebyshev_distance_f32
482 .syntax unified
483 .thumb
484 .thumb_func
485 .fpu fpv4-sp-d16
487 arm_chebyshev_distance_f32:
488 @ args = 0, pretend = 0, frame = 0
489 @ frame_needed = 0, uses_anonymous_args = 0
490 @ link register save eliminated.
491 0000 B0EC010A vldmia.32 r0!, {s0}
492 0004 F1EC017A vldmia.32 r1!, {s15}
493 0008 30EE670A vsub.f32 s0, s0, s15
494 000c 013A subs r2, r2, #1
495 000e B0EEC00A vabs.f32 s0, s0
496 0012 10D0 beq .L123
497 .L126:
498 0014 F0EC017A vldmia.32 r0!, {s15}
499 0018 B1EC017A vldmia.32 r1!, {s14}
500 001c 77EEC77A vsub.f32 s15, s15, s14
501 0020 F0EEE77A vabs.f32 s15, s15
502 0024 B4EE670A vcmp.f32 s0, s15
503 0028 F1EE10FA vmrs APSR_nzcv, FPSCR
504 002c 48BF it mi
505 002e B0EE670A vmovmi.f32 s0, s15
506 0032 013A subs r2, r2, #1
507 0034 EED1 bne .L126
508 .L123:
509 0036 7047 bx lr
511 .section .text.arm_cityblock_distance_f32,"ax",%progbits
512 .align 1
513 .p2align 2,,3
514 .global arm_cityblock_distance_f32
515 .syntax unified
516 .thumb
517 .thumb_func
518 .fpu fpv4-sp-d16
520 arm_cityblock_distance_f32:
521 @ args = 0, pretend = 0, frame = 0
522 @ frame_needed = 0, uses_anonymous_args = 0
523 @ link register save eliminated.
524 0000 9FED080A vldr.32 s0, .L137
525 0004 62B1 cbz r2, .L135
526 .L134:
527 0006 F0EC017A vldmia.32 r0!, {s15}
528 000a B1EC017A vldmia.32 r1!, {s14}
ARM GAS /tmp/ccJXZUzF.s page 10
529 000e 77EEC77A vsub.f32 s15, s15, s14
530 0012 013A subs r2, r2, #1
531 0014 F0EEE77A vabs.f32 s15, s15
532 0018 30EE270A vadd.f32 s0, s0, s15
533 001c F3D1 bne .L134
534 001e 7047 bx lr
535 .L135:
536 0020 7047 bx lr
537 .L138:
538 0022 00BF .align 2
539 .L137:
540 0024 00000000 .word 0
542 .section .text.arm_correlation_distance_f32,"ax",%progbits
543 .align 1
544 .p2align 2,,3
545 .global arm_correlation_distance_f32
546 .syntax unified
547 .thumb
548 .thumb_func
549 .fpu fpv4-sp-d16
551 arm_correlation_distance_f32:
552 @ args = 0, pretend = 0, frame = 24
553 @ frame_needed = 0, uses_anonymous_args = 0
554 0000 70B5 push {r4, r5, r6, lr}
555 0002 1446 mov r4, r2
556 0004 86B0 sub sp, sp, #24
557 0006 0D46 mov r5, r1
558 0008 01AA add r2, sp, #4
559 000a 2146 mov r1, r4
560 000c 0646 mov r6, r0
561 000e FFF7FEFF bl arm_mean_f32
562 0012 02AA add r2, sp, #8
563 0014 2146 mov r1, r4
564 0016 2846 mov r0, r5
565 0018 FFF7FEFF bl arm_mean_f32
566 001c 9DED010A vldr.32 s0, [sp, #4]
567 0020 2246 mov r2, r4
568 0022 3146 mov r1, r6
569 0024 B1EE400A vneg.f32 s0, s0
570 0028 3046 mov r0, r6
571 002a FFF7FEFF bl arm_offset_f32
572 002e 9DED020A vldr.32 s0, [sp, #8]
573 0032 2246 mov r2, r4
574 0034 B1EE400A vneg.f32 s0, s0
575 0038 2946 mov r1, r5
576 003a 2846 mov r0, r5
577 003c FFF7FEFF bl arm_offset_f32
578 0040 03AA add r2, sp, #12
579 0042 2146 mov r1, r4
580 0044 3046 mov r0, r6
581 0046 FFF7FEFF bl arm_power_f32
582 004a 04AA add r2, sp, #16
583 004c 2146 mov r1, r4
584 004e 2846 mov r0, r5
585 0050 FFF7FEFF bl arm_power_f32
586 0054 05AB add r3, sp, #20
587 0056 2246 mov r2, r4
ARM GAS /tmp/ccJXZUzF.s page 11
588 0058 2946 mov r1, r5
589 005a 3046 mov r0, r6
590 005c FFF7FEFF bl arm_dot_prod_f32
591 0060 07EE904A vmov s15, r4 @ int
592 0064 DDED036A vldr.32 s13, [sp, #12]
593 0068 9DED047A vldr.32 s14, [sp, #16]
594 006c 9DED056A vldr.32 s12, [sp, #20]
595 0070 F8EE677A vcvt.f32.u32 s15, s15
596 0074 86EEA70A vdiv.f32 s0, s13, s15
597 0078 C7EE276A vdiv.f32 s13, s14, s15
598 007c 86EE277A vdiv.f32 s14, s12, s15
599 0080 8DED030A vstr.32 s0, [sp, #12]
600 0084 20EE260A vmul.f32 s0, s0, s13
601 0088 CDED046A vstr.32 s13, [sp, #16]
602 008c B5EEC00A vcmpe.f32 s0, #0
603 0090 F1EE10FA vmrs APSR_nzcv, FPSCR
604 0094 8DED057A vstr.32 s14, [sp, #20]
605 0098 0EDB blt .L147
606 009a B5EE400A vcmp.f32 s0, #0
607 009e F1EE10FA vmrs APSR_nzcv, FPSCR
608 00a2 0CD4 bmi .L148
609 00a4 F1EEC07A vsqrt.f32 s15, s0
610 .L140:
611 00a8 C7EE276A vdiv.f32 s13, s14, s15
612 00ac B7EE000A vmov.f32 s0, #1.0e+0
613 00b0 30EE660A vsub.f32 s0, s0, s13
614 00b4 06B0 add sp, sp, #24
615 @ sp needed
616 00b6 70BD pop {r4, r5, r6, pc}
617 .L147:
618 00b8 DFED047A vldr.32 s15, .L150
619 00bc F4E7 b .L140
620 .L148:
621 00be FFF7FEFF bl sqrtf
622 00c2 9DED057A vldr.32 s14, [sp, #20]
623 00c6 F0EE407A vmov.f32 s15, s0
624 00ca EDE7 b .L140
625 .L151:
626 .align 2
627 .L150:
628 00cc 00000000 .word 0
630 .section .text.arm_cosine_distance_f32,"ax",%progbits
631 .align 1
632 .p2align 2,,3
633 .global arm_cosine_distance_f32
634 .syntax unified
635 .thumb
636 .thumb_func
637 .fpu fpv4-sp-d16
639 arm_cosine_distance_f32:
640 @ args = 0, pretend = 0, frame = 16
641 @ frame_needed = 0, uses_anonymous_args = 0
642 0000 70B5 push {r4, r5, r6, lr}
643 0002 1446 mov r4, r2
644 0004 84B0 sub sp, sp, #16
645 0006 0D46 mov r5, r1
646 0008 01AA add r2, sp, #4
ARM GAS /tmp/ccJXZUzF.s page 12
647 000a 2146 mov r1, r4
648 000c 0646 mov r6, r0
649 000e FFF7FEFF bl arm_power_f32
650 0012 02AA add r2, sp, #8
651 0014 2146 mov r1, r4
652 0016 2846 mov r0, r5
653 0018 FFF7FEFF bl arm_power_f32
654 001c 03AB add r3, sp, #12
655 001e 2246 mov r2, r4
656 0020 2946 mov r1, r5
657 0022 3046 mov r0, r6
658 0024 FFF7FEFF bl arm_dot_prod_f32
659 0028 9DED010A vldr.32 s0, [sp, #4]
660 002c DDED027A vldr.32 s15, [sp, #8]
661 0030 20EE270A vmul.f32 s0, s0, s15
662 0034 B5EEC00A vcmpe.f32 s0, #0
663 0038 F1EE10FA vmrs APSR_nzcv, FPSCR
664 003c 10DB blt .L160
665 003e B5EE400A vcmp.f32 s0, #0
666 0042 F1EE10FA vmrs APSR_nzcv, FPSCR
667 0046 0ED4 bmi .L161
668 0048 F1EEC07A vsqrt.f32 s15, s0
669 .L153:
670 004c DDED036A vldr.32 s13, [sp, #12]
671 0050 86EEA77A vdiv.f32 s14, s13, s15
672 0054 B7EE000A vmov.f32 s0, #1.0e+0
673 0058 30EE470A vsub.f32 s0, s0, s14
674 005c 04B0 add sp, sp, #16
675 @ sp needed
676 005e 70BD pop {r4, r5, r6, pc}
677 .L160:
678 0060 DFED037A vldr.32 s15, .L163
679 0064 F2E7 b .L153
680 .L161:
681 0066 FFF7FEFF bl sqrtf
682 006a F0EE407A vmov.f32 s15, s0
683 006e EDE7 b .L153
684 .L164:
685 .align 2
686 .L163:
687 0070 00000000 .word 0
689 .global __aeabi_ui2d
690 .global __aeabi_dadd
691 .global __aeabi_ddiv
692 .global __aeabi_d2f
693 .section .text.arm_dice_distance,"ax",%progbits
694 .align 1
695 .p2align 2,,3
696 .global arm_dice_distance
697 .syntax unified
698 .thumb
699 .thumb_func
700 .fpu fpv4-sp-d16
702 arm_dice_distance:
703 @ args = 0, pretend = 0, frame = 16
704 @ frame_needed = 0, uses_anonymous_args = 0
705 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
ARM GAS /tmp/ccJXZUzF.s page 13
706 0004 86B0 sub sp, sp, #24
707 0006 05AD add r5, sp, #20
708 0008 04AB add r3, sp, #16
709 000a CDE90035 strd r3, r5, [sp]
710 000e 0024 movs r4, #0
711 0010 03AB add r3, sp, #12
712 0012 CDE90344 strd r4, r4, [sp, #12]
713 0016 0594 str r4, [sp, #20]
714 0018 FFF7FEFF bl arm_boolean_distance_TT_TF_FT
715 001c DDE90487 ldrd r8, r7, [sp, #16]
716 0020 08EB0700 add r0, r8, r7
717 0024 FFF7FEFF bl __aeabi_ui2d
718 0028 0446 mov r4, r0
719 002a 0398 ldr r0, [sp, #12]
720 002c 0D46 mov r5, r1
721 002e FFF7FEFF bl __aeabi_ui2d
722 0032 0B46 mov r3, r1
723 0034 0246 mov r2, r0
724 0036 FFF7FEFF bl __aeabi_dadd
725 003a 0246 mov r2, r0
726 003c 3846 mov r0, r7
727 003e 1646 mov r6, r2
728 0040 0F46 mov r7, r1
729 0042 FFF7FEFF bl __aeabi_ui2d
730 0046 0246 mov r2, r0
731 0048 0B46 mov r3, r1
732 004a 3046 mov r0, r6
733 004c 3946 mov r1, r7
734 004e FFF7FEFF bl __aeabi_dadd
735 0052 0646 mov r6, r0
736 0054 4046 mov r0, r8
737 0056 0F46 mov r7, r1
738 0058 FFF7FEFF bl __aeabi_ui2d
739 005c 0246 mov r2, r0
740 005e 0B46 mov r3, r1
741 0060 3046 mov r0, r6
742 0062 3946 mov r1, r7
743 0064 FFF7FEFF bl __aeabi_dadd
744 0068 0246 mov r2, r0
745 006a 0B46 mov r3, r1
746 006c 2046 mov r0, r4
747 006e 2946 mov r1, r5
748 0070 FFF7FEFF bl __aeabi_ddiv
749 0074 FFF7FEFF bl __aeabi_d2f
750 0078 00EE100A vmov s0, r0
751 007c 06B0 add sp, sp, #24
752 @ sp needed
753 007e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
755 0082 00BF .section .text.arm_euclidean_distance_f32,"ax",%progbits
756 .align 1
757 .p2align 2,,3
758 .global arm_euclidean_distance_f32
759 .syntax unified
760 .thumb
761 .thumb_func
762 .fpu fpv4-sp-d16
764 arm_euclidean_distance_f32:
ARM GAS /tmp/ccJXZUzF.s page 14
765 @ args = 0, pretend = 0, frame = 0
766 @ frame_needed = 0, uses_anonymous_args = 0
767 @ link register save eliminated.
768 0000 9FED107A vldr.32 s14, .L181
769 0004 9AB1 cbz r2, .L168
770 .L169:
771 0006 F0EC017A vldmia.32 r0!, {s15}
772 000a F1EC016A vldmia.32 r1!, {s13}
773 000e 77EEE67A vsub.f32 s15, s15, s13
774 0012 013A subs r2, r2, #1
775 0014 A7EEA77A vfma.f32 s14, s15, s15
776 0018 F5D1 bne .L169
777 001a B5EEC07A vcmpe.f32 s14, #0
778 001e F1EE10FA vmrs APSR_nzcv, FPSCR
779 0022 07DB blt .L178
780 0024 B5EE407A vcmp.f32 s14, #0
781 0028 F1EE10FA vmrs APSR_nzcv, FPSCR
782 002c 05D4 bmi .L180
783 .L168:
784 002e B1EEC70A vsqrt.f32 s0, s14
785 0032 7047 bx lr
786 .L178:
787 0034 9FED030A vldr.32 s0, .L181
788 0038 7047 bx lr
789 .L180:
790 003a B0EE470A vmov.f32 s0, s14
791 003e FFF7FEBF b sqrtf
792 .L182:
793 0042 00BF .align 2
794 .L181:
795 0044 00000000 .word 0
797 .section .text.arm_hamming_distance,"ax",%progbits
798 .align 1
799 .p2align 2,,3
800 .global arm_hamming_distance
801 .syntax unified
802 .thumb
803 .thumb_func
804 .fpu fpv4-sp-d16
806 arm_hamming_distance:
807 @ args = 0, pretend = 0, frame = 8
808 @ frame_needed = 0, uses_anonymous_args = 0
809 0000 70B5 push {r4, r5, r6, lr}
810 0002 0023 movs r3, #0
811 0004 84B0 sub sp, sp, #16
812 0006 CDE90233 strd r3, r3, [sp, #8]
813 000a 03AB add r3, sp, #12
814 000c 0093 str r3, [sp]
815 000e 02AB add r3, sp, #8
816 0010 1646 mov r6, r2
817 0012 FFF7FEFF bl arm_boolean_distance_TF_FT
818 0016 DDE90203 ldrd r0, r3, [sp, #8]
819 001a 1844 add r0, r0, r3
820 001c FFF7FEFF bl __aeabi_ui2d
821 0020 0446 mov r4, r0
822 0022 3046 mov r0, r6
823 0024 0D46 mov r5, r1
ARM GAS /tmp/ccJXZUzF.s page 15
824 0026 FFF7FEFF bl __aeabi_ui2d
825 002a 0246 mov r2, r0
826 002c 0B46 mov r3, r1
827 002e 2046 mov r0, r4
828 0030 2946 mov r1, r5
829 0032 FFF7FEFF bl __aeabi_ddiv
830 0036 FFF7FEFF bl __aeabi_d2f
831 003a 00EE100A vmov s0, r0
832 003e 04B0 add sp, sp, #16
833 @ sp needed
834 0040 70BD pop {r4, r5, r6, pc}
836 0042 00BF .section .text.arm_jaccard_distance,"ax",%progbits
837 .align 1
838 .p2align 2,,3
839 .global arm_jaccard_distance
840 .syntax unified
841 .thumb
842 .thumb_func
843 .fpu fpv4-sp-d16
845 arm_jaccard_distance:
846 @ args = 0, pretend = 0, frame = 16
847 @ frame_needed = 0, uses_anonymous_args = 0
848 0000 D0B5 push {r4, r6, r7, lr}
849 0002 86B0 sub sp, sp, #24
850 0004 05AE add r6, sp, #20
851 0006 04AB add r3, sp, #16
852 0008 CDE90036 strd r3, r6, [sp]
853 000c 0024 movs r4, #0
854 000e 03AB add r3, sp, #12
855 0010 CDE90344 strd r4, r4, [sp, #12]
856 0014 0594 str r4, [sp, #20]
857 0016 FFF7FEFF bl arm_boolean_distance_TT_TF_FT
858 001a DDE90443 ldrd r4, r3, [sp, #16]
859 001e 1C44 add r4, r4, r3
860 0020 2046 mov r0, r4
861 0022 FFF7FEFF bl __aeabi_ui2d
862 0026 039B ldr r3, [sp, #12]
863 0028 0646 mov r6, r0
864 002a E018 adds r0, r4, r3
865 002c 0F46 mov r7, r1
866 002e FFF7FEFF bl __aeabi_ui2d
867 0032 0246 mov r2, r0
868 0034 0B46 mov r3, r1
869 0036 3046 mov r0, r6
870 0038 3946 mov r1, r7
871 003a FFF7FEFF bl __aeabi_ddiv
872 003e FFF7FEFF bl __aeabi_d2f
873 0042 00EE100A vmov s0, r0
874 0046 06B0 add sp, sp, #24
875 @ sp needed
876 0048 D0BD pop {r4, r6, r7, pc}
878 004a 00BF .section .text.arm_jensenshannon_distance_f32,"ax",%progbits
879 .align 1
880 .p2align 2,,3
881 .global arm_jensenshannon_distance_f32
882 .syntax unified
883 .thumb
ARM GAS /tmp/ccJXZUzF.s page 16
884 .thumb_func
885 .fpu fpv4-sp-d16
887 arm_jensenshannon_distance_f32:
888 @ args = 0, pretend = 0, frame = 0
889 @ frame_needed = 0, uses_anonymous_args = 0
890 0000 70B5 push {r4, r5, r6, lr}
891 0002 2DED068B vpush.64 {d8, d9, d10}
892 0006 A2B3 cbz r2, .L194
893 0008 9FED21AA vldr.32 s20, .L202
894 000c 0446 mov r4, r0
895 000e F0EE4A9A vmov.f32 s19, s20
896 0012 0D46 mov r5, r1
897 0014 00EB8206 add r6, r0, r2, lsl #2
898 0018 F6EE00AA vmov.f32 s21, #5.0e-1
899 .L189:
900 001c F4EC018A vldmia.32 r4!, {s17}
901 0020 95ED008A vldr.32 s16, [r5]
902 0024 38EE888A vadd.f32 s16, s17, s16
903 0028 28EE2A8A vmul.f32 s16, s16, s21
904 002c 88EE880A vdiv.f32 s0, s17, s16
905 0030 FFF7FEFF bl logf
906 0034 B5EC019A vldmia.32 r5!, {s18}
907 0038 E8EE809A vfma.f32 s19, s17, s0
908 003c 89EE080A vdiv.f32 s0, s18, s16
909 0040 FFF7FEFF bl logf
910 0044 B442 cmp r4, r6
911 0046 A9EE00AA vfma.f32 s20, s18, s0
912 004a E7D1 bne .L189
913 004c 79EE8A9A vadd.f32 s19, s19, s20
914 0050 69EEAA9A vmul.f32 s19, s19, s21
915 0054 F5EEC09A vcmpe.f32 s19, #0
916 0058 F1EE10FA vmrs APSR_nzcv, FPSCR
917 005c 0CDB blt .L198
918 005e F5EE409A vcmp.f32 s19, #0
919 0062 F1EE10FA vmrs APSR_nzcv, FPSCR
920 0066 0AD4 bmi .L201
921 .L188:
922 0068 B1EEE90A vsqrt.f32 s0, s19
923 .L187:
924 006c BDEC068B vldm sp!, {d8-d10}
925 0070 70BD pop {r4, r5, r6, pc}
926 .L194:
927 0072 DFED079A vldr.32 s19, .L202
928 0076 F7E7 b .L188
929 .L198:
930 0078 9FED050A vldr.32 s0, .L202
931 007c F6E7 b .L187
932 .L201:
933 007e B0EE690A vmov.f32 s0, s19
934 0082 BDEC068B vldm sp!, {d8-d10}
935 0086 BDE87040 pop {r4, r5, r6, lr}
936 008a FFF7FEBF b sqrtf
937 .L203:
938 008e 00BF .align 2
939 .L202:
940 0090 00000000 .word 0
942 .section .text.arm_kulsinski_distance,"ax",%progbits
ARM GAS /tmp/ccJXZUzF.s page 17
943 .align 1
944 .p2align 2,,3
945 .global arm_kulsinski_distance
946 .syntax unified
947 .thumb
948 .thumb_func
949 .fpu fpv4-sp-d16
951 arm_kulsinski_distance:
952 @ args = 0, pretend = 0, frame = 16
953 @ frame_needed = 0, uses_anonymous_args = 0
954 0000 30B5 push {r4, r5, lr}
955 0002 87B0 sub sp, sp, #28
956 0004 0023 movs r3, #0
957 0006 CDE90333 strd r3, r3, [sp, #12]
958 000a 0593 str r3, [sp, #20]
959 000c 05AB add r3, sp, #20
960 000e 0193 str r3, [sp, #4]
961 0010 04AB add r3, sp, #16
962 0012 0093 str r3, [sp]
963 0014 03AB add r3, sp, #12
964 0016 1446 mov r4, r2
965 0018 FFF7FEFF bl arm_boolean_distance_TT_TF_FT
966 001c DDE90453 ldrd r5, r3, [sp, #16]
967 0020 0398 ldr r0, [sp, #12]
968 0022 1D44 add r5, r5, r3
969 0024 281A subs r0, r5, r0
970 0026 2044 add r0, r0, r4
971 0028 FFF7FEFF bl __aeabi_ui2d
972 002c 0246 mov r2, r0
973 002e 2819 adds r0, r5, r4
974 0030 1446 mov r4, r2
975 0032 0D46 mov r5, r1
976 0034 FFF7FEFF bl __aeabi_ui2d
977 0038 0246 mov r2, r0
978 003a 0B46 mov r3, r1
979 003c 2046 mov r0, r4
980 003e 2946 mov r1, r5
981 0040 FFF7FEFF bl __aeabi_ddiv
982 0044 FFF7FEFF bl __aeabi_d2f
983 0048 00EE100A vmov s0, r0
984 004c 07B0 add sp, sp, #28
985 @ sp needed
986 004e 30BD pop {r4, r5, pc}
988 .section .text.arm_minkowski_distance_f32,"ax",%progbits
989 .align 1
990 .p2align 2,,3
991 .global arm_minkowski_distance_f32
992 .syntax unified
993 .thumb
994 .thumb_func
995 .fpu fpv4-sp-d16
997 arm_minkowski_distance_f32:
998 @ args = 0, pretend = 0, frame = 0
999 @ frame_needed = 0, uses_anonymous_args = 0
1000 0000 70B5 push {r4, r5, r6, lr}
1001 0002 2DED028B vpush.64 {d8}
1002 0006 08EE902A vmov s17, r2 @ int
ARM GAS /tmp/ccJXZUzF.s page 18
1003 000a 1BB3 cbz r3, .L207
1004 000c F8EEE88A vcvt.f32.s32 s17, s17
1005 0010 9FED138A vldr.32 s16, .L212
1006 0014 0446 mov r4, r0
1007 0016 0D46 mov r5, r1
1008 0018 00EB8306 add r6, r0, r3, lsl #2
1009 .L208:
1010 001c B4EC010A vldmia.32 r4!, {s0}
1011 0020 F5EC017A vldmia.32 r5!, {s15}
1012 0024 30EE670A vsub.f32 s0, s0, s15
1013 0028 F0EE680A vmov.f32 s1, s17
1014 002c B0EEC00A vabs.f32 s0, s0
1015 0030 FFF7FEFF bl powf
1016 0034 B442 cmp r4, r6
1017 0036 38EE008A vadd.f32 s16, s16, s0
1018 003a EFD1 bne .L208
1019 .L209:
1020 003c F7EE000A vmov.f32 s1, #1.0e+0
1021 0040 C0EEA80A vdiv.f32 s1, s1, s17
1022 0044 B0EE480A vmov.f32 s0, s16
1023 0048 BDEC028B vldm sp!, {d8}
1024 004c BDE87040 pop {r4, r5, r6, lr}
1025 0050 FFF7FEBF b powf
1026 .L207:
1027 0054 F8EEE88A vcvt.f32.s32 s17, s17
1028 0058 9FED018A vldr.32 s16, .L212
1029 005c EEE7 b .L209
1030 .L213:
1031 005e 00BF .align 2
1032 .L212:
1033 0060 00000000 .word 0
1035 .section .text.arm_rogerstanimoto_distance,"ax",%progbits
1036 .align 1
1037 .p2align 2,,3
1038 .global arm_rogerstanimoto_distance
1039 .syntax unified
1040 .thumb
1041 .thumb_func
1042 .fpu fpv4-sp-d16
1044 arm_rogerstanimoto_distance:
1045 @ args = 0, pretend = 0, frame = 16
1046 @ frame_needed = 0, uses_anonymous_args = 0
1047 0000 D0B5 push {r4, r6, r7, lr}
1048 0002 88B0 sub sp, sp, #32
1049 0004 07AE add r6, sp, #28
1050 0006 06AB add r3, sp, #24
1051 0008 CDE90136 strd r3, r6, [sp, #4]
1052 000c 05AB add r3, sp, #20
1053 000e 0024 movs r4, #0
1054 0010 0093 str r3, [sp]
1055 0012 04AB add r3, sp, #16
1056 0014 CDE90444 strd r4, r4, [sp, #16]
1057 0018 CDE90644 strd r4, r4, [sp, #24]
1058 001c FFF7FEFF bl arm_boolean_distance_TT_FF_TF_FT
1059 0020 DDE90643 ldrd r4, r3, [sp, #24]
1060 0024 1C44 add r4, r4, r3
1061 0026 6400 lsls r4, r4, #1
ARM GAS /tmp/ccJXZUzF.s page 19
1062 0028 2046 mov r0, r4
1063 002a FFF7FEFF bl __aeabi_ui2d
1064 002e DDE90432 ldrd r3, r2, [sp, #16]
1065 0032 0646 mov r6, r0
1066 0034 9818 adds r0, r3, r2
1067 0036 2044 add r0, r0, r4
1068 0038 0F46 mov r7, r1
1069 003a FFF7FEFF bl __aeabi_ui2d
1070 003e 0246 mov r2, r0
1071 0040 0B46 mov r3, r1
1072 0042 3046 mov r0, r6
1073 0044 3946 mov r1, r7
1074 0046 FFF7FEFF bl __aeabi_ddiv
1075 004a FFF7FEFF bl __aeabi_d2f
1076 004e 00EE100A vmov s0, r0
1077 0052 08B0 add sp, sp, #32
1078 @ sp needed
1079 0054 D0BD pop {r4, r6, r7, pc}
1081 .global __aeabi_f2d
1082 0056 00BF .section .text.arm_russellrao_distance,"ax",%progbits
1083 .align 1
1084 .p2align 2,,3
1085 .global arm_russellrao_distance
1086 .syntax unified
1087 .thumb
1088 .thumb_func
1089 .fpu fpv4-sp-d16
1091 arm_russellrao_distance:
1092 @ args = 0, pretend = 0, frame = 8
1093 @ frame_needed = 0, uses_anonymous_args = 0
1094 0000 30B5 push {r4, r5, lr}
1095 0002 83B0 sub sp, sp, #12
1096 0004 0023 movs r3, #0
1097 0006 0193 str r3, [sp, #4]
1098 0008 01AB add r3, sp, #4
1099 000a 1446 mov r4, r2
1100 000c FFF7FEFF bl arm_boolean_distance_TT
1101 0010 0198 ldr r0, [sp, #4]
1102 0012 201A subs r0, r4, r0
1103 0014 FFF7FEFF bl __aeabi_ui2d
1104 0018 07EE904A vmov s15, r4 @ int
1105 001c F8EE677A vcvt.f32.u32 s15, s15
1106 0020 0246 mov r2, r0
1107 0022 17EE900A vmov r0, s15
1108 0026 1446 mov r4, r2
1109 0028 0D46 mov r5, r1
1110 002a FFF7FEFF bl __aeabi_f2d
1111 002e 0246 mov r2, r0
1112 0030 0B46 mov r3, r1
1113 0032 2046 mov r0, r4
1114 0034 2946 mov r1, r5
1115 0036 FFF7FEFF bl __aeabi_ddiv
1116 003a FFF7FEFF bl __aeabi_d2f
1117 003e 00EE100A vmov s0, r0
1118 0042 03B0 add sp, sp, #12
1119 @ sp needed
1120 0044 30BD pop {r4, r5, pc}
ARM GAS /tmp/ccJXZUzF.s page 20
1122 0046 00BF .section .text.arm_sokalmichener_distance,"ax",%progbits
1123 .align 1
1124 .p2align 2,,3
1125 .global arm_sokalmichener_distance
1126 .syntax unified
1127 .thumb
1128 .thumb_func
1129 .fpu fpv4-sp-d16
1131 arm_sokalmichener_distance:
1132 @ args = 0, pretend = 0, frame = 16
1133 @ frame_needed = 0, uses_anonymous_args = 0
1134 0000 30B5 push {r4, r5, lr}
1135 0002 2DED028B vpush.64 {d8}
1136 0006 89B0 sub sp, sp, #36
1137 0008 07AB add r3, sp, #28
1138 000a 06AD add r5, sp, #24
1139 000c CDE90135 strd r3, r5, [sp, #4]
1140 0010 05AB add r3, sp, #20
1141 0012 0024 movs r4, #0
1142 0014 0093 str r3, [sp]
1143 0016 04AB add r3, sp, #16
1144 0018 CDE90444 strd r4, r4, [sp, #16]
1145 001c CDE90644 strd r4, r4, [sp, #24]
1146 0020 FFF7FEFF bl arm_boolean_distance_TT_FF_TF_FT
1147 0024 DDE90630 ldrd r3, r0, [sp, #24]
1148 0028 1844 add r0, r0, r3
1149 002a FFF7FEFF bl __aeabi_ui2d
1150 002e 0246 mov r2, r0
1151 0030 0B46 mov r3, r1
1152 0032 FFF7FEFF bl __aeabi_dadd
1153 0036 FFF7FEFF bl __aeabi_d2f
1154 003a DDE90432 ldrd r3, r2, [sp, #16]
1155 003e 08EE100A vmov s16, r0
1156 0042 D018 adds r0, r2, r3
1157 0044 FFF7FEFF bl __aeabi_ui2d
1158 0048 FFF7FEFF bl __aeabi_d2f
1159 004c 07EE900A vmov s15, r0
1160 0050 37EE880A vadd.f32 s0, s15, s16
1161 0054 88EE000A vdiv.f32 s0, s16, s0
1162 0058 09B0 add sp, sp, #36
1163 @ sp needed
1164 005a BDEC028B vldm sp!, {d8}
1165 005e 30BD pop {r4, r5, pc}
1167 .section .text.arm_sokalsneath_distance,"ax",%progbits
1168 .align 1
1169 .p2align 2,,3
1170 .global arm_sokalsneath_distance
1171 .syntax unified
1172 .thumb
1173 .thumb_func
1174 .fpu fpv4-sp-d16
1176 arm_sokalsneath_distance:
1177 @ args = 0, pretend = 0, frame = 16
1178 @ frame_needed = 0, uses_anonymous_args = 0
1179 0000 30B5 push {r4, r5, lr}
1180 0002 87B0 sub sp, sp, #28
1181 0004 05AB add r3, sp, #20
ARM GAS /tmp/ccJXZUzF.s page 21
1182 0006 04AD add r5, sp, #16
1183 0008 CDE90035 strd r3, r5, [sp]
1184 000c 0024 movs r4, #0
1185 000e 03AB add r3, sp, #12
1186 0010 CDE90344 strd r4, r4, [sp, #12]
1187 0014 0594 str r4, [sp, #20]
1188 0016 FFF7FEFF bl arm_boolean_distance_TT_TF_FT
1189 001a DDE90430 ldrd r3, r0, [sp, #16]
1190 001e 1844 add r0, r0, r3
1191 0020 FFF7FEFF bl __aeabi_ui2d
1192 0024 0246 mov r2, r0
1193 0026 0B46 mov r3, r1
1194 0028 FFF7FEFF bl __aeabi_dadd
1195 002c FFF7FEFF bl __aeabi_d2f
1196 0030 DDED037A vldr.32 s15, [sp, #12] @ int
1197 0034 00EE100A vmov s0, r0
1198 0038 F8EE677A vcvt.f32.u32 s15, s15
1199 003c 77EE807A vadd.f32 s15, s15, s0
1200 0040 80EE270A vdiv.f32 s0, s0, s15
1201 0044 07B0 add sp, sp, #28
1202 @ sp needed
1203 0046 30BD pop {r4, r5, pc}
1205 .global __aeabi_dmul
1206 .section .text.arm_yule_distance,"ax",%progbits
1207 .align 1
1208 .p2align 2,,3
1209 .global arm_yule_distance
1210 .syntax unified
1211 .thumb
1212 .thumb_func
1213 .fpu fpv4-sp-d16
1215 arm_yule_distance:
1216 @ args = 0, pretend = 0, frame = 16
1217 @ frame_needed = 0, uses_anonymous_args = 0
1218 0000 F0B5 push {r4, r5, r6, r7, lr}
1219 0002 89B0 sub sp, sp, #36
1220 0004 07AD add r5, sp, #28
1221 0006 06AB add r3, sp, #24
1222 0008 CDE90135 strd r3, r5, [sp, #4]
1223 000c 05AB add r3, sp, #20
1224 000e 0024 movs r4, #0
1225 0010 0093 str r3, [sp]
1226 0012 04AB add r3, sp, #16
1227 0014 CDE90444 strd r4, r4, [sp, #16]
1228 0018 CDE90644 strd r4, r4, [sp, #24]
1229 001c FFF7FEFF bl arm_boolean_distance_TT_FF_TF_FT
1230 0020 DDE90603 ldrd r0, r3, [sp, #24]
1231 0024 03FB00F0 mul r0, r3, r0
1232 0028 4000 lsls r0, r0, #1
1233 002a FFF7FEFF bl __aeabi_ui2d
1234 002e DDE90432 ldrd r3, r2, [sp, #16]
1235 0032 0446 mov r4, r0
1236 0034 02FB03F0 mul r0, r2, r3
1237 0038 0D46 mov r5, r1
1238 003a FFF7FEFF bl __aeabi_ui2d
1239 003e 0D4B ldr r3, .L224
1240 0040 0646 mov r6, r0
ARM GAS /tmp/ccJXZUzF.s page 22
1241 0042 0F46 mov r7, r1
1242 0044 0022 movs r2, #0
1243 0046 2046 mov r0, r4
1244 0048 2946 mov r1, r5
1245 004a FFF7FEFF bl __aeabi_dmul
1246 004e 0246 mov r2, r0
1247 0050 0B46 mov r3, r1
1248 0052 3046 mov r0, r6
1249 0054 3946 mov r1, r7
1250 0056 FFF7FEFF bl __aeabi_dadd
1251 005a 0246 mov r2, r0
1252 005c 0B46 mov r3, r1
1253 005e 2046 mov r0, r4
1254 0060 2946 mov r1, r5
1255 0062 FFF7FEFF bl __aeabi_ddiv
1256 0066 FFF7FEFF bl __aeabi_d2f
1257 006a 00EE100A vmov s0, r0
1258 006e 09B0 add sp, sp, #36
1259 @ sp needed
1260 0070 F0BD pop {r4, r5, r6, r7, pc}
1261 .L225:
1262 0072 00BF .align 2
1263 .L224:
1264 0074 0000E03F .word 1071644672
1266 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)"
ARM GAS /tmp/ccJXZUzF.s page 23
DEFINED SYMBOLS
*ABS*:0000000000000000 DistanceFunctions.c
/tmp/ccJXZUzF.s:16 .text.arm_boolean_distance_TT_TF_FT:0000000000000000 $t
/tmp/ccJXZUzF.s:25 .text.arm_boolean_distance_TT_TF_FT:0000000000000000 arm_boolean_distance_TT_TF_FT
/tmp/ccJXZUzF.s:122 .text.arm_boolean_distance_TF_FT:0000000000000000 $t
/tmp/ccJXZUzF.s:130 .text.arm_boolean_distance_TF_FT:0000000000000000 arm_boolean_distance_TF_FT
/tmp/ccJXZUzF.s:211 .text.arm_boolean_distance_TT_FF_TF_FT:0000000000000000 $t
/tmp/ccJXZUzF.s:219 .text.arm_boolean_distance_TT_FF_TF_FT:0000000000000000 arm_boolean_distance_TT_FF_TF_FT
/tmp/ccJXZUzF.s:328 .text.arm_boolean_distance_TT:0000000000000000 $t
/tmp/ccJXZUzF.s:336 .text.arm_boolean_distance_TT:0000000000000000 arm_boolean_distance_TT
/tmp/ccJXZUzF.s:401 .text.arm_braycurtis_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:409 .text.arm_braycurtis_distance_f32:0000000000000000 arm_braycurtis_distance_f32
/tmp/ccJXZUzF.s:433 .text.arm_braycurtis_distance_f32:0000000000000034 $d
/tmp/ccJXZUzF.s:436 .text.arm_canberra_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:444 .text.arm_canberra_distance_f32:0000000000000000 arm_canberra_distance_f32
/tmp/ccJXZUzF.s:476 .text.arm_canberra_distance_f32:0000000000000048 $d
/tmp/ccJXZUzF.s:479 .text.arm_chebyshev_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:487 .text.arm_chebyshev_distance_f32:0000000000000000 arm_chebyshev_distance_f32
/tmp/ccJXZUzF.s:512 .text.arm_cityblock_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:520 .text.arm_cityblock_distance_f32:0000000000000000 arm_cityblock_distance_f32
/tmp/ccJXZUzF.s:540 .text.arm_cityblock_distance_f32:0000000000000024 $d
/tmp/ccJXZUzF.s:543 .text.arm_correlation_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:551 .text.arm_correlation_distance_f32:0000000000000000 arm_correlation_distance_f32
/tmp/ccJXZUzF.s:628 .text.arm_correlation_distance_f32:00000000000000cc $d
/tmp/ccJXZUzF.s:631 .text.arm_cosine_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:639 .text.arm_cosine_distance_f32:0000000000000000 arm_cosine_distance_f32
/tmp/ccJXZUzF.s:687 .text.arm_cosine_distance_f32:0000000000000070 $d
/tmp/ccJXZUzF.s:694 .text.arm_dice_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:702 .text.arm_dice_distance:0000000000000000 arm_dice_distance
/tmp/ccJXZUzF.s:756 .text.arm_euclidean_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:764 .text.arm_euclidean_distance_f32:0000000000000000 arm_euclidean_distance_f32
/tmp/ccJXZUzF.s:795 .text.arm_euclidean_distance_f32:0000000000000044 $d
/tmp/ccJXZUzF.s:798 .text.arm_hamming_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:806 .text.arm_hamming_distance:0000000000000000 arm_hamming_distance
/tmp/ccJXZUzF.s:837 .text.arm_jaccard_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:845 .text.arm_jaccard_distance:0000000000000000 arm_jaccard_distance
/tmp/ccJXZUzF.s:879 .text.arm_jensenshannon_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:887 .text.arm_jensenshannon_distance_f32:0000000000000000 arm_jensenshannon_distance_f32
/tmp/ccJXZUzF.s:940 .text.arm_jensenshannon_distance_f32:0000000000000090 $d
/tmp/ccJXZUzF.s:943 .text.arm_kulsinski_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:951 .text.arm_kulsinski_distance:0000000000000000 arm_kulsinski_distance
/tmp/ccJXZUzF.s:989 .text.arm_minkowski_distance_f32:0000000000000000 $t
/tmp/ccJXZUzF.s:997 .text.arm_minkowski_distance_f32:0000000000000000 arm_minkowski_distance_f32
/tmp/ccJXZUzF.s:1033 .text.arm_minkowski_distance_f32:0000000000000060 $d
/tmp/ccJXZUzF.s:1036 .text.arm_rogerstanimoto_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:1044 .text.arm_rogerstanimoto_distance:0000000000000000 arm_rogerstanimoto_distance
/tmp/ccJXZUzF.s:1083 .text.arm_russellrao_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:1091 .text.arm_russellrao_distance:0000000000000000 arm_russellrao_distance
/tmp/ccJXZUzF.s:1123 .text.arm_sokalmichener_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:1131 .text.arm_sokalmichener_distance:0000000000000000 arm_sokalmichener_distance
/tmp/ccJXZUzF.s:1168 .text.arm_sokalsneath_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:1176 .text.arm_sokalsneath_distance:0000000000000000 arm_sokalsneath_distance
/tmp/ccJXZUzF.s:1207 .text.arm_yule_distance:0000000000000000 $t
/tmp/ccJXZUzF.s:1215 .text.arm_yule_distance:0000000000000000 arm_yule_distance
/tmp/ccJXZUzF.s:1264 .text.arm_yule_distance:0000000000000074 $d
UNDEFINED SYMBOLS
ARM GAS /tmp/ccJXZUzF.s page 24
arm_mean_f32
arm_offset_f32
arm_power_f32
arm_dot_prod_f32
sqrtf
__aeabi_ui2d
__aeabi_dadd
__aeabi_ddiv
__aeabi_d2f
logf
powf
__aeabi_f2d
__aeabi_dmul