From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id B22143858D20 for ; Fri, 4 Feb 2022 06:26:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B22143858D20 X-IronPort-AV: E=McAfee;i="6200,9189,10247"; a="228970000" X-IronPort-AV: E=Sophos;i="5.88,341,1635231600"; d="scan'208";a="228970000" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2022 22:25:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,341,1635231600"; d="scan'208";a="539060196" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 03 Feb 2022 22:25:59 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 2146Px6U025470; Thu, 3 Feb 2022 22:25:59 -0800 From: Sunil K Pandey To: libc-alpha@sourceware.org Subject: [PATCH 00/20] x86-64: Add vector functions to libmvec microbenchmark Date: Thu, 3 Feb 2022 22:25:39 -0800 Message-Id: <20220204062559.222989-1-skpgkp2@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, SPOOFED_FREEMAIL, SPOOF_GMAIL_MID, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Feb 2022 06:26:05 -0000 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