Something went wrong. Try again.
Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586/* * Adapted from original written by J.T. Conklin <jtc@netbsd.org>. * Public domain. * * by Ian Ollmann, Apple Computer 2006 */
.text.align 4.globl _fmodf_fmodf:#if defined __x86_64__ #define xf -4(%rsp) #define yf -8(%rsp) movss %xmm1, yf movss %xmm0, xf#elif defined __i386__ #define xf 4(%esp) #define yf 8(%esp)#else #error "This implementation supports only 32- and 64-bit intel."#endif flds yf flds xf1: fprem fnstsw %ax btw $10, %ax jc 1b fstp %st(1)#if defined __x86_64__ fstps xf movss xf, %xmm0#endif ret .text.align 4.globl _fmod_fmod:#if defined __x86_64__ #define x -8(%rsp) #define y -16(%rsp) movsd %xmm1, y movsd %xmm0, x#elif defined __i386__ #define x 4(%esp) #define y 12(%esp)#else #error "This implementation supports only 32- and 64-bit intel."#endif fldl y fldl x1: fprem fnstsw %ax btw $10, %ax jc 1b fstp %st(1)#if defined __x86_64__ fstpl x movsd x, %xmm0#endif ret .text.align 4.globl _fmodl_fmodl:#if defined __x86_64__ #define xl 8(%rsp) #define yl 24(%rsp)#elif defined __i386__ #define xl 4(%esp) #define yl 20(%esp)#else #error "This implementation supports only 32- and 64-bit intel."#endif fldt yl fldt xl1: fprem fstsw %ax btw $10,%ax jc 1b fstp %st(1) ret