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