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: 1588283 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=mHuoS/3w; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Jqlt86sRyz9s5B for ; Fri, 4 Feb 2022 17:26:23 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7BB8C3858404 for ; Fri, 4 Feb 2022 06:26:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7BB8C3858404 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1643955978; 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=mHuoS/3wB2ShX9Kl6j0ZvIkbh6m5PVi8zZwh/kebs96vCyfL8fYK55D0iK/rGS0to IletnEpK1ni8kZiIWVDM6hDoNCi1S3QEn06Qa/wif0STI5BzbwuVS8xJcjS2cis6Uy YKQ7fUv+w7xFo6rI+OItvmcGKjouKQUio2KUsfcY= 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+incoming=patchwork.ozlabs.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