summaryrefslogtreecommitdiff
path: root/sysdeps/arm/submul_1.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/arm/submul_1.S')
-rw-r--r--sysdeps/arm/submul_1.S20
1 files changed, 7 insertions, 13 deletions
diff --git a/sysdeps/arm/submul_1.S b/sysdeps/arm/submul_1.S
index b4a3c97945..e3c7f41b7f 100644
--- a/sysdeps/arm/submul_1.S
+++ b/sysdeps/arm/submul_1.S
@@ -1,5 +1,5 @@
/* mpn_submul_1 -- multiply and subtract bignums.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Copyright (C) 2013-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -37,24 +37,19 @@ ENTRY (__mpn_submul_1)
cfi_rel_offset (r6, 8)
cfi_rel_offset (r7, 12)
- sfi_breg r1, \
- ldr r6, [\B], #4
- sfi_breg r0, \
- ldr r7, [\B]
+ ldr r6, [r1], #4
+ ldr r7, [r0]
mov r4, #0 /* init carry in */
b 1f
0:
- sfi_breg r1, \
- ldr r6, [\B], #4 /* load next ul */
+ ldr r6, [r1], #4 /* load next ul */
adds r5, r5, r4 /* (lpl, c) = lpl + cl */
adc r4, ip, #0 /* cl = hpl + c */
subs r5, r7, r5 /* (lpl, !c) = rl - lpl */
- sfi_breg r0, \
- ldr r7, [\B, #4] /* load next rl */
+ ldr r7, [r0, #4] /* load next rl */
it cc
addcc r4, r4, #1 /* cl += !c */
- sfi_breg r0, \
- str r5, [\B], #4
+ str r5, [r0], #4
1:
umull r5, ip, r6, r3 /* (hpl, lpl) = ul * vl */
subs r2, r2, #1
@@ -63,8 +58,7 @@ ENTRY (__mpn_submul_1)
adds r5, r5, r4 /* (lpl, c) = lpl + cl */
adc r4, ip, #0 /* cl = hpl + c */
subs r5, r7, r5 /* (lpl, !c) = rl - lpl */
- sfi_breg r0, \
- str r5, [\B], #4
+ str r5, [r0], #4
it cc
addcc r4, r4, #1 /* cl += !c */
mov r0, r4 /* return carry */