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

Packit 6c4009
/*
Packit 6c4009
 * Sparc v9 has divide.
Packit 6c4009
 * As divx takes 68 cycles and sdivcc only 36,
Packit 6c4009
 * we use sdivcc 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(.div)
Packit 6c4009
Packit 6c4009
	sra		%o0, 31, %o2
Packit 6c4009
	wr		%o2, 0, %y
Packit 6c4009
	sdivcc		%o0, %o1, %o0
Packit 6c4009
	xnor		%o0, %g0, %o2
Packit 6c4009
	retl
Packit 6c4009
	 movvs		%icc, %o2, %o0
Packit 6c4009
Packit 6c4009
END(.div)