about summary refs log tree commit diff
path: root/src/math/x86_64/fabs.s
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-04-29 20:31:46 -0400
committerRich Felker <dalias@aerifal.cx>2012-04-29 20:31:46 -0400
commit0e4a995213620630005a14f32c089879f7c0315e (patch)
treee5c584b6ceba8e24c312c67b82d59942d2bdc568 /src/math/x86_64/fabs.s
parentaa859403886ed4b50da36e7fe101f7431856c004 (diff)
downloadmusl-0e4a995213620630005a14f32c089879f7c0315e.tar.gz
musl-0e4a995213620630005a14f32c089879f7c0315e.tar.xz
musl-0e4a995213620630005a14f32c089879f7c0315e.zip
new math asm (abs/rounding) for x86_64
untested
Diffstat (limited to 'src/math/x86_64/fabs.s')
-rw-r--r--src/math/x86_64/fabs.s9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/math/x86_64/fabs.s b/src/math/x86_64/fabs.s
new file mode 100644
index 00000000..5715005e
--- /dev/null
+++ b/src/math/x86_64/fabs.s
@@ -0,0 +1,9 @@
+.global fabs
+.type fabs,@function
+fabs:
+	xor %eax,%eax
+	dec %rax
+	shr %rax
+	movq %rax,%xmm1
+	andpd %xmm1,%xmm0
+	ret