1/* 2 * Based on the i387 version written by: 3 * J.T. Conklin (jtc@netbsd.org) 4 * Public domain. 5 */ 6 7#include <amd64/bsd_asm.h> 8 9//RCSID("from: FreeBSD: src/lib/msun/i387/e_remainder.S,v 1.8 2005/02/04 14:08:32 das Exp") 10//__FBSDID("$FreeBSD: src/lib/msun/amd64/e_remainder.S,v 1.2 2011/01/07 16:13:12 kib Exp $") 11 12ENTRY(remainder) 13 movsd %xmm0,-8(%rsp) 14 movsd %xmm1,-16(%rsp) 15 fldl -16(%rsp) 16 fldl -8(%rsp) 171: fprem1 18 fstsw %ax 19 testw $0x400,%ax 20 jne 1b 21 fstpl -8(%rsp) 22 movsd -8(%rsp),%xmm0 23 fstp %st 24 ret 25 26 27/* Enable stack protection */ 28#if defined(__linux__) && defined(__ELF__) 29.section .note.GNU-stack,"",%progbits 30#endif 31