1/* 2 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7#include "pico/asm_helper.S" 8 9pico_default_asm_setup 10 11.macro int64_section name 12#if PICO_INT64_OPS_IN_RAM 13.section RAM_SECTION_NAME(\name), "ax" 14#else 15.section SECTION_NAME(\name), "ax" 16#endif 17.endm 18 19int64_section __aeabi_lmul 20 21wrapper_func __aeabi_lmul 22 muls r1, r2 23 muls r3, r0 24 adds r1, r3 25 mov r12, r1 26 lsrs r1, r2, #16 27 uxth r3, r0 28 muls r3, r1 29 push {r4} 30 lsrs r4, r0, #16 31 muls r1, r4 32 uxth r2, r2 33 uxth r0, r0 34 muls r0, r2 35 muls r2, r4 36 lsls r4, r3, #16 37 lsrs r3, #16 38 adds r0, r4 39 pop {r4} 40 adcs r1, r3 41 lsls r3, r2, #16 42 lsrs r2, #16 43 adds r0, r3 44 adcs r1, r2 45 add r1, r12 46 bx lr 47