Return to fpsetround.S CVS log | Up to [cvs.NetBSD.org] / src / lib / libc / arch / x86_64 / gen |
Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. |
version 1.3, 2002/06/12 19:17:22 | version 1.4, 2011/09/30 17:42:34 | ||
---|---|---|---|
|
|
||
#else | #else | ||
ENTRY(fpsetround) | ENTRY(fpsetround) | ||
#endif | #endif | ||
fnstcw -4(%rsp) | |||
stmxcsr -8(%rsp) | |||
andl $3,%edi | |||
movl -4(%rsp),%edx | fnstcw -4(%rsp) | ||
rorl $10,%edx | movl -4(%rsp), %edx | ||
movl %edx,%eax | movl %edx, %eax | ||
andl $3,%eax | andl $0x00000c00, %eax | ||
andl $0xfffff3ff, %edx | |||
orl %edi, %edx | |||
movl %edx, -4(%rsp) | |||
fldcw -4(%rsp) | |||
andl $~3,%edx | stmxcsr -4(%rsp) | ||
movl -4(%rsp), %edx | |||
andl $0xffff9fff, %edx | |||
sall $3, %edi | |||
orl %edi,%edx | orl %edi,%edx | ||
roll $10,%edx | |||
movl %edx,-4(%rsp) | movl %edx,-4(%rsp) | ||
ldmxcsr -4(%rsp) | |||
movl -8(%rsp),%edx | |||
rorl $13,%edx | |||
andl $~3,%edx | |||
orl %edi,%edx | |||
roll $13,%edx | |||
movl %edx,-8(%rsp) | |||
ldmxcsr -8(%rsp) | |||
fldcw -4(%rsp) | |||
ret | ret |