git: 072a4ba82a01 - main - Update the Arm Optimized Routine library to v23.01

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Fri, 09 Jun 2023 16:56:59 UTC
The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=072a4ba82a01476eaee33781ccd241033eefcf0b

commit 072a4ba82a01476eaee33781ccd241033eefcf0b
Merge: 1dd169af7143 29866ecb8962
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2023-06-09 16:56:02 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2023-06-09 16:56:02 +0000

    Update the Arm Optimized Routine library to v23.01
    
    Sponsored by:   Arm Ltd

 contrib/arm-optimized-routines/LICENSE             |  230 +++-
 contrib/arm-optimized-routines/MAINTAINERS         |   12 +
 contrib/arm-optimized-routines/Makefile            |    7 +-
 contrib/arm-optimized-routines/README              |   14 +-
 contrib/arm-optimized-routines/README.contributors |   44 +
 contrib/arm-optimized-routines/config.mk.dist      |   24 +-
 contrib/arm-optimized-routines/math/Dir.mk         |   15 +-
 .../math/README.contributors                       |   78 ++
 contrib/arm-optimized-routines/math/cosf.c         |    4 +-
 contrib/arm-optimized-routines/math/erf.c          |    2 +-
 contrib/arm-optimized-routines/math/erf_data.c     |    2 +-
 contrib/arm-optimized-routines/math/erff.c         |    2 +-
 contrib/arm-optimized-routines/math/erff_data.c    |    2 +-
 contrib/arm-optimized-routines/math/exp.c          |    2 +-
 contrib/arm-optimized-routines/math/exp2.c         |    2 +-
 contrib/arm-optimized-routines/math/exp2f.c        |    2 +-
 contrib/arm-optimized-routines/math/exp2f_data.c   |    2 +-
 contrib/arm-optimized-routines/math/exp_data.c     |    2 +-
 contrib/arm-optimized-routines/math/expf.c         |    2 +-
 .../arm-optimized-routines/math/include/mathlib.h  |    2 +-
 contrib/arm-optimized-routines/math/log.c          |    2 +-
 contrib/arm-optimized-routines/math/log2.c         |    2 +-
 contrib/arm-optimized-routines/math/log2_data.c    |    2 +-
 contrib/arm-optimized-routines/math/log2f.c        |    2 +-
 contrib/arm-optimized-routines/math/log2f_data.c   |    2 +-
 contrib/arm-optimized-routines/math/log_data.c     |    2 +-
 contrib/arm-optimized-routines/math/logf.c         |    6 +-
 contrib/arm-optimized-routines/math/logf_data.c    |    2 +-
 contrib/arm-optimized-routines/math/math_config.h  |    2 +-
 contrib/arm-optimized-routines/math/math_err.c     |    2 +-
 contrib/arm-optimized-routines/math/math_errf.c    |    2 +-
 contrib/arm-optimized-routines/math/pow.c          |    2 +-
 contrib/arm-optimized-routines/math/pow_log_data.c |    2 +-
 contrib/arm-optimized-routines/math/powf.c         |    2 +-
 .../arm-optimized-routines/math/powf_log2_data.c   |    2 +-
 contrib/arm-optimized-routines/math/s_cos.c        |    2 +-
 contrib/arm-optimized-routines/math/s_cosf.c       |    2 +-
 contrib/arm-optimized-routines/math/s_exp.c        |    2 +-
 contrib/arm-optimized-routines/math/s_exp2f.c      |    2 +-
 contrib/arm-optimized-routines/math/s_exp2f_1u.c   |    2 +-
 contrib/arm-optimized-routines/math/s_expf.c       |    2 +-
 contrib/arm-optimized-routines/math/s_expf_1u.c    |    2 +-
 contrib/arm-optimized-routines/math/s_log.c        |    2 +-
 contrib/arm-optimized-routines/math/s_logf.c       |    2 +-
 contrib/arm-optimized-routines/math/s_pow.c        |    2 +-
 contrib/arm-optimized-routines/math/s_powf.c       |    2 +-
 contrib/arm-optimized-routines/math/s_sin.c        |    2 +-
 contrib/arm-optimized-routines/math/s_sinf.c       |    2 +-
 contrib/arm-optimized-routines/math/sincosf.c      |    4 +-
 contrib/arm-optimized-routines/math/sincosf.h      |    4 +-
 contrib/arm-optimized-routines/math/sincosf_data.c |    2 +-
 contrib/arm-optimized-routines/math/sinf.c         |    4 +-
 .../arm-optimized-routines/math/test/mathbench.c   |  281 ++---
 .../math/test/mathbench_funcs.h                    |  100 ++
 .../math/test/mathbench_wrappers.h                 |  104 ++
 .../arm-optimized-routines/math/test/mathtest.c    |    9 +-
 .../math/test/rtest/dotest.c                       |    2 +-
 .../math/test/rtest/intern.h                       |    2 +-
 .../arm-optimized-routines/math/test/rtest/main.c  |    2 +-
 .../math/test/rtest/random.c                       |    2 +-
 .../math/test/rtest/random.h                       |    2 +-
 .../arm-optimized-routines/math/test/rtest/semi.c  |    2 +-
 .../arm-optimized-routines/math/test/rtest/semi.h  |    2 +-
 .../arm-optimized-routines/math/test/rtest/types.h |    2 +-
 .../math/test/rtest/wrappers.c                     |    2 +-
 .../math/test/rtest/wrappers.h                     |    2 +-
 contrib/arm-optimized-routines/math/test/runulp.sh |   47 +-
 .../math/test/testcases/directed/cosf.tst          |    2 +-
 .../math/test/testcases/directed/erf.tst           |    2 +-
 .../math/test/testcases/directed/erff.tst          |    2 +-
 .../math/test/testcases/directed/exp.tst           |    2 +-
 .../math/test/testcases/directed/exp2.tst          |    2 +-
 .../math/test/testcases/directed/exp2f.tst         |    2 +-
 .../math/test/testcases/directed/expf.tst          |    2 +-
 .../math/test/testcases/directed/log.tst           |    2 +-
 .../math/test/testcases/directed/log2.tst          |    2 +-
 .../math/test/testcases/directed/log2f.tst         |    2 +-
 .../math/test/testcases/directed/logf.tst          |    2 +-
 .../math/test/testcases/directed/pow.tst           |    2 +-
 .../math/test/testcases/directed/powf.tst          |    2 +-
 .../math/test/testcases/directed/sincosf.tst       |    2 +-
 .../math/test/testcases/directed/sinf.tst          |    2 +-
 .../math/test/testcases/random/double.tst          |    2 +-
 .../math/test/testcases/random/float.tst           |    2 +-
 contrib/arm-optimized-routines/math/test/ulp.c     |  248 ++---
 contrib/arm-optimized-routines/math/test/ulp.h     |    2 +-
 .../arm-optimized-routines/math/test/ulp_funcs.h   |   78 ++
 .../math/test/ulp_wrappers.h                       |   59 ++
 .../arm-optimized-routines/math/tools/cos.sollya   |    2 +-
 .../arm-optimized-routines/math/tools/exp.sollya   |    2 +-
 .../arm-optimized-routines/math/tools/exp2.sollya  |    2 +-
 .../arm-optimized-routines/math/tools/log.sollya   |    2 +-
 .../arm-optimized-routines/math/tools/log2.sollya  |    2 +-
 .../math/tools/log2_abs.sollya                     |    2 +-
 .../math/tools/log_abs.sollya                      |    2 +-
 contrib/arm-optimized-routines/math/tools/plot.py  |    2 +-
 contrib/arm-optimized-routines/math/tools/remez.jl |    2 +-
 .../arm-optimized-routines/math/tools/sin.sollya   |    2 +-
 .../arm-optimized-routines/math/tools/v_exp.sollya |    2 +-
 .../arm-optimized-routines/math/tools/v_log.sollya |    2 +-
 .../arm-optimized-routines/math/tools/v_sin.sollya |    2 +-
 contrib/arm-optimized-routines/math/v_cos.c        |   12 +-
 contrib/arm-optimized-routines/math/v_cosf.c       |   12 +-
 contrib/arm-optimized-routines/math/v_exp.c        |   38 +-
 contrib/arm-optimized-routines/math/v_exp.h        |    2 +-
 contrib/arm-optimized-routines/math/v_exp2f.c      |   51 +-
 contrib/arm-optimized-routines/math/v_exp2f_1u.c   |    2 +-
 contrib/arm-optimized-routines/math/v_exp_data.c   |    2 +-
 contrib/arm-optimized-routines/math/v_expf.c       |   51 +-
 contrib/arm-optimized-routines/math/v_expf_1u.c    |    2 +-
 contrib/arm-optimized-routines/math/v_log.c        |    2 +-
 contrib/arm-optimized-routines/math/v_log.h        |    2 +-
 contrib/arm-optimized-routines/math/v_log_data.c   |    2 +-
 contrib/arm-optimized-routines/math/v_logf.c       |    2 +-
 contrib/arm-optimized-routines/math/v_math.h       |   24 +-
 contrib/arm-optimized-routines/math/v_pow.c        |    2 +-
 contrib/arm-optimized-routines/math/v_powf.c       |    2 +-
 contrib/arm-optimized-routines/math/v_sin.c        |   29 +-
 contrib/arm-optimized-routines/math/v_sinf.c       |   23 +-
 contrib/arm-optimized-routines/math/vn_cos.c       |    2 +-
 contrib/arm-optimized-routines/math/vn_cosf.c      |    2 +-
 contrib/arm-optimized-routines/math/vn_exp.c       |    2 +-
 contrib/arm-optimized-routines/math/vn_exp2f.c     |    2 +-
 contrib/arm-optimized-routines/math/vn_exp2f_1u.c  |    2 +-
 contrib/arm-optimized-routines/math/vn_expf.c      |    2 +-
 contrib/arm-optimized-routines/math/vn_expf_1u.c   |    2 +-
 contrib/arm-optimized-routines/math/vn_log.c       |    2 +-
 contrib/arm-optimized-routines/math/vn_logf.c      |    2 +-
 contrib/arm-optimized-routines/math/vn_pow.c       |    2 +-
 contrib/arm-optimized-routines/math/vn_powf.c      |    2 +-
 contrib/arm-optimized-routines/math/vn_sin.c       |    2 +-
 contrib/arm-optimized-routines/math/vn_sinf.c      |    2 +-
 contrib/arm-optimized-routines/networking/Dir.mk   |    2 +-
 .../networking/aarch64/chksum_simd.c               |    2 +-
 .../networking/arm/chksum_simd.c                   |    2 +-
 contrib/arm-optimized-routines/networking/chksum.c |    2 +-
 .../networking/chksum_common.h                     |    2 +-
 .../networking/include/networking.h                |    2 +-
 .../networking/test/chksum.c                       |    2 +-
 contrib/arm-optimized-routines/pl/Dir.mk           |   21 +
 .../arm-optimized-routines/pl/README.contributors  |   23 +
 contrib/arm-optimized-routines/pl/math/Dir.mk      |  229 ++++
 contrib/arm-optimized-routines/pl/math/acosh_3u.c  |   66 ++
 .../arm-optimized-routines/pl/math/acoshf_2u8.c    |   63 ++
 contrib/arm-optimized-routines/pl/math/asinh_2u5.c |   86 ++
 .../arm-optimized-routines/pl/math/asinh_data.c    |   22 +
 .../arm-optimized-routines/pl/math/asinhf_3u5.c    |   78 ++
 .../arm-optimized-routines/pl/math/asinhf_data.c   |   15 +
 contrib/arm-optimized-routines/pl/math/atan2_2u5.c |  159 +++
 contrib/arm-optimized-routines/pl/math/atan2f_3u.c |  167 +++
 contrib/arm-optimized-routines/pl/math/atan_2u5.c  |   73 ++
 .../arm-optimized-routines/pl/math/atan_common.h   |   49 +
 contrib/arm-optimized-routines/pl/math/atan_data.c |   20 +
 contrib/arm-optimized-routines/pl/math/atanf_2u9.c |   76 ++
 .../arm-optimized-routines/pl/math/atanf_common.h  |   51 +
 .../arm-optimized-routines/pl/math/atanf_data.c    |   15 +
 contrib/arm-optimized-routines/pl/math/atanh_3u.c  |   86 ++
 .../arm-optimized-routines/pl/math/atanhf_3u1.c    |   88 ++
 contrib/arm-optimized-routines/pl/math/cbrt_2u.c   |   70 ++
 contrib/arm-optimized-routines/pl/math/cbrt_data.c |   15 +
 contrib/arm-optimized-routines/pl/math/cbrtf_1u5.c |   67 ++
 .../arm-optimized-routines/pl/math/cbrtf_data.c    |   15 +
 contrib/arm-optimized-routines/pl/math/cosh_2u.c   |   66 ++
 contrib/arm-optimized-routines/pl/math/coshf_1u9.c |   71 ++
 contrib/arm-optimized-routines/pl/math/erfc_4u5.c  |  155 +++
 contrib/arm-optimized-routines/pl/math/erfc_data.c |  145 +++
 contrib/arm-optimized-routines/pl/math/erfcf.h     |   38 +
 contrib/arm-optimized-routines/pl/math/erfcf_2u.c  |  133 +++
 .../arm-optimized-routines/pl/math/erfcf_data.c    |   57 +
 contrib/arm-optimized-routines/pl/math/erff_1u5.c  |  108 ++
 contrib/arm-optimized-routines/pl/math/erff_data.c |   16 +
 contrib/arm-optimized-routines/pl/math/estrin.h    |   16 +
 .../arm-optimized-routines/pl/math/estrin_wrap.h   |   48 +
 contrib/arm-optimized-routines/pl/math/estrinf.h   |   14 +
 contrib/arm-optimized-routines/pl/math/exp.c       |  163 +++
 contrib/arm-optimized-routines/pl/math/exp_data.c  | 1120 ++++++++++++++++++++
 contrib/arm-optimized-routines/pl/math/expf.c      |   76 ++
 contrib/arm-optimized-routines/pl/math/expf_data.c |   31 +
 contrib/arm-optimized-routines/pl/math/expm1_2u5.c |   86 ++
 .../arm-optimized-routines/pl/math/expm1_data.c    |   21 +
 .../arm-optimized-routines/pl/math/expm1f_1u6.c    |   80 ++
 .../arm-optimized-routines/pl/math/expm1f_data.c   |   12 +
 contrib/arm-optimized-routines/pl/math/horner.h    |   14 +
 .../arm-optimized-routines/pl/math/horner_wrap.h   |   34 +
 contrib/arm-optimized-routines/pl/math/hornerf.h   |   14 +
 .../pl/math/include/mathlib.h                      |  244 +++++
 .../pl/math/include/pl_test.h                      |   26 +
 contrib/arm-optimized-routines/pl/math/log.c       |  161 +++
 contrib/arm-optimized-routines/pl/math/log10_2u.c  |  150 +++
 .../arm-optimized-routines/pl/math/log10_data.c    |  337 ++++++
 contrib/arm-optimized-routines/pl/math/log10f.c    |   97 ++
 contrib/arm-optimized-routines/pl/math/log1p_2u.c  |  136 +++
 .../arm-optimized-routines/pl/math/log1p_data.c    |   19 +
 .../arm-optimized-routines/pl/math/log1pf_2u1.c    |  165 +++
 .../arm-optimized-routines/pl/math/log1pf_data.c   |   14 +
 contrib/arm-optimized-routines/pl/math/log_data.c  |  511 +++++++++
 contrib/arm-optimized-routines/pl/math/logf.c      |   75 ++
 contrib/arm-optimized-routines/pl/math/logf_data.c |   36 +
 .../arm-optimized-routines/pl/math/math_config.h   |  572 ++++++++++
 contrib/arm-optimized-routines/pl/math/math_err.c  |   78 ++
 contrib/arm-optimized-routines/pl/math/math_errf.c |   78 ++
 .../pl/math/pairwise_horner.h                      |   14 +
 .../pl/math/pairwise_horner_wrap.h                 |   48 +
 .../pl/math/pairwise_hornerf.h                     |   14 +
 contrib/arm-optimized-routines/pl/math/pl_sig.h    |   43 +
 .../arm-optimized-routines/pl/math/s_acosh_3u5.c   |    6 +
 .../arm-optimized-routines/pl/math/s_acoshf_3u1.c  |    6 +
 .../arm-optimized-routines/pl/math/s_asinh_3u5.c   |    6 +
 .../arm-optimized-routines/pl/math/s_asinhf_2u7.c  |    6 +
 .../arm-optimized-routines/pl/math/s_atan2_3u.c    |    6 +
 .../arm-optimized-routines/pl/math/s_atan2f_3u.c   |    6 +
 .../arm-optimized-routines/pl/math/s_atan_2u5.c    |    6 +
 .../arm-optimized-routines/pl/math/s_atanf_3u.c    |    6 +
 .../arm-optimized-routines/pl/math/s_atanh_3u5.c   |    6 +
 .../arm-optimized-routines/pl/math/s_atanhf_3u1.c  |    6 +
 contrib/arm-optimized-routines/pl/math/s_cbrt_2u.c |    6 +
 .../arm-optimized-routines/pl/math/s_cbrtf_1u5.c   |    6 +
 contrib/arm-optimized-routines/pl/math/s_cosh_2u.c |    6 +
 .../arm-optimized-routines/pl/math/s_coshf_2u4.c   |    6 +
 contrib/arm-optimized-routines/pl/math/s_erf_2u.c  |    6 +
 contrib/arm-optimized-routines/pl/math/s_erfc_4u.c |    6 +
 .../arm-optimized-routines/pl/math/s_erfcf_1u.c    |    6 +
 .../arm-optimized-routines/pl/math/s_erff_1u5.c    |    6 +
 .../arm-optimized-routines/pl/math/s_exp_tail.c    |    6 +
 contrib/arm-optimized-routines/pl/math/s_expf.c    |    6 +
 .../arm-optimized-routines/pl/math/s_expm1_2u5.c   |    6 +
 .../arm-optimized-routines/pl/math/s_expm1f_1u6.c  |    6 +
 .../arm-optimized-routines/pl/math/s_log10_2u5.c   |    6 +
 .../arm-optimized-routines/pl/math/s_log10f_3u5.c  |    6 +
 .../arm-optimized-routines/pl/math/s_log1p_2u5.c   |    6 +
 .../arm-optimized-routines/pl/math/s_log1pf_2u1.c  |    6 +
 contrib/arm-optimized-routines/pl/math/s_log2_3u.c |    6 +
 .../arm-optimized-routines/pl/math/s_log2f_2u5.c   |    6 +
 contrib/arm-optimized-routines/pl/math/s_sinh_3u.c |    6 +
 .../arm-optimized-routines/pl/math/s_sinhf_2u3.c   |    6 +
 contrib/arm-optimized-routines/pl/math/s_tan_3u5.c |    6 +
 .../arm-optimized-routines/pl/math/s_tanf_3u5.c    |    6 +
 contrib/arm-optimized-routines/pl/math/s_tanh_3u.c |    6 +
 .../arm-optimized-routines/pl/math/s_tanhf_2u6.c   |    6 +
 contrib/arm-optimized-routines/pl/math/sinh_3u.c   |   66 ++
 contrib/arm-optimized-routines/pl/math/sinhf_2u3.c |   76 ++
 .../arm-optimized-routines/pl/math/sv_atan2_2u5.c  |   93 ++
 .../arm-optimized-routines/pl/math/sv_atan2f_3u.c  |   94 ++
 .../arm-optimized-routines/pl/math/sv_atan_2u5.c   |   62 ++
 .../pl/math/sv_atan_common.h                       |   61 ++
 .../arm-optimized-routines/pl/math/sv_atanf_2u9.c  |   59 ++
 .../pl/math/sv_atanf_common.h                      |   47 +
 .../arm-optimized-routines/pl/math/sv_cos_2u5.c    |   84 ++
 .../arm-optimized-routines/pl/math/sv_cosf_2u1.c   |   82 ++
 contrib/arm-optimized-routines/pl/math/sv_erf_3u.c |  103 ++
 .../arm-optimized-routines/pl/math/sv_erfc_4u.c    |  146 +++
 .../arm-optimized-routines/pl/math/sv_erff_1u3.c   |  104 ++
 .../arm-optimized-routines/pl/math/sv_exp_tail.h   |   79 ++
 .../arm-optimized-routines/pl/math/sv_expf_2u.c    |  156 +++
 .../arm-optimized-routines/pl/math/sv_expf_data.c  |   12 +
 .../arm-optimized-routines/pl/math/sv_log10_2u5.c  |   89 ++
 .../arm-optimized-routines/pl/math/sv_log10f_3u5.c |   88 ++
 .../arm-optimized-routines/pl/math/sv_log2_3u.c    |   85 ++
 .../arm-optimized-routines/pl/math/sv_log2f_2u5.c  |   79 ++
 .../arm-optimized-routines/pl/math/sv_log_2u5.c    |   85 ++
 .../arm-optimized-routines/pl/math/sv_log_data.c   |  146 +++
 .../arm-optimized-routines/pl/math/sv_logf_3u4.c   |   77 ++
 .../arm-optimized-routines/pl/math/sv_logf_data.c  |   12 +
 contrib/arm-optimized-routines/pl/math/sv_math.h   |  245 +++++
 contrib/arm-optimized-routines/pl/math/sv_powi.c   |   53 +
 contrib/arm-optimized-routines/pl/math/sv_powif.c  |   54 +
 contrib/arm-optimized-routines/pl/math/sv_sin_3u.c |   89 ++
 .../arm-optimized-routines/pl/math/sv_sinf_1u9.c   |   84 ++
 .../pl/math/sv_sinf_poly_data.c                    |   19 +
 .../arm-optimized-routines/pl/math/sv_tanf_3u5.c   |  112 ++
 contrib/arm-optimized-routines/pl/math/tanf_3u3.c  |  202 ++++
 contrib/arm-optimized-routines/pl/math/tanf_data.c |   45 +
 contrib/arm-optimized-routines/pl/math/tanh_3u.c   |   82 ++
 contrib/arm-optimized-routines/pl/math/tanhf_2u6.c |   91 ++
 .../pl/math/test/mathbench_funcs.h                 |   86 ++
 .../pl/math/test/mathbench_wrappers.h              |  133 +++
 .../arm-optimized-routines/pl/math/test/pl_test.h  |   33 +
 .../arm-optimized-routines/pl/math/test/runulp.sh  |   78 ++
 .../pl/math/test/testcases/directed/acosh.tst      |   19 +
 .../pl/math/test/testcases/directed/acoshf.tst     |   19 +
 .../pl/math/test/testcases/directed/asinh.tst      |   18 +
 .../pl/math/test/testcases/directed/asinhf.tst     |   18 +
 .../pl/math/test/testcases/directed/atan.tst       |   22 +
 .../pl/math/test/testcases/directed/atan2.tst      |  110 ++
 .../pl/math/test/testcases/directed/atan2f.tst     |  121 +++
 .../pl/math/test/testcases/directed/atanf.tst      |   22 +
 .../pl/math/test/testcases/directed/atanh.tst      |   22 +
 .../pl/math/test/testcases/directed/atanhf.tst     |   23 +
 .../pl/math/test/testcases/directed/cbrtf.tst      |   29 +
 .../pl/math/test/testcases/directed/cosh.tst       |   15 +
 .../pl/math/test/testcases/directed/coshf.tst      |   15 +
 .../pl/math/test/testcases/directed/erfc.tst       |   23 +
 .../pl/math/test/testcases/directed/erfcf.tst      |   14 +
 .../pl/math/test/testcases/directed/erff.tst       |   17 +
 .../pl/math/test/testcases/directed/expm1.tst      |   21 +
 .../pl/math/test/testcases/directed/expm1f.tst     |   57 +
 .../pl/math/test/testcases/directed/log10.tst      |   16 +
 .../pl/math/test/testcases/directed/log10f.tst     |   69 ++
 .../pl/math/test/testcases/directed/log1p.tst      |   22 +
 .../pl/math/test/testcases/directed/log1pf.tst     |  130 +++
 .../pl/math/test/testcases/directed/log2.tst       |   21 +
 .../pl/math/test/testcases/directed/log2f.tst      |   27 +
 .../pl/math/test/testcases/directed/sinh.tst       |   21 +
 .../pl/math/test/testcases/directed/sinhf.tst      |   21 +
 .../pl/math/test/testcases/directed/tanf.tst       |   25 +
 .../pl/math/test/testcases/directed/tanh.tst       |   18 +
 .../pl/math/test/testcases/directed/tanhf.tst      |   20 +
 .../pl/math/test/testcases/random/double.tst       |    6 +
 .../pl/math/test/testcases/random/float.tst        |    8 +
 .../pl/math/test/ulp_funcs.h                       |   66 ++
 .../pl/math/test/ulp_wrappers.h                    |  148 +++
 .../pl/math/tools/asinh.sollya                     |   28 +
 .../pl/math/tools/asinhf.sollya                    |   29 +
 .../pl/math/tools/atan.sollya                      |   23 +
 .../pl/math/tools/atanf.sollya                     |   20 +
 .../pl/math/tools/cbrt.sollya                      |   20 +
 .../pl/math/tools/cbrtf.sollya                     |   20 +
 .../pl/math/tools/erfc.sollya                      |   23 +
 .../pl/math/tools/erfcf.sollya                     |   31 +
 .../pl/math/tools/expm1.sollya                     |   21 +
 .../pl/math/tools/expm1f.sollya                    |   21 +
 .../pl/math/tools/log10.sollya                     |   44 +
 .../pl/math/tools/log10f.sollya                    |   37 +
 .../pl/math/tools/log1p.sollya                     |   30 +
 .../pl/math/tools/log1pf.sollya                    |   21 +
 .../pl/math/tools/tan.sollya                       |   20 +
 .../pl/math/tools/tanf.sollya                      |   78 ++
 .../pl/math/tools/v_erf.sollya                     |   20 +
 .../pl/math/tools/v_erfc.sollya                    |   46 +
 .../pl/math/tools/v_log10.sollya                   |   38 +
 .../pl/math/tools/v_log10f.sollya                  |   45 +
 .../pl/math/tools/v_log2f.sollya                   |   38 +
 .../arm-optimized-routines/pl/math/v_acosh_3u5.c   |   51 +
 .../arm-optimized-routines/pl/math/v_acoshf_3u1.c  |   68 ++
 .../arm-optimized-routines/pl/math/v_asinh_3u5.c   |  175 +++
 .../arm-optimized-routines/pl/math/v_asinhf_2u7.c  |   70 ++
 .../arm-optimized-routines/pl/math/v_atan2_3u.c    |   90 ++
 .../arm-optimized-routines/pl/math/v_atan2f_3u.c   |   89 ++
 .../arm-optimized-routines/pl/math/v_atan_2u5.c    |   74 ++
 .../arm-optimized-routines/pl/math/v_atanf_3u.c    |   83 ++
 .../arm-optimized-routines/pl/math/v_atanh_3u5.c   |   61 ++
 .../arm-optimized-routines/pl/math/v_atanhf_3u1.c  |   62 ++
 contrib/arm-optimized-routines/pl/math/v_cbrt_2u.c |   98 ++
 .../arm-optimized-routines/pl/math/v_cbrtf_1u5.c   |   96 ++
 contrib/arm-optimized-routines/pl/math/v_cosh_2u.c |   96 ++
 .../arm-optimized-routines/pl/math/v_coshf_2u4.c   |   74 ++
 contrib/arm-optimized-routines/pl/math/v_erf_2u.c  |  116 ++
 .../arm-optimized-routines/pl/math/v_erf_data.c    |  119 +++
 contrib/arm-optimized-routines/pl/math/v_erfc_4u.c |  168 +++
 .../arm-optimized-routines/pl/math/v_erfc_data.c   |   96 ++
 .../arm-optimized-routines/pl/math/v_erfcf_1u.c    |  183 ++++
 .../arm-optimized-routines/pl/math/v_erff_1u5.c    |  116 ++
 .../arm-optimized-routines/pl/math/v_erff_data.c   |   18 +
 .../arm-optimized-routines/pl/math/v_exp_tail.c    |   75 ++
 .../arm-optimized-routines/pl/math/v_exp_tail.h    |   21 +
 .../pl/math/v_exp_tail_data.c                      |   97 ++
 contrib/arm-optimized-routines/pl/math/v_expf.c    |   83 ++
 .../arm-optimized-routines/pl/math/v_expm1_2u5.c   |  113 ++
 .../arm-optimized-routines/pl/math/v_expm1f_1u6.c  |   94 ++
 .../pl/math/v_expm1f_inline.h                      |   49 +
 .../arm-optimized-routines/pl/math/v_log10_2u5.c   |  110 ++
 .../arm-optimized-routines/pl/math/v_log10_data.c  |  167 +++
 .../arm-optimized-routines/pl/math/v_log10f_3u5.c  |   82 ++
 .../arm-optimized-routines/pl/math/v_log10f_data.c |   13 +
 .../arm-optimized-routines/pl/math/v_log1p_2u5.c   |  120 +++
 .../pl/math/v_log1p_inline.h                       |   77 ++
 .../arm-optimized-routines/pl/math/v_log1pf_2u1.c  |  160 +++
 .../pl/math/v_log1pf_inline.h                      |   55 +
 contrib/arm-optimized-routines/pl/math/v_log2_3u.c |  100 ++
 .../arm-optimized-routines/pl/math/v_log2_data.c   |  155 +++
 .../arm-optimized-routines/pl/math/v_log2f_2u5.c   |   68 ++
 .../arm-optimized-routines/pl/math/v_log2f_data.c  |   15 +
 contrib/arm-optimized-routines/pl/math/v_math.h    |  855 +++++++++++++++
 contrib/arm-optimized-routines/pl/math/v_sinh_3u.c |   94 ++
 .../arm-optimized-routines/pl/math/v_sinhf_2u3.c   |   69 ++
 contrib/arm-optimized-routines/pl/math/v_tan_3u5.c |  102 ++
 .../arm-optimized-routines/pl/math/v_tan_data.c    |   15 +
 .../arm-optimized-routines/pl/math/v_tanf_3u5.c    |  131 +++
 contrib/arm-optimized-routines/pl/math/v_tanh_3u.c |   94 ++
 .../arm-optimized-routines/pl/math/v_tanhf_2u6.c   |   69 ++
 .../arm-optimized-routines/pl/math/vn_acosh_3u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_acoshf_3u1.c |   12 +
 .../arm-optimized-routines/pl/math/vn_asinh_3u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_asinhf_2u7.c |   12 +
 .../arm-optimized-routines/pl/math/vn_atan2_3u.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_atan2f_3u.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_atan_2u5.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_atanf_3u.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_atanh_3u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_atanhf_3u1.c |   12 +
 .../arm-optimized-routines/pl/math/vn_cbrt_2u.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_cbrtf_1u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_cosh_2u.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_coshf_2u4.c  |   12 +
 contrib/arm-optimized-routines/pl/math/vn_erf_2u.c |   12 +
 .../arm-optimized-routines/pl/math/vn_erfc_4u.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_erfcf_1u.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_erff_1u5.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_exp_tail.c   |   11 +
 contrib/arm-optimized-routines/pl/math/vn_expf.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_expm1_2u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_expm1f_1u6.c |   12 +
 .../arm-optimized-routines/pl/math/vn_log10_2u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_log10f_3u5.c |   12 +
 .../arm-optimized-routines/pl/math/vn_log1p_2u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_log1pf_2u1.c |   12 +
 .../arm-optimized-routines/pl/math/vn_log2_3u.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_log2f_2u5.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_sinh_3u.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_sinhf_2u3.c  |   12 +
 .../arm-optimized-routines/pl/math/vn_tan_3u5.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_tanf_3u5.c   |   12 +
 .../arm-optimized-routines/pl/math/vn_tanh_3u.c    |   12 +
 .../arm-optimized-routines/pl/math/vn_tanhf_2u6.c  |   12 +
 contrib/arm-optimized-routines/string/Dir.mk       |    2 +-
 .../string/README.contributors                     |   30 +
 .../string/aarch64/__mtag_tag_region.S             |    6 +-
 .../string/aarch64/__mtag_tag_zero_region.S        |    6 +-
 .../string/{ => aarch64}/asmdefs.h                 |   30 +-
 .../string/aarch64/check-arch.S                    |    6 +-
 .../string/aarch64/memchr-mte.S                    |   58 +-
 .../string/aarch64/memchr-sve.S                    |    6 +-
 .../arm-optimized-routines/string/aarch64/memchr.S |    6 +-
 .../string/aarch64/memcmp-sve.S                    |    6 +-
 .../arm-optimized-routines/string/aarch64/memcmp.S |    6 +-
 .../string/aarch64/memcpy-advsimd.S                |    6 +-
 .../string/aarch64/memcpy-sve.S                    |   31 +-
 .../arm-optimized-routines/string/aarch64/memcpy.S |    6 +-
 .../string/aarch64/memrchr.S                       |   51 +-
 .../arm-optimized-routines/string/aarch64/memset.S |    6 +-
 .../string/aarch64/stpcpy-sve.S                    |    2 +-
 .../arm-optimized-routines/string/aarch64/stpcpy.S |    2 +-
 .../string/aarch64/strchr-mte.S                    |   58 +-
 .../string/aarch64/strchr-sve.S                    |    6 +-
 .../arm-optimized-routines/string/aarch64/strchr.S |    6 +-
 .../string/aarch64/strchrnul-mte.S                 |   47 +-
 .../string/aarch64/strchrnul-sve.S                 |    2 +-
 .../string/aarch64/strchrnul.S                     |    6 +-
 .../string/aarch64/strcmp-sve.S                    |    6 +-
 .../arm-optimized-routines/string/aarch64/strcmp.S |    4 +-
 .../string/aarch64/strcpy-sve.S                    |    6 +-
 .../arm-optimized-routines/string/aarch64/strcpy.S |   69 +-
 .../string/aarch64/strlen-mte.S                    |   41 +-
 .../string/aarch64/strlen-sve.S                    |    6 +-
 .../arm-optimized-routines/string/aarch64/strlen.S |   21 +-
 .../string/aarch64/strncmp-sve.S                   |    6 +-
 .../string/aarch64/strncmp.S                       |    4 +-
 .../string/aarch64/strnlen-sve.S                   |    6 +-
 .../string/aarch64/strnlen.S                       |   60 +-
 .../string/aarch64/strrchr-mte.S                   |   58 +-
 .../string/aarch64/strrchr-sve.S                   |    6 +-
 .../string/aarch64/strrchr.S                       |    6 +-
 .../arm-optimized-routines/string/arm/asmdefs.h    |  477 +++++++++
 .../arm-optimized-routines/string/arm/check-arch.S |    7 +-
 contrib/arm-optimized-routines/string/arm/memchr.S |   46 +-
 contrib/arm-optimized-routines/string/arm/memcpy.S |    6 +-
 contrib/arm-optimized-routines/string/arm/memset.S |    2 +-
 .../string/arm/strcmp-armv6m.S                     |    6 +-
 contrib/arm-optimized-routines/string/arm/strcmp.S |   59 +-
 contrib/arm-optimized-routines/string/arm/strcpy.c |    2 +-
 .../string/arm/strlen-armv6t2.S                    |   18 +-
 .../arm-optimized-routines/string/bench/memcpy.c   |    4 +-
 .../arm-optimized-routines/string/bench/memset.c   |    2 +-
 .../arm-optimized-routines/string/bench/strlen.c   |    2 +-
 .../string/include/benchlib.h                      |    2 +-
 .../string/include/stringlib.h                     |    4 +-
 .../string/test/__mtag_tag_region.c                |    2 +-
 .../string/test/__mtag_tag_zero_region.c           |    2 +-
 .../arm-optimized-routines/string/test/memchr.c    |    2 +-
 .../arm-optimized-routines/string/test/memcmp.c    |    2 +-
 .../arm-optimized-routines/string/test/memcpy.c    |    4 +-
 .../arm-optimized-routines/string/test/memmove.c   |    4 +-
 .../arm-optimized-routines/string/test/memrchr.c   |    2 +-
 .../arm-optimized-routines/string/test/memset.c    |    2 +-
 contrib/arm-optimized-routines/string/test/mte.h   |    2 +-
 .../arm-optimized-routines/string/test/stpcpy.c    |    4 +-
 .../arm-optimized-routines/string/test/strchr.c    |    2 +-
 .../arm-optimized-routines/string/test/strchrnul.c |    2 +-
 .../arm-optimized-routines/string/test/strcmp.c    |    4 +-
 .../arm-optimized-routines/string/test/strcpy.c    |    4 +-
 .../string/test/stringtest.h                       |    2 +-
 .../arm-optimized-routines/string/test/strlen.c    |    5 +-
 .../arm-optimized-routines/string/test/strncmp.c   |    4 +-
 .../arm-optimized-routines/string/test/strnlen.c   |    2 +-
 .../arm-optimized-routines/string/test/strrchr.c   |    2 +-
 .../string/x86_64/check-arch.S                     |    2 +-
 486 files changed, 20132 insertions(+), 916 deletions(-)

diff --cc contrib/arm-optimized-routines/MAINTAINERS
index 000000000000,000000000000..6c5823a8dbce
new file mode 100644
--- /dev/null
+++ b/contrib/arm-optimized-routines/MAINTAINERS
@@@ -1,0 -1,0 +1,12 @@@
++/
++	Szabolcs Nagy <szabolcs.nagy@arm.com>
++math/
++	Szabolcs Nagy <szabolcs.nagy@arm.com>
++networking/
++	Szabolcs Nagy <szabolcs.nagy@arm.com>
++pl/
++	Pierre Blanchard <pierre.blanchard@arm.com>
++	Joe Ramsay <joe.ramsay@arm.com>
++string/
++	Szabolcs Nagy <szabolcs.nagy@arm.com>
++	Wilco Dijkstra <wilco.dijkstra@arm.com>
diff --cc contrib/arm-optimized-routines/Makefile
index 169f89e2c9d6,000000000000..c487896728c2
mode 100644,000000..100644
--- a/contrib/arm-optimized-routines/Makefile
+++ b/contrib/arm-optimized-routines/Makefile
@@@ -1,89 -1,0 +1,92 @@@
 +# Makefile - requires GNU make
 +#
- # Copyright (c) 2018-2020, Arm Limited.
- # SPDX-License-Identifier: MIT
++# Copyright (c) 2018-2022, Arm Limited.
++# SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
 +
 +srcdir = .
 +prefix = /usr
 +bindir = $(prefix)/bin
 +libdir = $(prefix)/lib
 +includedir = $(prefix)/include
 +
 +# Configure these in config.mk, do not make changes in this file.
 +SUBS = math string networking
++PLSUBS = math
 +HOST_CC = cc
 +HOST_CFLAGS = -std=c99 -O2
 +HOST_LDFLAGS =
 +HOST_LDLIBS =
 +EMULATOR =
 +CPPFLAGS =
 +CFLAGS = -std=c99 -O2
 +CFLAGS_SHARED = -fPIC
 +CFLAGS_ALL = -Ibuild/include $(CPPFLAGS) $(CFLAGS)
++CFLAGS_PL = -Ibuild/pl/include $(CPPFLAGS) $(CFLAGS) -DPL
 +LDFLAGS =
 +LDLIBS =
 +AR = $(CROSS_COMPILE)ar
 +RANLIB = $(CROSS_COMPILE)ranlib
 +INSTALL = install
 +
 +all:
 +
 +-include config.mk
 +
 +$(foreach sub,$(SUBS),$(eval include $(srcdir)/$(sub)/Dir.mk))
 +
 +# Required targets of subproject foo:
 +#   all-foo
 +#   check-foo
 +#   clean-foo
 +#   install-foo
 +# Required make variables of subproject foo:
 +#   foo-files: Built files (all in build/).
 +# Make variables used by subproject foo:
 +#   foo-...: Variables defined in foo/Dir.mk or by config.mk.
 +
 +all: $(SUBS:%=all-%)
 +
 +ALL_FILES = $(foreach sub,$(SUBS),$($(sub)-files))
 +DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_FILES))))
 +$(ALL_FILES): | $(DIRS)
 +$(DIRS):
 +	mkdir -p $@
 +
 +$(filter %.os,$(ALL_FILES)): CFLAGS_ALL += $(CFLAGS_SHARED)
++$(filter %.os,$(ALL_FILES)): CFLAGS_PL += $(CFLAGS_SHARED)
 +
 +build/%.o: $(srcdir)/%.S
 +	$(CC) $(CFLAGS_ALL) -c -o $@ $<
 +
 +build/%.o: $(srcdir)/%.c
 +	$(CC) $(CFLAGS_ALL) -c -o $@ $<
 +
 +build/%.os: $(srcdir)/%.S
 +	$(CC) $(CFLAGS_ALL) -c -o $@ $<
 +
 +build/%.os: $(srcdir)/%.c
 +	$(CC) $(CFLAGS_ALL) -c -o $@ $<
 +
 +clean: $(SUBS:%=clean-%)
 +	rm -rf build
 +
 +distclean: clean
 +	rm -f config.mk
 +
 +$(DESTDIR)$(bindir)/%: build/bin/%
 +	$(INSTALL) -D $< $@
 +
 +$(DESTDIR)$(libdir)/%.so: build/lib/%.so
 +	$(INSTALL) -D $< $@
 +
 +$(DESTDIR)$(libdir)/%: build/lib/%
 +	$(INSTALL) -m 644 -D $< $@
 +
 +$(DESTDIR)$(includedir)/%: build/include/%
 +	$(INSTALL) -m 644 -D $< $@
 +
 +install: $(SUBS:%=install-%)
 +
 +check: $(SUBS:%=check-%)
 +
 +.PHONY: all clean distclean install check
diff --cc contrib/arm-optimized-routines/README.contributors
index 000000000000,f8fcdde432e1..f8fcdde432e1
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/README.contributors
+++ b/contrib/arm-optimized-routines/README.contributors
diff --cc contrib/arm-optimized-routines/math/README.contributors
index 000000000000,33e7ba376e41..33e7ba376e41
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/math/README.contributors
+++ b/contrib/arm-optimized-routines/math/README.contributors
diff --cc contrib/arm-optimized-routines/math/test/mathbench_funcs.h
index 000000000000,ad6dd2a2313d..ad6dd2a2313d
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/math/test/mathbench_funcs.h
+++ b/contrib/arm-optimized-routines/math/test/mathbench_funcs.h
diff --cc contrib/arm-optimized-routines/math/test/mathbench_wrappers.h
index 000000000000,8311f0f4e173..8311f0f4e173
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/math/test/mathbench_wrappers.h
+++ b/contrib/arm-optimized-routines/math/test/mathbench_wrappers.h
diff --cc contrib/arm-optimized-routines/math/test/ulp_funcs.h
index 000000000000,f5cea4d6d14c..f5cea4d6d14c
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/math/test/ulp_funcs.h
+++ b/contrib/arm-optimized-routines/math/test/ulp_funcs.h
diff --cc contrib/arm-optimized-routines/math/test/ulp_wrappers.h
index 000000000000,fd9e00c0310f..fd9e00c0310f
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/math/test/ulp_wrappers.h
+++ b/contrib/arm-optimized-routines/math/test/ulp_wrappers.h
diff --cc contrib/arm-optimized-routines/pl/Dir.mk
index 000000000000,2d007790d241..2d007790d241
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/Dir.mk
+++ b/contrib/arm-optimized-routines/pl/Dir.mk
diff --cc contrib/arm-optimized-routines/pl/README.contributors
index 000000000000,3af9b1fc7741..3af9b1fc7741
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/README.contributors
+++ b/contrib/arm-optimized-routines/pl/README.contributors
diff --cc contrib/arm-optimized-routines/pl/math/Dir.mk
index 000000000000,be65344572a8..be65344572a8
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/Dir.mk
+++ b/contrib/arm-optimized-routines/pl/math/Dir.mk
diff --cc contrib/arm-optimized-routines/pl/math/acosh_3u.c
index 000000000000,4e2cb6737ba8..4e2cb6737ba8
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/acosh_3u.c
+++ b/contrib/arm-optimized-routines/pl/math/acosh_3u.c
diff --cc contrib/arm-optimized-routines/pl/math/acoshf_2u8.c
index 000000000000,c9cded7fd2ff..c9cded7fd2ff
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/acoshf_2u8.c
+++ b/contrib/arm-optimized-routines/pl/math/acoshf_2u8.c
diff --cc contrib/arm-optimized-routines/pl/math/asinh_2u5.c
index 000000000000,f1679556d5f8..f1679556d5f8
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/asinh_2u5.c
+++ b/contrib/arm-optimized-routines/pl/math/asinh_2u5.c
diff --cc contrib/arm-optimized-routines/pl/math/asinh_data.c
index 000000000000,073b19799bda..073b19799bda
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/asinh_data.c
+++ b/contrib/arm-optimized-routines/pl/math/asinh_data.c
diff --cc contrib/arm-optimized-routines/pl/math/asinhf_3u5.c
index 000000000000,2b2c55db56dc..2b2c55db56dc
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/asinhf_3u5.c
+++ b/contrib/arm-optimized-routines/pl/math/asinhf_3u5.c
diff --cc contrib/arm-optimized-routines/pl/math/asinhf_data.c
index 000000000000,cd1ef16b3b6a..cd1ef16b3b6a
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/asinhf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/asinhf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/atan2_2u5.c
index 000000000000,c909ac99fa22..c909ac99fa22
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atan2_2u5.c
+++ b/contrib/arm-optimized-routines/pl/math/atan2_2u5.c
diff --cc contrib/arm-optimized-routines/pl/math/atan2f_3u.c
index 000000000000,38e1df59c102..38e1df59c102
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atan2f_3u.c
+++ b/contrib/arm-optimized-routines/pl/math/atan2f_3u.c
diff --cc contrib/arm-optimized-routines/pl/math/atan_2u5.c
index 000000000000,ee4770101758..ee4770101758
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atan_2u5.c
+++ b/contrib/arm-optimized-routines/pl/math/atan_2u5.c
diff --cc contrib/arm-optimized-routines/pl/math/atan_common.h
index 000000000000,da0da6436854..da0da6436854
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atan_common.h
+++ b/contrib/arm-optimized-routines/pl/math/atan_common.h
diff --cc contrib/arm-optimized-routines/pl/math/atan_data.c
index 000000000000,91d0f61d2eaf..91d0f61d2eaf
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atan_data.c
+++ b/contrib/arm-optimized-routines/pl/math/atan_data.c
diff --cc contrib/arm-optimized-routines/pl/math/atanf_2u9.c
index 000000000000,9d17f252b8b9..9d17f252b8b9
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atanf_2u9.c
+++ b/contrib/arm-optimized-routines/pl/math/atanf_2u9.c
diff --cc contrib/arm-optimized-routines/pl/math/atanf_common.h
index 000000000000,37ca76dee2f7..37ca76dee2f7
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atanf_common.h
+++ b/contrib/arm-optimized-routines/pl/math/atanf_common.h
diff --cc contrib/arm-optimized-routines/pl/math/atanf_data.c
index 000000000000,c4cba2378cea..c4cba2378cea
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atanf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/atanf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/atanh_3u.c
index 000000000000,a168cd555ff6..a168cd555ff6
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atanh_3u.c
+++ b/contrib/arm-optimized-routines/pl/math/atanh_3u.c
diff --cc contrib/arm-optimized-routines/pl/math/atanhf_3u1.c
index 000000000000,fb90aa29c7a3..fb90aa29c7a3
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/atanhf_3u1.c
+++ b/contrib/arm-optimized-routines/pl/math/atanhf_3u1.c
diff --cc contrib/arm-optimized-routines/pl/math/cbrt_2u.c
index 000000000000,83715dd18a3e..83715dd18a3e
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/cbrt_2u.c
+++ b/contrib/arm-optimized-routines/pl/math/cbrt_2u.c
diff --cc contrib/arm-optimized-routines/pl/math/cbrt_data.c
index 000000000000,3d484c2779e2..3d484c2779e2
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/cbrt_data.c
+++ b/contrib/arm-optimized-routines/pl/math/cbrt_data.c
diff --cc contrib/arm-optimized-routines/pl/math/cbrtf_1u5.c
index 000000000000,adc591786a6a..adc591786a6a
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/cbrtf_1u5.c
+++ b/contrib/arm-optimized-routines/pl/math/cbrtf_1u5.c
diff --cc contrib/arm-optimized-routines/pl/math/cbrtf_data.c
index 000000000000,c6cdb4de0d65..c6cdb4de0d65
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/cbrtf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/cbrtf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/cosh_2u.c
index 000000000000,5d1df0717453..5d1df0717453
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/cosh_2u.c
+++ b/contrib/arm-optimized-routines/pl/math/cosh_2u.c
diff --cc contrib/arm-optimized-routines/pl/math/coshf_1u9.c
index 000000000000,c125c929aa77..c125c929aa77
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/coshf_1u9.c
+++ b/contrib/arm-optimized-routines/pl/math/coshf_1u9.c
diff --cc contrib/arm-optimized-routines/pl/math/erfc_4u5.c
index 000000000000,e9af9d3bcdb4..e9af9d3bcdb4
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erfc_4u5.c
+++ b/contrib/arm-optimized-routines/pl/math/erfc_4u5.c
diff --cc contrib/arm-optimized-routines/pl/math/erfc_data.c
index 000000000000,fa7184fcc871..fa7184fcc871
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erfc_data.c
+++ b/contrib/arm-optimized-routines/pl/math/erfc_data.c
diff --cc contrib/arm-optimized-routines/pl/math/erfcf.h
index 000000000000,8f1e5f4226e3..8f1e5f4226e3
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erfcf.h
+++ b/contrib/arm-optimized-routines/pl/math/erfcf.h
diff --cc contrib/arm-optimized-routines/pl/math/erfcf_2u.c
index 000000000000,5a3f9b00aa5c..5a3f9b00aa5c
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erfcf_2u.c
+++ b/contrib/arm-optimized-routines/pl/math/erfcf_2u.c
diff --cc contrib/arm-optimized-routines/pl/math/erfcf_data.c
index 000000000000,2e018c8c6710..2e018c8c6710
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erfcf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/erfcf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/erff_1u5.c
index 000000000000,1a69872c43e5..1a69872c43e5
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erff_1u5.c
+++ b/contrib/arm-optimized-routines/pl/math/erff_1u5.c
diff --cc contrib/arm-optimized-routines/pl/math/erff_data.c
index 000000000000,2352baefd35f..2352baefd35f
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/erff_data.c
+++ b/contrib/arm-optimized-routines/pl/math/erff_data.c
diff --cc contrib/arm-optimized-routines/pl/math/estrin.h
index 000000000000,f967fb0475b0..f967fb0475b0
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/estrin.h
+++ b/contrib/arm-optimized-routines/pl/math/estrin.h
diff --cc contrib/arm-optimized-routines/pl/math/estrin_wrap.h
index 000000000000,2ae07001f2cf..2ae07001f2cf
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/estrin_wrap.h
+++ b/contrib/arm-optimized-routines/pl/math/estrin_wrap.h
diff --cc contrib/arm-optimized-routines/pl/math/estrinf.h
index 000000000000,175233c6c799..175233c6c799
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/estrinf.h
+++ b/contrib/arm-optimized-routines/pl/math/estrinf.h
diff --cc contrib/arm-optimized-routines/pl/math/exp.c
index 000000000000,90253b68875d..90253b68875d
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/exp.c
+++ b/contrib/arm-optimized-routines/pl/math/exp.c
diff --cc contrib/arm-optimized-routines/pl/math/exp_data.c
index 000000000000,2354be76cfab..2354be76cfab
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/exp_data.c
+++ b/contrib/arm-optimized-routines/pl/math/exp_data.c
diff --cc contrib/arm-optimized-routines/pl/math/expf.c
index 000000000000,c325e45d5cc6..c325e45d5cc6
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/expf.c
+++ b/contrib/arm-optimized-routines/pl/math/expf.c
diff --cc contrib/arm-optimized-routines/pl/math/expf_data.c
index 000000000000,474ad57a29a0..474ad57a29a0
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/expf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/expf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/expm1_2u5.c
index 000000000000,a3faff70cb62..a3faff70cb62
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/expm1_2u5.c
+++ b/contrib/arm-optimized-routines/pl/math/expm1_2u5.c
diff --cc contrib/arm-optimized-routines/pl/math/expm1_data.c
index 000000000000,ff7426b90135..ff7426b90135
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/expm1_data.c
+++ b/contrib/arm-optimized-routines/pl/math/expm1_data.c
diff --cc contrib/arm-optimized-routines/pl/math/expm1f_1u6.c
index 000000000000,70b14e48519d..70b14e48519d
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/expm1f_1u6.c
+++ b/contrib/arm-optimized-routines/pl/math/expm1f_1u6.c
diff --cc contrib/arm-optimized-routines/pl/math/expm1f_data.c
index 000000000000,9d02dc448ebb..9d02dc448ebb
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/expm1f_data.c
+++ b/contrib/arm-optimized-routines/pl/math/expm1f_data.c
diff --cc contrib/arm-optimized-routines/pl/math/horner.h
index 000000000000,f92ab6752110..f92ab6752110
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/horner.h
+++ b/contrib/arm-optimized-routines/pl/math/horner.h
diff --cc contrib/arm-optimized-routines/pl/math/horner_wrap.h
index 000000000000,6478968db913..6478968db913
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/horner_wrap.h
+++ b/contrib/arm-optimized-routines/pl/math/horner_wrap.h
diff --cc contrib/arm-optimized-routines/pl/math/hornerf.h
index 000000000000,0703817b0fbb..0703817b0fbb
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/hornerf.h
+++ b/contrib/arm-optimized-routines/pl/math/hornerf.h
diff --cc contrib/arm-optimized-routines/pl/math/include/mathlib.h
index 000000000000,af5f9f9c6afb..af5f9f9c6afb
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/include/mathlib.h
+++ b/contrib/arm-optimized-routines/pl/math/include/mathlib.h
diff --cc contrib/arm-optimized-routines/pl/math/include/pl_test.h
index 000000000000,6a81360ba287..6a81360ba287
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/include/pl_test.h
+++ b/contrib/arm-optimized-routines/pl/math/include/pl_test.h
diff --cc contrib/arm-optimized-routines/pl/math/log.c
index 000000000000,40b0441d981d..40b0441d981d
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log.c
+++ b/contrib/arm-optimized-routines/pl/math/log.c
diff --cc contrib/arm-optimized-routines/pl/math/log10_2u.c
index 000000000000,74828ea9ef3c..74828ea9ef3c
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log10_2u.c
+++ b/contrib/arm-optimized-routines/pl/math/log10_2u.c
diff --cc contrib/arm-optimized-routines/pl/math/log10_data.c
index 000000000000,9976f19cd6df..9976f19cd6df
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log10_data.c
+++ b/contrib/arm-optimized-routines/pl/math/log10_data.c
diff --cc contrib/arm-optimized-routines/pl/math/log10f.c
index 000000000000,5c80008e4e57..5c80008e4e57
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log10f.c
+++ b/contrib/arm-optimized-routines/pl/math/log10f.c
diff --cc contrib/arm-optimized-routines/pl/math/log1p_2u.c
index 000000000000,23c8ed4a1914..23c8ed4a1914
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log1p_2u.c
+++ b/contrib/arm-optimized-routines/pl/math/log1p_2u.c
diff --cc contrib/arm-optimized-routines/pl/math/log1p_data.c
index 000000000000,6168a0c9a214..6168a0c9a214
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log1p_data.c
+++ b/contrib/arm-optimized-routines/pl/math/log1p_data.c
diff --cc contrib/arm-optimized-routines/pl/math/log1pf_2u1.c
index 000000000000,fcfd05a6fcb7..fcfd05a6fcb7
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log1pf_2u1.c
+++ b/contrib/arm-optimized-routines/pl/math/log1pf_2u1.c
diff --cc contrib/arm-optimized-routines/pl/math/log1pf_data.c
index 000000000000,8c92d5738fe8..8c92d5738fe8
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log1pf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/log1pf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/log_data.c
index 000000000000,34715e5036a3..34715e5036a3
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/log_data.c
+++ b/contrib/arm-optimized-routines/pl/math/log_data.c
diff --cc contrib/arm-optimized-routines/pl/math/logf.c
index 000000000000,17a74ed6d28f..17a74ed6d28f
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/logf.c
+++ b/contrib/arm-optimized-routines/pl/math/logf.c
diff --cc contrib/arm-optimized-routines/pl/math/logf_data.c
index 000000000000,97d9eb8d0097..97d9eb8d0097
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/logf_data.c
+++ b/contrib/arm-optimized-routines/pl/math/logf_data.c
diff --cc contrib/arm-optimized-routines/pl/math/math_config.h
index 000000000000,dccb3ce4c775..dccb3ce4c775
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/math_config.h
+++ b/contrib/arm-optimized-routines/pl/math/math_config.h
diff --cc contrib/arm-optimized-routines/pl/math/math_err.c
index 000000000000,d246a89982de..d246a89982de
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/math_err.c
+++ b/contrib/arm-optimized-routines/pl/math/math_err.c
diff --cc contrib/arm-optimized-routines/pl/math/math_errf.c
index 000000000000,96271ff18bc1..96271ff18bc1
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/math_errf.c
+++ b/contrib/arm-optimized-routines/pl/math/math_errf.c
diff --cc contrib/arm-optimized-routines/pl/math/pairwise_horner.h
index 000000000000,6ad98dccd6aa..6ad98dccd6aa
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/pairwise_horner.h
+++ b/contrib/arm-optimized-routines/pl/math/pairwise_horner.h
diff --cc contrib/arm-optimized-routines/pl/math/pairwise_horner_wrap.h
index 000000000000,e56f059514ad..e56f059514ad
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/pairwise_horner_wrap.h
+++ b/contrib/arm-optimized-routines/pl/math/pairwise_horner_wrap.h
diff --cc contrib/arm-optimized-routines/pl/math/pairwise_hornerf.h
index 000000000000,784750cde0b6..784750cde0b6
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/pairwise_hornerf.h
+++ b/contrib/arm-optimized-routines/pl/math/pairwise_hornerf.h
diff --cc contrib/arm-optimized-routines/pl/math/pl_sig.h
index 000000000000,686d24f0d9a5..686d24f0d9a5
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/pl_sig.h
+++ b/contrib/arm-optimized-routines/pl/math/pl_sig.h
diff --cc contrib/arm-optimized-routines/pl/math/s_acosh_3u5.c
index 000000000000,f62cbd6b53f0..f62cbd6b53f0
mode 000000,100644..100644
--- a/contrib/arm-optimized-routines/pl/math/s_acosh_3u5.c
+++ b/contrib/arm-optimized-routines/pl/math/s_acosh_3u5.c
diff --cc contrib/arm-optimized-routines/pl/math/s_acoshf_3u1.c
*** 1049 LINES SKIPPED ***