mirror of git://git.musl-libc.org/musl
fix x86_64 fe[gs]etround, analogous to nsz's x86 changes
This commit is contained in:
parent
d5e576c752
commit
9cb6878e74
|
@ -32,18 +32,19 @@ feraiseexcept:
|
|||
.global fesetround
|
||||
.type fesetround,@function
|
||||
fesetround:
|
||||
push %rax
|
||||
xor %eax,%eax
|
||||
sub $32,%rsp
|
||||
fnstenv (%rsp)
|
||||
mov %edi,%ecx
|
||||
fnstcw (%rsp)
|
||||
andb $0xf3,1(%rsp)
|
||||
or %edi,(%rsp)
|
||||
fldenv (%rsp)
|
||||
or %ch,1(%rsp)
|
||||
fldcw (%rsp)
|
||||
stmxcsr (%rsp)
|
||||
shl $3,%edi
|
||||
shl $3,%ch
|
||||
andb $0x9f,1(%rsp)
|
||||
or %edi,(%rsp)
|
||||
or %ch,1(%rsp)
|
||||
ldmxcsr (%rsp)
|
||||
add $32,%rsp
|
||||
pop %rcx
|
||||
ret
|
||||
|
||||
.global fegetround
|
||||
|
@ -53,7 +54,7 @@ fegetround:
|
|||
stmxcsr (%rsp)
|
||||
pop %rax
|
||||
shr $3,%eax
|
||||
and $0xc,%ah
|
||||
and $0xc00,%eax
|
||||
ret
|
||||
|
||||
.global fegetenv
|
||||
|
|
Loading…
Reference in New Issue