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 14.umul: 15 !#PROLOGUE# 0 16 !#PROLOGUE# 1 17 retl 18 umul %o0, %o1, %o0 19.LLfe1: 20 .size .umul,.LLfe1-.umul 21 22/*--- .mul ---*/ 23 .align 4 24 .global .mul 25 .type .mul,@function 26.mul: 27 !#PROLOGUE# 0 28 !#PROLOGUE# 1 29 retl 30 smul %o0, %o1, %o0 31.LLfe2: 32 .size .mul,.LLfe2-.mul 33 34/*--- .udiv ---*/ 35 .align 4 36 .global .udiv 37 .type .udiv,@function 38.udiv: 39 wr %g0, 0, %y 40 nop; nop; nop 41 retl 42 udiv %o0, %o1, %o0 43.LLfe3: 44 .size .udiv,.LLfe3-.udiv 45 46/*--- .div ---*/ 47 .align 4 48 .global .div 49 .type .div,@function 50.div: 51 sra %o0, 31, %g2 52 wr %g2, 0, %y 53 nop; nop; nop 54 retl 55 sdiv %o0, %o1, %o0 56.LLfe4: 57 .size .div,.LLfe4-.div 58 59/*--- .urem ---*/ 60 .align 4 61 .global .urem 62 .type .urem,@function 63.urem: 64 wr %g0, %g0, %y 65 nop; nop; nop 66 udiv %o0, %o1, %g2 67 smul %g2, %o1, %g2 68 retl 69 sub %o0, %g2, %o0 70.LLfe5: 71 .size .urem,.LLfe5-.urem 72 73/*--- .rem ---*/ 74 .align 4 75 .global .rem 76 .type .rem,@function 77.rem: 78 sra %o0, 31, %g3 79 wr %g3, 0, %y 80 nop; nop; nop 81 sdiv %o0, %o1, %g2 82 smul %g2, %o1, %g2 83 retl 84 sub %o0, %g2, %o0 85.LLfe6: 86 .size .rem,.LLfe6-.rem 87 !.ident "GCC: (GNU) 2.95.3 20010315 (release) (NetBSD nb3)" 88