diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-03-18 17:09:34 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-03-18 17:09:34 -0400 |
commit | b935147761d1770bb115f09f8c28ddb4d36e1236 (patch) | |
tree | b96d46d662c717fffb0f0364e3cd07f009a06af1 /src | |
parent | 8d9e948652eb8381f1f376cbd0c9bc5e2947d150 (diff) | |
download | musl-b935147761d1770bb115f09f8c28ddb4d36e1236.tar.gz musl-b935147761d1770bb115f09f8c28ddb4d36e1236.tar.xz musl-b935147761d1770bb115f09f8c28ddb4d36e1236.zip |
assembly optimizations for fmod/remainder functions
Diffstat (limited to 'src')
-rw-r--r-- | src/math/i386/fmod.s | 11 | ||||
-rw-r--r-- | src/math/i386/fmodf.s | 11 | ||||
-rw-r--r-- | src/math/i386/fmodl.s | 11 | ||||
-rw-r--r-- | src/math/i386/remainder.s | 11 | ||||
-rw-r--r-- | src/math/i386/remainderf.s | 11 | ||||
-rw-r--r-- | src/math/i386/remainderl.s | 11 | ||||
-rw-r--r-- | src/math/x86_64/fmodl.s | 11 | ||||
-rw-r--r-- | src/math/x86_64/remainderl.s | 11 |
8 files changed, 88 insertions, 0 deletions
diff --git a/src/math/i386/fmod.s b/src/math/i386/fmod.s new file mode 100644 index 00000000..069fbfe7 --- /dev/null +++ b/src/math/i386/fmod.s @@ -0,0 +1,11 @@ +.global fmod +.type fmod,@function +fmod: + fldl 12(%esp) + fldl 4(%esp) +1: fprem + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/i386/fmodf.s b/src/math/i386/fmodf.s new file mode 100644 index 00000000..d99c80f2 --- /dev/null +++ b/src/math/i386/fmodf.s @@ -0,0 +1,11 @@ +.global fmodf +.type fmodf,@function +fmodf: + flds 8(%esp) + flds 4(%esp) +1: fprem + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/i386/fmodl.s b/src/math/i386/fmodl.s new file mode 100644 index 00000000..7e07e7b5 --- /dev/null +++ b/src/math/i386/fmodl.s @@ -0,0 +1,11 @@ +.global fmodl +.type fmodl,@function +fmodl: + fldt 16(%esp) + fldt 4(%esp) +1: fprem + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/i386/remainder.s b/src/math/i386/remainder.s new file mode 100644 index 00000000..47ee3402 --- /dev/null +++ b/src/math/i386/remainder.s @@ -0,0 +1,11 @@ +.global remainder +.type remainder,@function +remainder: + fldl 12(%esp) + fldl 4(%esp) +1: fprem1 + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/i386/remainderf.s b/src/math/i386/remainderf.s new file mode 100644 index 00000000..5b5fc235 --- /dev/null +++ b/src/math/i386/remainderf.s @@ -0,0 +1,11 @@ +.global remainderf +.type remainderf,@function +remainderf: + flds 8(%esp) + flds 4(%esp) +1: fprem1 + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/i386/remainderl.s b/src/math/i386/remainderl.s new file mode 100644 index 00000000..00978729 --- /dev/null +++ b/src/math/i386/remainderl.s @@ -0,0 +1,11 @@ +.global remainderl +.type remainderl,@function +remainderl: + fldt 16(%esp) + fldt 4(%esp) +1: fprem1 + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/x86_64/fmodl.s b/src/math/x86_64/fmodl.s new file mode 100644 index 00000000..ca81e60c --- /dev/null +++ b/src/math/x86_64/fmodl.s @@ -0,0 +1,11 @@ +.global fmodl +.type fmodl,@function +fmodl: + fldt 24(%rsp) + fldt 8(%rsp) +1: fprem + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret diff --git a/src/math/x86_64/remainderl.s b/src/math/x86_64/remainderl.s new file mode 100644 index 00000000..75c12374 --- /dev/null +++ b/src/math/x86_64/remainderl.s @@ -0,0 +1,11 @@ +.global remainderl +.type remainderl,@function +remainderl: + fldt 24(%rsp) + fldt 8(%rsp) +1: fprem1 + fstsw %ax + sahf + jp 1b + fstp %st(1) + ret |