1*0d34bfa2Suebayasi/* $NetBSD: fpsetprec.S,v 1.2 2014/05/23 02:34:19 uebayasi Exp $ */ 22587e6e4Schristos 32587e6e4Schristos/* 42587e6e4Schristos * Written by Charles M. Hannum, Apr 9, 1995 52587e6e4Schristos * Public domain. 62587e6e4Schristos */ 72587e6e4Schristos 82587e6e4Schristos#include <machine/asm.h> 92587e6e4Schristos 102587e6e4Schristos#ifdef WEAK_ALIAS 112587e6e4SchristosWEAK_ALIAS(fpsetprec, _fpsetprec) 122587e6e4SchristosENTRY(_fpsetprec) 132587e6e4Schristos#else 142587e6e4SchristosENTRY(fpsetprec) 152587e6e4Schristos#endif 162587e6e4Schristos subl $4,%esp 172587e6e4Schristos 182587e6e4Schristos fnstcw (%esp) 192587e6e4Schristos movl (%esp),%eax 202587e6e4Schristos 212587e6e4Schristos rorl $8,%eax 222587e6e4Schristos movl %eax,%edx 232587e6e4Schristos andl $3,%eax 242587e6e4Schristos 252587e6e4Schristos subl %eax,%edx 262587e6e4Schristos movl 8(%esp),%ecx 272587e6e4Schristos andl $3,%ecx 282587e6e4Schristos orl %ecx,%edx 292587e6e4Schristos roll $8,%edx 302587e6e4Schristos movl %edx,(%esp) 312587e6e4Schristos fldcw (%esp) 322587e6e4Schristos 332587e6e4Schristos addl $4,%esp 342587e6e4Schristos ret 35*0d34bfa2Suebayasi#ifdef WEAK_ALIAS 36*0d34bfa2SuebayasiEND(_fpsetprec) 37*0d34bfa2Suebayasi#else 38*0d34bfa2SuebayasiEND(fpsetprec) 39*0d34bfa2Suebayasi#endif 40