aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/submul_1.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/submul_1.S')
-rw-r--r--sysdeps/powerpc/submul_1.S42
1 files changed, 21 insertions, 21 deletions
diff --git a/sysdeps/powerpc/submul_1.S b/sysdeps/powerpc/submul_1.S
index 80da8ec8c1..d9472dddbe 100644
--- a/sysdeps/powerpc/submul_1.S
+++ b/sysdeps/powerpc/submul_1.S
@@ -1,5 +1,5 @@
/* Multiply a limb vector by a single limb, for PowerPC.
- Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 1997, 1999 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
@@ -24,29 +24,29 @@
Calculate res-s1*s2 and put result back in res; return carry. */
ENTRY(__mpn_submul_1)
- mtctr %r5
-
- lwz %r0,0(%r4)
- mullw %r7,%r0,%r6
- mulhwu %r10,%r0,%r6
- lwz %r9,0(%r3)
- subf %r8,%r7,%r9
- addc %r7,%r7,%r8 # invert cy (r7 is junk)
- addi %r3,%r3,-4 # adjust res_ptr
+ mtctr r5
+
+ lwz r0,0(r4)
+ mullw r7,r0,r6
+ mulhwu r10,r0,r6
+ lwz r9,0(r3)
+ subf r8,r7,r9
+ addc r7,r7,r8 # invert cy (r7 is junk)
+ addi r3,r3,-4 # adjust res_ptr
bdz 1f
-0: lwzu %r0,4(%r4)
- stwu %r8,4(%r3)
- mullw %r8,%r0,%r6
- adde %r7,%r8,%r10
- mulhwu %r10,%r0,%r6
- lwz %r9,4(%r3)
- addze %r10,%r10
- subf %r8,%r7,%r9
- addc %r7,%r7,%r8 # invert cy (r7 is junk)
+0: lwzu r0,4(r4)
+ stwu r8,4(r3)
+ mullw r8,r0,r6
+ adde r7,r8,r10
+ mulhwu r10,r0,r6
+ lwz r9,4(r3)
+ addze r10,r10
+ subf r8,r7,r9
+ addc r7,r7,r8 # invert cy (r7 is junk)
bdnz 0b
-1: stw %r8,4(%r3)
- addze %r3,%r10
+1: stw r8,4(r3)
+ addze r3,r10
blr
END(__mpn_submul_1)