Home | History | Annotate | Line # | Download | only in v8
sparc_v8.S revision 1.1
      1 /*
      2  * GCC generated output for sparc v8 mul/div/rem operations.
      3  * Included in the sparc_v8.so shared library for use on sparc v8
      4  * machines instead of the libc.so versions.
      5  */
      6 	.file	"sparc_v8.S"
      7 .section	".text"
      8 
      9 /*--- .umul ---*/
     10 	.align 4
     11 	.global .umul
     12 	.type	 .umul,@function
     13 	.proc	016
     14 
     15 .umul:
     16 	!#PROLOGUE# 0
     17 	!#PROLOGUE# 1
     18 	retl
     19 	 umul	%o0, %o1, %o0
     20 .LLfe1:
     21 	.size	 .umul,.LLfe1-.umul
     22 
     23 /*--- .mul ---*/
     24 	.align 4
     25 	.global .mul
     26 	.type	 .mul,@function
     27 	.proc	04
     28 .mul:
     29 	!#PROLOGUE# 0
     30 	!#PROLOGUE# 1
     31 	retl
     32 	 smul	%o0, %o1, %o0
     33 .LLfe2:
     34 	.size	 .mul,.LLfe2-.mul
     35 
     36 /*--- .udiv ---*/
     37 	.align 4
     38 	.global .udiv
     39 	.type	 .udiv,@function
     40 	.proc	016
     41 .udiv:
     42 	wr	%g0, 0, %y
     43 	nop; nop; nop
     44 	retl
     45 	 udiv	%o0, %o1, %o0
     46 .LLfe3:
     47 	.size	 .udiv,.LLfe3-.udiv
     48 
     49 /*--- .div ---*/
     50 	.align 4
     51 	.global .div
     52 	.type	 .div,@function
     53 	.proc	04
     54 
     55 .div:
     56 	sra	%o0, 31, %g2
     57 	wr	%g2, 0, %y
     58 	nop; nop; nop
     59 	retl
     60 	 sdiv	%o0, %o1, %o0
     61 .LLfe4:
     62 	.size	 .div,.LLfe4-.div
     63 
     64 /*--- .urem ---*/
     65 	.align 4
     66 	.global .urem
     67 	.type	 .urem,@function
     68 	.proc	016
     69 .urem:
     70 	wr	%g0, %g0, %y
     71 	nop; nop; nop
     72 	udiv	%o0, %o1, %g2
     73 	smul	%g2, %o1, %g2
     74 	retl
     75 	 sub	%o0, %g2, %o0
     76 .LLfe5:
     77 	.size	 .urem,.LLfe5-.urem
     78 
     79 /*--- .rem ---*/
     80 	.align 4
     81 	.global .rem
     82 	.type	 .rem,@function
     83 	.proc	04
     84 .rem:
     85 	sra	%o0, 31, %g3
     86 	wr	%g3, 0, %y
     87 	nop; nop; nop
     88 	sdiv	%o0, %o1, %g2
     89 	smul	%g2, %o1, %g2
     90 	retl
     91 	 sub	%o0, %g2, %o0
     92 .LLfe6:
     93 	.size	 .rem,.LLfe6-.rem
     94 	!.ident	"GCC: (GNU) 2.95.3 20010315 (release) (NetBSD nb3)"
     95