• S
    math: new exp and exp2 · e16f7b3c
    Szabolcs Nagy 提交于
    from https://github.com/ARM-software/optimized-routines,
    commit 04884bd04eac4b251da4026900010ea7d8850edc
    
    TOINT_INTRINSICS and EXP_USE_TOINT_NARROW cases are unused.
    
    The underflow exception is signaled if the result is in the subnormal
    range even if the result is exact (e.g. exp2(-1023.0)).
    
    code size change: -1672 bytes.
    benchmark on x86_64 before, after, speedup:
    
    -Os:
       exp rthruput:  12.73 ns/call  6.68 ns/call 1.91x
        exp latency:  45.78 ns/call 21.79 ns/call 2.1x
      exp2 rthruput:   6.35 ns/call  5.26 ns/call 1.21x
       exp2 latency:  26.00 ns/call 16.58 ns/call 1.57x
    -O3:
       exp rthruput:  12.75 ns/call  6.73 ns/call 1.89x
        exp latency:  45.91 ns/call 21.80 ns/call 2.11x
      exp2 rthruput:   6.47 ns/call  5.40 ns/call 1.2x
       exp2 latency:  26.03 ns/call 16.54 ns/call 1.57x
    e16f7b3c
exp_data.c 6.2 KB