1*0a6a1f1dSLionel Sambuc/* $NetBSD: fpsetsticky.S,v 1.7 2014/05/23 02:34:19 uebayasi Exp $ */ 22fe8fb19SBen Gras 32fe8fb19SBen Gras/* 42fe8fb19SBen Gras * Written by Charles M. Hannum, Apr 9, 1995 52fe8fb19SBen Gras * Public domain. 62fe8fb19SBen Gras */ 72fe8fb19SBen Gras 82fe8fb19SBen Gras#include <machine/asm.h> 92fe8fb19SBen Gras 102fe8fb19SBen Gras#ifdef WEAK_ALIAS 112fe8fb19SBen GrasWEAK_ALIAS(fpsetsticky, _fpsetsticky) 122fe8fb19SBen GrasENTRY(_fpsetsticky) 132fe8fb19SBen Gras#else 142fe8fb19SBen GrasENTRY(fpsetsticky) 152fe8fb19SBen Gras#endif 162fe8fb19SBen Gras subl $28,%esp 172fe8fb19SBen Gras 182fe8fb19SBen Gras fnstenv (%esp) 192fe8fb19SBen Gras movl 4(%esp),%eax 202fe8fb19SBen Gras movl %eax,%edx 212fe8fb19SBen Gras 222fe8fb19SBen Gras andl $63,%eax 232fe8fb19SBen Gras 242fe8fb19SBen Gras subl %eax,%edx 252fe8fb19SBen Gras movl 32(%esp),%ecx 262fe8fb19SBen Gras andl $63,%ecx 272fe8fb19SBen Gras addl %ecx,%edx 282fe8fb19SBen Gras movl %edx,4(%esp) 292fe8fb19SBen Gras fldenv (%esp) 302fe8fb19SBen Gras 312fe8fb19SBen Gras addl $28,%esp 322fe8fb19SBen Gras ret 33*0a6a1f1dSLionel Sambuc#ifdef WEAK_ALIAS 34*0a6a1f1dSLionel SambucEND(_fpsetsticky) 35*0a6a1f1dSLionel Sambuc#else 36*0a6a1f1dSLionel SambucEND(fpsetsticky) 37*0a6a1f1dSLionel Sambuc#endif 38