new math asm (abs/rounding) for x86_64
untested
This commit is contained in:
parent
aa85940388
commit
0e4a995213
6 changed files with 36 additions and 0 deletions
9
src/math/x86_64/fabs.s
Normal file
9
src/math/x86_64/fabs.s
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
.global fabs
|
||||
.type fabs,@function
|
||||
fabs:
|
||||
xor %eax,%eax
|
||||
dec %rax
|
||||
shr %rax
|
||||
movq %rax,%xmm1
|
||||
andpd %xmm1,%xmm0
|
||||
ret
|
||||
7
src/math/x86_64/fabsf.s
Normal file
7
src/math/x86_64/fabsf.s
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
.global fabsf
|
||||
.type fabsf,@function
|
||||
fabsf:
|
||||
mov $0x7fffffff,%eax
|
||||
movq %rax,%xmm1
|
||||
andps %xmm1,%xmm0
|
||||
ret
|
||||
5
src/math/x86_64/llrint.s
Normal file
5
src/math/x86_64/llrint.s
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
.global llrint
|
||||
.type llrint,@function
|
||||
llrint:
|
||||
cvtsd2si @xmm0,%rax
|
||||
ret
|
||||
5
src/math/x86_64/llrintf.s
Normal file
5
src/math/x86_64/llrintf.s
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
.global llrintf
|
||||
.type llrintf,@function
|
||||
llrintf:
|
||||
cvtss2si @xmm0,%rax
|
||||
ret
|
||||
5
src/math/x86_64/lrint.s
Normal file
5
src/math/x86_64/lrint.s
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
.global lrint
|
||||
.type lrint,@function
|
||||
lrint:
|
||||
cvtsd2si @xmm0,%rax
|
||||
ret
|
||||
5
src/math/x86_64/lrintf.s
Normal file
5
src/math/x86_64/lrintf.s
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
.global lrintf
|
||||
.type lrintf,@function
|
||||
lrintf:
|
||||
cvtss2si @xmm0,%rax
|
||||
ret
|
||||
Loading…
Add table
Add a link
Reference in a new issue