diff options
author | David S. Miller <davem@davemloft.net> | 2012-05-15 22:23:01 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-15 22:23:47 +0400 |
commit | 1b35a57b1c1781f0fc8fc554f732b3a5408c5244 (patch) | |
tree | 80e5616798e0dc5ec138f020e6aa9ae482378462 /arch/sparc/lib/divdi3.S | |
parent | 2119ff6d2bc0dd6a97de1632e50cd7936049738c (diff) | |
download | linux-1b35a57b1c1781f0fc8fc554f732b3a5408c5244.tar.xz |
sparc32: Kill off software 32-bit multiply/divide routines.
For the explicit calls to .udiv/.umul in assembler, I made a
mechanical (read as: safe) transformation. I didn't attempt
to make any simplifications.
In particular, __ndelay and __udelay can be simplified significantly.
Some of the %y reads are unnecessary and these routines have no need
any longer for allocating a register window, they can be leaf
functions.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/lib/divdi3.S')
-rw-r--r-- | arch/sparc/lib/divdi3.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/lib/divdi3.S b/arch/sparc/lib/divdi3.S index d74bc0925f2d..9614b48b6ef8 100644 --- a/arch/sparc/lib/divdi3.S +++ b/arch/sparc/lib/divdi3.S @@ -19,7 +19,6 @@ Boston, MA 02111-1307, USA. */ .text .align 4 - .global .udiv .globl __divdi3 __divdi3: save %sp,-104,%sp @@ -83,8 +82,9 @@ __divdi3: bne .LL85 mov %i0,%o2 mov 1,%o0 - call .udiv,0 mov 0,%o1 + wr %g0, 0, %y + udiv %o0, %o1, %o0 mov %o0,%o4 mov %i0,%o2 .LL85: |