From patchwork Fri Feb 4 06:25:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 50769 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 48CA93858407 for ; Fri, 4 Feb 2022 06:26:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 48CA93858407 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1643955985; bh=XxISECGy2ib1Y1XCyOu5AIjt0HqdMB3cMo2+nTe/7E4=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=sOBNoWMCN3Dh1J02UwrGwMGI7vufok8BN9KOsYgHnneTO0fzjoXnao7fqqSlKON7k PR9iaEhcUj6bMiuVP5dD7+jn0Jpa/iNRM/GqeCbhEP9ru4zkOi2OqOqRo5SgRP6BCO TcvHhjv+mOBMjtrP5QFYzp6PYKaIBhk4YT+m8Bz8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 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 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-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "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