1 1.7 uebayasi /* $NetBSD: fpsetsticky.S,v 1.7 2014/05/23 02:34:19 uebayasi Exp $ */ 2 1.5 perry 3 1.1 mycroft /* 4 1.1 mycroft * Written by Charles M. Hannum, Apr 9, 1995 5 1.1 mycroft * Public domain. 6 1.1 mycroft */ 7 1.1 mycroft 8 1.1 mycroft #include <machine/asm.h> 9 1.1 mycroft 10 1.6 thorpej #ifdef WEAK_ALIAS 11 1.6 thorpej WEAK_ALIAS(fpsetsticky, _fpsetsticky) 12 1.6 thorpej ENTRY(_fpsetsticky) 13 1.6 thorpej #else 14 1.1 mycroft ENTRY(fpsetsticky) 15 1.6 thorpej #endif 16 1.3 mycroft subl $28,%esp 17 1.1 mycroft 18 1.3 mycroft fnstenv (%esp) 19 1.3 mycroft movl 4(%esp),%eax 20 1.1 mycroft movl %eax,%edx 21 1.1 mycroft 22 1.1 mycroft andl $63,%eax 23 1.1 mycroft 24 1.4 mycroft subl %eax,%edx 25 1.3 mycroft movl 32(%esp),%ecx 26 1.1 mycroft andl $63,%ecx 27 1.4 mycroft addl %ecx,%edx 28 1.3 mycroft movl %edx,4(%esp) 29 1.3 mycroft fldenv (%esp) 30 1.1 mycroft 31 1.3 mycroft addl $28,%esp 32 1.1 mycroft ret 33 1.7 uebayasi #ifdef WEAK_ALIAS 34 1.7 uebayasi END(_fpsetsticky) 35 1.7 uebayasi #else 36 1.7 uebayasi END(fpsetsticky) 37 1.7 uebayasi #endif 38