From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 7AEA43856954 for ; Mon, 21 Aug 2023 07:10:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7AEA43856954 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692601834; x=1724137834; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=hxFlLdMMoW8wdF6IwD+8BA+yEef3dUdD2oQUjRfGw/g=; b=lLgKoNTjcpAyx1+VsrXTlwP06rmXzhFiXNo056ry1iKzuBfs6o9ItVKm yCqYegPYosC0SVL3bAYblpTXf0l3zr1HxRK86MlWvvsaZvFjqLJSil51j +UkQJwOw+VXN1kE+Hv3LugG1YzMCWt8QbaS8bbhtCZh82rTICyco6PG48 r4M1bf56X0/+VwXPzGFlUwRA951FRmBG25vOVVAnHjlSrugAy5o0tTWZC HtLp3kLjXgG5RDWIvvBeWRAar+e77RkXK4aBVVwBZD5fxTkAmi/LPxdK6 M5WVqh/MP+a+TSECloGC0VZu68fMOi7a/IOPWiy6oVW/1N6feYGiD4q5D g==; X-IronPort-AV: E=McAfee;i="6600,9927,10808"; a="404517972" X-IronPort-AV: E=Sophos;i="6.01,189,1684825200"; d="scan'208,217";a="404517972" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2023 00:10:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10808"; a="909588604" X-IronPort-AV: E=Sophos;i="6.01,189,1684825200"; d="scan'208,217";a="909588604" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga005.jf.intel.com with ESMTP; 21 Aug 2023 00:10:31 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug 2023 00:10:30 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug 2023 00:10:30 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 21 Aug 2023 00:10:30 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.46) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 21 Aug 2023 00:10:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O0nTXGXKtgef9yWr327wM/RllJcgIOCz+dp7VxPifmmo1Q8/jCPmkQc3pofgVNQUWDdbe2cTnOVW1eZCNHpFKmi4frkAxjTY9YpHhur+WPmXnCrgLM14fGc9YrIhCbb9T6eKlBZqEVaH3zdus6afA4ra4qINQqJFfF4B2iiLjP00ofZtixfgw29ZHiUMGu3IZcoyJppWTfdInerBQTRR7aNWSgWGun9iN5L0hHqyD2sLvKg5BFfljh0a3oMTSfcPsqv7bQCjUhmKhCJG9FXCBpZFdetuJKLXEP3Ws8u2iD/0EYGtgIvfQ6W9syNpcHgkKZ/ojNoa3N8pNmyfmgpf7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nyXjrquohcffQGc6nez4ueBEGn4ZMG2aFCndWtEqfeI=; b=DH2g/cwoWw8pMqEngnvDgEme0y7Ulex1rhdZayN5QUk/QN2kHC+/4ghKsBlbkj1KMUxMTHpKiek01aeuYiItXULXvMS8FuCSx2xL4LINKJuTke/vOv/WQZGn1O+VOvvENkiHxzwhlF/jJ0cRngwVTUvubJEGZhQvf82Dd/EJFuZ0alrbusMB2yWoFiiQt+uwYOKWPMNDR0MgHTLw7C7tT6jYmUGt9aJPeTESD/ytBnoKQ7S/ISeFOHaVS0ReETJMR4KxpGW8Jxv9gyXYj5+MGUtqrH3UkSNl9kGNO7ogds7B1ABW9W4+PSM2VpJpEawv5AI1Ciel3c4vSDuqz4kEVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by SN7PR11MB6993.namprd11.prod.outlook.com (2603:10b6:806:2ac::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 07:10:26 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::6ff9:5a3d:4981:3476]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::6ff9:5a3d:4981:3476%5]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 07:10:26 +0000 From: "Li, Pan2" To: "juzhe.zhong@rivai.ai" , gcc-patches CC: "Wang, Yanzhang" , kito.cheng Subject: RE: [PATCH v1] RISC-V: Support RVV VFWREDUSUM.VS rounding mode intrinsic API Thread-Topic: [PATCH v1] RISC-V: Support RVV VFWREDUSUM.VS rounding mode intrinsic API Thread-Index: AQHZ0OG+ImGbbF9QC021k6BVyj9Kga/0Ux0egAAIARA= Date: Mon, 21 Aug 2023 07:10:26 +0000 Message-ID: References: <20230817080558.117051-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|SN7PR11MB6993:EE_ x-ms-office365-filtering-correlation-id: 6569381f-9d07-4099-8d0d-08dba215b1a6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qNHF9HAlhdSI9CJIWGHWU/wLEWbjgsJ3rF5AlsDeJ6KhexfeIgEzeEXttrCZ136Dj3C7g8IoHOZ+IEMcFgPr+YW2ItIcN7aJFXqXF3pTcS5r/wf+zfMXm46A2DUefRzwYWyCMT+Yqc+opC7jMMnFpy6QELZrXnq2epXkkl7QMGmR02K4JIGSDmDkDYhkul0LLic35RDiBTdZw1/r0tvw51wwmTy7ptpwvEua6WWh3qG3cSUAe8AlErEttWLdeyZwr5vspNwfCjntPEpp9Vnj16kWMRzTloq4ascum22zjaC3VjfDfronXnYVDbKDmQBiq64JbG4zEaOTSK+gUsVzN3YTpFsR8BKt+Rf8Ff0/z+mGs3Vjm/xmTEToVOzkcEwaOSyqkkIC44E1SUyoYOYn0bmwAnf0CBDUH8CfeqBg9lHCnxuNo2XOP3wzU4qc7rXR13xdEOAeRzFmU3CzJp7r9sq562pynmrKX8rcvb/DS7gTUQXGYj6KGFyzKTJkrEU9oXvm2TEDg0RphA4yfwyD2AY1/i4DdkOirm+QqpeRKzm2VgPTerGMsbzy7mUF4eg7TXNlNyJWLYEjH/1j9ANzhonpCw4lejHVAfXRtupm/Ic= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(39860400002)(136003)(396003)(376002)(451199024)(186009)(1800799009)(84970400001)(2906002)(83380400001)(53546011)(38070700005)(7696005)(38100700002)(6506007)(5660300002)(52536014)(33656002)(26005)(86362001)(8676002)(8936002)(4326008)(66946007)(316002)(9686003)(64756008)(54906003)(66446008)(66556008)(76116006)(66476007)(110136005)(82960400001)(478600001)(122000001)(55016003)(71200400001)(41300700001)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?10tFuNmEqINFLT7V7yoGUkDjb42Ib7DSV6NSKnWsa4Vkuoc7BLQ547p0QeM8?= =?us-ascii?Q?1SnRxZOEn/9W9UUz0mwfo6CRx0/0+Q3DZfouBt989UCGsSY5iymlPH3dTd85?= =?us-ascii?Q?Y3ATCjDKMlkEFykA86trRSuVkjrh69cmbBP6nzvRqluskLynGOFZBstD5GH/?= =?us-ascii?Q?28MtW4oFB5NBnyPFQ0rLLMMnH7gwQ8jKcIU/QAbhNdqQG5/9fpgbpbzq41WH?= =?us-ascii?Q?uSlkCQmaN5e/iKu5kYAsKCpcT2E005QQ8La9N+wehnopQJ7si+JUd+wRn3ro?= =?us-ascii?Q?5We50FwmKHHmki2/RUmXNjIH/qmcbrhTD9r3+Gim17kJvgzMMCDwcN7g+QxJ?= =?us-ascii?Q?I+EJ9MMRC3o3KzEdurF1lzwVCfqMlcGAY+QF0x+dvoRZazxZC3p9iJBJSY2T?= =?us-ascii?Q?S9yyNXyFVig5BjiO8c/BwgyR9j819ilYBtvihSYPOVnYlWCJ90a27UnT0ClJ?= =?us-ascii?Q?UEqjppLEqFC5IjA2vQkjgxaPmmtPLKHVEvUxILKS0uKsfKe2ZHTmspyhGxcK?= =?us-ascii?Q?njdW9aZV9FUWtZCbHY8zRpWazeF+E77jzEAv2cnduZAQIIlN0mMJknEptXvx?= =?us-ascii?Q?u/ot7pk6fjKu2616NBFarJRm271cpKVq8p8DrQxxJUUxOhMSif9APYv13WhX?= =?us-ascii?Q?UAA2RWa1k+Uq9jTuUvAhypmYGnkwjOusD5pRFJcf+sGtFQLEUed4PIaY+yMH?= =?us-ascii?Q?V3Y2DPkKT1g67KFFHybpMnCy/XthgqCjOnxtbPGdvtLW4X248o2MTfaiyDi7?= =?us-ascii?Q?5tMz0kf+Cl1fIffuRZ41XLYVDcq5bJjmzIHdwt74zFMkt06DvvMfUKQsy6l5?= =?us-ascii?Q?bW0Fq48wjlfMQNYGS3CQ6D6oOxl8FwItGrMYnN0CxPZh73fQzRZumHk7qKnA?= =?us-ascii?Q?CdBJH9zMugRvx7KDtHnjCF3NjVn9JO28oM1TyaeKe02rSSlNzUVxo3yXNl2t?= =?us-ascii?Q?4J8xgDgGMaEbevGQrtaqgi+k8YUxLHRczx9VTvm5mZn/GqbRANs7zkmW4I6Y?= =?us-ascii?Q?IcEcXxvYQUUBLvcAwt/UbXT3wB88eWx8bYhv8zOsB+uBHQ/i2b63SlKCUSge?= =?us-ascii?Q?Hi/HfTMWa7HMxo2O4IITx+tiOY50p/OMqua4+bJM/SrLadnRPIyESlp37lgp?= =?us-ascii?Q?dNDDxCynDfZqADn8BcHiO3VvqtZUaipxtt84uoKYaTX8xkTwdlpSk62imUVD?= =?us-ascii?Q?OM9tZqBr0zeoJWNO3a6xdUuXa1OoPlwL1KeEeOlYCir2aCigAIK1KNq1GMgi?= =?us-ascii?Q?QbG3rUwFQfx2tG+vzgh9jQY7aN4f3a7w651fADItO8pwkeeI7eIZtB7QIxLI?= =?us-ascii?Q?MWJeY6OqmkYeVSXIOGH/LVeNe1aoliTwIHpHmLOA9B4L6pS0quvRQKWitZUF?= =?us-ascii?Q?R6uWbpKquUwXcb4UMlhRrA2do7U49vPCIFV9jRvrs7qOAmubKUeMzO2V9PWm?= =?us-ascii?Q?cm+ImRIul6M2Pb0xjUlC2bl1lecq8rH0UsWX0TzH0e6hxV6xl3uqnsE2QaqH?= =?us-ascii?Q?L9AFKrwrSp5TGpqUmzxBuqhfazR6ocQjkjIO5WGpgUYf4j8DMYn6LAHKWVFN?= =?us-ascii?Q?UR99mpDbD+MCnIXrIQw=3D?= Content-Type: multipart/alternative; boundary="_000_MW5PR11MB59082ACFB0C89477380BF866A91EAMW5PR11MB5908namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6569381f-9d07-4099-8d0d-08dba215b1a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2023 07:10:26.1077 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xzRUX8lgwHiY4mkm2LFHxH3UZh3C1aXsbl7BFs5FdURgMtU3cGdL9ZCJL7aodqb4URurI2l3bTjeQPellHnJrQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6993 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_MW5PR11MB59082ACFB0C89477380BF866A91EAMW5PR11MB5908namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable To double confirm, you mean this declaration ? +static CONSTEXPR const widen_freducop vfwredusu= m_frm_obj; Pan From: juzhe.zhong@rivai.ai Sent: Monday, August 21, 2023 2:40 PM To: Li, Pan2 ; gcc-patches Cc: Li, Pan2 ; Wang, Yanzhang ;= kito.cheng Subject: Re: [PATCH v1] RISC-V: Support RVV VFWREDUSUM.VS rounding mode int= rinsic API Why does this patch not have HAS_FRM? ________________________________ juzhe.zhong@rivai.ai From: pan2.li Date: 2023-08-17 16:05 To: gcc-patches CC: juzhe.zhong; pan2.li; yanzhang.wang; kito.cheng Subject: [PATCH v1] RISC-V: Support RVV VFWREDUSUM.VS rounding mode intrins= ic API From: Pan Li > This patch would like to support the rounding mode API for the VFWREDUSUM.VS as the below samples * __riscv_vfwredusum_vs_f32m1_f64m1_rm * __riscv_vfwredusum_vs_f32m1_f64m1_rm_m Signed-off-by: Pan Li > gcc/ChangeLog: * config/riscv/riscv-vector-builtins-bases.cc (vfwredusum_frm_obj): New declaration. (BASE): Ditto. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vfwredusum_frm): New intrinsic function def. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/float-point-wredusum.c: New test. --- .../riscv/riscv-vector-builtins-bases.cc | 2 ++ .../riscv/riscv-vector-builtins-bases.h | 1 + .../riscv/riscv-vector-builtins-functions.def | 1 + .../riscv/rvv/base/float-point-wredusum.c | 33 +++++++++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/float-point-wred= usum.c diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.cc b/gcc/config/r= iscv/riscv-vector-builtins-bases.cc index abf03bab0da..5ee7d3119db 100644 --- a/gcc/config/riscv/riscv-vector-builtins-bases.cc +++ b/gcc/config/riscv/riscv-vector-builtins-bases.cc @@ -2548,6 +2548,7 @@ static CONSTEXPR const freducop vfredosum_frm_obj; static CONSTEXPR const reducop vfredmax_obj; static CONSTEXPR const reducop vfredmin_obj; static CONSTEXPR const widen_freducop vfwredusum_obj; +static CONSTEXPR const widen_freducop vfwredusu= m_frm_obj; static CONSTEXPR const widen_freducop vfwredosum_obj; static CONSTEXPR const widen_freducop vfwredosum_f= rm_obj; static CONSTEXPR const vmv vmv_x_obj; @@ -2810,6 +2811,7 @@ BASE (vfredmin) BASE (vfwredosum) BASE (vfwredosum_frm) BASE (vfwredusum) +BASE (vfwredusum_frm) BASE (vmv_x) BASE (vmv_s) BASE (vfmv_f) diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.h b/gcc/config/ri= scv/riscv-vector-builtins-bases.h index c1bb164a712..69d4562091f 100644 --- a/gcc/config/riscv/riscv-vector-builtins-bases.h +++ b/gcc/config/riscv/riscv-vector-builtins-bases.h @@ -247,6 +247,7 @@ extern const function_base *const vfredmin; extern const function_base *const vfwredosum; extern const function_base *const vfwredosum_frm; extern const function_base *const vfwredusum; +extern const function_base *const vfwredusum_frm; extern const function_base *const vmv_x; extern const function_base *const vmv_s; extern const function_base *const vfmv_f; diff --git a/gcc/config/riscv/riscv-vector-builtins-functions.def b/gcc/con= fig/riscv/riscv-vector-builtins-functions.def index da1157f5a56..3ce06dc60b7 100644 --- a/gcc/config/riscv/riscv-vector-builtins-functions.def +++ b/gcc/config/riscv/riscv-vector-builtins-functions.def @@ -508,6 +508,7 @@ DEF_RVV_FUNCTION (vfwredosum, reduc_alu, no_mu_preds, w= f_vs_ops) DEF_RVV_FUNCTION (vfwredusum, reduc_alu, no_mu_preds, wf_vs_ops) DEF_RVV_FUNCTION (vfwredosum_frm, reduc_alu_frm, no_mu_preds, wf_vs_ops) +DEF_RVV_FUNCTION (vfwredusum_frm, reduc_alu_frm, no_mu_preds, wf_vs_ops) /* 15. Vector Mask Instructions. */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-wredusum.c= b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-wredusum.c new file mode 100644 index 00000000000..6c888c10c0d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-wredusum.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-options "-march=3Drv64gcv -mabi=3Dlp64 -O3 -Wno-psabi" } */ + +#include "riscv_vector.h" + +vfloat64m1_t +test_riscv_vfwredusum_vs_f32m1_f64m1_rm (vfloat32m1_t op1, vfloat64m1_t op= 2, + size_t vl) { + return __riscv_vfwredusum_vs_f32m1_f64m1_rm (op1, op2, 0, vl); +} + +vfloat64m1_t +test_vfwredusum_vs_f32m1_f64m1_rm_m (vbool32_t mask, vfloat32m1_t op1, + vfloat64m1_t op2, size_t vl) { + return __riscv_vfwredusum_vs_f32m1_f64m1_rm_m (mask, op1, op2, 1, vl); +} + +vfloat64m1_t +test_riscv_vfwredusum_vs_f32m1_f64m1 (vfloat32m1_t op1, vfloat64m1_t op2, + size_t vl) { + return __riscv_vfwredusum_vs_f32m1_f64m1 (op1, op2, vl); +} + +vfloat64m1_t +test_vfwredusum_vs_f32m1_f64m1_m (vbool32_t mask, vfloat32m1_t op1, + vfloat64m1_t op2, size_t vl) { + return __riscv_vfwredusum_vs_f32m1_f64m1_m (mask, op1, op2, vl); +} + +/* { dg-final { scan-assembler-times {vfwredusum\.vs\s+v[0-9]+,\s*v[0-9]+}= 4 } } */ +/* { dg-final { scan-assembler-times {frrm\s+[axs][0-9]+} 2 } } */ +/* { dg-final { scan-assembler-times {fsrm\s+[axs][0-9]+} 2 } } */ +/* { dg-final { scan-assembler-times {fsrmi\s+[01234]} 2 } } */ -- 2.34.1 --_000_MW5PR11MB59082ACFB0C89477380BF866A91EAMW5PR11MB5908namp_--