/* Set 80387 floating point hardware rounding precision */ .file "setprec.387" .version "01.01" .text .align 16 .globl sprecf sprecf: pushl %ebp movl %esp,%ebp pushl %eax subl $4,%esp fstcw (%esp) fwait movl (%esp),%eax andl $0xfcff,%eax movl %eax,(%esp) fldcw (%esp) popl %eax popl %eax leave ret .Lfe1: .size sprecf,.Lfe1-sprecf .align 16 .globl dprecf dprecf: pushl %ebp movl %esp,%ebp pushl %eax subl $4,%esp fstcw (%esp) fwait movl (%esp),%eax andl $0xfcff,%eax /* trap on overflow */ /* andl $0xfcf7,%eax */ orl $0x200,%eax movl %eax,(%esp) fldcw (%esp) popl %eax popl %eax leave ret .Lfe2: .size dprecf,.Lfe2-dprecf .align 16 .globl ldprecf ldprecf: pushl %ebp movl %esp,%ebp pushl %eax subl $4,%esp fstcw (%esp) fwait movl (%esp),%eax orl $0x300,%eax movl %eax,(%esp) fldcw (%esp) popl %eax popl %eax leave ret .Lfe3: .size ldprecf,.Lfe3-ldprecf .align 16 .globl getprec getprec: pushl %ebp movl %esp,%ebp subl $4,%esp fstcw (%esp) fwait movl (%esp),%eax leave ret .Lfe4: .size getprec,.Lfe4-getprec