public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/20] x86-64: Add vector functions to libmvec microbenchmark
@ 2022-02-04  6:25 Sunil K Pandey
  2022-02-04  6:25 ` [PATCH 01/20] x86-64: Add vector atan/atanf " Sunil K Pandey
                   ` (19 more replies)
  0 siblings, 20 replies; 41+ messages in thread
From: Sunil K Pandey @ 2022-02-04  6:25 UTC (permalink / raw)
  To: libc-alpha

This patch set adds following vector functions in libmvec
microbenchmark infrastructure.

atan
atanf
asin
asinf
hypot
hypotf
exp2
exp2f
exp10
exp10f
cosh
coshf
expm1
expm1f
sinh
sinhf
cbrt
cbrtf
atan2
atan2f
log10
log10f
log2
log2f
log1p
log1pf
atanh
atanhf
acosh
acoshf
erf
erff
tanh
tanhf
asinh
asinhf
erfc
erfcf
tan
tanf

Input data set generated as follows.

libmvec-atan-inputs:
  arg1:
    90% Normal random distribution
    range: (-DBL_MAX, DBL_MAX)
    mean: 0.0
    sigma: 4.0
    10% uniform random distribution in range (-1.0e6, 1.0e6)
  arg2:
    90% Normal random distribution
    range: (-DBL_MAX, DBL_MAX)
    mean: 0.0
    sigma: 4.0
    10% uniform random distribution in range (-1.0e6, 1.0e6)

libmvec-atanf-inputs:
  arg1:
    90% Normal random distribution
    range: (-FLT_MAX, FLT_MAX)
    mean: 0.0f
    sigma: 4.0f
    10% uniform random distribution in range (-1.0e6f, 1.0e6f)
  arg2:
    90% Normal random distribution
    range: (-FLT_MAX, FLT_MAX)
    mean: 0.0f
    sigma: 4.0f
    10% uniform random distribution in range (-1.0e6f, 1.0e6f)

libmvec-asin-inputs:
  90% Normal random distribution
  range: (-1.0, 1.0)
  mean: 0.0
  sigma: 1.0
  10% uniform random distribution in range (-1.0, 1.0)

libmvec-asinf-inputs:
  90% Normal random distribution
  range: (-1.0f, 1.0f)
  mean: 0.0f
  sigma: 1.0f
  10% uniform random distribution in range (-1.0f, 1.0f)

libmvec-hypot-inputs:
  arg1:
    90% Normal random distribution
    range: (-DBL_MAX, DBL_MAX)
    mean: 0.0
    sigma: 10.0
    10% uniform random distribution in range (-1000.0, 1000.0)
  arg1:
    90% Normal random distribution
    range: (-DBL_MAX, DBL_MAX)
    mean: 0.0
    sigma: 10.0
    10% uniform random distribution in range (-1000.0, 1000.0)

libmvec-hypotf-inputs:
  arg1:
    90% Normal random distribution
    range: (-FLT_MAX, FLT_MAX)
    mean: 0.0f
    sigma: 10.0f
    10% uniform random distribution in range (-1000.0f, 1000.0f)
  arg2:
    90% Normal random distribution
    range: (-FLT_MAX, FLT_MAX)
    mean: 0.0f
    sigma: 10.0f
    10% uniform random distribution in range (-1000.0f, 1000.0f)

libmvec-exp2-inputs:
  90% Normal random distribution
  range: (-1022.0, 1024.0)
  mean: 0.0
  sigma: 16.0
  10% uniform random distribution in range (-1000.0, 1000.0)

libmvec-exp2f-inputs:
  90% Normal random distribution
  range: (-126.0f, 128.0f)
  mean: 0.0f
  sigma: 8.0f
  10% uniform random distribution in range (-100.0f, 100.0f)

libmvec-exp10-inputs:
  90% Normal random distribution
  range: (-307.0, 308.0)
  mean: 0.0
  sigma: 16.0
  10% uniform random distribution in range (-250.0, 250.0)

libmvec-exp10f-inputs:
  90% Normal random distribution
  range: (-37.0f, 38.0f)
  mean: 0.0f
  sigma: 8.0f
  10% uniform random distribution in range (-25.0f, 25.0f)

libmvec-cosh-inputs:
  90% Normal random distribution
  range: (-710.0, 710.0)
  mean: 0.0
  sigma: 32.0
  10% uniform random distribution in range (-500.0, 500.0)

libmvec-coshf-inputs:
  90% Normal random distribution
  range: (-89.0f, 89.0f)
  mean: 0.0f
  sigma: 16.0f
  10% uniform random distribution in range (-50.0f, 50.0f)

libmvec-expm1-inputs:
  90% Normal random distribution
  range: (-708.0, 709.0)
  mean: 0.0
  sigma: 16.0
  10% uniform random distribution in range (-500.0, 500.0)

libmvec-expm1f-inputs:
  90% Normal random distribution
  range: (-87.0f, 88.0f)
  mean: 0.0f
  sigma: 8.0f
  10% uniform random distribution in range (-50.0f, 50.0f)

libmvec-sinh-inputs:
  90% Normal random distribution
  range: (-710.0, 710.0)
  mean: 0.0
  sigma: 32.0
  10% uniform random distribution in range (-500.0, 500.0)

libmvec-sinhf-inputs:
  90% Normal random distribution
  range: (-89.0f, 89.0f)
  mean: 0.0f
  sigma: 16.0f
  10% uniform random distribution in range (-50.0f, 50.0f)

libmvec-cbrt-inputs:
  90% Normal random distribution
  range: (-DBL_MAX, DBL_MAX)
  mean: 0.0
  sigma: 10.0
  10% uniform random distribution in range (-1000.0, 1000.0)

libmvec-cbrtf-inputs:
  90% Normal random distribution
  range: (-FLT_MAX, FLT_MAX)
  mean: 0.0f
  sigma: 10.0f
  10% uniform random distribution in range (-1000.0f, 1000.0f)

libmvec-atan2-inputs:
  arg1:
    90% Normal random distribution
    range: (-DBL_MAX, DBL_MAX)
    mean: 0.0
    sigma: 4.0
    10% uniform random distribution in range (-1.0e6, 1.0e6)
  arg2:
    90% Normal random distribution
    range: (-DBL_MAX, DBL_MAX)
    mean: 0.0
    sigma: 4.0
    10% uniform random distribution in range (-1.0e6, 1.0e6)

libmvec-atan2f-inputs:
  arg1:
    90% Normal random distribution
    range: (-FLT_MAX, FLT_MAX)
    mean: 0.0f
    sigma: 4.0f
    10% uniform random distribution in range (-1.0e6f, 1.0e6f)
  arg2:
    90% Normal random distribution
    range: (-FLT_MAX, FLT_MAX)
    mean: 0.0f
    sigma: 4.0f
    10% uniform random distribution in range (-1.0e6f, 1.0e6f)

libmvec-log10-inputs:
  70% Normal random distribution
  range: (0.0, DBL_MAX)
  mean: 1.0
  sigma: 50.0
  30% uniform random distribution in range (0.0, 1.0e6)

libmvec-log10f-inputs:
  70% Normal random distribution
  range: (0.0f, FLT_MAX)
  mean: 1.0f
  sigma: 50.0f
  30% uniform random distribution in range (0.0f, 1.0e6f)

libmvec-log2-inputs:
  70% Normal random distribution
  range: (0.0, DBL_MAX)
  mean: 1.0
  sigma: 50.0
  30% uniform random distribution in range (0.0, 1.0e6)

libmvec-log2f-inputs:
  70% Normal random distribution
  range: (0.0f, FLT_MAX)
  mean: 1.0f
  sigma: 50.0f
  30% uniform random distribution in range (0.0f, 1.0e6f)

libmvec-log1p-inputs:
  70% Normal random distribution
  range: (-1.0, DBL_MAX)
  mean: 0.0
  sigma: 50.0
  30% uniform random distribution in range (-1.0, 1.0e6)

libmvec-log1pf-inputs:
  70% Normal random distribution
  range: (-1.0f, FLT_MAX)
  mean: 0.0f
  sigma: 50.0f
  30% uniform random distribution in range (-1.0f, 1.0e6f)

libmvec-atanh-inputs:
  90% Normal random distribution
  range: (-1.0, 1.0)
  mean: 0.0
  sigma: 1.0
  10% uniform random distribution in range (-1.0, 1.0)

libmvec-atanhf-inputs:
  90% Normal random distribution
  range: (-1.0f, 1.0f)
  mean: 0.0f
  sigma: 1.0f
  10% uniform random distribution in range (-1.0f, 1.0f)

libmvec-acosh-inputs:
  90% Normal random distribution
  range: (1.0, DBL_MAX)
  mean: 1.0
  sigma: 8.0
  10% uniform random distribution in range (1.0, 1.0e6)

libmvec-acoshf-inputs:
  90% Normal random distribution
  range: (1.0f, FLT_MAX)
  mean: 1.0f
  sigma: 4.0f
  10% uniform random distribution in range (1.0f, 1.0e6f)

libmvec-erf-inputs:
  90% Normal random distribution
  range: (-6.0, 6.0)
  mean: 0.0
  sigma: 1.0
  10% uniform random distribution in range (-5.9, 5.9)

libmvec-erff-inputs:
  90% Normal random distribution
  range: (-4.0f, 4.0f)
  mean: 0.0f
  sigma: 1.0f
  10% uniform random distribution in range (-3.9f, 3.9f)

libmvec-tanh-inputs:
  90% Normal random distribution
  range: (-19.0, 19.0)
  mean: 0.0
  sigma: 2.0
  10% uniform random distribution in range (-16.0, 16.0)

libmvec-tanhf-inputs:
  90% Normal random distribution
  range: (-10.0f, 10.0f)
  mean: 0.0f
  sigma: 2.0f
  10% uniform random distribution in range (-8.0f, 8.0f)

libmvec-asinh-inputs:
  90% Normal random distribution
  range: (-DBL_MAX, DBL_MAX)
  mean: 0.0
  sigma: 2.0
  10% uniform random distribution in range (-1.0e6, 1.0e6)

libmvec-asinhf-inputs:
  90% Normal random distribution
  range: (-FLT_MAX, FLT_MAX)
  mean: 0.0f
  sigma: 2.0f
  10% uniform random distribution in range (-1.0e6f, 1.0e6f)

libmvec-erfc-inputs:
  90% Normal random distribution
  range: (-6.0, 6.0)
  mean: 0.0
  sigma: 1.0
  10% uniform random distribution in range (-5.9, 5.9)

libmvec-erfcf-inputs:
  90% Normal random distribution
  range: (-4.0f, 4.0f)
  mean: 0.0f
  sigma: 1.0f
  10% uniform random distribution in range (-3.9f, 3.9f)

libmvec-tan-inputs:
  90% Normal random distribution
  range: (-DBL_MAX, DBL_MAX)
  mean: 0.0
  sigma: 5.0
  10% uniform random distribution in range (-1000.0, 1000.0)

libmvec-tanf-inputs:
  90% Normal random distribution
  range: (-FLT_MAX, FLT_MAX)
  mean: 0.0f
  sigma: 5.0f
  10% uniform random distribution in range (-1000.0f, 1000.0f)

Sunil K Pandey (20):
  x86-64: Add vector atan/atanf to libmvec microbenchmark
  x86-64: Add vector asin/asinf to libmvec microbenchmark
  x86-64: Add vector hypot/hypotf to libmvec microbenchmark
  x86-64: Add vector exp2/exp2f to libmvec microbenchmark
  x86-64: Add vector exp10/exp10f to libmvec microbenchmark
  x86-64: Add vector cosh/coshf to libmvec microbenchmark
  x86-64: Add vector expm1/expm1f to libmvec microbenchmark
  x86-64: Add vector sinh/sinhf to libmvec microbenchmark
  x86-64: Add vector cbrt/cbrtf to libmvec microbenchmark
  x86-64: Add vector atan2/atan2f to libmvec microbenchmark
  x86-64: Add vector log10/log10f to libmvec microbenchmark
  x86-64: Add vector log2/log2f to libmvec microbenchmark
  x86-64: Add vector log1p/log1pf to libmvec microbenchmark
  x86-64: Add vector atanh/atanhf to libmvec microbenchmark
  x86-64: Add vector acosh/acoshf to libmvec microbenchmark
  x86-64: Add vector erf/erff to libmvec microbenchmark
  x86-64: Add vector tanh/tanhf to libmvec microbenchmark
  x86-64: Add vector asinh/asinhf to libmvec microbenchmark
  x86-64: Add vector erfc/erfcf to libmvec microbenchmark
  x86-64: Add vector tan/tanf to libmvec microbenchmark

 sysdeps/x86_64/fpu/Makeconfig            |   20 +
 sysdeps/x86_64/fpu/libmvec-acosh-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-acoshf-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-asin-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-asinf-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-asinh-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-asinhf-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-atan-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-atan2-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-atan2f-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-atanf-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-atanh-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-atanhf-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-cbrt-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-cbrtf-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-cosh-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-coshf-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-erf-inputs    | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-erfc-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-erfcf-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-erff-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-exp10-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-exp10f-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-exp2-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-exp2f-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-expm1-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-expm1f-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-hypot-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-hypotf-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log10-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log10f-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log1p-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log1pf-inputs | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log2-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log2f-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-sinh-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-sinhf-inputs  | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-tan-inputs    | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-tanf-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-tanh-inputs   | 4100 ++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-tanhf-inputs  | 4100 ++++++++++++++++++++++
 41 files changed, 164020 insertions(+)
 create mode 100644 sysdeps/x86_64/fpu/libmvec-acosh-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-acoshf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-asin-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-asinf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-asinh-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-asinhf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-atan-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-atan2-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-atan2f-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-atanf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-atanh-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-atanhf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-cbrt-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-cbrtf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-cosh-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-coshf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-erf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-erfc-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-erfcf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-erff-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-exp10-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-exp10f-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-exp2-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-exp2f-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-expm1-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-expm1f-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-hypot-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-hypotf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log10-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log10f-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log1p-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log1pf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log2-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log2f-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-sinh-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-sinhf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-tan-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-tanf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-tanh-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-tanhf-inputs

-- 
2.34.1


^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2022-02-06 16:42 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-04  6:25 [PATCH 00/20] x86-64: Add vector functions to libmvec microbenchmark Sunil K Pandey
2022-02-04  6:25 ` [PATCH 01/20] x86-64: Add vector atan/atanf " Sunil K Pandey
2022-02-06 16:36   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 02/20] x86-64: Add vector asin/asinf " Sunil K Pandey
2022-02-06 16:37   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 03/20] x86-64: Add vector hypot/hypotf " Sunil K Pandey
2022-02-06 16:38   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 04/20] x86-64: Add vector exp2/exp2f " Sunil K Pandey
2022-02-06 16:37   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 05/20] x86-64: Add vector exp10/exp10f " Sunil K Pandey
2022-02-06 16:40   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 06/20] x86-64: Add vector cosh/coshf " Sunil K Pandey
2022-02-06 16:37   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 07/20] x86-64: Add vector expm1/expm1f " Sunil K Pandey
2022-02-06 16:36   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 08/20] x86-64: Add vector sinh/sinhf " Sunil K Pandey
2022-02-06 16:38   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 09/20] x86-64: Add vector cbrt/cbrtf " Sunil K Pandey
2022-02-06 16:40   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 10/20] x86-64: Add vector atan2/atan2f " Sunil K Pandey
2022-02-06 16:39   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 11/20] x86-64: Add vector log10/log10f " Sunil K Pandey
2022-02-06 16:38   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 12/20] x86-64: Add vector log2/log2f " Sunil K Pandey
2022-02-06 16:41   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 13/20] x86-64: Add vector log1p/log1pf " Sunil K Pandey
2022-02-06 16:41   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 14/20] x86-64: Add vector atanh/atanhf " Sunil K Pandey
2022-02-06 16:39   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 15/20] x86-64: Add vector acosh/acoshf " Sunil K Pandey
2022-02-06 16:36   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 16/20] x86-64: Add vector erf/erff " Sunil K Pandey
2022-02-06 16:41   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 17/20] x86-64: Add vector tanh/tanhf " Sunil K Pandey
2022-02-06 16:42   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 18/20] x86-64: Add vector asinh/asinhf " Sunil K Pandey
2022-02-06 16:39   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 19/20] x86-64: Add vector erfc/erfcf " Sunil K Pandey
2022-02-06 16:40   ` H.J. Lu
2022-02-04  6:25 ` [PATCH 20/20] x86-64: Add vector tan/tanf " Sunil K Pandey
2022-02-06 16:40   ` H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).