Blame sysdeps/sparc/sparc32/sparcv9/urem.S

Packit 6c4009
/*
Packit 6c4009
 * Sparc v9 has divide.
Packit 6c4009
 * As divx takes 68 cycles and udiv only 37,
Packit 6c4009
 * we use udiv eventhough it is deprecated.
Packit 6c4009
 */
Packit 6c4009
Packit 6c4009
#include <sysdep.h>
Packit 6c4009
Packit 6c4009
	.text
Packit 6c4009
	.align		32
Packit 6c4009
ENTRY(.urem)
Packit 6c4009
Packit 6c4009
	wr		%g0, 0, %y
Packit 6c4009
	udiv		%o0, %o1, %o2
Packit 6c4009
	umul		%o2, %o1, %o2
Packit 6c4009
	retl
Packit 6c4009
	 sub		%o0, %o2, %o0
Packit 6c4009
Packit 6c4009
END(.urem)