summaryrefslogtreecommitdiff
path: root/third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14695.85.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S')
-rw-r--r--third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S86
1 files changed, 0 insertions, 86 deletions
diff --git a/third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S b/third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S
deleted file mode 100644
index f3709af41a..0000000000
--- a/third_party/libaeabi-cortexm0/core/cortex-m/ldivmod.S
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Runtime ABI for the ARM Cortex-M
- * ldivmod.S: signed 64 bit division (quotient and remainder)
- *
- * Copyright (c) 2012 Jörg Mische <bobbl@gmx.de>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-
-
- .syntax unified
- .text
- .code 16
-
-
-@ {long long quotient, long long remainder}
-@ __aeabi_ldivmod(long long numerator, long long denominator)
-@
-@ Divide r1:r0 by r3:r2 and return the quotient in r1:r0 and the remainder in
-@ r3:r2 (all signed)
-@
- .thumb_func
- .section .text.__aeabi_ldivmod
- .global __aeabi_ldivmod
-__aeabi_ldivmod:
-
- cmp r1, #0
- bge L_num_pos
-
- push {r4, lr}
- movs r4, #0 @ num = -num
- rsbs r0, r0, #0
- sbcs r4, r1
- mov r1, r4
-
- cmp r3, #0
- bge L_neg_both
-
- movs r4, #0 @ den = -den
- rsbs r2, r2, #0
- sbcs r4, r3
- mov r3, r4
- bl __aeabi_uldivmod
- movs r4, #0 @ rem = -rem
- rsbs r2, r2, #0
- sbcs r4, r3
- mov r3, r4
- pop {r4, pc}
-
-L_neg_both:
- bl __aeabi_uldivmod
- movs r4, #0 @ quot = -quot
- rsbs r0, r0, #0
- sbcs r4, r1
- mov r1, r4
- movs r4, #0 @ rem = -rem
- rsbs r2, r2, #0
- sbcs r4, r3
- mov r3, r4
- pop {r4, pc}
-
-L_num_pos:
- cmp r3, #0
- bge __aeabi_uldivmod
-
- push {r4, lr}
- movs r4, #0 @ den = -den
- rsbs r2, r2, #0
- sbcs r4, r3
- mov r3, r4
- bl __aeabi_uldivmod
- movs r4, #0 @ quot = -quot
- rsbs r0, r0, #0
- sbcs r4, r1
- mov r1, r4
- pop {r4, pc}