1 1.2 uebayasi /* $NetBSD: fpsetprec.S,v 1.2 2014/05/23 02:34:19 uebayasi Exp $ */ 2 1.1 christos 3 1.1 christos /* 4 1.1 christos * Written by Charles M. Hannum, Apr 9, 1995 5 1.1 christos * Public domain. 6 1.1 christos */ 7 1.1 christos 8 1.1 christos #include <machine/asm.h> 9 1.1 christos 10 1.1 christos #ifdef WEAK_ALIAS 11 1.1 christos WEAK_ALIAS(fpsetprec, _fpsetprec) 12 1.1 christos ENTRY(_fpsetprec) 13 1.1 christos #else 14 1.1 christos ENTRY(fpsetprec) 15 1.1 christos #endif 16 1.1 christos subl $4,%esp 17 1.1 christos 18 1.1 christos fnstcw (%esp) 19 1.1 christos movl (%esp),%eax 20 1.1 christos 21 1.1 christos rorl $8,%eax 22 1.1 christos movl %eax,%edx 23 1.1 christos andl $3,%eax 24 1.1 christos 25 1.1 christos subl %eax,%edx 26 1.1 christos movl 8(%esp),%ecx 27 1.1 christos andl $3,%ecx 28 1.1 christos orl %ecx,%edx 29 1.1 christos roll $8,%edx 30 1.1 christos movl %edx,(%esp) 31 1.1 christos fldcw (%esp) 32 1.1 christos 33 1.1 christos addl $4,%esp 34 1.1 christos ret 35 1.2 uebayasi #ifdef WEAK_ALIAS 36 1.2 uebayasi END(_fpsetprec) 37 1.2 uebayasi #else 38 1.2 uebayasi END(fpsetprec) 39 1.2 uebayasi #endif 40