tools/llvm: Do not build with symbols
[minix3.git] / lib / libc / arch / x86_64 / gen / fpsetprec.S
blob43410c61aa5e3858bd1283853c9d9a743a738ee1
1 /*      $NetBSD: fpsetprec.S,v 1.1 2011/03/26 19:51:42 christos Exp $   */
3 /*
4  * Written by Frank van der Linden at Wasabi Systems for NetBSD.
5  * Public domain.
6  */
8 #include <machine/asm.h>
11  * XXX set both the x87 control word and the SSE mxcsr register.
12  * Applications should only set exception and round flags
13  * via the fp*() interface, otherwise the status words
14  * will get our of sync.
15  */ 
18 #ifdef WEAK_ALIAS
19 WEAK_ALIAS(fpsetprec, _fpsetprec)
20 ENTRY(_fpsetprec)
21 #else
22 ENTRY(fpsetprec)
23 #endif
24         fnstcw  -4(%rsp)
26         andl    $3,%edi
28         movl    -4(%rsp),%edx
29         rorl    $8,%edx
30         movl    %edx,%eax
31         andl    $3,%eax
33         andl    $~3,%edx
34         orl     %edi,%edx
35         roll    $8,%edx
36         movl    %edx,-4(%rsp)
38         fldcw   -4(%rsp)
39         ret