repo.or.cz
/
musl.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
remove LFS64 symbol aliases; replace with dynamic linker remapping
[musl.git]
/
src
/
math
/
x86_64
/
fabs.c
blob
1656247770f778aba56e0620adbc3e8241a3e8ea
1
#include <math.h>
2
3
double
fabs
(
double
x
)
4
{
5
double
t
;
6
__asm__
(
"pcmpeqd %0, %0"
:
"=x"
(
t
));
// t = ~0
7
__asm__
(
"psrlq $1, %0"
:
"+x"
(
t
));
// t >>= 1
8
__asm__
(
"andps %1, %0"
:
"+x"
(
x
) :
"x"
(
t
));
// x &= t
9
return
x
;
10
}