about summary refs log tree commit diff
path: root/src/linux/brk.c
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2014-11-05 21:40:29 +0100
committerRich Felker <dalias@aerifal.cx>2015-03-30 01:41:32 -0400
commit8c245bf2725f3171ee8f58dab7169e5d682de026 (patch)
treeae92d5d0536aa3b15adb96d62b4487488998e5a8 /src/linux/brk.c
parente48fff8d338d85616dc650cc8b4dd5ae00083da1 (diff)
downloadmusl-8c245bf2725f3171ee8f58dab7169e5d682de026.tar.gz
musl-8c245bf2725f3171ee8f58dab7169e5d682de026.tar.xz
musl-8c245bf2725f3171ee8f58dab7169e5d682de026.zip
math: fix x86_64 and x32 asm not to use sahf instruction
Some early x86_64 cpus (released before 2006) did not support sahf/lahf
instructions so they should be avoided (intel manual says they are only
supported if CPUID.80000001H:ECX.LAHF-SAHF[bit 0] = 1).

The workaround simplifies exp2l and expm1l because fucomip can be
used instead of the fucomp;fnstsw;sahf sequence copied from i386.

In fmodl and remainderl sahf is replaced by a simple bit test.

(cherry picked from commit a732e80d33b4fd6f510f7cec4f5573ef5d89bc4e)
Diffstat (limited to 'src/linux/brk.c')
0 files changed, 0 insertions, 0 deletions