summaryrefslogtreecommitdiffstats
path: root/sys/fs/unionfs/union_vnops.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2008-02-25 18:28:58 +0000
committerbde <bde@FreeBSD.org>2008-02-25 18:28:58 +0000
commit49cb35343eeaa02f4e480228eb7148a3305d3b70 (patch)
tree153e811e6334da38c490b98538476e022b0711ec /sys/fs/unionfs/union_vnops.c
parentb9adbf63f9fc44d962bc6da15d5b1fc48c08afb1 (diff)
downloadFreeBSD-src-49cb35343eeaa02f4e480228eb7148a3305d3b70.zip
FreeBSD-src-49cb35343eeaa02f4e480228eb7148a3305d3b70.tar.gz
Use a temporary array instead of the arg array y[] for calling
__kernel_rem_pio2(). This simplifies analysis of aliasing and thus results in better code for the usual case where __kernel_rem_pio2() is not called. In particular, when __ieee854_rem_pio2[f]() is inlined, it normally results in y[] being returned in registers. I couldn't get this to work using the restrict qualifier. In float precision, this saves 2-3% in most cases on amd64 and i386 (A64) despite it not being inlined in float precision yet. In double precision, this has high variance, with an average gain of 2% for amd64 and 0.7% for i386 (but a much larger gain for usual cases) and some losses.
Diffstat (limited to 'sys/fs/unionfs/union_vnops.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud