mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-03 04:01:43 +08:00
a10b6ad471
asm volatile ("movfcsr2gr $t0, $fcsr0" ::: "$t0"); asm volatile ("st.d $t0, %0" :"=m"(restore_fcsr)); generate to the following instructions with -Og flag: movfcsr2gr $t0, $zero addi.d $t0, $sp, 2047(0x7ff) addi.d $t0, $t0, 77(0x4d) st.w $t0, $t0, 0 fcsr0 register and restore_fcsr variable are both stored in t0 register. Change to: asm volatile ("movfcsr2gr %0, $fcsr0" :"=r"(restore_fcsr)); to avoid restore_fcsr address in t0. Comparing float value using memcmp because float value cannot be directly compared for equality. Put LOAD_REGISTER_FCSR and SAVE_REGISTER_FCC after LOAD_REGISTER_FLOAT. Some float instructions may change fcsr register. |
||
---|---|---|
.. | ||
bits | ||
fpu | ||
lp64 | ||
nofpu | ||
nptl | ||
sys | ||
__longjmp.S | ||
abort-instr.h | ||
bsd-_setjmp.c | ||
bsd-setjmp.c | ||
configure | ||
configure.ac | ||
cpu-tunables.c | ||
dl-audit-check.h | ||
dl-get-cpu-features.c | ||
dl-irel.h | ||
dl-link.sym | ||
dl-machine.h | ||
dl-tls.h | ||
dl-tlsdesc.h | ||
dl-tlsdesc.S | ||
dl-trampoline.h | ||
dl-trampoline.S | ||
dl-tunables.list | ||
e_sqrtl.c | ||
fpu_control.h | ||
hp-timing.h | ||
Implies | ||
jmpbuf-offsets.h | ||
jmpbuf-unwind.h | ||
ldsodefs.h | ||
libc-tls.c | ||
linkmap.h | ||
machine-gmon.h | ||
Makefile | ||
math_private.h | ||
math-use-builtins-ffs.h | ||
preconfigure | ||
preconfigure.ac | ||
setjmp.S | ||
sfp-machine.h | ||
sotruss-lib.c | ||
stackinfo.h | ||
start.S | ||
tininess.h | ||
tlsdesc.c | ||
tlsdesc.sym | ||
tst-audit.h | ||
tst-gnu2-tls2.h | ||
tst-hwcap-tunables.c |