math: new pow
authorSzabolcs Nagy <nsz@port70.net>
Sat, 1 Dec 2018 01:09:01 +0000 (01:09 +0000)
committerRich Felker <dalias@aerifal.cx>
Thu, 18 Apr 2019 03:45:40 +0000 (23:45 -0400)
commite4dd65305a046019123ab34ebdcbe761a3a719ca
tree292797b26ebc4794828c8f7fd46b9a7ef7374bc7
parente16f7b3c02e17d0ace779a11f0d53a9c05fdd434
math: new pow

from https://github.com/ARM-software/optimized-routines,
commit 04884bd04eac4b251da4026900010ea7d8850edc

The underflow exception is signaled if the result is in the subnormal
range even if the result is exact.

code size change: +3421 bytes.
benchmark on x86_64 before, after, speedup:

-Os:
   pow rthruput: 102.96 ns/call 33.38 ns/call 3.08x
    pow latency: 144.37 ns/call 54.75 ns/call 2.64x
-O3:
   pow rthruput:  98.91 ns/call 32.79 ns/call 3.02x
    pow latency: 138.74 ns/call 53.78 ns/call 2.58x
src/internal/libm.h
src/math/pow.c
src/math/pow_data.c [new file with mode: 0644]
src/math/pow_data.h [new file with mode: 0644]