ARM GAS /tmp/ccmxjexE.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 "MatrixFunctions.c" 14 .text 15 .section .text.arm_mat_add_f32,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .global arm_mat_add_f32 19 .arch armv7e-m 20 .syntax unified 21 .thumb 22 .thumb_func 23 .fpu fpv4-sp-d16 25 arm_mat_add_f32: 26 @ args = 0, pretend = 0, frame = 0 27 @ frame_needed = 0, uses_anonymous_args = 0 28 @ link register save eliminated. 29 0000 0388 ldrh r3, [r0] 30 0002 B0F802C0 ldrh ip, [r0, #2] 31 0006 4968 ldr r1, [r1, #4] 32 0008 4068 ldr r0, [r0, #4] 33 000a 5268 ldr r2, [r2, #4] 34 000c 0CFB03F3 mul r3, ip, r3 35 0010 4BB1 cbz r3, .L2 36 .L3: 37 0012 F0EC017A vldmia.32 r0!, {s15} 38 0016 B1EC017A vldmia.32 r1!, {s14} 39 001a 77EE877A vadd.f32 s15, s15, s14 40 001e 013B subs r3, r3, #1 41 0020 E2EC017A vstmia.32 r2!, {s15} 42 0024 F5D1 bne .L3 43 .L2: 44 0026 0020 movs r0, #0 45 0028 7047 bx lr 47 002a 00BF .section .text.arm_mat_add_q15,"ax",%progbits 48 .align 1 49 .p2align 2,,3 50 .global arm_mat_add_q15 51 .syntax unified 52 .thumb 53 .thumb_func 54 .fpu fpv4-sp-d16 56 arm_mat_add_q15: 57 @ args = 0, pretend = 0, frame = 0 58 @ frame_needed = 0, uses_anonymous_args = 0 59 @ link register save eliminated. 60 0000 4388 ldrh r3, [r0, #2] ARM GAS /tmp/ccmxjexE.s page 2 61 0002 4968 ldr r1, [r1, #4] 62 0004 5268 ldr r2, [r2, #4] 63 0006 10B4 push {r4} 64 0008 0488 ldrh r4, [r0] 65 000a 4068 ldr r0, [r0, #4] 66 000c 03FB04F4 mul r4, r3, r4 67 0010 4CB1 cbz r4, .L10 68 .L11: 69 0012 30F9023B ldrsh r3, [r0], #2 70 0016 31F902CB ldrsh ip, [r1], #2 71 .syntax unified 72 @ 1731 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 73 001a 93FA1CF3 qadd16 r3, r3, ip 74 @ 0 "" 2 75 .thumb 76 .syntax unified 77 001e 013C subs r4, r4, #1 78 0020 22F8023B strh r3, [r2], #2 @ movhi 79 0024 F5D1 bne .L11 80 .L10: 81 0026 0020 movs r0, #0 82 0028 5DF8044B ldr r4, [sp], #4 83 002c 7047 bx lr 85 002e 00BF .section .text.arm_mat_add_q31,"ax",%progbits 86 .align 1 87 .p2align 2,,3 88 .global arm_mat_add_q31 89 .syntax unified 90 .thumb 91 .thumb_func 92 .fpu fpv4-sp-d16 94 arm_mat_add_q31: 95 @ args = 0, pretend = 0, frame = 0 96 @ frame_needed = 0, uses_anonymous_args = 0 97 @ link register save eliminated. 98 0000 4388 ldrh r3, [r0, #2] 99 0002 4968 ldr r1, [r1, #4] 100 0004 5268 ldr r2, [r2, #4] 101 0006 30B4 push {r4, r5} 102 0008 0488 ldrh r4, [r0] 103 000a 4068 ldr r0, [r0, #4] 104 000c 03FB04F4 mul r4, r3, r4 105 0010 4CB1 cbz r4, .L18 106 .L19: 107 0012 50F8043B ldr r3, [r0], #4 108 0016 51F8045B ldr r5, [r1], #4 109 .syntax unified 110 @ 2117 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 111 001a 85FA83F3 qadd r3, r3, r5 112 @ 0 "" 2 113 .thumb 114 .syntax unified 115 001e 013C subs r4, r4, #1 116 0020 42F8043B str r3, [r2], #4 117 0024 F5D1 bne .L19 118 .L18: 119 0026 0020 movs r0, #0 ARM GAS /tmp/ccmxjexE.s page 3 120 0028 30BC pop {r4, r5} 121 002a 7047 bx lr 123 .section .text.arm_mat_cmplx_mult_f32,"ax",%progbits 124 .align 1 125 .p2align 2,,3 126 .global arm_mat_cmplx_mult_f32 127 .syntax unified 128 .thumb 129 .thumb_func 130 .fpu fpv4-sp-d16 132 arm_mat_cmplx_mult_f32: 133 @ args = 0, pretend = 0, frame = 0 134 @ frame_needed = 0, uses_anonymous_args = 0 135 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 136 0004 4F68 ldr r7, [r1, #4] 137 0006 4988 ldrh r1, [r1, #2] 138 0008 4568 ldr r5, [r0, #4] 139 000a 4488 ldrh r4, [r0, #2] 140 000c 0688 ldrh r6, [r0] 141 000e 5368 ldr r3, [r2, #4] 142 0010 9FED385A vldr.32 s10, .L46 143 0014 0129 cmp r1, #1 144 0016 4FEAC100 lsl r0, r1, #3 145 001a 4FEAC408 lsl r8, r4, #3 146 001e 05F10805 add r5, r5, #8 147 0022 33D1 bne .L45 148 0024 9A46 mov r10, r3 149 0026 07EB0009 add r9, r7, r0 150 .L35: 151 002a 0AF1080C add ip, r10, #8 152 002e BE46 mov lr, r7 153 .L34: 154 0030 F0EE457A vmov.f32 s15, s10 155 0034 B0EE457A vmov.f32 s14, s10 156 0038 BCB1 cbz r4, .L32 157 003a 2A46 mov r2, r5 158 003c 2146 mov r1, r4 159 003e 7346 mov r3, lr 160 .L33: 161 0040 93ED006A vldr.32 s12, [r3] 162 0044 52ED026A vldr.32 s13, [r2, #-8] 163 0048 52ED015A vldr.32 s11, [r2, #-4] 164 004c A6EE267A vfma.f32 s14, s12, s13 165 0050 0139 subs r1, r1, #1 166 0052 02F10802 add r2, r2, #8 167 0056 E5EE867A vfma.f32 s15, s11, s12 168 005a 93ED016A vldr.32 s12, [r3, #4] 169 005e 0344 add r3, r3, r0 170 0060 A6EE657A vfms.f32 s14, s12, s11 171 0064 E6EE267A vfma.f32 s15, s12, s13 172 0068 EAD1 bne .L33 173 .L32: 174 006a 0EF1080E add lr, lr, #8 175 006e F145 cmp r9, lr 176 0070 0CED027A vstr.32 s14, [ip, #-8] 177 0074 4CED017A vstr.32 s15, [ip, #-4] 178 0078 0CF1080C add ip, ip, #8 ARM GAS /tmp/ccmxjexE.s page 4 179 007c D8D1 bne .L34 180 007e 013E subs r6, r6, #1 181 0080 4544 add r5, r5, r8 182 0082 8244 add r10, r10, r0 183 0084 D1D1 bne .L35 184 0086 0020 movs r0, #0 185 0088 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 186 .L45: 187 008c 9946 mov r9, r3 188 008e 07EB000A add r10, r7, r0 189 .L30: 190 0092 09F1080C add ip, r9, #8 191 0096 BE46 mov lr, r7 192 .L29: 193 0098 F0EE457A vmov.f32 s15, s10 194 009c B0EE457A vmov.f32 s14, s10 195 00a0 BCB1 cbz r4, .L27 196 00a2 2A46 mov r2, r5 197 00a4 2146 mov r1, r4 198 00a6 7346 mov r3, lr 199 .L28: 200 00a8 D3ED006A vldr.32 s13, [r3] 201 00ac 12ED026A vldr.32 s12, [r2, #-8] 202 00b0 52ED015A vldr.32 s11, [r2, #-4] 203 00b4 A6EE267A vfma.f32 s14, s12, s13 204 00b8 0139 subs r1, r1, #1 205 00ba 02F10802 add r2, r2, #8 206 00be E6EEA57A vfma.f32 s15, s13, s11 207 00c2 D3ED016A vldr.32 s13, [r3, #4] 208 00c6 0344 add r3, r3, r0 209 00c8 A5EEE67A vfms.f32 s14, s11, s13 210 00cc E6EE267A vfma.f32 s15, s12, s13 211 00d0 EAD1 bne .L28 212 .L27: 213 00d2 0EF1080E add lr, lr, #8 214 00d6 F245 cmp r10, lr 215 00d8 0CED027A vstr.32 s14, [ip, #-8] 216 00dc 4CED017A vstr.32 s15, [ip, #-4] 217 00e0 0CF1080C add ip, ip, #8 218 00e4 D8D1 bne .L29 219 00e6 013E subs r6, r6, #1 220 00e8 4544 add r5, r5, r8 221 00ea 8144 add r9, r9, r0 222 00ec D1D1 bne .L30 223 00ee 0020 movs r0, #0 224 00f0 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 225 .L47: 226 .align 2 227 .L46: 228 00f4 00000000 .word 0 230 .section .text.arm_mat_cmplx_mult_q15,"ax",%progbits 231 .align 1 232 .p2align 2,,3 233 .global arm_mat_cmplx_mult_q15 234 .syntax unified 235 .thumb 236 .thumb_func ARM GAS /tmp/ccmxjexE.s page 5 237 .fpu fpv4-sp-d16 239 arm_mat_cmplx_mult_q15: 240 @ args = 0, pretend = 0, frame = 48 241 @ frame_needed = 0, uses_anonymous_args = 0 242 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 243 0004 8DB0 sub sp, sp, #52 244 0006 D1F804C0 ldr ip, [r1, #4] 245 000a 0893 str r3, [sp, #32] 246 000c 0B88 ldrh r3, [r1] 247 000e 4988 ldrh r1, [r1, #2] 248 0010 B0F800E0 ldrh lr, [r0] 249 0014 4788 ldrh r7, [r0, #2] 250 0016 0791 str r1, [sp, #28] 251 0018 0029 cmp r1, #0 252 001a 00F0AF80 beq .L76 253 001e 9E00 lsls r6, r3, #2 254 0020 012B cmp r3, #1 255 0022 089B ldr r3, [sp, #32] 256 0024 9846 mov r8, r3 257 0026 06EB0309 add r9, r6, r3 258 002a 4FEA8103 lsl r3, r1, #2 259 002e 0993 str r3, [sp, #36] 260 0030 8A46 mov r10, r1 261 0032 9B46 mov fp, r3 262 0034 40F09280 bne .L52 263 .L55: 264 0038 4146 mov r1, r8 265 003a 6446 mov r4, ip 266 003c 5346 mov r3, r10 267 .L54: 268 003e 54F8045B ldr r5, [r4], #4 @ unaligned 269 0042 0D60 str r5, [r1] @ unaligned 270 0044 013B subs r3, r3, #1 271 0046 3144 add r1, r1, r6 272 0048 F9D1 bne .L54 273 004a 08F10408 add r8, r8, #4 274 004e C845 cmp r8, r9 275 0050 DC44 add ip, ip, fp 276 0052 F1D1 bne .L55 277 .L49: 278 0054 4368 ldr r3, [r0, #4] 279 0056 5268 ldr r2, [r2, #4] 280 0058 4FEA5709 lsr r9, r7, #1 281 005c 03EBC903 add r3, r3, r9, lsl #3 282 0060 0193 str r3, [sp, #4] 283 0062 C9EB4973 rsb r3, r9, r9, lsl #29 284 0066 DB00 lsls r3, r3, #3 285 0068 0B93 str r3, [sp, #44] 286 006a 07F00103 and r3, r7, #1 287 006e 0393 str r3, [sp, #12] 288 0070 CDE9052E strd r2, lr, [sp, #20] 289 0074 BB00 lsls r3, r7, #2 290 0076 0A93 str r3, [sp, #40] 291 0078 4FEAC903 lsl r3, r9, #3 292 007c 0493 str r3, [sp, #16] 293 .L60: 294 007e 019B ldr r3, [sp, #4] ARM GAS /tmp/ccmxjexE.s page 6 295 0080 0B9A ldr r2, [sp, #44] 296 0082 1344 add r3, r3, r2 297 0084 0293 str r3, [sp, #8] 298 0086 DDE9078E ldrd r8, lr, [sp, #28] 299 008a 059B ldr r3, [sp, #20] 300 008c 03F1040C add ip, r3, #4 301 .L59: 302 0090 B9F1000F cmp r9, #0 303 0094 6CD0 beq .L61 304 0096 0020 movs r0, #0 305 0098 029D ldr r5, [sp, #8] 306 009a 7646 mov r6, lr 307 009c 4F46 mov r7, r9 308 009e 0346 mov r3, r0 309 00a0 0446 mov r4, r0 310 00a2 0146 mov r1, r0 311 .L57: 312 00a4 2A68 ldr r2, [r5] @ unaligned 313 00a6 D6F800B0 ldr fp, [r6] @ unaligned 314 .syntax unified 315 @ 2043 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 316 00aa 42FB0BFA smusd r10, r2, fp 317 @ 0 "" 2 318 @ 1985 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 319 00ae 22FB1BF2 smuadx r2, r2, fp 320 @ 0 "" 2 321 .thumb 322 .syntax unified 323 00b2 1AEB0404 adds r4, r10, r4 324 00b6 41EBEA71 adc r1, r1, r10, asr #31 325 00ba 1018 adds r0, r2, r0 326 00bc D6F804B0 ldr fp, [r6, #4] @ unaligned 327 00c0 43EBE273 adc r3, r3, r2, asr #31 328 00c4 0835 adds r5, r5, #8 329 00c6 55F8042C ldr r2, [r5, #-4] @ unaligned 330 00ca 0836 adds r6, r6, #8 331 .syntax unified 332 @ 2043 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 333 00cc 42FB0BFA smusd r10, r2, fp 334 @ 0 "" 2 335 @ 1985 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 336 00d0 22FB1BF2 smuadx r2, r2, fp 337 @ 0 "" 2 338 .thumb 339 .syntax unified 340 00d4 1AEB0404 adds r4, r10, r4 341 00d8 41EBEA71 adc r1, r1, r10, asr #31 342 00dc 1018 adds r0, r2, r0 343 00de 43EBE273 adc r3, r3, r2, asr #31 344 00e2 013F subs r7, r7, #1 345 00e4 DED1 bne .L57 346 00e6 049A ldr r2, [sp, #16] 347 00e8 9644 add lr, lr, r2 348 00ea 019A ldr r2, [sp, #4] 349 .L56: 350 00ec 039D ldr r5, [sp, #12] 351 00ee 65B1 cbz r5, .L58 ARM GAS /tmp/ccmxjexE.s page 7 352 00f0 1268 ldr r2, [r2] @ unaligned 353 00f2 5EF8046B ldr r6, [lr], #4 @ unaligned 354 .syntax unified 355 @ 2043 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 356 00f6 42FB06F5 smusd r5, r2, r6 357 @ 0 "" 2 358 @ 1985 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 359 00fa 22FB16F2 smuadx r2, r2, r6 360 @ 0 "" 2 361 .thumb 362 .syntax unified 363 00fe 2C19 adds r4, r5, r4 364 0100 41EBE571 adc r1, r1, r5, asr #31 365 0104 1018 adds r0, r2, r0 366 0106 43EBE273 adc r3, r3, r2, asr #31 367 .L58: 368 010a E40B lsrs r4, r4, #15 369 010c C00B lsrs r0, r0, #15 370 010e B8F10108 subs r8, r8, #1 371 0112 44EA4144 orr r4, r4, r1, lsl #17 372 0116 40EA4340 orr r0, r0, r3, lsl #17 373 .syntax unified 374 @ 569 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c" 375 011a 04F30F04 ssat r4, #16, r4 376 @ 0 "" 2 377 @ 570 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c" 378 011e 00F30F00 ssat r0, #16, r0 379 @ 0 "" 2 380 .thumb 381 .syntax unified 382 0122 2CF8044C strh r4, [ip, #-4] @ movhi 383 0126 2CF8020C strh r0, [ip, #-2] @ movhi 384 012a 0CF1040C add ip, ip, #4 385 012e AFD1 bne .L59 386 0130 059B ldr r3, [sp, #20] 387 0132 099A ldr r2, [sp, #36] 388 0134 1344 add r3, r3, r2 389 0136 0593 str r3, [sp, #20] 390 0138 0A9A ldr r2, [sp, #40] 391 013a 019B ldr r3, [sp, #4] 392 013c 1344 add r3, r3, r2 393 013e 0193 str r3, [sp, #4] 394 0140 069B ldr r3, [sp, #24] 395 0142 013B subs r3, r3, #1 396 0144 0693 str r3, [sp, #24] 397 0146 9AD1 bne .L60 398 0148 1846 mov r0, r3 399 014a 0DB0 add sp, sp, #52 400 @ sp needed 401 014c BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 402 .L77: 403 0150 08F10408 add r8, r8, #4 404 0154 C845 cmp r8, r9 405 0156 DC44 add ip, ip, fp 406 0158 3FF47CAF beq .L49 407 .L52: 408 015c 4146 mov r1, r8 ARM GAS /tmp/ccmxjexE.s page 8 409 015e 6446 mov r4, ip 410 0160 5346 mov r3, r10 411 .L51: 412 0162 54F8045B ldr r5, [r4], #4 @ unaligned 413 0166 0D60 str r5, [r1] @ unaligned 414 0168 013B subs r3, r3, #1 415 016a 3144 add r1, r1, r6 416 016c F9D1 bne .L51 417 016e EFE7 b .L77 418 .L61: 419 0170 029A ldr r2, [sp, #8] 420 0172 4846 mov r0, r9 421 0174 4B46 mov r3, r9 422 0176 4C46 mov r4, r9 423 0178 4946 mov r1, r9 424 017a B7E7 b .L56 425 .L76: 426 017c 0991 str r1, [sp, #36] 427 017e 69E7 b .L49 429 .section .text.arm_mat_cmplx_mult_q31,"ax",%progbits 430 .align 1 431 .p2align 2,,3 432 .global arm_mat_cmplx_mult_q31 433 .syntax unified 434 .thumb 435 .thumb_func 436 .fpu fpv4-sp-d16 438 arm_mat_cmplx_mult_q31: 439 @ args = 0, pretend = 0, frame = 32 440 @ frame_needed = 0, uses_anonymous_args = 0 441 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 442 0004 4368 ldr r3, [r0, #4] 443 0006 4C68 ldr r4, [r1, #4] 444 0008 4988 ldrh r1, [r1, #2] 445 000a 5268 ldr r2, [r2, #4] 446 000c 89B0 sub sp, sp, #36 447 000e 0833 adds r3, r3, #8 448 0010 0694 str r4, [sp, #24] 449 0012 0293 str r3, [sp, #8] 450 0014 4488 ldrh r4, [r0, #2] 451 0016 069B ldr r3, [sp, #24] 452 0018 0088 ldrh r0, [r0] 453 001a 0590 str r0, [sp, #20] 454 001c 4FEAC108 lsl r8, r1, #3 455 0020 E000 lsls r0, r4, #3 456 0022 4344 add r3, r3, r8 457 0024 0129 cmp r1, #1 458 0026 0194 str r4, [sp, #4] 459 0028 0790 str r0, [sp, #28] 460 002a 0492 str r2, [sp, #16] 461 002c 0393 str r3, [sp, #12] 462 002e 40F08E80 bne .L88 463 .L98: 464 0032 049B ldr r3, [sp, #16] 465 0034 DDF818A0 ldr r10, [sp, #24] 466 0038 03F10809 add r9, r3, #8 467 .L97: ARM GAS /tmp/ccmxjexE.s page 9 468 003c 019F ldr r7, [sp, #4] 469 003e 002F cmp r7, #0 470 0040 00F0AA80 beq .L90 471 0044 0021 movs r1, #0 472 0046 029E ldr r6, [sp, #8] 473 0048 5546 mov r5, r10 474 004a 8B46 mov fp, r1 475 004c 8E46 mov lr, r1 476 004e 0B46 mov r3, r1 477 .L91: 478 0050 56F8084C ldr r4, [r6, #-8] 479 0054 D5F800C0 ldr ip, [r5] 480 0058 56F8042C ldr r2, [r6, #-4] 481 005c CCFB043E smlal r3, lr, ip, r4 482 0060 1846 mov r0, r3 483 0062 6B68 ldr r3, [r5, #4] 484 0064 C2FB0C1B smlal r1, fp, r2, ip 485 0068 C3FB041B smlal r1, fp, r3, r4 486 006c 83FB0232 smull r3, r2, r3, r2 487 0070 C31A subs r3, r0, r3 488 0072 6EEB020E sbc lr, lr, r2 489 0076 013F subs r7, r7, #1 490 0078 06F10806 add r6, r6, #8 491 007c 4544 add r5, r5, r8 492 007e E7D1 bne .L91 493 0080 4FEAD37C lsr ip, r3, #31 494 0084 4CEA4E03 orr r3, ip, lr, lsl #1 495 0088 DA17 asrs r2, r3, #31 496 008a C90F lsrs r1, r1, #31 497 008c B2EBEE7F cmp r2, lr, asr #31 498 0090 41EA4B01 orr r1, r1, fp, lsl #1 499 0094 18BF it ne 500 0096 6FF00043 mvnne r3, #-2147483648 501 009a 4FEAEE70 asr r0, lr, #31 502 009e 4FEAEB7B asr fp, fp, #31 503 00a2 4FEAE172 asr r2, r1, #31 504 00a6 18BF it ne 505 00a8 4340 eorne r3, r0, r3 506 00aa 5A45 cmp r2, fp 507 00ac 49F8083C str r3, [r9, #-8] 508 00b0 75D0 beq .L94 509 00b2 6FF00043 mvn r3, #-2147483648 510 00b6 8BEA0303 eor r3, fp, r3 511 00ba 49F8043C str r3, [r9, #-4] 512 00be 039B ldr r3, [sp, #12] 513 00c0 0AF1080A add r10, r10, #8 514 00c4 9A45 cmp r10, r3 515 00c6 09F10809 add r9, r9, #8 516 00ca B7D1 bne .L97 517 .L96: 518 00cc 049B ldr r3, [sp, #16] 519 00ce 079A ldr r2, [sp, #28] 520 00d0 4344 add r3, r3, r8 521 00d2 0493 str r3, [sp, #16] 522 00d4 029B ldr r3, [sp, #8] 523 00d6 1344 add r3, r3, r2 524 00d8 0293 str r3, [sp, #8] ARM GAS /tmp/ccmxjexE.s page 10 525 00da 059B ldr r3, [sp, #20] 526 00dc 013B subs r3, r3, #1 527 00de 0593 str r3, [sp, #20] 528 00e0 A7D1 bne .L98 529 .L103: 530 00e2 0020 movs r0, #0 531 00e4 09B0 add sp, sp, #36 532 @ sp needed 533 00e6 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 534 .L106: 535 00ea 4FEAD37C lsr ip, r3, #31 536 00ee 4CEA4E02 orr r2, ip, lr, lsl #1 537 00f2 D317 asrs r3, r2, #31 538 00f4 B3EBEE7F cmp r3, lr, asr #31 539 00f8 4FEAD173 lsr r3, r1, #31 540 00fc 43EA4B03 orr r3, r3, fp, lsl #1 541 0100 18BF it ne 542 0102 6FF00042 mvnne r2, #-2147483648 543 0106 4FEAEE70 asr r0, lr, #31 544 010a 4FEAEB7B asr fp, fp, #31 545 010e 4FEAE371 asr r1, r3, #31 546 0112 18BF it ne 547 0114 4240 eorne r2, r0, r2 548 0116 8B45 cmp fp, r1 549 0118 49F8082C str r2, [r9, #-8] 550 011c 4DD0 beq .L84 551 011e 6FF00043 mvn r3, #-2147483648 552 0122 8BEA0303 eor r3, fp, r3 553 0126 49F8043C str r3, [r9, #-4] 554 012a 039B ldr r3, [sp, #12] 555 012c 0AF1080A add r10, r10, #8 556 0130 9A45 cmp r10, r3 557 0132 09F10809 add r9, r9, #8 558 0136 0FD1 bne .L87 559 .L86: 560 0138 049B ldr r3, [sp, #16] 561 013a 079A ldr r2, [sp, #28] 562 013c 4344 add r3, r3, r8 563 013e 0493 str r3, [sp, #16] 564 0140 029B ldr r3, [sp, #8] 565 0142 1344 add r3, r3, r2 566 0144 0293 str r3, [sp, #8] 567 0146 059B ldr r3, [sp, #20] 568 0148 013B subs r3, r3, #1 569 014a 0593 str r3, [sp, #20] 570 014c C9D0 beq .L103 571 .L88: 572 014e 049B ldr r3, [sp, #16] 573 0150 DDF818A0 ldr r10, [sp, #24] 574 0154 03F10809 add r9, r3, #8 575 .L87: 576 0158 019F ldr r7, [sp, #4] 577 015a 5FB3 cbz r7, .L80 578 015c 0021 movs r1, #0 579 015e 029E ldr r6, [sp, #8] 580 0160 5546 mov r5, r10 581 0162 8B46 mov fp, r1 ARM GAS /tmp/ccmxjexE.s page 11 582 0164 8E46 mov lr, r1 583 0166 0B46 mov r3, r1 584 .L81: 585 0168 2A68 ldr r2, [r5] 586 016a 56F8084C ldr r4, [r6, #-8] 587 016e C4FB023E smlal r3, lr, r4, r2 588 0172 1846 mov r0, r3 589 0174 56F8043C ldr r3, [r6, #-4] 590 0178 C2FB031B smlal r1, fp, r2, r3 591 017c 6A68 ldr r2, [r5, #4] 592 017e C4FB021B smlal r1, fp, r4, r2 593 0182 83FB0232 smull r3, r2, r3, r2 594 0186 C31A subs r3, r0, r3 595 0188 6EEB020E sbc lr, lr, r2 596 018c 013F subs r7, r7, #1 597 018e 06F10806 add r6, r6, #8 598 0192 4544 add r5, r5, r8 599 0194 E8D1 bne .L81 600 0196 A8E7 b .L106 601 .L90: 602 0198 49F8087C str r7, [r9, #-8] 603 019c 3946 mov r1, r7 604 .L94: 605 019e 039B ldr r3, [sp, #12] 606 01a0 49F8041C str r1, [r9, #-4] 607 01a4 0AF1080A add r10, r10, #8 608 01a8 9A45 cmp r10, r3 609 01aa 09F10809 add r9, r9, #8 610 01ae 7FF445AF bne .L97 611 01b2 8BE7 b .L96 612 .L80: 613 01b4 3B46 mov r3, r7 614 01b6 49F8087C str r7, [r9, #-8] 615 .L84: 616 01ba 49F8043C str r3, [r9, #-4] 617 01be 039B ldr r3, [sp, #12] 618 01c0 0AF1080A add r10, r10, #8 619 01c4 5345 cmp r3, r10 620 01c6 09F10809 add r9, r9, #8 621 01ca C5D1 bne .L87 622 01cc B4E7 b .L86 624 01ce 00BF .section .text.arm_mat_init_f32,"ax",%progbits 625 .align 1 626 .p2align 2,,3 627 .global arm_mat_init_f32 628 .syntax unified 629 .thumb 630 .thumb_func 631 .fpu fpv4-sp-d16 633 arm_mat_init_f32: 634 @ args = 0, pretend = 0, frame = 0 635 @ frame_needed = 0, uses_anonymous_args = 0 636 @ link register save eliminated. 637 0000 0180 strh r1, [r0] @ movhi 638 0002 4280 strh r2, [r0, #2] @ movhi 639 0004 4360 str r3, [r0, #4] 640 0006 7047 bx lr ARM GAS /tmp/ccmxjexE.s page 12 642 .section .text.arm_mat_init_q15,"ax",%progbits 643 .align 1 644 .p2align 2,,3 645 .global arm_mat_init_q15 646 .syntax unified 647 .thumb 648 .thumb_func 649 .fpu fpv4-sp-d16 651 arm_mat_init_q15: 652 @ args = 0, pretend = 0, frame = 0 653 @ frame_needed = 0, uses_anonymous_args = 0 654 @ link register save eliminated. 655 0000 0180 strh r1, [r0] @ movhi 656 0002 4280 strh r2, [r0, #2] @ movhi 657 0004 4360 str r3, [r0, #4] 658 0006 7047 bx lr 660 .section .text.arm_mat_init_q31,"ax",%progbits 661 .align 1 662 .p2align 2,,3 663 .global arm_mat_init_q31 664 .syntax unified 665 .thumb 666 .thumb_func 667 .fpu fpv4-sp-d16 669 arm_mat_init_q31: 670 @ args = 0, pretend = 0, frame = 0 671 @ frame_needed = 0, uses_anonymous_args = 0 672 @ link register save eliminated. 673 0000 0180 strh r1, [r0] @ movhi 674 0002 4280 strh r2, [r0, #2] @ movhi 675 0004 4360 str r3, [r0, #4] 676 0006 7047 bx lr 678 .section .text.arm_mat_inverse_f32,"ax",%progbits 679 .align 1 680 .p2align 2,,3 681 .global arm_mat_inverse_f32 682 .syntax unified 683 .thumb 684 .thumb_func 685 .fpu fpv4-sp-d16 687 arm_mat_inverse_f32: 688 @ args = 0, pretend = 0, frame = 40 689 @ frame_needed = 0, uses_anonymous_args = 0 690 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 691 0004 8BB0 sub sp, sp, #44 692 0006 4368 ldr r3, [r0, #4] 693 0008 0488 ldrh r4, [r0] 694 000a 4D68 ldr r5, [r1, #4] 695 000c 0993 str r3, [sp, #36] 696 000e 4388 ldrh r3, [r0, #2] 697 0010 0795 str r5, [sp, #28] 698 0012 0193 str r3, [sp, #4] 699 0014 FCB1 cbz r4, .L111 700 0016 4FF07E5A mov r10, #1065353216 701 001a 671E subs r7, r4, #1 702 001c 45F804AB str r10, [r5], #4 @ float 703 0020 19D0 beq .L111 ARM GAS /tmp/ccmxjexE.s page 13 704 .L140: 705 0022 4FF00108 mov r8, #1 706 .L112: 707 0026 BE00 lsls r6, r7, #2 708 0028 3246 mov r2, r6 709 002a 0021 movs r1, #0 710 002c 2846 mov r0, r5 711 002e 4FEA8809 lsl r9, r8, #2 712 0032 FFF7FEFF bl memset 713 0036 4A46 mov r2, r9 714 0038 A819 adds r0, r5, r6 715 003a 0021 movs r1, #0 716 003c 8518 adds r5, r0, r2 717 003e B8F1000F cmp r8, #0 718 0042 00F0D380 beq .L169 719 0046 FFF7FEFF bl memset 720 004a 013F subs r7, r7, #1 721 004c 45F804AB str r10, [r5], #4 @ float 722 0050 08F10108 add r8, r8, #1 723 0054 E7D1 bne .L112 724 .L111: 725 0056 019B ldr r3, [sp, #4] 726 0058 002B cmp r3, #0 727 005a 00F0A280 beq .L117 728 005e 4FEA830E lsl lr, r3, #2 729 0062 1D46 mov r5, r3 730 0064 DB00 lsls r3, r3, #3 731 0066 0433 adds r3, r3, #4 732 0068 0593 str r3, [sp, #20] 733 006a 0EF10403 add r3, lr, #4 734 006e 0693 str r3, [sp, #24] 735 0070 099B ldr r3, [sp, #36] 736 0072 DDF81C90 ldr r9, [sp, #28] 737 0076 03EB0E02 add r2, r3, lr 738 007a CDE90232 strd r3, r2, [sp, #8] 739 007e 4FF0000C mov ip, #0 740 0082 9846 mov r8, r3 741 0084 CDF820C0 str ip, [sp, #32] 742 .L136: 743 0088 98ED007A vldr.32 s14, [r8] 744 008c B5EE407A vcmp.f32 s14, #0 745 0090 0CF10103 add r3, ip, #1 746 0094 F1EE10FA vmrs APSR_nzcv, FPSCR 747 0098 0493 str r3, [sp, #16] 748 009a 50D0 beq .L170 749 .L125: 750 009c 2A46 mov r2, r5 751 009e 4346 mov r3, r8 752 .L128: 753 00a0 D3ED006A vldr.32 s13, [r3] 754 00a4 C6EE877A vdiv.f32 s15, s13, s14 755 00a8 013A subs r2, r2, #1 756 00aa E3EC017A vstmia.32 r3!, {s15} 757 00ae F7D1 bne .L128 758 00b0 0199 ldr r1, [sp, #4] 759 00b2 4B46 mov r3, r9 760 .L129: ARM GAS /tmp/ccmxjexE.s page 14 761 00b4 D3ED006A vldr.32 s13, [r3] 762 00b8 C6EE877A vdiv.f32 s15, s13, s14 763 00bc 0139 subs r1, r1, #1 764 00be E3EC017A vstmia.32 r3!, {s15} 765 00c2 F7D1 bne .L129 766 00c4 4CB3 cbz r4, .L130 767 00c6 0798 ldr r0, [sp, #28] 768 00c8 DDF808B0 ldr fp, [sp, #8] 769 00cc AF00 lsls r7, r5, #2 770 00ce 4FEA8C06 lsl r6, ip, #2 771 .L135: 772 00d2 8C45 cmp ip, r1 773 00d4 30D0 beq .L171 774 00d6 9BED007A vldr.32 s14, [fp] 775 00da 5A46 mov r2, fp 776 00dc 2B46 mov r3, r5 777 00de C246 mov r10, r8 778 .L133: 779 00e0 D2ED007A vldr.32 s15, [r2] 780 00e4 FAEC016A vldmia.32 r10!, {s13} 781 00e8 E6EEC77A vfms.f32 s15, s13, s14 782 00ec 013B subs r3, r3, #1 783 00ee E2EC017A vstmia.32 r2!, {s15} 784 00f2 F5D1 bne .L133 785 00f4 019B ldr r3, [sp, #4] 786 00f6 BB44 add fp, fp, r7 787 00f8 0246 mov r2, r0 788 00fa CA46 mov r10, r9 789 .L134: 790 00fc D2ED007A vldr.32 s15, [r2] 791 0100 FAEC016A vldmia.32 r10!, {s13} 792 0104 E6EEC77A vfms.f32 s15, s13, s14 793 0108 013B subs r3, r3, #1 794 010a E2EC017A vstmia.32 r2!, {s15} 795 010e F5D1 bne .L134 796 0110 7044 add r0, r0, lr 797 .L132: 798 0112 0131 adds r1, r1, #1 799 0114 8C42 cmp r4, r1 800 0116 B344 add fp, fp, r6 801 0118 DBD1 bne .L135 802 .L130: 803 011a 029B ldr r3, [sp, #8] 804 011c 059A ldr r2, [sp, #20] 805 011e 0433 adds r3, r3, #4 806 0120 0293 str r3, [sp, #8] 807 0122 069B ldr r3, [sp, #24] 808 0124 9844 add r8, r8, r3 809 0126 039B ldr r3, [sp, #12] 810 0128 013D subs r5, r5, #1 811 012a 1344 add r3, r3, r2 812 012c F144 add r9, r9, lr 813 012e 0393 str r3, [sp, #12] 814 0130 3CD0 beq .L172 815 0132 DDF810C0 ldr ip, [sp, #16] 816 0136 A7E7 b .L136 817 .L171: ARM GAS /tmp/ccmxjexE.s page 15 818 0138 BB44 add fp, fp, r7 819 013a 7044 add r0, r0, lr 820 013c E9E7 b .L132 821 .L170: 822 013e A342 cmp r3, r4 823 0140 2BD2 bcs .L120 824 0142 0399 ldr r1, [sp, #12] 825 0144 0123 movs r3, #1 826 0146 04E0 b .L126 827 .L164: 828 0148 0133 adds r3, r3, #1 829 014a 0CEB0302 add r2, ip, r3 830 014e A242 cmp r2, r4 831 0150 23D2 bcs .L120 832 .L126: 833 0152 D1ED007A vldr.32 s15, [r1] 834 0156 F5EE407A vcmp.f32 s15, #0 835 015a F1EE10FA vmrs APSR_nzcv, FPSCR 836 015e 0A46 mov r2, r1 837 0160 7144 add r1, r1, lr 838 0162 F1D0 beq .L164 839 0164 2846 mov r0, r5 840 0166 4146 mov r1, r8 841 .L121: 842 0168 1668 ldr r6, [r2] @ float 843 016a 0F68 ldr r7, [r1] @ float 844 016c 42F8047B str r7, [r2], #4 @ float 845 0170 0138 subs r0, r0, #1 846 0172 41F8046B str r6, [r1], #4 @ float 847 0176 F7D1 bne .L121 848 0178 0199 ldr r1, [sp, #4] 849 017a 03FB0E93 mla r3, r3, lr, r9 850 017e 4A46 mov r2, r9 851 .L123: 852 0180 1868 ldr r0, [r3] @ float 853 0182 1668 ldr r6, [r2] @ float 854 0184 43F8046B str r6, [r3], #4 @ float 855 0188 0139 subs r1, r1, #1 856 018a 42F8040B str r0, [r2], #4 @ float 857 018e F7D1 bne .L123 858 0190 0123 movs r3, #1 859 0192 98ED007A vldr.32 s14, [r8] 860 0196 0893 str r3, [sp, #32] 861 0198 80E7 b .L125 862 .L120: 863 019a 089B ldr r3, [sp, #32] 864 019c 012B cmp r3, #1 865 019e 3FF47DAF beq .L125 866 .L117: 867 01a2 6FF00400 mvn r0, #4 868 01a6 0BB0 add sp, sp, #44 869 @ sp needed 870 01a8 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 871 .L172: 872 01ac 089B ldr r3, [sp, #32] 873 01ae 012B cmp r3, #1 874 01b0 04D0 beq .L144 ARM GAS /tmp/ccmxjexE.s page 16 875 01b2 B5EE407A vcmp.f32 s14, #0 876 01b6 F1EE10FA vmrs APSR_nzcv, FPSCR 877 01ba 03D0 beq .L138 878 .L144: 879 01bc 0020 movs r0, #0 880 01be 0BB0 add sp, sp, #44 881 @ sp needed 882 01c0 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 883 .L138: 884 01c4 019B ldr r3, [sp, #4] 885 01c6 03FB04F4 mul r4, r3, r4 886 01ca 002C cmp r4, #0 887 01cc E9D0 beq .L117 888 01ce DDE90823 ldrd r2, r3, [sp, #32] 889 01d2 01E0 b .L139 890 .L173: 891 01d4 A242 cmp r2, r4 892 01d6 E4D0 beq .L117 893 .L139: 894 01d8 F3EC017A vldmia.32 r3!, {s15} 895 01dc F5EE407A vcmp.f32 s15, #0 896 01e0 F1EE10FA vmrs APSR_nzcv, FPSCR 897 01e4 02F10102 add r2, r2, #1 898 01e8 F4D0 beq .L173 899 01ea E7E7 b .L144 900 .L169: 901 01ec 0546 mov r5, r0 902 01ee 013F subs r7, r7, #1 903 01f0 45F804AB str r10, [r5], #4 @ float 904 01f4 7FF415AF bne .L140 905 01f8 2DE7 b .L111 907 .global __aeabi_dcmpeq 908 .global __aeabi_ddiv 909 .global __aeabi_dmul 910 .global __aeabi_dsub 911 01fa 00BF .section .text.arm_mat_inverse_f64,"ax",%progbits 912 .align 1 913 .p2align 2,,3 914 .global arm_mat_inverse_f64 915 .syntax unified 916 .thumb 917 .thumb_func 918 .fpu fpv4-sp-d16 920 arm_mat_inverse_f64: 921 @ args = 0, pretend = 0, frame = 80 922 @ frame_needed = 0, uses_anonymous_args = 0 923 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 924 0004 95B0 sub sp, sp, #84 925 0006 4268 ldr r2, [r0, #4] 926 0008 0388 ldrh r3, [r0] 927 000a 4C68 ldr r4, [r1, #4] 928 000c 1392 str r2, [sp, #76] 929 000e 4288 ldrh r2, [r0, #2] 930 0010 0393 str r3, [sp, #12] 931 0012 1294 str r4, [sp, #72] 932 0014 0A92 str r2, [sp, #40] 933 0016 FBB1 cbz r3, .L175 ARM GAS /tmp/ccmxjexE.s page 17 934 0018 DFF86CB2 ldr fp, .L236 935 001c 4FF0000A mov r10, #0 936 0020 5E1E subs r6, r3, #1 937 0022 E4E802AB strd r10, [r4], #8 938 0026 17D0 beq .L175 939 .L204: 940 0028 0127 movs r7, #1 941 .L176: 942 002a F500 lsls r5, r6, #3 943 002c 2A46 mov r2, r5 944 002e 0021 movs r1, #0 945 0030 2046 mov r0, r4 946 0032 4FEAC708 lsl r8, r7, #3 947 0036 FFF7FEFF bl memset 948 003a 4246 mov r2, r8 949 003c 6019 adds r0, r4, r5 950 003e 0021 movs r1, #0 951 0040 8418 adds r4, r0, r2 952 0042 002F cmp r7, #0 953 0044 00F01981 beq .L232 954 0048 FFF7FEFF bl memset 955 004c 013E subs r6, r6, #1 956 004e E4E802AB strd r10, [r4], #8 957 0052 07F10107 add r7, r7, #1 958 0056 E8D1 bne .L176 959 .L175: 960 0058 0A9B ldr r3, [sp, #40] 961 005a 002B cmp r3, #0 962 005c 00F00081 beq .L181 963 0060 DA00 lsls r2, r3, #3 964 0062 1946 mov r1, r3 965 0064 1B01 lsls r3, r3, #4 966 0066 0833 adds r3, r3, #8 967 0068 1093 str r3, [sp, #64] 968 006a 02F10803 add r3, r2, #8 969 006e 1193 str r3, [sp, #68] 970 0070 139B ldr r3, [sp, #76] 971 0072 129C ldr r4, [sp, #72] 972 0074 0792 str r2, [sp, #28] 973 0076 0020 movs r0, #0 974 0078 9A18 adds r2, r3, r2 975 007a 0290 str r0, [sp, #8] 976 007c 0693 str r3, [sp, #24] 977 007e 0994 str r4, [sp, #36] 978 0080 0C92 str r2, [sp, #48] 979 0082 0891 str r1, [sp, #32] 980 0084 0B93 str r3, [sp, #44] 981 0086 0F90 str r0, [sp, #60] 982 .L200: 983 0088 069B ldr r3, [sp, #24] 984 008a D3E90089 ldrd r8, [r3] 985 008e 0022 movs r2, #0 986 0090 0023 movs r3, #0 987 0092 4046 mov r0, r8 988 0094 4946 mov r1, r9 989 0096 FFF7FEFF bl __aeabi_dcmpeq 990 009a 0028 cmp r0, #0 ARM GAS /tmp/ccmxjexE.s page 18 991 009c 40F08980 bne .L233 992 00a0 029B ldr r3, [sp, #8] 993 00a2 079A ldr r2, [sp, #28] 994 00a4 0133 adds r3, r3, #1 995 00a6 0D93 str r3, [sp, #52] 996 00a8 099B ldr r3, [sp, #36] 997 00aa 1344 add r3, r3, r2 998 00ac 0E93 str r3, [sp, #56] 999 .L190: 1000 00ae 089D ldr r5, [sp, #32] 1001 00b0 069C ldr r4, [sp, #24] 1002 .L192: 1003 00b2 D4E90001 ldrd r0, [r4] 1004 00b6 4246 mov r2, r8 1005 00b8 4B46 mov r3, r9 1006 00ba FFF7FEFF bl __aeabi_ddiv 1007 00be 013D subs r5, r5, #1 1008 00c0 E4E80201 strd r0, [r4], #8 1009 00c4 F5D1 bne .L192 1010 00c6 DDE9094B ldrd r4, fp, [sp, #36] 1011 .L193: 1012 00ca D4E90001 ldrd r0, [r4] 1013 00ce 4246 mov r2, r8 1014 00d0 4B46 mov r3, r9 1015 00d2 FFF7FEFF bl __aeabi_ddiv 1016 00d6 BBF1010B subs fp, fp, #1 1017 00da E4E80201 strd r0, [r4], #8 1018 00de F4D1 bne .L193 1019 00e0 039B ldr r3, [sp, #12] 1020 00e2 002B cmp r3, #0 1021 00e4 4AD0 beq .L194 1022 00e6 089B ldr r3, [sp, #32] 1023 00e8 CDF800B0 str fp, [sp] 1024 00ec DB00 lsls r3, r3, #3 1025 00ee 0493 str r3, [sp, #16] 1026 00f0 029B ldr r3, [sp, #8] 1027 00f2 DB00 lsls r3, r3, #3 1028 00f4 0593 str r3, [sp, #20] 1029 00f6 129B ldr r3, [sp, #72] 1030 00f8 0193 str r3, [sp, #4] 1031 00fa 0B9B ldr r3, [sp, #44] 1032 00fc 9B46 mov fp, r3 1033 .L199: 1034 00fe 029B ldr r3, [sp, #8] 1035 0100 009A ldr r2, [sp] 1036 0102 9342 cmp r3, r2 1037 0104 4ED0 beq .L234 1038 0106 DBE90089 ldrd r8, [fp] 1039 010a 089C ldr r4, [sp, #32] 1040 010c DDF818A0 ldr r10, [sp, #24] 1041 0110 5D46 mov r5, fp 1042 .L197: 1043 0112 FAE80223 ldrd r2, [r10], #8 1044 0116 4046 mov r0, r8 1045 0118 4946 mov r1, r9 1046 011a FFF7FEFF bl __aeabi_dmul 1047 011e D5E90067 ldrd r6, [r5] ARM GAS /tmp/ccmxjexE.s page 19 1048 0122 0246 mov r2, r0 1049 0124 0B46 mov r3, r1 1050 0126 3046 mov r0, r6 1051 0128 3946 mov r1, r7 1052 012a FFF7FEFF bl __aeabi_dsub 1053 012e 013C subs r4, r4, #1 1054 0130 E5E80201 strd r0, [r5], #8 1055 0134 EDD1 bne .L197 1056 0136 049B ldr r3, [sp, #16] 1057 0138 019D ldr r5, [sp, #4] 1058 013a DDE909A4 ldrd r10, r4, [sp, #36] 1059 013e 9B44 add fp, fp, r3 1060 .L198: 1061 0140 FAE80223 ldrd r2, [r10], #8 1062 0144 4046 mov r0, r8 1063 0146 4946 mov r1, r9 1064 0148 FFF7FEFF bl __aeabi_dmul 1065 014c D5E90067 ldrd r6, [r5] 1066 0150 0246 mov r2, r0 1067 0152 0B46 mov r3, r1 1068 0154 3046 mov r0, r6 1069 0156 3946 mov r1, r7 1070 0158 FFF7FEFF bl __aeabi_dsub 1071 015c 013C subs r4, r4, #1 1072 015e E5E80201 strd r0, [r5], #8 1073 0162 EDD1 bne .L198 1074 0164 019B ldr r3, [sp, #4] 1075 0166 079A ldr r2, [sp, #28] 1076 0168 1344 add r3, r3, r2 1077 016a 0193 str r3, [sp, #4] 1078 .L196: 1079 016c 059A ldr r2, [sp, #20] 1080 016e 009B ldr r3, [sp] 1081 0170 9344 add fp, fp, r2 1082 0172 039A ldr r2, [sp, #12] 1083 0174 0133 adds r3, r3, #1 1084 0176 9A42 cmp r2, r3 1085 0178 0093 str r3, [sp] 1086 017a C0D1 bne .L199 1087 .L194: 1088 017c 0B9B ldr r3, [sp, #44] 1089 017e 119A ldr r2, [sp, #68] 1090 0180 0833 adds r3, r3, #8 1091 0182 0B93 str r3, [sp, #44] 1092 0184 069B ldr r3, [sp, #24] 1093 0186 1344 add r3, r3, r2 1094 0188 0693 str r3, [sp, #24] 1095 018a 0E9B ldr r3, [sp, #56] 1096 018c 109A ldr r2, [sp, #64] 1097 018e 0993 str r3, [sp, #36] 1098 0190 0C9B ldr r3, [sp, #48] 1099 0192 1344 add r3, r3, r2 1100 0194 0C93 str r3, [sp, #48] 1101 0196 089B ldr r3, [sp, #32] 1102 0198 013B subs r3, r3, #1 1103 019a 0893 str r3, [sp, #32] 1104 019c 19D0 beq .L235 ARM GAS /tmp/ccmxjexE.s page 20 1105 019e 0D9B ldr r3, [sp, #52] 1106 01a0 0293 str r3, [sp, #8] 1107 01a2 71E7 b .L200 1108 .L234: 1109 01a4 049B ldr r3, [sp, #16] 1110 01a6 079A ldr r2, [sp, #28] 1111 01a8 9B44 add fp, fp, r3 1112 01aa 019B ldr r3, [sp, #4] 1113 01ac 1344 add r3, r3, r2 1114 01ae 0193 str r3, [sp, #4] 1115 01b0 DCE7 b .L196 1116 .L233: 1117 01b2 029B ldr r3, [sp, #8] 1118 01b4 039A ldr r2, [sp, #12] 1119 01b6 0133 adds r3, r3, #1 1120 01b8 9342 cmp r3, r2 1121 01ba 0D93 str r3, [sp, #52] 1122 01bc 55D2 bcs .L185 1123 01be 0C9B ldr r3, [sp, #48] 1124 01c0 0022 movs r2, #0 1125 01c2 D3E90001 ldrd r0, [r3] 1126 01c6 1C46 mov r4, r3 1127 01c8 0023 movs r3, #0 1128 01ca FFF7FEFF bl __aeabi_dcmpeq 1129 01ce 78B1 cbz r0, .L205 1130 .L187: 1131 01d0 FEE7 b .L187 1132 .L235: 1133 01d2 0F9B ldr r3, [sp, #60] 1134 01d4 012B cmp r3, #1 1135 01d6 07D0 beq .L207 1136 01d8 4046 mov r0, r8 1137 01da 4946 mov r1, r9 1138 01dc 0022 movs r2, #0 1139 01de 0023 movs r3, #0 1140 01e0 FFF7FEFF bl __aeabi_dcmpeq 1141 01e4 0028 cmp r0, #0 1142 01e6 25D1 bne .L202 1143 .L207: 1144 01e8 0898 ldr r0, [sp, #32] 1145 .L230: 1146 01ea 15B0 add sp, sp, #84 1147 @ sp needed 1148 01ec BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1149 .L205: 1150 01f0 089A ldr r2, [sp, #32] 1151 01f2 069B ldr r3, [sp, #24] 1152 .L186: 1153 01f4 D4E90001 ldrd r0, [r4] 1154 01f8 D3E90067 ldrd r6, [r3] 1155 01fc 013A subs r2, r2, #1 1156 01fe E4E80267 strd r6, [r4], #8 1157 0202 E3E80201 strd r0, [r3], #8 1158 0206 F5D1 bne .L186 1159 0208 099B ldr r3, [sp, #36] 1160 020a 079A ldr r2, [sp, #28] 1161 020c 9A18 adds r2, r3, r2 ARM GAS /tmp/ccmxjexE.s page 21 1162 020e 0E92 str r2, [sp, #56] 1163 0210 1146 mov r1, r2 1164 0212 0A9A ldr r2, [sp, #40] 1165 .L188: 1166 0214 D1E90045 ldrd r4, [r1] 1167 0218 D3E90067 ldrd r6, [r3] 1168 021c 013A subs r2, r2, #1 1169 021e E1E80267 strd r6, [r1], #8 1170 0222 E3E80245 strd r4, [r3], #8 1171 0226 F5D1 bne .L188 1172 0228 0123 movs r3, #1 1173 022a 0F93 str r3, [sp, #60] 1174 022c 069B ldr r3, [sp, #24] 1175 022e D3E90089 ldrd r8, [r3] 1176 0232 3CE7 b .L190 1177 .L202: 1178 0234 039E ldr r6, [sp, #12] 1179 0236 0A9B ldr r3, [sp, #40] 1180 0238 03FB06F6 mul r6, r3, r6 1181 023c 86B1 cbz r6, .L181 1182 023e 139F ldr r7, [sp, #76] 1183 0240 DDF83C80 ldr r8, [sp, #60] 1184 0244 0024 movs r4, #0 1185 0246 0025 movs r5, #0 1186 .L203: 1187 0248 F7E80201 ldrd r0, [r7], #8 1188 024c 2246 mov r2, r4 1189 024e 2B46 mov r3, r5 1190 0250 08F10108 add r8, r8, #1 1191 0254 FFF7FEFF bl __aeabi_dcmpeq 1192 0258 0028 cmp r0, #0 1193 025a C6D0 beq .L230 1194 025c B045 cmp r8, r6 1195 025e F3D1 bne .L203 1196 .L181: 1197 0260 6FF00400 mvn r0, #4 1198 0264 15B0 add sp, sp, #84 1199 @ sp needed 1200 0266 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1201 .L185: 1202 026a 0F9B ldr r3, [sp, #60] 1203 026c 012B cmp r3, #1 1204 026e F7D1 bne .L181 1205 0270 099B ldr r3, [sp, #36] 1206 0272 079A ldr r2, [sp, #28] 1207 0274 1344 add r3, r3, r2 1208 0276 0E93 str r3, [sp, #56] 1209 0278 19E7 b .L190 1210 .L232: 1211 027a 0446 mov r4, r0 1212 027c 013E subs r6, r6, #1 1213 027e E4E802AB strd r10, [r4], #8 1214 0282 7FF4D1AE bne .L204 1215 0286 E7E6 b .L175 1216 .L237: 1217 .align 2 1218 .L236: ARM GAS /tmp/ccmxjexE.s page 22 1219 0288 0000F03F .word 1072693248 1221 .section .text.arm_mat_mult_f32,"ax",%progbits 1222 .align 1 1223 .p2align 2,,3 1224 .global arm_mat_mult_f32 1225 .syntax unified 1226 .thumb 1227 .thumb_func 1228 .fpu fpv4-sp-d16 1230 arm_mat_mult_f32: 1231 @ args = 0, pretend = 0, frame = 0 1232 @ frame_needed = 0, uses_anonymous_args = 0 1233 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 1234 0004 D1F80480 ldr r8, [r1, #4] 1235 0008 4988 ldrh r1, [r1, #2] 1236 000a 4488 ldrh r4, [r0, #2] 1237 000c 4568 ldr r5, [r0, #4] 1238 000e 0688 ldrh r6, [r0] 1239 0010 5368 ldr r3, [r2, #4] 1240 0012 0129 cmp r1, #1 1241 0014 4FEA8100 lsl r0, r1, #2 1242 0018 4FEA8407 lsl r7, r4, #2 1243 001c 20D1 bne .L258 1244 001e 03EB0009 add r9, r3, r0 1245 .L248: 1246 0022 A9F1040C sub ip, r9, #4 1247 0026 C646 mov lr, r8 1248 .L247: 1249 0028 DFED207A vldr.32 s15, .L259 1250 002c 5CB1 cbz r4, .L245 1251 002e 2246 mov r2, r4 1252 0030 7346 mov r3, lr 1253 0032 2946 mov r1, r5 1254 .L246: 1255 0034 D3ED006A vldr.32 s13, [r3] 1256 0038 B1EC017A vldmia.32 r1!, {s14} 1257 003c 013A subs r2, r2, #1 1258 003e E6EE877A vfma.f32 s15, s13, s14 1259 0042 0344 add r3, r3, r0 1260 0044 F6D1 bne .L246 1261 .L245: 1262 0046 ECEC017A vstmia.32 ip!, {s15} 1263 004a CC45 cmp ip, r9 1264 004c 0EF1040E add lr, lr, #4 1265 0050 EAD1 bne .L247 1266 0052 013E subs r6, r6, #1 1267 0054 3D44 add r5, r5, r7 1268 0056 8144 add r9, r9, r0 1269 0058 E3D1 bne .L248 1270 005a 0020 movs r0, #0 1271 005c BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1272 .L258: 1273 0060 C1EB8171 rsb r1, r1, r1, lsl #30 1274 0064 03EB000C add ip, r3, r0 1275 0068 4FEA810A lsl r10, r1, #2 1276 .L243: 1277 006c 0CEB0A0E add lr, ip, r10 ARM GAS /tmp/ccmxjexE.s page 23 1278 0070 C146 mov r9, r8 1279 .L242: 1280 0072 DFED0E7A vldr.32 s15, .L259 1281 0076 5CB1 cbz r4, .L240 1282 0078 2246 mov r2, r4 1283 007a 4B46 mov r3, r9 1284 007c 2946 mov r1, r5 1285 .L241: 1286 007e 93ED007A vldr.32 s14, [r3] 1287 0082 F1EC016A vldmia.32 r1!, {s13} 1288 0086 013A subs r2, r2, #1 1289 0088 E6EE877A vfma.f32 s15, s13, s14 1290 008c 0344 add r3, r3, r0 1291 008e F6D1 bne .L241 1292 .L240: 1293 0090 EEEC017A vstmia.32 lr!, {s15} 1294 0094 E645 cmp lr, ip 1295 0096 09F10409 add r9, r9, #4 1296 009a EAD1 bne .L242 1297 009c 013E subs r6, r6, #1 1298 009e 3D44 add r5, r5, r7 1299 00a0 8444 add ip, ip, r0 1300 00a2 E3D1 bne .L243 1301 00a4 0020 movs r0, #0 1302 00a6 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1303 .L260: 1304 00aa 00BF .align 2 1305 .L259: 1306 00ac 00000000 .word 0 1308 .section .text.arm_mat_mult_fast_q15,"ax",%progbits 1309 .align 1 1310 .p2align 2,,3 1311 .global arm_mat_mult_fast_q15 1312 .syntax unified 1313 .thumb 1314 .thumb_func 1315 .fpu fpv4-sp-d16 1317 arm_mat_mult_fast_q15: 1318 @ args = 0, pretend = 0, frame = 120 1319 @ frame_needed = 0, uses_anonymous_args = 0 1320 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 1321 0004 9FB0 sub sp, sp, #124 1322 0006 4468 ldr r4, [r0, #4] 1323 0008 0192 str r2, [sp, #4] 1324 000a 0A88 ldrh r2, [r1] 1325 000c 1794 str r4, [sp, #92] 1326 000e 1093 str r3, [sp, #64] 1327 0010 4C68 ldr r4, [r1, #4] 1328 0012 4B88 ldrh r3, [r1, #2] 1329 0014 0188 ldrh r1, [r0] 1330 0016 1691 str r1, [sp, #88] 1331 0018 012A cmp r2, #1 1332 001a 4188 ldrh r1, [r0, #2] 1333 001c 1893 str r3, [sp, #96] 1334 001e 1A92 str r2, [sp, #104] 1335 0020 1991 str r1, [sp, #100] 1336 0022 4FEA9306 lsr r6, r3, #2 ARM GAS /tmp/ccmxjexE.s page 24 1337 0026 4FEA420B lsl fp, r2, #1 1338 002a 03F00307 and r7, r3, #3 1339 002e 1D93 str r3, [sp, #116] 1340 0030 40F09E81 bne .L345 1341 0034 109B ldr r3, [sp, #64] 1342 0036 06FB0BFE mul lr, r6, fp 1343 003a 4FEA8E0E lsl lr, lr, #2 1344 003e 1D46 mov r5, r3 1345 0040 0BEB030C add ip, fp, r3 1346 0044 4FEAC609 lsl r9, r6, #3 1347 0048 4FEA4708 lsl r8, r7, #1 1348 .L273: 1349 004c 2B46 mov r3, r5 1350 004e AEB1 cbz r6, .L269 1351 0050 2146 mov r1, r4 1352 0052 3046 mov r0, r6 1353 .L270: 1354 0054 0A68 ldr r2, [r1] @ unaligned 1355 0056 1A80 strh r2, [r3] @ movhi 1356 0058 1214 asrs r2, r2, #16 1357 005a 23F80B20 strh r2, [r3, fp] @ movhi 1358 005e 4A68 ldr r2, [r1, #4] @ unaligned 1359 0060 23F81B20 strh r2, [r3, fp, lsl #1] @ movhi 1360 0064 0138 subs r0, r0, #1 1361 0066 4FEA2242 asr r2, r2, #16 1362 006a 01F10801 add r1, r1, #8 1363 006e DA80 strh r2, [r3, #6] @ movhi 1364 0070 03F10803 add r3, r3, #8 1365 0074 EED1 bne .L270 1366 0076 4C44 add r4, r4, r9 1367 0078 05EB0E03 add r3, r5, lr 1368 .L269: 1369 007c 47B1 cbz r7, .L271 1370 007e 2146 mov r1, r4 1371 0080 3A46 mov r2, r7 1372 .L272: 1373 0082 31F9020B ldrsh r0, [r1], #2 1374 0086 1880 strh r0, [r3] @ movhi 1375 0088 013A subs r2, r2, #1 1376 008a 5B44 add r3, r3, fp 1377 008c F9D1 bne .L272 1378 008e 4444 add r4, r4, r8 1379 .L271: 1380 0090 0235 adds r5, r5, #2 1381 0092 6545 cmp r5, ip 1382 0094 DAD1 bne .L273 1383 .L268: 1384 0096 019B ldr r3, [sp, #4] 1385 0098 169A ldr r2, [sp, #88] 1386 009a 5968 ldr r1, [r3, #4] 1387 009c 189B ldr r3, [sp, #96] 1388 009e 1B91 str r1, [sp, #108] 1389 00a0 5E00 lsls r6, r3, #1 1390 00a2 01EB4307 add r7, r1, r3, lsl #1 1391 00a6 5208 lsrs r2, r2, #1 1392 00a8 1596 str r6, [sp, #84] 1393 00aa 0C97 str r7, [sp, #48] ARM GAS /tmp/ccmxjexE.s page 25 1394 00ac 0F92 str r2, [sp, #60] 1395 00ae 00F0AC80 beq .L274 1396 00b2 199C ldr r4, [sp, #100] 1397 00b4 6000 lsls r0, r4, #1 1398 00b6 03F00102 and r2, r3, #1 1399 00ba 0E90 str r0, [sp, #56] 1400 00bc 6508 lsrs r5, r4, #1 1401 00be 04F00100 and r0, r4, #1 1402 00c2 5B08 lsrs r3, r3, #1 1403 00c4 1C92 str r2, [sp, #112] 1404 00c6 0895 str r5, [sp, #32] 1405 00c8 0990 str r0, [sp, #36] 1406 00ca 4FEA4202 lsl r2, r2, #1 1407 00ce 00F09980 beq .L275 1408 00d2 0846 mov r0, r1 1409 00d4 0431 adds r1, r1, #4 1410 00d6 02EB8302 add r2, r2, r3, lsl #2 1411 00da 01EB8303 add r3, r1, r3, lsl #2 1412 00de 0493 str r3, [sp, #16] 1413 00e0 131A subs r3, r2, r0 1414 00e2 FB18 adds r3, r7, r3 1415 00e4 1193 str r3, [sp, #68] 1416 00e6 A300 lsls r3, r4, #2 1417 00e8 1293 str r3, [sp, #72] 1418 00ea 179B ldr r3, [sp, #92] 1419 00ec 0693 str r3, [sp, #24] 1420 00ee 03EB8503 add r3, r3, r5, lsl #2 1421 00f2 0593 str r3, [sp, #20] 1422 00f4 1A9B ldr r3, [sp, #104] 1423 00f6 0D90 str r0, [sp, #52] 1424 00f8 9B00 lsls r3, r3, #2 1425 00fa 0A93 str r3, [sp, #40] 1426 00fc 109B ldr r3, [sp, #64] 1427 00fe CDF804B0 str fp, [sp, #4] 1428 0102 B218 adds r2, r6, r2 1429 0104 03EB8503 add r3, r3, r5, lsl #2 1430 0108 1392 str r2, [sp, #76] 1431 010a 1493 str r3, [sp, #80] 1432 .L280: 1433 010c 0E9B ldr r3, [sp, #56] 1434 010e 069A ldr r2, [sp, #24] 1435 0110 109E ldr r6, [sp, #64] 1436 0112 9A18 adds r2, r3, r2 1437 0114 0792 str r2, [sp, #28] 1438 0116 0D9A ldr r2, [sp, #52] 1439 0118 02F1040B add fp, r2, #4 1440 011c 0C9A ldr r2, [sp, #48] 1441 011e 0432 adds r2, r2, #4 1442 0120 0292 str r2, [sp, #8] 1443 0122 149A ldr r2, [sp, #80] 1444 0124 0092 str r2, [sp] 1445 0126 059A ldr r2, [sp, #20] 1446 0128 1344 add r3, r3, r2 1447 012a 0B93 str r3, [sp, #44] 1448 .L279: 1449 012c 019B ldr r3, [sp, #4] 1450 012e 3344 add r3, r3, r6 ARM GAS /tmp/ccmxjexE.s page 26 1451 0130 0393 str r3, [sp, #12] 1452 0132 9846 mov r8, r3 1453 0134 089B ldr r3, [sp, #32] 1454 0136 002B cmp r3, #0 1455 0138 00F0BB80 beq .L294 1456 013c DDE9069A ldrd r9, r10, [sp, #24] 1457 0140 0025 movs r5, #0 1458 0142 2F46 mov r7, r5 1459 0144 AC46 mov ip, r5 1460 0146 AE46 mov lr, r5 1461 .L277: 1462 0148 59F8044B ldr r4, [r9], #4 @ unaligned 1463 014c 56F8040B ldr r0, [r6], #4 @ unaligned 1464 0150 5AF8042B ldr r2, [r10], #4 @ unaligned 1465 0154 58F8041B ldr r1, [r8], #4 @ unaligned 1466 .syntax unified 1467 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1468 0158 24FB00EE smlad lr, r4, r0, lr 1469 @ 0 "" 2 1470 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1471 015c 24FB01CC smlad ip, r4, r1, ip 1472 @ 0 "" 2 1473 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1474 0160 22FB0077 smlad r7, r2, r0, r7 1475 @ 0 "" 2 1476 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1477 0164 22FB0155 smlad r5, r2, r1, r5 1478 @ 0 "" 2 1479 .thumb 1480 .syntax unified 1481 0168 013B subs r3, r3, #1 1482 016a EDD1 bne .L277 1483 016c DDE90063 ldrd r6, r3, [sp] 1484 0170 0B9A ldr r2, [sp, #44] 1485 0172 03EB0608 add r8, r3, r6 1486 0176 059B ldr r3, [sp, #20] 1487 .L276: 1488 0178 0999 ldr r1, [sp, #36] 1489 017a 79B1 cbz r1, .L278 1490 017c B3F90030 ldrsh r3, [r3] 1491 0180 B6F90010 ldrsh r1, [r6] 1492 0184 B2F90020 ldrsh r2, [r2] 1493 0188 B8F90000 ldrsh r0, [r8] 1494 018c 03FB01EE mla lr, r3, r1, lr 1495 0190 03FB00CC mla ip, r3, r0, ip 1496 0194 01FB0277 mla r7, r1, r2, r7 1497 0198 02FB0055 mla r5, r2, r0, r5 1498 .L278: 1499 019c 029B ldr r3, [sp, #8] 1500 019e 039E ldr r6, [sp, #12] 1501 01a0 0A9A ldr r2, [sp, #40] 1502 01a2 4FEAEE3E asr lr, lr, #15 1503 01a6 4FEAEC3C asr ip, ip, #15 1504 01aa FF13 asrs r7, r7, #15 1505 01ac ED13 asrs r5, r5, #15 1506 01ae 2BF804EC strh lr, [fp, #-4] @ movhi 1507 01b2 2BF802CC strh ip, [fp, #-2] @ movhi ARM GAS /tmp/ccmxjexE.s page 27 1508 01b6 0433 adds r3, r3, #4 1509 01b8 23F8087C strh r7, [r3, #-8] @ movhi 1510 01bc 23F8065C strh r5, [r3, #-6] @ movhi 1511 01c0 0293 str r3, [sp, #8] 1512 01c2 019B ldr r3, [sp, #4] 1513 01c4 1E44 add r6, r6, r3 1514 01c6 009B ldr r3, [sp] 1515 01c8 1344 add r3, r3, r2 1516 01ca 0093 str r3, [sp] 1517 01cc 049B ldr r3, [sp, #16] 1518 01ce 0BF1040B add fp, fp, #4 1519 01d2 5B45 cmp r3, fp 1520 01d4 AAD1 bne .L279 1521 01d6 0D9B ldr r3, [sp, #52] 1522 01d8 119A ldr r2, [sp, #68] 1523 01da 1344 add r3, r3, r2 1524 01dc 0D93 str r3, [sp, #52] 1525 01de 139A ldr r2, [sp, #76] 1526 01e0 0C9B ldr r3, [sp, #48] 1527 01e2 1344 add r3, r3, r2 1528 01e4 0C93 str r3, [sp, #48] 1529 01e6 049B ldr r3, [sp, #16] 1530 01e8 1344 add r3, r3, r2 1531 01ea 0493 str r3, [sp, #16] 1532 01ec 0E9A ldr r2, [sp, #56] 1533 01ee 079B ldr r3, [sp, #28] 1534 01f0 1344 add r3, r3, r2 1535 01f2 0693 str r3, [sp, #24] 1536 01f4 129A ldr r2, [sp, #72] 1537 01f6 059B ldr r3, [sp, #20] 1538 01f8 1344 add r3, r3, r2 1539 01fa 0593 str r3, [sp, #20] 1540 01fc 0F9B ldr r3, [sp, #60] 1541 01fe 013B subs r3, r3, #1 1542 0200 0F93 str r3, [sp, #60] 1543 0202 83D1 bne .L280 1544 .L275: 1545 0204 1C9B ldr r3, [sp, #112] 1546 0206 002B cmp r3, #0 1547 0208 5AD1 bne .L346 1548 .L274: 1549 020a 169B ldr r3, [sp, #88] 1550 020c DA07 lsls r2, r3, #31 1551 020e 4CD5 bpl .L317 1552 0210 189A ldr r2, [sp, #96] 1553 0212 1B99 ldr r1, [sp, #108] 1554 0214 013B subs r3, r3, #1 1555 0216 03FB02FE mul lr, r3, r2 1556 021a 01EB4E0E add lr, r1, lr, lsl #1 1557 021e 002A cmp r2, #0 1558 0220 43D0 beq .L317 1559 0222 199A ldr r2, [sp, #100] 1560 0224 1799 ldr r1, [sp, #92] 1561 0226 02FB03F3 mul r3, r2, r3 1562 022a 01EB4309 add r9, r1, r3, lsl #1 1563 022e 4FEA920C lsr ip, r2, #2 1564 0232 02F00308 and r8, r2, #3 ARM GAS /tmp/ccmxjexE.s page 28 1565 0236 4FEACC0B lsl fp, ip, #3 1566 023a 09EBCC0A add r10, r9, ip, lsl #3 1567 023e 4FEA4803 lsl r3, r8, #1 1568 0242 CDE9003B strd r3, fp, [sp] 1569 0246 CDF808A0 str r10, [sp, #8] 1570 024a DDF840B0 ldr fp, [sp, #64] 1571 024e DDF874A0 ldr r10, [sp, #116] 1572 .L292: 1573 0252 BCF1000F cmp ip, #0 1574 0256 00F08880 beq .L296 1575 025a 5846 mov r0, fp 1576 025c 4946 mov r1, r9 1577 025e 6446 mov r4, ip 1578 0260 0023 movs r3, #0 1579 .L289: 1580 0262 0E68 ldr r6, [r1] @ unaligned 1581 0264 4A68 ldr r2, [r1, #4] @ unaligned 1582 0266 0768 ldr r7, [r0] @ unaligned 1583 0268 4568 ldr r5, [r0, #4] @ unaligned 1584 026a 0831 adds r1, r1, #8 1585 026c 0830 adds r0, r0, #8 1586 .syntax unified 1587 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1588 026e 26FB0733 smlad r3, r6, r7, r3 1589 @ 0 "" 2 1590 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1591 0272 22FB0533 smlad r3, r2, r5, r3 1592 @ 0 "" 2 1593 .thumb 1594 .syntax unified 1595 0276 013C subs r4, r4, #1 1596 0278 F3D1 bne .L289 1597 027a 019A ldr r2, [sp, #4] 1598 027c 0299 ldr r1, [sp, #8] 1599 027e 9344 add fp, fp, r2 1600 .L288: 1601 0280 B8F1000F cmp r8, #0 1602 0284 0BD0 beq .L290 1603 0286 5846 mov r0, fp 1604 0288 4246 mov r2, r8 1605 .L291: 1606 028a 31F8025B ldrh r5, [r1], #2 1607 028e 30F8024B ldrh r4, [r0], #2 1608 0292 013A subs r2, r2, #1 1609 0294 15FB0433 smlabb r3, r5, r4, r3 1610 0298 F7D1 bne .L291 1611 029a 009A ldr r2, [sp] 1612 029c 9344 add fp, fp, r2 1613 .L290: 1614 029e DB13 asrs r3, r3, #15 1615 02a0 BAF1010A subs r10, r10, #1 1616 02a4 2EF8023B strh r3, [lr], #2 @ movhi 1617 02a8 D3D1 bne .L292 1618 .L317: 1619 02aa 0020 movs r0, #0 1620 02ac 1FB0 add sp, sp, #124 1621 @ sp needed ARM GAS /tmp/ccmxjexE.s page 29 1622 02ae BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1623 .L294: 1624 02b2 9E46 mov lr, r3 1625 02b4 7546 mov r5, lr 1626 02b6 DDE90632 ldrd r3, r2, [sp, #24] 1627 02ba 7746 mov r7, lr 1628 02bc F446 mov ip, lr 1629 02be 5BE7 b .L276 1630 .L346: 1631 02c0 189B ldr r3, [sp, #96] 1632 02c2 159A ldr r2, [sp, #84] 1633 02c4 DDF85CC0 ldr ip, [sp, #92] 1634 02c8 03F1FF3B add fp, r3, #-1 1635 02cc 1A9B ldr r3, [sp, #104] 1636 02ce 03FB0BFB mul fp, r3, fp 1637 02d2 109B ldr r3, [sp, #64] 1638 02d4 03EB4B0B add fp, r3, fp, lsl #1 1639 02d8 199B ldr r3, [sp, #100] 1640 02da 4FEA9309 lsr r9, r3, #2 1641 02de 03F0030A and r10, r3, #3 1642 02e2 169B ldr r3, [sp, #88] 1643 02e4 23F00108 bic r8, r3, #1 1644 02e8 4FEAC903 lsl r3, r9, #3 1645 02ec A2F1020E sub lr, r2, #2 1646 02f0 0093 str r3, [sp] 1647 02f2 1B9A ldr r2, [sp, #108] 1648 02f4 0BEBC903 add r3, fp, r9, lsl #3 1649 02f8 0293 str r3, [sp, #8] 1650 02fa 4FEA4A03 lsl r3, r10, #1 1651 02fe 9644 add lr, lr, r2 1652 0300 0193 str r3, [sp, #4] 1653 0302 B9F1000F cmp r9, #0 1654 0306 2DD0 beq .L295 1655 .L347: 1656 0308 5846 mov r0, fp 1657 030a 6146 mov r1, ip 1658 030c 4C46 mov r4, r9 1659 030e 0023 movs r3, #0 1660 .L284: 1661 0310 0E68 ldr r6, [r1] @ unaligned 1662 0312 4A68 ldr r2, [r1, #4] @ unaligned 1663 0314 0768 ldr r7, [r0] @ unaligned 1664 0316 4568 ldr r5, [r0, #4] @ unaligned 1665 0318 0831 adds r1, r1, #8 1666 031a 0830 adds r0, r0, #8 1667 .syntax unified 1668 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1669 031c 26FB0733 smlad r3, r6, r7, r3 1670 @ 0 "" 2 1671 @ 1993 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1672 0320 22FB0533 smlad r3, r2, r5, r3 1673 @ 0 "" 2 1674 .thumb 1675 .syntax unified 1676 0324 013C subs r4, r4, #1 1677 0326 F3D1 bne .L284 1678 0328 009A ldr r2, [sp] ARM GAS /tmp/ccmxjexE.s page 30 1679 032a 0299 ldr r1, [sp, #8] 1680 032c 9444 add ip, ip, r2 1681 .L283: 1682 032e BAF1000F cmp r10, #0 1683 0332 0BD0 beq .L285 1684 0334 6046 mov r0, ip 1685 0336 5246 mov r2, r10 1686 .L286: 1687 0338 30F8025B ldrh r5, [r0], #2 1688 033c 31F8024B ldrh r4, [r1], #2 1689 0340 013A subs r2, r2, #1 1690 0342 15FB0433 smlabb r3, r5, r4, r3 1691 0346 F7D1 bne .L286 1692 0348 019A ldr r2, [sp, #4] 1693 034a 9444 add ip, ip, r2 1694 .L285: 1695 034c DB13 asrs r3, r3, #15 1696 034e AEF80030 strh r3, [lr] @ movhi 1697 0352 159B ldr r3, [sp, #84] 1698 0354 B8F10108 subs r8, r8, #1 1699 0358 9E44 add lr, lr, r3 1700 035a 3FF456AF beq .L274 1701 035e B9F1000F cmp r9, #0 1702 0362 D1D1 bne .L347 1703 .L295: 1704 0364 5946 mov r1, fp 1705 0366 4B46 mov r3, r9 1706 0368 E1E7 b .L283 1707 .L296: 1708 036a 4946 mov r1, r9 1709 036c 6346 mov r3, ip 1710 036e 87E7 b .L288 1711 .L345: 1712 0370 1346 mov r3, r2 1713 0372 0BEB0205 add r5, fp, r2 1714 0376 109A ldr r2, [sp, #64] 1715 0378 06FB0BF9 mul r9, r6, fp 1716 037c 4FEAC30C lsl ip, r3, #3 1717 0380 7B00 lsls r3, r7, #1 1718 0382 6D00 lsls r5, r5, #1 1719 0384 4FEA8909 lsl r9, r9, #2 1720 0388 9646 mov lr, r2 1721 038a 0BEB0208 add r8, fp, r2 1722 038e 4FEAC60A lsl r10, r6, #3 1723 0392 0093 str r3, [sp] 1724 .L267: 1725 0394 7346 mov r3, lr 1726 0396 A6B1 cbz r6, .L263 1727 0398 2146 mov r1, r4 1728 039a 3046 mov r0, r6 1729 .L264: 1730 039c 0A68 ldr r2, [r1] @ unaligned 1731 039e 1A80 strh r2, [r3] @ movhi 1732 03a0 1214 asrs r2, r2, #16 1733 03a2 23F80B20 strh r2, [r3, fp] @ movhi 1734 03a6 4A68 ldr r2, [r1, #4] @ unaligned 1735 03a8 23F81B20 strh r2, [r3, fp, lsl #1] @ movhi ARM GAS /tmp/ccmxjexE.s page 31 1736 03ac 0138 subs r0, r0, #1 1737 03ae 4FEA2242 asr r2, r2, #16 1738 03b2 5A53 strh r2, [r3, r5] @ movhi 1739 03b4 01F10801 add r1, r1, #8 1740 03b8 6344 add r3, r3, ip 1741 03ba EFD1 bne .L264 1742 03bc 5444 add r4, r4, r10 1743 03be 0EEB0903 add r3, lr, r9 1744 .L263: 1745 03c2 4FB1 cbz r7, .L265 1746 03c4 2146 mov r1, r4 1747 03c6 3A46 mov r2, r7 1748 .L266: 1749 03c8 31F9020B ldrsh r0, [r1], #2 1750 03cc 1880 strh r0, [r3] @ movhi 1751 03ce 013A subs r2, r2, #1 1752 03d0 5B44 add r3, r3, fp 1753 03d2 F9D1 bne .L266 1754 03d4 009B ldr r3, [sp] 1755 03d6 1C44 add r4, r4, r3 1756 .L265: 1757 03d8 0EF1020E add lr, lr, #2 1758 03dc C645 cmp lr, r8 1759 03de D9D1 bne .L267 1760 03e0 59E6 b .L268 1762 03e2 00BF .section .text.arm_mat_mult_fast_q31,"ax",%progbits 1763 .align 1 1764 .p2align 2,,3 1765 .global arm_mat_mult_fast_q31 1766 .syntax unified 1767 .thumb 1768 .thumb_func 1769 .fpu fpv4-sp-d16 1771 arm_mat_mult_fast_q31: 1772 @ args = 0, pretend = 0, frame = 80 1773 @ frame_needed = 0, uses_anonymous_args = 0 1774 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 1775 0004 95B0 sub sp, sp, #84 1776 0006 4B68 ldr r3, [r1, #4] 1777 0008 5268 ldr r2, [r2, #4] 1778 000a 0688 ldrh r6, [r0] 1779 000c 0993 str r3, [sp, #36] 1780 000e 4B88 ldrh r3, [r1, #2] 1781 0010 4568 ldr r5, [r0, #4] 1782 0012 1192 str r2, [sp, #68] 1783 0014 02EB8304 add r4, r2, r3, lsl #2 1784 0018 4088 ldrh r0, [r0, #2] 1785 001a 0E95 str r5, [sp, #56] 1786 001c 1146 mov r1, r2 1787 001e 7208 lsrs r2, r6, #1 1788 0020 1093 str r3, [sp, #64] 1789 0022 0F96 str r6, [sp, #60] 1790 0024 0490 str r0, [sp, #16] 1791 0026 1293 str r3, [sp, #72] 1792 0028 4FEA830B lsl fp, r3, #2 1793 002c 0794 str r4, [sp, #28] 1794 002e 0892 str r2, [sp, #32] ARM GAS /tmp/ccmxjexE.s page 32 1795 0030 6BD0 beq .L349 1796 0032 03F00102 and r2, r3, #1 1797 0036 8600 lsls r6, r0, #2 1798 0038 5B08 lsrs r3, r3, #1 1799 003a 1392 str r2, [sp, #76] 1800 003c 0A96 str r6, [sp, #40] 1801 003e 4FEA8202 lsl r2, r2, #2 1802 0042 60D0 beq .L350 1803 0044 02EBC302 add r2, r2, r3, lsl #3 1804 0048 04EBC303 add r3, r4, r3, lsl #3 1805 004c 0833 adds r3, r3, #8 1806 004e 0293 str r3, [sp, #8] 1807 0050 531A subs r3, r2, r1 1808 0052 2344 add r3, r3, r4 1809 0054 5A44 add r2, fp, r2 1810 0056 0D93 str r3, [sp, #52] 1811 0058 C300 lsls r3, r0, #3 1812 005a 0B92 str r2, [sp, #44] 1813 005c 0C93 str r3, [sp, #48] 1814 005e 0395 str r5, [sp, #12] 1815 0060 0691 str r1, [sp, #24] 1816 .L354: 1817 0062 0A9B ldr r3, [sp, #40] 1818 0064 039A ldr r2, [sp, #12] 1819 0066 1344 add r3, r3, r2 1820 0068 0593 str r3, [sp, #20] 1821 006a 069B ldr r3, [sp, #24] 1822 006c 0833 adds r3, r3, #8 1823 006e 0193 str r3, [sp, #4] 1824 0070 079B ldr r3, [sp, #28] 1825 0072 03F1080A add r10, r3, #8 1826 0076 099B ldr r3, [sp, #36] 1827 0078 0093 str r3, [sp] 1828 .L353: 1829 007a 049A ldr r2, [sp, #16] 1830 007c 009B ldr r3, [sp] 1831 007e 002A cmp r2, #0 1832 0080 68D0 beq .L374 1833 0082 0026 movs r6, #0 1834 0084 DDF81490 ldr r9, [sp, #20] 1835 0088 DDF80C80 ldr r8, [sp, #12] 1836 008c 3746 mov r7, r6 1837 008e B446 mov ip, r6 1838 0090 B646 mov lr, r6 1839 .L352: 1840 0092 D3E90040 ldrd r4, r0, [r3] 1841 0096 58F8045B ldr r5, [r8], #4 1842 009a 59F8041B ldr r1, [r9], #4 1843 009e 5B44 add r3, r3, fp 1844 .syntax unified 1845 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1846 00a0 55FB04EE smmla lr, r5, r4, lr 1847 @ 0 "" 2 1848 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1849 00a4 55FB00CC smmla ip, r5, r0, ip 1850 @ 0 "" 2 1851 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/ccmxjexE.s page 33 1852 00a8 51FB0477 smmla r7, r1, r4, r7 1853 @ 0 "" 2 1854 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1855 00ac 51FB0066 smmla r6, r1, r0, r6 1856 @ 0 "" 2 1857 .thumb 1858 .syntax unified 1859 00b0 013A subs r2, r2, #1 1860 00b2 EED1 bne .L352 1861 00b4 4FEA4E03 lsl r3, lr, #1 1862 00b8 4FEA4C02 lsl r2, ip, #1 1863 00bc 7F00 lsls r7, r7, #1 1864 00be 7600 lsls r6, r6, #1 1865 .L351: 1866 00c0 0199 ldr r1, [sp, #4] 1867 00c2 41E90232 strd r3, r2, [r1, #-8] 1868 00c6 01F10803 add r3, r1, #8 1869 00ca 0193 str r3, [sp, #4] 1870 00cc 009B ldr r3, [sp] 1871 00ce 0833 adds r3, r3, #8 1872 00d0 0093 str r3, [sp] 1873 00d2 029B ldr r3, [sp, #8] 1874 00d4 4AE90276 strd r7, r6, [r10, #-8] 1875 00d8 0AF1080A add r10, r10, #8 1876 00dc 9A45 cmp r10, r3 1877 00de CCD1 bne .L353 1878 00e0 069B ldr r3, [sp, #24] 1879 00e2 0D9A ldr r2, [sp, #52] 1880 00e4 1344 add r3, r3, r2 1881 00e6 0693 str r3, [sp, #24] 1882 00e8 0B9A ldr r2, [sp, #44] 1883 00ea 079B ldr r3, [sp, #28] 1884 00ec 1344 add r3, r3, r2 1885 00ee 0793 str r3, [sp, #28] 1886 00f0 029B ldr r3, [sp, #8] 1887 00f2 1344 add r3, r3, r2 1888 00f4 0293 str r3, [sp, #8] 1889 00f6 0C9A ldr r2, [sp, #48] 1890 00f8 039B ldr r3, [sp, #12] 1891 00fa 1344 add r3, r3, r2 1892 00fc 0393 str r3, [sp, #12] 1893 00fe 089B ldr r3, [sp, #32] 1894 0100 013B subs r3, r3, #1 1895 0102 0893 str r3, [sp, #32] 1896 0104 ADD1 bne .L354 1897 .L350: 1898 0106 139B ldr r3, [sp, #76] 1899 0108 43BB cbnz r3, .L402 1900 .L349: 1901 010a 0F9B ldr r3, [sp, #60] 1902 010c DA07 lsls r2, r3, #31 1903 010e 1DD5 bpl .L385 1904 0110 1098 ldr r0, [sp, #64] 1905 0112 119A ldr r2, [sp, #68] 1906 0114 013B subs r3, r3, #1 1907 0116 03FB00F5 mul r5, r3, r0 1908 011a 02EB8505 add r5, r2, r5, lsl #2 ARM GAS /tmp/ccmxjexE.s page 34 1909 011e A8B1 cbz r0, .L385 1910 0120 049A ldr r2, [sp, #16] 1911 0122 0E99 ldr r1, [sp, #56] 1912 0124 02FB03F3 mul r3, r2, r3 1913 0128 0128 cmp r0, #1 1914 012a 01EB8301 add r1, r1, r3, lsl #2 1915 012e 40D1 bne .L403 1916 0130 002A cmp r2, #0 1917 0132 78D0 beq .L378 1918 0134 0998 ldr r0, [sp, #36] 1919 0136 0023 movs r3, #0 1920 .L370: 1921 0138 51F8044B ldr r4, [r1], #4 1922 013c 0668 ldr r6, [r0] 1923 .syntax unified 1924 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1925 013e 54FB0633 smmla r3, r4, r6, r3 1926 @ 0 "" 2 1927 .thumb 1928 .syntax unified 1929 0142 013A subs r2, r2, #1 1930 0144 5844 add r0, r0, fp 1931 0146 F7D1 bne .L370 1932 0148 5B00 lsls r3, r3, #1 1933 .L369: 1934 014a 2B60 str r3, [r5] 1935 .L385: 1936 014c 0020 movs r0, #0 1937 014e 15B0 add sp, sp, #84 1938 @ sp needed 1939 0150 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1940 .L374: 1941 0154 1346 mov r3, r2 1942 0156 1646 mov r6, r2 1943 0158 1746 mov r7, r2 1944 015a B1E7 b .L351 1945 .L402: 1946 015c 0F9B ldr r3, [sp, #60] 1947 015e 23F00107 bic r7, r3, #1 1948 0162 119B ldr r3, [sp, #68] 1949 0164 ABF1040C sub ip, fp, #4 1950 0168 03EB0C06 add r6, r3, ip 1951 016c 099B ldr r3, [sp, #36] 1952 016e 9C44 add ip, ip, r3 1953 0170 109B ldr r3, [sp, #64] 1954 0172 012B cmp r3, #1 1955 0174 3BD1 bne .L404 1956 0176 049D ldr r5, [sp, #16] 1957 0178 DDF838E0 ldr lr, [sp, #56] 1958 017c DDF82890 ldr r9, [sp, #40] 1959 0180 ADB1 cbz r5, .L376 1960 .L405: 1961 0182 2A46 mov r2, r5 1962 0184 6346 mov r3, ip 1963 0186 7046 mov r0, lr 1964 0188 0021 movs r1, #0 1965 018a A846 mov r8, r5 ARM GAS /tmp/ccmxjexE.s page 35 1966 .L361: 1967 018c 50F8044B ldr r4, [r0], #4 1968 0190 1D68 ldr r5, [r3] 1969 .syntax unified 1970 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1971 0192 54FB0511 smmla r1, r4, r5, r1 1972 @ 0 "" 2 1973 .thumb 1974 .syntax unified 1975 0196 013A subs r2, r2, #1 1976 0198 5B44 add r3, r3, fp 1977 019a F7D1 bne .L361 1978 019c 4546 mov r5, r8 1979 019e CE44 add lr, lr, r9 1980 01a0 4900 lsls r1, r1, #1 1981 .L360: 1982 01a2 013F subs r7, r7, #1 1983 01a4 3160 str r1, [r6] 1984 01a6 5E44 add r6, r6, fp 1985 01a8 AFD0 beq .L349 1986 01aa 002D cmp r5, #0 1987 01ac E9D1 bne .L405 1988 .L376: 1989 01ae 2946 mov r1, r5 1990 01b0 F7E7 b .L360 1991 .L403: 1992 01b2 DDF824C0 ldr ip, [sp, #36] 1993 01b6 DDF84880 ldr r8, [sp, #72] 1994 01ba 8E46 mov lr, r1 1995 01bc 1746 mov r7, r2 1996 .L367: 1997 01be 6246 mov r2, ip 1998 01c0 9FB1 cbz r7, .L377 1999 01c2 3B46 mov r3, r7 2000 01c4 7446 mov r4, lr 2001 01c6 0020 movs r0, #0 2002 .L366: 2003 01c8 54F8046B ldr r6, [r4], #4 2004 01cc 1168 ldr r1, [r2] 2005 .syntax unified 2006 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2007 01ce 56FB0100 smmla r0, r6, r1, r0 2008 @ 0 "" 2 2009 .thumb 2010 .syntax unified 2011 01d2 013B subs r3, r3, #1 2012 01d4 5A44 add r2, r2, fp 2013 01d6 F7D1 bne .L366 2014 01d8 4000 lsls r0, r0, #1 2015 .L365: 2016 01da B8F10108 subs r8, r8, #1 2017 01de 45F8040B str r0, [r5], #4 2018 01e2 0CF1040C add ip, ip, #4 2019 01e6 EAD1 bne .L367 2020 01e8 B0E7 b .L385 2021 .L377: 2022 01ea 3846 mov r0, r7 ARM GAS /tmp/ccmxjexE.s page 36 2023 01ec F5E7 b .L365 2024 .L404: 2025 01ee DDF838E0 ldr lr, [sp, #56] 2026 01f2 049D ldr r5, [sp, #16] 2027 .L359: 2028 01f4 ADB1 cbz r5, .L375 2029 01f6 2A46 mov r2, r5 2030 01f8 6346 mov r3, ip 2031 01fa 7046 mov r0, lr 2032 01fc 0021 movs r1, #0 2033 01fe A846 mov r8, r5 2034 .L358: 2035 0200 50F8044B ldr r4, [r0], #4 2036 0204 1D68 ldr r5, [r3] 2037 .syntax unified 2038 @ 2158 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2039 0206 54FB0511 smmla r1, r4, r5, r1 2040 @ 0 "" 2 2041 .thumb 2042 .syntax unified 2043 020a 013A subs r2, r2, #1 2044 020c 5B44 add r3, r3, fp 2045 020e F7D1 bne .L358 2046 0210 0A9B ldr r3, [sp, #40] 2047 0212 4546 mov r5, r8 2048 0214 9E44 add lr, lr, r3 2049 0216 4900 lsls r1, r1, #1 2050 .L357: 2051 0218 013F subs r7, r7, #1 2052 021a 3160 str r1, [r6] 2053 021c 5E44 add r6, r6, fp 2054 021e E9D1 bne .L359 2055 0220 73E7 b .L349 2056 .L375: 2057 0222 2946 mov r1, r5 2058 0224 F8E7 b .L357 2059 .L378: 2060 0226 1346 mov r3, r2 2061 0228 8FE7 b .L369 2063 022a 00BF .section .text.arm_mat_mult_q15,"ax",%progbits 2064 .align 1 2065 .p2align 2,,3 2066 .global arm_mat_mult_q15 2067 .syntax unified 2068 .thumb 2069 .thumb_func 2070 .fpu fpv4-sp-d16 2072 arm_mat_mult_q15: 2073 @ args = 0, pretend = 0, frame = 48 2074 @ frame_needed = 0, uses_anonymous_args = 0 2075 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 2076 0004 8DB0 sub sp, sp, #52 2077 0006 0E88 ldrh r6, [r1] 2078 0008 0492 str r2, [sp, #16] 2079 000a 0893 str r3, [sp, #32] 2080 000c 0288 ldrh r2, [r0] 2081 000e 4B88 ldrh r3, [r1, #2] ARM GAS /tmp/ccmxjexE.s page 37 2082 0010 0292 str r2, [sp, #8] 2083 0012 012E cmp r6, #1 2084 0014 4288 ldrh r2, [r0, #2] 2085 0016 4D68 ldr r5, [r1, #4] 2086 0018 0993 str r3, [sp, #36] 2087 001a 8346 mov fp, r0 2088 001c 0392 str r2, [sp, #12] 2089 001e 4FEA9307 lsr r7, r3, #2 2090 0022 4FEA4600 lsl r0, r6, #1 2091 0026 03F0030C and ip, r3, #3 2092 002a 40F0A880 bne .L452 2093 002e 089B ldr r3, [sp, #32] 2094 0030 07FB00FE mul lr, r7, r0 2095 0034 4FEA8E0E lsl lr, lr, #2 2096 0038 1E46 mov r6, r3 2097 003a 00EB0308 add r8, r0, r3 2098 003e 4FEAC70A lsl r10, r7, #3 2099 0042 4FEA4C09 lsl r9, ip, #1 2100 .L418: 2101 0046 3346 mov r3, r6 2102 0048 A7B1 cbz r7, .L414 2103 004a 2946 mov r1, r5 2104 004c 3C46 mov r4, r7 2105 .L415: 2106 004e 0A68 ldr r2, [r1] @ unaligned 2107 0050 1A80 strh r2, [r3] @ movhi 2108 0052 1214 asrs r2, r2, #16 2109 0054 1A52 strh r2, [r3, r0] @ movhi 2110 0056 4A68 ldr r2, [r1, #4] @ unaligned 2111 0058 23F81020 strh r2, [r3, r0, lsl #1] @ movhi 2112 005c 013C subs r4, r4, #1 2113 005e 4FEA2242 asr r2, r2, #16 2114 0062 01F10801 add r1, r1, #8 2115 0066 DA80 strh r2, [r3, #6] @ movhi 2116 0068 03F10803 add r3, r3, #8 2117 006c EFD1 bne .L415 2118 006e 5544 add r5, r5, r10 2119 0070 0EEB0603 add r3, lr, r6 2120 .L414: 2121 0074 BCF1000F cmp ip, #0 2122 0078 08D0 beq .L416 2123 007a 2946 mov r1, r5 2124 007c 6246 mov r2, ip 2125 .L417: 2126 007e 31F9024B ldrsh r4, [r1], #2 2127 0082 1C80 strh r4, [r3] @ movhi 2128 0084 013A subs r2, r2, #1 2129 0086 0344 add r3, r3, r0 2130 0088 F9D1 bne .L417 2131 008a 4D44 add r5, r5, r9 2132 .L416: 2133 008c 0236 adds r6, r6, #2 2134 008e 4645 cmp r6, r8 2135 0090 D9D1 bne .L418 2136 .L413: 2137 0092 049B ldr r3, [sp, #16] 2138 0094 5B68 ldr r3, [r3, #4] ARM GAS /tmp/ccmxjexE.s page 38 2139 0096 0693 str r3, [sp, #24] 2140 0098 DBF80430 ldr r3, [fp, #4] 2141 009c 0493 str r3, [sp, #16] 2142 009e 029B ldr r3, [sp, #8] 2143 00a0 0793 str r3, [sp, #28] 2144 00a2 039B ldr r3, [sp, #12] 2145 00a4 9A08 lsrs r2, r3, #2 2146 00a6 03F00301 and r1, r3, #3 2147 00aa 5B00 lsls r3, r3, #1 2148 00ac 0B93 str r3, [sp, #44] 2149 00ae 4B00 lsls r3, r1, #1 2150 00b0 0593 str r3, [sp, #20] 2151 00b2 099B ldr r3, [sp, #36] 2152 00b4 0292 str r2, [sp, #8] 2153 00b6 5B00 lsls r3, r3, #1 2154 00b8 0A93 str r3, [sp, #40] 2155 00ba 0023 movs r3, #0 2156 00bc 0391 str r1, [sp, #12] 2157 00be 4FEAC20B lsl fp, r2, #3 2158 00c2 0193 str r3, [sp, #4] 2159 .L424: 2160 00c4 DDE90889 ldrd r8, r9, [sp, #32] 2161 00c8 DDF818A0 ldr r10, [sp, #24] 2162 .L423: 2163 00cc 049B ldr r3, [sp, #16] 2164 00ce 019A ldr r2, [sp, #4] 2165 00d0 029C ldr r4, [sp, #8] 2166 00d2 03EB020E add lr, r3, r2 2167 00d6 002C cmp r4, #0 2168 00d8 4ED0 beq .L425 2169 00da 0025 movs r5, #0 2170 00dc 0026 movs r6, #0 2171 00de 4046 mov r0, r8 2172 00e0 CDF800B0 str fp, [sp] 2173 00e4 7146 mov r1, lr 2174 00e6 C346 mov fp, r8 2175 00e8 2A46 mov r2, r5 2176 00ea 3346 mov r3, r6 2177 00ec F046 mov r8, lr 2178 .L420: 2179 00ee D1F800E0 ldr lr, [r1] @ unaligned 2180 00f2 0568 ldr r5, [r0] @ unaligned 2181 00f4 4F68 ldr r7, [r1, #4] @ unaligned 2182 00f6 D0F804C0 ldr ip, [r0, #4] @ unaligned 2183 00fa 0831 adds r1, r1, #8 2184 00fc 0830 adds r0, r0, #8 2185 00fe 1646 mov r6, r2 2186 .syntax unified 2187 @ 2014 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2188 0100 CEFBC563 smlald r6, r3, lr, r5 2189 @ 0 "" 2 2190 .thumb 2191 .syntax unified 2192 0104 1D46 mov r5, r3 2193 .syntax unified 2194 @ 2014 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2195 0106 C7FBCC65 smlald r6, r5, r7, ip ARM GAS /tmp/ccmxjexE.s page 39 2196 @ 0 "" 2 2197 .thumb 2198 .syntax unified 2199 010a 013C subs r4, r4, #1 2200 010c 3246 mov r2, r6 2201 010e 2B46 mov r3, r5 2202 0110 EDD1 bne .L420 2203 0112 C646 mov lr, r8 2204 0114 D846 mov r8, fp 2205 0116 DDF800B0 ldr fp, [sp] 2206 011a 3546 mov r5, r6 2207 011c D844 add r8, r8, fp 2208 011e 1E46 mov r6, r3 2209 0120 DE44 add lr, lr, fp 2210 .L419: 2211 0122 0399 ldr r1, [sp, #12] 2212 0124 71B1 cbz r1, .L421 2213 0126 4046 mov r0, r8 2214 0128 2A46 mov r2, r5 2215 012a 3346 mov r3, r6 2216 .L422: 2217 012c 3EF8025B ldrh r5, [lr], #2 2218 0130 30F8024B ldrh r4, [r0], #2 2219 0134 0139 subs r1, r1, #1 2220 0136 C5FB8423 smlalbb r2, r3, r5, r4 2221 013a F7D1 bne .L422 2222 013c 1E46 mov r6, r3 2223 013e 059B ldr r3, [sp, #20] 2224 0140 1546 mov r5, r2 2225 0142 9844 add r8, r8, r3 2226 .L421: 2227 0144 EA0B lsrs r2, r5, #15 2228 0146 B9F10109 subs r9, r9, #1 2229 014a 42EA4642 orr r2, r2, r6, lsl #17 2230 .syntax unified 2231 @ 774 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_q15.c" 1 2232 014e 02F30F02 ssat r2, #16, r2 2233 @ 0 "" 2 2234 .thumb 2235 .syntax unified 2236 0152 2AF8022B strh r2, [r10], #2 @ movhi 2237 0156 B9D1 bne .L423 2238 0158 069B ldr r3, [sp, #24] 2239 015a 0A9A ldr r2, [sp, #40] 2240 015c 1344 add r3, r3, r2 2241 015e 0693 str r3, [sp, #24] 2242 0160 0B9A ldr r2, [sp, #44] 2243 0162 019B ldr r3, [sp, #4] 2244 0164 1344 add r3, r3, r2 2245 0166 0193 str r3, [sp, #4] 2246 0168 079B ldr r3, [sp, #28] 2247 016a 013B subs r3, r3, #1 2248 016c 0793 str r3, [sp, #28] 2249 016e A9D1 bne .L424 2250 0170 1846 mov r0, r3 2251 0172 0DB0 add sp, sp, #52 2252 @ sp needed ARM GAS /tmp/ccmxjexE.s page 40 2253 0174 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2254 .L425: 2255 0178 0025 movs r5, #0 2256 017a 0026 movs r6, #0 2257 017c D1E7 b .L419 2258 .L452: 2259 017e 089B ldr r3, [sp, #32] 2260 0180 9846 mov r8, r3 2261 0182 00EB030A add r10, r0, r3 2262 0186 FB00 lsls r3, r7, #3 2263 0188 00EB060E add lr, r0, r6 2264 018c 07FB00F9 mul r9, r7, r0 2265 0190 0093 str r3, [sp] 2266 0192 4FEA4C03 lsl r3, ip, #1 2267 0196 4FEA4E0E lsl lr, lr, #1 2268 019a F600 lsls r6, r6, #3 2269 019c 4FEA8909 lsl r9, r9, #2 2270 01a0 0193 str r3, [sp, #4] 2271 .L412: 2272 01a2 4346 mov r3, r8 2273 01a4 AFB1 cbz r7, .L408 2274 01a6 2946 mov r1, r5 2275 01a8 3C46 mov r4, r7 2276 .L409: 2277 01aa 0A68 ldr r2, [r1] @ unaligned 2278 01ac 1A80 strh r2, [r3] @ movhi 2279 01ae 1214 asrs r2, r2, #16 2280 01b0 1A52 strh r2, [r3, r0] @ movhi 2281 01b2 4A68 ldr r2, [r1, #4] @ unaligned 2282 01b4 23F81020 strh r2, [r3, r0, lsl #1] @ movhi 2283 01b8 013C subs r4, r4, #1 2284 01ba 4FEA2242 asr r2, r2, #16 2285 01be 23F80E20 strh r2, [r3, lr] @ movhi 2286 01c2 01F10801 add r1, r1, #8 2287 01c6 3344 add r3, r3, r6 2288 01c8 EFD1 bne .L409 2289 01ca 009B ldr r3, [sp] 2290 01cc 1D44 add r5, r5, r3 2291 01ce 09EB0803 add r3, r9, r8 2292 .L408: 2293 01d2 BCF1000F cmp ip, #0 2294 01d6 09D0 beq .L410 2295 01d8 2946 mov r1, r5 2296 01da 6246 mov r2, ip 2297 .L411: 2298 01dc 31F9024B ldrsh r4, [r1], #2 2299 01e0 1C80 strh r4, [r3] @ movhi 2300 01e2 013A subs r2, r2, #1 2301 01e4 0344 add r3, r3, r0 2302 01e6 F9D1 bne .L411 2303 01e8 019B ldr r3, [sp, #4] 2304 01ea 1D44 add r5, r5, r3 2305 .L410: 2306 01ec 08F10208 add r8, r8, #2 2307 01f0 D045 cmp r8, r10 2308 01f2 D6D1 bne .L412 2309 01f4 4DE7 b .L413 ARM GAS /tmp/ccmxjexE.s page 41 2311 01f6 00BF .section .text.arm_mat_mult_q31,"ax",%progbits 2312 .align 1 2313 .p2align 2,,3 2314 .global arm_mat_mult_q31 2315 .syntax unified 2316 .thumb 2317 .thumb_func 2318 .fpu fpv4-sp-d16 2320 arm_mat_mult_q31: 2321 @ args = 0, pretend = 0, frame = 16 2322 @ frame_needed = 0, uses_anonymous_args = 0 2323 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 2324 0004 4B68 ldr r3, [r1, #4] 2325 0006 4688 ldrh r6, [r0, #2] 2326 0008 4988 ldrh r1, [r1, #2] 2327 000a 4768 ldr r7, [r0, #4] 2328 000c B0F80080 ldrh r8, [r0] 2329 0010 85B0 sub sp, sp, #20 2330 0012 0129 cmp r1, #1 2331 0014 0293 str r3, [sp, #8] 2332 0016 5368 ldr r3, [r2, #4] 2333 0018 4FEA8602 lsl r2, r6, #2 2334 001c 4FEA8105 lsl r5, r1, #2 2335 0020 0192 str r2, [sp, #4] 2336 0022 28D1 bne .L473 2337 0024 03EB050B add fp, r3, r5 2338 .L463: 2339 0028 DDF808A0 ldr r10, [sp, #8] 2340 002c ABF10409 sub r9, fp, #4 2341 .L462: 2342 0030 FEB1 cbz r6, .L465 2343 0032 0023 movs r3, #0 2344 0034 3146 mov r1, r6 2345 0036 5246 mov r2, r10 2346 0038 BE46 mov lr, r7 2347 003a 9C46 mov ip, r3 2348 .L461: 2349 003c 1468 ldr r4, [r2] 2350 003e 5EF8040B ldr r0, [lr], #4 2351 0042 0139 subs r1, r1, #1 2352 0044 2A44 add r2, r2, r5 2353 0046 C4FB003C smlal r3, ip, r4, r0 2354 004a F7D1 bne .L461 2355 004c DB0F lsrs r3, r3, #31 2356 004e 43EA4C03 orr r3, r3, ip, lsl #1 2357 .L460: 2358 0052 49F8043B str r3, [r9], #4 2359 0056 D945 cmp r9, fp 2360 0058 0AF1040A add r10, r10, #4 2361 005c E8D1 bne .L462 2362 005e 019B ldr r3, [sp, #4] 2363 0060 B8F10108 subs r8, r8, #1 2364 0064 1F44 add r7, r7, r3 2365 0066 AB44 add fp, fp, r5 2366 0068 DED1 bne .L463 2367 006a 0020 movs r0, #0 2368 006c 05B0 add sp, sp, #20 ARM GAS /tmp/ccmxjexE.s page 42 2369 @ sp needed 2370 006e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2371 .L465: 2372 0072 3346 mov r3, r6 2373 0074 EDE7 b .L460 2374 .L473: 2375 0076 C1EB8171 rsb r1, r1, r1, lsl #30 2376 007a 03EB0509 add r9, r3, r5 2377 007e 8B00 lsls r3, r1, #2 2378 0080 0393 str r3, [sp, #12] 2379 .L458: 2380 0082 039B ldr r3, [sp, #12] 2381 0084 DDF808B0 ldr fp, [sp, #8] 2382 0088 09EB030A add r10, r9, r3 2383 .L457: 2384 008c FEB1 cbz r6, .L464 2385 008e 0023 movs r3, #0 2386 0090 3146 mov r1, r6 2387 0092 5A46 mov r2, fp 2388 0094 BE46 mov lr, r7 2389 0096 9C46 mov ip, r3 2390 .L456: 2391 0098 1068 ldr r0, [r2] 2392 009a 5EF8044B ldr r4, [lr], #4 2393 009e 0139 subs r1, r1, #1 2394 00a0 2A44 add r2, r2, r5 2395 00a2 C4FB003C smlal r3, ip, r4, r0 2396 00a6 F7D1 bne .L456 2397 00a8 DB0F lsrs r3, r3, #31 2398 00aa 43EA4C03 orr r3, r3, ip, lsl #1 2399 .L455: 2400 00ae 4AF8043B str r3, [r10], #4 2401 00b2 CA45 cmp r10, r9 2402 00b4 0BF1040B add fp, fp, #4 2403 00b8 E8D1 bne .L457 2404 00ba 019B ldr r3, [sp, #4] 2405 00bc B8F10108 subs r8, r8, #1 2406 00c0 1F44 add r7, r7, r3 2407 00c2 A944 add r9, r9, r5 2408 00c4 DDD1 bne .L458 2409 00c6 0020 movs r0, #0 2410 00c8 05B0 add sp, sp, #20 2411 @ sp needed 2412 00ca BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2413 .L464: 2414 00ce 3346 mov r3, r6 2415 00d0 EDE7 b .L455 2417 00d2 00BF .section .text.arm_mat_scale_f32,"ax",%progbits 2418 .align 1 2419 .p2align 2,,3 2420 .global arm_mat_scale_f32 2421 .syntax unified 2422 .thumb 2423 .thumb_func 2424 .fpu fpv4-sp-d16 2426 arm_mat_scale_f32: 2427 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccmxjexE.s page 43 2428 @ frame_needed = 0, uses_anonymous_args = 0 2429 @ link register save eliminated. 2430 0000 4288 ldrh r2, [r0, #2] 2431 0002 0388 ldrh r3, [r0] 2432 0004 4068 ldr r0, [r0, #4] 2433 0006 02FB03F3 mul r3, r2, r3 2434 000a 4A68 ldr r2, [r1, #4] 2435 000c 3BB1 cbz r3, .L475 2436 .L476: 2437 000e F0EC017A vldmia.32 r0!, {s15} 2438 0012 67EE807A vmul.f32 s15, s15, s0 2439 0016 013B subs r3, r3, #1 2440 0018 E2EC017A vstmia.32 r2!, {s15} 2441 001c F7D1 bne .L476 2442 .L475: 2443 001e 0020 movs r0, #0 2444 0020 7047 bx lr 2446 0022 00BF .section .text.arm_mat_scale_q15,"ax",%progbits 2447 .align 1 2448 .p2align 2,,3 2449 .global arm_mat_scale_q15 2450 .syntax unified 2451 .thumb 2452 .thumb_func 2453 .fpu fpv4-sp-d16 2455 arm_mat_scale_q15: 2456 @ args = 0, pretend = 0, frame = 0 2457 @ frame_needed = 0, uses_anonymous_args = 0 2458 @ link register save eliminated. 2459 0000 30B4 push {r4, r5} 2460 0002 4568 ldr r5, [r0, #4] 2461 0004 5C68 ldr r4, [r3, #4] 2462 0006 0388 ldrh r3, [r0] 2463 0008 4088 ldrh r0, [r0, #2] 2464 000a 03FB00F0 mul r0, r3, r0 2465 000e 68B1 cbz r0, .L486 2466 0010 C2F10F02 rsb r2, r2, #15 2467 .L482: 2468 0014 35F8023B ldrh r3, [r5], #2 2469 0018 0138 subs r0, r0, #1 2470 001a 13FB01F3 smulbb r3, r3, r1 2471 001e 43FA02F3 asr r3, r3, r2 2472 .syntax unified 2473 @ 232 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_q15.c" 1 2474 0022 03F30F03 ssat r3, #16, r3 2475 @ 0 "" 2 2476 .thumb 2477 .syntax unified 2478 0026 24F8023B strh r3, [r4], #2 @ movhi 2479 002a F3D1 bne .L482 2480 .L486: 2481 002c 0020 movs r0, #0 2482 002e 30BC pop {r4, r5} 2483 0030 7047 bx lr 2485 0032 00BF .section .text.arm_mat_scale_q31,"ax",%progbits 2486 .align 1 2487 .p2align 2,,3 ARM GAS /tmp/ccmxjexE.s page 44 2488 .global arm_mat_scale_q31 2489 .syntax unified 2490 .thumb 2491 .thumb_func 2492 .fpu fpv4-sp-d16 2494 arm_mat_scale_q31: 2495 @ args = 0, pretend = 0, frame = 0 2496 @ frame_needed = 0, uses_anonymous_args = 0 2497 0000 F0B5 push {r4, r5, r6, r7, lr} 2498 0002 5E68 ldr r6, [r3, #4] 2499 0004 0488 ldrh r4, [r0] 2500 0006 4388 ldrh r3, [r0, #2] 2501 0008 4568 ldr r5, [r0, #4] 2502 000a 03FB04F4 mul r4, r3, r4 2503 000e 94B1 cbz r4, .L495 2504 0010 0132 adds r2, r2, #1 2505 0012 6FF0004E mvn lr, #-2147483648 2506 .L489: 2507 0016 55F8043B ldr r3, [r5], #4 2508 001a 81FB0303 smull r0, r3, r1, r3 2509 001e 03FA02F0 lsl r0, r3, r2 2510 0022 40FA02FC asr ip, r0, r2 2511 0026 9C45 cmp ip, r3 2512 0028 8EEAE377 eor r7, lr, r3, asr #31 2513 002c 05D0 beq .L490 2514 002e 013C subs r4, r4, #1 2515 0030 46F8047B str r7, [r6], #4 2516 0034 EFD1 bne .L489 2517 .L495: 2518 0036 0020 movs r0, #0 2519 0038 F0BD pop {r4, r5, r6, r7, pc} 2520 .L490: 2521 003a 013C subs r4, r4, #1 2522 003c 46F8040B str r0, [r6], #4 2523 0040 E9D1 bne .L489 2524 0042 0020 movs r0, #0 2525 0044 F0BD pop {r4, r5, r6, r7, pc} 2527 0046 00BF .section .text.arm_mat_sub_f32,"ax",%progbits 2528 .align 1 2529 .p2align 2,,3 2530 .global arm_mat_sub_f32 2531 .syntax unified 2532 .thumb 2533 .thumb_func 2534 .fpu fpv4-sp-d16 2536 arm_mat_sub_f32: 2537 @ args = 0, pretend = 0, frame = 0 2538 @ frame_needed = 0, uses_anonymous_args = 0 2539 @ link register save eliminated. 2540 0000 0388 ldrh r3, [r0] 2541 0002 B0F802C0 ldrh ip, [r0, #2] 2542 0006 4968 ldr r1, [r1, #4] 2543 0008 4068 ldr r0, [r0, #4] 2544 000a 5268 ldr r2, [r2, #4] 2545 000c 0CFB03F3 mul r3, ip, r3 2546 0010 4BB1 cbz r3, .L500 2547 .L501: ARM GAS /tmp/ccmxjexE.s page 45 2548 0012 F0EC017A vldmia.32 r0!, {s15} 2549 0016 B1EC017A vldmia.32 r1!, {s14} 2550 001a 77EEC77A vsub.f32 s15, s15, s14 2551 001e 013B subs r3, r3, #1 2552 0020 E2EC017A vstmia.32 r2!, {s15} 2553 0024 F5D1 bne .L501 2554 .L500: 2555 0026 0020 movs r0, #0 2556 0028 7047 bx lr 2558 002a 00BF .section .text.arm_mat_sub_q15,"ax",%progbits 2559 .align 1 2560 .p2align 2,,3 2561 .global arm_mat_sub_q15 2562 .syntax unified 2563 .thumb 2564 .thumb_func 2565 .fpu fpv4-sp-d16 2567 arm_mat_sub_q15: 2568 @ args = 0, pretend = 0, frame = 0 2569 @ frame_needed = 0, uses_anonymous_args = 0 2570 @ link register save eliminated. 2571 0000 4388 ldrh r3, [r0, #2] 2572 0002 4968 ldr r1, [r1, #4] 2573 0004 5268 ldr r2, [r2, #4] 2574 0006 10B4 push {r4} 2575 0008 0488 ldrh r4, [r0] 2576 000a 4068 ldr r0, [r0, #4] 2577 000c 03FB04F4 mul r4, r3, r4 2578 0010 4CB1 cbz r4, .L507 2579 .L508: 2580 0012 30F9023B ldrsh r3, [r0], #2 2581 0016 31F902CB ldrsh ip, [r1], #2 2582 .syntax unified 2583 @ 1779 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2584 001a D3FA1CF3 qsub16 r3, r3, ip 2585 @ 0 "" 2 2586 .thumb 2587 .syntax unified 2588 001e 013C subs r4, r4, #1 2589 0020 22F8023B strh r3, [r2], #2 @ movhi 2590 0024 F5D1 bne .L508 2591 .L507: 2592 0026 0020 movs r0, #0 2593 0028 5DF8044B ldr r4, [sp], #4 2594 002c 7047 bx lr 2596 002e 00BF .section .text.arm_mat_sub_q31,"ax",%progbits 2597 .align 1 2598 .p2align 2,,3 2599 .global arm_mat_sub_q31 2600 .syntax unified 2601 .thumb 2602 .thumb_func 2603 .fpu fpv4-sp-d16 2605 arm_mat_sub_q31: 2606 @ args = 0, pretend = 0, frame = 0 2607 @ frame_needed = 0, uses_anonymous_args = 0 2608 @ link register save eliminated. ARM GAS /tmp/ccmxjexE.s page 46 2609 0000 4388 ldrh r3, [r0, #2] 2610 0002 4968 ldr r1, [r1, #4] 2611 0004 5268 ldr r2, [r2, #4] 2612 0006 30B4 push {r4, r5} 2613 0008 0488 ldrh r4, [r0] 2614 000a 4068 ldr r0, [r0, #4] 2615 000c 03FB04F4 mul r4, r3, r4 2616 0010 4CB1 cbz r4, .L515 2617 .L516: 2618 0012 50F8043B ldr r3, [r0], #4 2619 0016 51F8045B ldr r5, [r1], #4 2620 .syntax unified 2621 @ 2125 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2622 001a 85FAA3F3 qsub r3, r3, r5 2623 @ 0 "" 2 2624 .thumb 2625 .syntax unified 2626 001e 013C subs r4, r4, #1 2627 0020 42F8043B str r3, [r2], #4 2628 0024 F5D1 bne .L516 2629 .L515: 2630 0026 0020 movs r0, #0 2631 0028 30BC pop {r4, r5} 2632 002a 7047 bx lr 2634 .section .text.arm_mat_trans_f32,"ax",%progbits 2635 .align 1 2636 .p2align 2,,3 2637 .global arm_mat_trans_f32 2638 .syntax unified 2639 .thumb 2640 .thumb_func 2641 .fpu fpv4-sp-d16 2643 arm_mat_trans_f32: 2644 @ args = 0, pretend = 0, frame = 0 2645 @ frame_needed = 0, uses_anonymous_args = 0 2646 0000 F0B5 push {r4, r5, r6, r7, lr} 2647 0002 4588 ldrh r5, [r0, #2] 2648 0004 0288 ldrh r2, [r0] 2649 0006 4468 ldr r4, [r0, #4] 2650 0008 4B68 ldr r3, [r1, #4] 2651 000a B5B1 cbz r5, .L523 2652 000c 4FEA820C lsl ip, r2, #2 2653 0010 012A cmp r2, #1 2654 0012 9E46 mov lr, r3 2655 0014 03EB0C07 add r7, r3, ip 2656 0018 4FEA8506 lsl r6, r5, #2 2657 001c 14D1 bne .L526 2658 .L529: 2659 001e 7246 mov r2, lr 2660 0020 2B46 mov r3, r5 2661 0022 2146 mov r1, r4 2662 .L528: 2663 0024 51F8040B ldr r0, [r1], #4 @ float 2664 0028 1060 str r0, [r2] @ float 2665 002a 013B subs r3, r3, #1 2666 002c 6244 add r2, r2, ip 2667 002e F9D1 bne .L528 ARM GAS /tmp/ccmxjexE.s page 47 2668 0030 0EF1040E add lr, lr, #4 2669 0034 BE45 cmp lr, r7 2670 0036 3444 add r4, r4, r6 2671 0038 F1D1 bne .L529 2672 .L523: 2673 003a 0020 movs r0, #0 2674 003c F0BD pop {r4, r5, r6, r7, pc} 2675 .L538: 2676 003e 0EF1040E add lr, lr, #4 2677 0042 BE45 cmp lr, r7 2678 0044 3444 add r4, r4, r6 2679 0046 F8D0 beq .L523 2680 .L526: 2681 0048 7246 mov r2, lr 2682 004a 2B46 mov r3, r5 2683 004c 2146 mov r1, r4 2684 .L525: 2685 004e 51F8040B ldr r0, [r1], #4 @ float 2686 0052 1060 str r0, [r2] @ float 2687 0054 013B subs r3, r3, #1 2688 0056 6244 add r2, r2, ip 2689 0058 F9D1 bne .L525 2690 005a F0E7 b .L538 2692 .section .text.arm_mat_trans_q15,"ax",%progbits 2693 .align 1 2694 .p2align 2,,3 2695 .global arm_mat_trans_q15 2696 .syntax unified 2697 .thumb 2698 .thumb_func 2699 .fpu fpv4-sp-d16 2701 arm_mat_trans_q15: 2702 @ args = 0, pretend = 0, frame = 0 2703 @ frame_needed = 0, uses_anonymous_args = 0 2704 0000 F0B5 push {r4, r5, r6, r7, lr} 2705 0002 4588 ldrh r5, [r0, #2] 2706 0004 0288 ldrh r2, [r0] 2707 0006 4468 ldr r4, [r0, #4] 2708 0008 4B68 ldr r3, [r1, #4] 2709 000a B5B1 cbz r5, .L540 2710 000c 4FEA420C lsl ip, r2, #1 2711 0010 012A cmp r2, #1 2712 0012 9E46 mov lr, r3 2713 0014 03EB0C07 add r7, r3, ip 2714 0018 4FEA4506 lsl r6, r5, #1 2715 001c 14D1 bne .L543 2716 .L546: 2717 001e 7246 mov r2, lr 2718 0020 2B46 mov r3, r5 2719 0022 2146 mov r1, r4 2720 .L545: 2721 0024 31F9020B ldrsh r0, [r1], #2 2722 0028 1080 strh r0, [r2] @ movhi 2723 002a 013B subs r3, r3, #1 2724 002c 6244 add r2, r2, ip 2725 002e F9D1 bne .L545 2726 0030 0EF1020E add lr, lr, #2 ARM GAS /tmp/ccmxjexE.s page 48 2727 0034 BE45 cmp lr, r7 2728 0036 3444 add r4, r4, r6 2729 0038 F1D1 bne .L546 2730 .L540: 2731 003a 0020 movs r0, #0 2732 003c F0BD pop {r4, r5, r6, r7, pc} 2733 .L555: 2734 003e 0EF1020E add lr, lr, #2 2735 0042 BE45 cmp lr, r7 2736 0044 3444 add r4, r4, r6 2737 0046 F8D0 beq .L540 2738 .L543: 2739 0048 7246 mov r2, lr 2740 004a 2B46 mov r3, r5 2741 004c 2146 mov r1, r4 2742 .L542: 2743 004e 31F9020B ldrsh r0, [r1], #2 2744 0052 1080 strh r0, [r2] @ movhi 2745 0054 013B subs r3, r3, #1 2746 0056 6244 add r2, r2, ip 2747 0058 F9D1 bne .L542 2748 005a F0E7 b .L555 2750 .section .text.arm_mat_trans_q31,"ax",%progbits 2751 .align 1 2752 .p2align 2,,3 2753 .global arm_mat_trans_q31 2754 .syntax unified 2755 .thumb 2756 .thumb_func 2757 .fpu fpv4-sp-d16 2759 arm_mat_trans_q31: 2760 @ args = 0, pretend = 0, frame = 0 2761 @ frame_needed = 0, uses_anonymous_args = 0 2762 0000 F0B5 push {r4, r5, r6, r7, lr} 2763 0002 4588 ldrh r5, [r0, #2] 2764 0004 0288 ldrh r2, [r0] 2765 0006 4468 ldr r4, [r0, #4] 2766 0008 4B68 ldr r3, [r1, #4] 2767 000a B5B1 cbz r5, .L557 2768 000c 4FEA820C lsl ip, r2, #2 2769 0010 012A cmp r2, #1 2770 0012 9E46 mov lr, r3 2771 0014 03EB0C07 add r7, r3, ip 2772 0018 4FEA8506 lsl r6, r5, #2 2773 001c 14D1 bne .L560 2774 .L563: 2775 001e 7246 mov r2, lr 2776 0020 2B46 mov r3, r5 2777 0022 2146 mov r1, r4 2778 .L562: 2779 0024 51F8040B ldr r0, [r1], #4 2780 0028 1060 str r0, [r2] 2781 002a 013B subs r3, r3, #1 2782 002c 6244 add r2, r2, ip 2783 002e F9D1 bne .L562 2784 0030 0EF1040E add lr, lr, #4 2785 0034 BE45 cmp lr, r7 ARM GAS /tmp/ccmxjexE.s page 49 2786 0036 3444 add r4, r4, r6 2787 0038 F1D1 bne .L563 2788 .L557: 2789 003a 0020 movs r0, #0 2790 003c F0BD pop {r4, r5, r6, r7, pc} 2791 .L572: 2792 003e 0EF1040E add lr, lr, #4 2793 0042 BE45 cmp lr, r7 2794 0044 3444 add r4, r4, r6 2795 0046 F8D0 beq .L557 2796 .L560: 2797 0048 7246 mov r2, lr 2798 004a 2B46 mov r3, r5 2799 004c 2146 mov r1, r4 2800 .L559: 2801 004e 51F8040B ldr r0, [r1], #4 2802 0052 1060 str r0, [r2] 2803 0054 013B subs r3, r3, #1 2804 0056 6244 add r2, r2, ip 2805 0058 F9D1 bne .L559 2806 005a F0E7 b .L572 2808 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/ccmxjexE.s page 50 DEFINED SYMBOLS *ABS*:0000000000000000 MatrixFunctions.c /tmp/ccmxjexE.s:16 .text.arm_mat_add_f32:0000000000000000 $t /tmp/ccmxjexE.s:25 .text.arm_mat_add_f32:0000000000000000 arm_mat_add_f32 /tmp/ccmxjexE.s:48 .text.arm_mat_add_q15:0000000000000000 $t /tmp/ccmxjexE.s:56 .text.arm_mat_add_q15:0000000000000000 arm_mat_add_q15 /tmp/ccmxjexE.s:86 .text.arm_mat_add_q31:0000000000000000 $t /tmp/ccmxjexE.s:94 .text.arm_mat_add_q31:0000000000000000 arm_mat_add_q31 /tmp/ccmxjexE.s:124 .text.arm_mat_cmplx_mult_f32:0000000000000000 $t /tmp/ccmxjexE.s:132 .text.arm_mat_cmplx_mult_f32:0000000000000000 arm_mat_cmplx_mult_f32 /tmp/ccmxjexE.s:228 .text.arm_mat_cmplx_mult_f32:00000000000000f4 $d /tmp/ccmxjexE.s:231 .text.arm_mat_cmplx_mult_q15:0000000000000000 $t /tmp/ccmxjexE.s:239 .text.arm_mat_cmplx_mult_q15:0000000000000000 arm_mat_cmplx_mult_q15 /tmp/ccmxjexE.s:430 .text.arm_mat_cmplx_mult_q31:0000000000000000 $t /tmp/ccmxjexE.s:438 .text.arm_mat_cmplx_mult_q31:0000000000000000 arm_mat_cmplx_mult_q31 /tmp/ccmxjexE.s:625 .text.arm_mat_init_f32:0000000000000000 $t /tmp/ccmxjexE.s:633 .text.arm_mat_init_f32:0000000000000000 arm_mat_init_f32 /tmp/ccmxjexE.s:643 .text.arm_mat_init_q15:0000000000000000 $t /tmp/ccmxjexE.s:651 .text.arm_mat_init_q15:0000000000000000 arm_mat_init_q15 /tmp/ccmxjexE.s:661 .text.arm_mat_init_q31:0000000000000000 $t /tmp/ccmxjexE.s:669 .text.arm_mat_init_q31:0000000000000000 arm_mat_init_q31 /tmp/ccmxjexE.s:679 .text.arm_mat_inverse_f32:0000000000000000 $t /tmp/ccmxjexE.s:687 .text.arm_mat_inverse_f32:0000000000000000 arm_mat_inverse_f32 /tmp/ccmxjexE.s:912 .text.arm_mat_inverse_f64:0000000000000000 $t /tmp/ccmxjexE.s:920 .text.arm_mat_inverse_f64:0000000000000000 arm_mat_inverse_f64 /tmp/ccmxjexE.s:1219 .text.arm_mat_inverse_f64:0000000000000288 $d /tmp/ccmxjexE.s:1222 .text.arm_mat_mult_f32:0000000000000000 $t /tmp/ccmxjexE.s:1230 .text.arm_mat_mult_f32:0000000000000000 arm_mat_mult_f32 /tmp/ccmxjexE.s:1306 .text.arm_mat_mult_f32:00000000000000ac $d /tmp/ccmxjexE.s:1309 .text.arm_mat_mult_fast_q15:0000000000000000 $t /tmp/ccmxjexE.s:1317 .text.arm_mat_mult_fast_q15:0000000000000000 arm_mat_mult_fast_q15 /tmp/ccmxjexE.s:1763 .text.arm_mat_mult_fast_q31:0000000000000000 $t /tmp/ccmxjexE.s:1771 .text.arm_mat_mult_fast_q31:0000000000000000 arm_mat_mult_fast_q31 /tmp/ccmxjexE.s:2064 .text.arm_mat_mult_q15:0000000000000000 $t /tmp/ccmxjexE.s:2072 .text.arm_mat_mult_q15:0000000000000000 arm_mat_mult_q15 /tmp/ccmxjexE.s:2312 .text.arm_mat_mult_q31:0000000000000000 $t /tmp/ccmxjexE.s:2320 .text.arm_mat_mult_q31:0000000000000000 arm_mat_mult_q31 /tmp/ccmxjexE.s:2418 .text.arm_mat_scale_f32:0000000000000000 $t /tmp/ccmxjexE.s:2426 .text.arm_mat_scale_f32:0000000000000000 arm_mat_scale_f32 /tmp/ccmxjexE.s:2447 .text.arm_mat_scale_q15:0000000000000000 $t /tmp/ccmxjexE.s:2455 .text.arm_mat_scale_q15:0000000000000000 arm_mat_scale_q15 /tmp/ccmxjexE.s:2486 .text.arm_mat_scale_q31:0000000000000000 $t /tmp/ccmxjexE.s:2494 .text.arm_mat_scale_q31:0000000000000000 arm_mat_scale_q31 /tmp/ccmxjexE.s:2528 .text.arm_mat_sub_f32:0000000000000000 $t /tmp/ccmxjexE.s:2536 .text.arm_mat_sub_f32:0000000000000000 arm_mat_sub_f32 /tmp/ccmxjexE.s:2559 .text.arm_mat_sub_q15:0000000000000000 $t /tmp/ccmxjexE.s:2567 .text.arm_mat_sub_q15:0000000000000000 arm_mat_sub_q15 /tmp/ccmxjexE.s:2597 .text.arm_mat_sub_q31:0000000000000000 $t /tmp/ccmxjexE.s:2605 .text.arm_mat_sub_q31:0000000000000000 arm_mat_sub_q31 /tmp/ccmxjexE.s:2635 .text.arm_mat_trans_f32:0000000000000000 $t /tmp/ccmxjexE.s:2643 .text.arm_mat_trans_f32:0000000000000000 arm_mat_trans_f32 /tmp/ccmxjexE.s:2693 .text.arm_mat_trans_q15:0000000000000000 $t /tmp/ccmxjexE.s:2701 .text.arm_mat_trans_q15:0000000000000000 arm_mat_trans_q15 /tmp/ccmxjexE.s:2751 .text.arm_mat_trans_q31:0000000000000000 $t /tmp/ccmxjexE.s:2759 .text.arm_mat_trans_q31:0000000000000000 arm_mat_trans_q31 UNDEFINED SYMBOLS ARM GAS /tmp/ccmxjexE.s page 51 memset __aeabi_dcmpeq __aeabi_ddiv __aeabi_dmul __aeabi_dsub