From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (unknown [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 124533858D1E for ; Thu, 3 Aug 2023 03:05:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 124533858D1E 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=1691031913; x=1722567913; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=MruV1M+mObw6XIBL+muAIUtbRMuhcdIEWCrqVD6+4Sg=; b=k9XH6E7Cd/yIFFqs/pyeHFMgGY19hDYwZR+L52yc3ebERFIB63HUAy/o CMtPEqu/+NK8jrACuoJDez68pnwselWHxxApaWJNlFIpijsYhPiD8mAti vjIUsZgdIqJFWta6DR4F8o/Fj9WaplpokXWHoZQpPS0+ofpOCynCYRwFS GoySDFnnrwzY+5c85DJu0p1e+5vDE7PdgLAacSE+dTIsNnK9YaHdK2OXK DqoiRTZcNzEZS0n52vkAQf89dY0BMxDXG/tlfEv4lrGmqoHc1Bp25qhvW SXF3pQwyJnuuZE6ncUCMnc6epeUYvm1Zh2LSWunKbqX6CpdEJZUzU+dYE g==; X-IronPort-AV: E=McAfee;i="6600,9927,10790"; a="349350415" X-IronPort-AV: E=Sophos;i="6.01,250,1684825200"; d="scan'208,217";a="349350415" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2023 20:05:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10790"; a="764444567" X-IronPort-AV: E=Sophos;i="6.01,250,1684825200"; d="scan'208,217";a="764444567" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga001.jf.intel.com with ESMTP; 02 Aug 2023 20:05:10 -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; Wed, 2 Aug 2023 20:05:10 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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 via Frontend Transport; Wed, 2 Aug 2023 20:05:10 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) 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; Wed, 2 Aug 2023 20:05:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DgXo038Gd3LpCKMMQLhFmCO1twmzS9Tk6vVA/YrjbQK+AHkX4p1ikQHN6mt3FoFywtr7aNcFJVc5FXNQXC8axxknpYbMGnsl75A7NLDhz+XSvWKrK+2dzbbBMFOQ1KOc0NN4GvY0MmC/EVH8QU3jhZFkoM99X6ME6e49c7iO6A0ZbnfxIprpVIoMqzf6rH8tukXxp7sZiwW2a39MmDhKw4aOuEbt69ZOr2gX0roUFsNTCejbYfDUS0DvxXsHyJPqEFUafTKw56Ek6x+G0iOWHceJeyCQfBQ4ZL6mE9E809KQymQOZfZK3/J7VnJ8ALIXUiJveP4zmR/eFK1SIqC6pw== 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=NZeuBfXAq74bs/OphYmG6GdB6EWMupvkzbxxmJ2Cgh0=; b=CayXCXXwrB4Sr+yss+T5nAM+mSC/9hGC+ALdKghBcYANwrNN32k5to7cfCYYTA0noaPRiKJ5QJRvcuixsHV4kqD117HQ8jtxHAPCtQa0R+oW8GVVgsYq4t7eglsN5Zqe9yVX67rqUUusVpJH88JtjnDDlAOMKHWknqD0chmLTdFErNCjk0EvGEdqTsZFDBzqNCQqUhKJ2D8iz3aM11zf/fyn3Jw2+clDVfjV8Y+bkNAk2HL+GwgqYkJhCXMLMFtq/ljXBzlBlOD9YHyG62XBRLt5RhPYvLBHb/9YR/XWWFu0ftqRepn8LuzMdoYb1xEYgKBBvtD0tUU3sncN5J+KpA== 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 SJ0PR11MB5866.namprd11.prod.outlook.com (2603:10b6:a03:429::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Thu, 3 Aug 2023 03:05:07 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::e578:3402:ae65:71d9]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::e578:3402:ae65:71d9%4]) with mapi id 15.20.6652.019; Thu, 3 Aug 2023 03:05:07 +0000 From: "Li, Pan2" To: "juzhe.zhong@rivai.ai" , gcc-patches CC: Kito.cheng , "Wang, Yanzhang" Subject: RE: [PATCH v2] RISC-V: Support RVV VFMUL rounding mode intrinsic API Thread-Topic: [PATCH v2] RISC-V: Support RVV VFMUL rounding mode intrinsic API Thread-Index: AQHZxbK7o1ZwIcClSUiSRi09StpnD6/X2zBKgAAH9/A= Date: Thu, 3 Aug 2023 03:05:07 +0000 Message-ID: References: <20230803013807.3967176-1-pan2.li@intel.com>, <20230803023210.530982-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_|SJ0PR11MB5866:EE_ x-ms-office365-filtering-correlation-id: 05500321-7241-4094-80dc-08db93ce70f8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: n4FHH0hJub630kz9CF/ljSmo33prPlYasg9UrndktnXfJ4hqqgRepY1bY9gMmbS1zFxRUtYm0aGS9BLbhv6L8cNT/fIqnXmBEDyH3eneSbSTUyY3HjbBYP5ETE3+vPtABxvv92yAywbNQKBITa2kn8yKLjxNTQi9YVqqjqGoPZRRSIYzXZY7T+YEYX4EW+zXpiS6rir05XOF1fWIVDHeoHqPcq/fAGnB4wwks/3+4mQPhJK7+cZmMbtzauW5gi92PLvC6KtvZyd+qTg6dgs8bX7r0fIdSZVV8bIqYyXLxvuYWa8t4D2XBC1JyMl9s4vCrOPvWwtTzOSO4K32v0CVDyNj0YMso9coIi6GZnCWHYt5NgmBtOW1x01EfnUOMmkqF/PsNCwvTMRkzay9GdzOm9V+zaBTI6R13eXu1KvdnydGQelGVDtHSEOGJAnk3/xPy39s7z1RJwup0mnGhAfXeMebK1vW9/y/QW2gM+EP2H5bpqG8VBTQZuEASr1D4X1+Iy/pI1UbjEp7piQXuK4OjGja7Nc5fAGlO2eRoU9IWyZNnOHLNC5axcAzoEw2Bl0K7AekjPuEv9ODfTCM9rg3JuCpmG09BhR5jGVT1boKPQ0= 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:(13230028)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(52536014)(5660300002)(6506007)(8936002)(53546011)(186003)(8676002)(83380400001)(26005)(478600001)(66446008)(76116006)(54906003)(4326008)(66946007)(110136005)(66556008)(66476007)(316002)(107886003)(64756008)(7696005)(71200400001)(9686003)(86362001)(41300700001)(38070700005)(55016003)(33656002)(2906002)(82960400001)(122000001)(38100700002)(84970400001)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?SMHXUx2m1O+44fHPHrrSnyhDM8/1ApdSOVjiGzTY7LxMNbv+qpRdFX9IcJOV?= =?us-ascii?Q?omg0rQkE2ZUfo5zOJOp0BLpdw4bfXqCgIGSn50UcSUaF2sCmEMBBC2640AyE?= =?us-ascii?Q?2ru8sR2lFUTBvH7p/XoIBl/LydQ21dYPXY1j3lCRX+WtaPwGIbUYvX0LBnmp?= =?us-ascii?Q?vwKNsNXdI9fk80AAPSbySG1lY8qtdDLb1fR7mr/wPIySdaTIFiSr4AFtE1zY?= =?us-ascii?Q?x7U1hK5s4Gj9UUIUp+ACjl0UBORAhjvxge4tKXJs2qxV3cKxlyzw24GwIrjb?= =?us-ascii?Q?vd2+wSRIiW3jqSXbicc/5je1oyyVAbV7Vw/vd2N4ss9QCm9pbhNJMfVyeHmT?= =?us-ascii?Q?BBbX1EAzCxgMaPXi6S5u1+xysrq26YrxBGcswhm8UY87OxzWwwGGm1lHRc6I?= =?us-ascii?Q?+kTQtvxSu3JxVmXK4cyAfKERok4O3ZohN4UQGLXQedI5zB8V5tM/Qtjqo8eg?= =?us-ascii?Q?irPi9PdsMTofIuB56V0i45nXmPjXILfYjIxCQrBDnfivzL82MJq/9bywUbP7?= =?us-ascii?Q?nP+lIbl6Qfx2wfo8OYJagXwxaJXjdhCC/v1T5deI+Q97AIGQ6dIYTHk1Nj43?= =?us-ascii?Q?qH88yvNXt0dsU6qGtndKmK3X385dPPYoqItM9+MVDSKuCP8MQ6UYNCGMyV53?= =?us-ascii?Q?I/h9ACrF9WguLhU2HKv9H6qgjKqRb70q5m+FGco6GT5qaOLSjwA/+Kwr3cTS?= =?us-ascii?Q?+VCft7X6FSaOgNx1hMLiOGM5UTc76RtO+KCfQmsmUygSEdQdaNF5tk8+afez?= =?us-ascii?Q?i1caF8RRSIaAuzbnoIk7Iru0oD+WqIG8V6m3Fha3r9uMmx1eIZH+1FIwfNDj?= =?us-ascii?Q?ydhbvX1HoHctN94aWi+6WZU4bGkd723ZyDLLq6Ck/RqCjOYrDuvCuiOeGhgU?= =?us-ascii?Q?GN6P/zmNXXnkjQnUiCXuhtF00eW2j5kSTMSw9fEOig4qkzRVr26oEhm/zDX8?= =?us-ascii?Q?DU/Qxw9uJGw7e8TrMzej2RzpxKfJV6v3voIow7F0EqmQjki0On8bMTx1+EZV?= =?us-ascii?Q?1Nm39N4wHgAqPnnRugNafLkTytOBJG27EWotR8l6DIovayr7oNb9yKyFBZ8w?= =?us-ascii?Q?FtD3m+9fTpbDD38FJLzyzDaw2WeiE8dhHmolGSiKBtmTNdTVO0e7bcnK+hnq?= =?us-ascii?Q?PZ10Zxoy8BjiqqtS7UOsx/9NDdA/hr5sz1s1zCVZqUPOlC+xeEPWGLzdBQAW?= =?us-ascii?Q?yqBBvWodfKHIpN0iGdfUWUT+r3XDH0CyFVnwshH5y6/doiXh6WqQc5t2aMV7?= =?us-ascii?Q?9FJm3pgfobaEgB3i3u7RsjAmofFtTSdXLBCWplgUgmfDDqbBfFbOjkzqS++s?= =?us-ascii?Q?hT16U0KtnayesjbA9bEFoaKJhE9qz4M7EaEU0+nU29cUNdZ1elKjrRlepbwG?= =?us-ascii?Q?OGYonDIhBhPmMjyjQnW5uxd+L0prWGXB0i6y/rVedHvqhPyECx4xTny6exyQ?= =?us-ascii?Q?nISAe9zwhuXKaxNywEf8IM0O7WSSlRiC+h1ktU5PA4AdJbtaXCO4Zcrc4xep?= =?us-ascii?Q?Ewf/1KaXiVj1Z/B4Me+PnfTh/SYOawMAKKZnAxUDfw/MU8f1PsS11kSR7/+J?= =?us-ascii?Q?2PIPT0IzrsxlEXt2WWU=3D?= Content-Type: multipart/alternative; boundary="_000_MW5PR11MB5908D106BCFDA2AEF1F1DABBA908AMW5PR11MB5908namp_" 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: 05500321-7241-4094-80dc-08db93ce70f8 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2023 03:05:07.0433 (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: xxiflBwCGRmyrOqMJylj+2YDIcAZ2e3chOZtXuOprOMfGjkmgmSm4yoHTu90WIMXVwuN1uNlB+CNOgpRm27LqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5866 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-11.9 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,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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_MW5PR11MB5908D106BCFDA2AEF1F1DABBA908AMW5PR11MB5908namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Committed, thanks Juzhe. Pan From: juzhe.zhong@rivai.ai Sent: Thursday, August 3, 2023 10:36 AM To: Li, Pan2 ; gcc-patches Cc: Kito.cheng ; Li, Pan2 ; Wang,= Yanzhang Subject: Re: [PATCH v2] RISC-V: Support RVV VFMUL rounding mode intrinsic A= PI LGTM ________________________________ juzhe.zhong@rivai.ai From: pan2.li Date: 2023-08-03 10:32 To: gcc-patches CC: juzhe.zhong; kito.cheng; pan2.li; yanzhang.wang Subject: [PATCH v2] RISC-V: Support RVV VFMUL rounding mode intrinsic API From: Pan Li > Update in v2: * Sync with upstream for the vfmul duplicated declaration. Original log: This patch would like to support the rounding mode API for the VFMUL for the below samples. * __riscv_vfmul_vv_f32m1_rm * __riscv_vfmul_vv_f32m1_rm_m * __riscv_vfmul_vf_f32m1_rm * __riscv_vfmul_vf_f32m1_rm_m Signed-off-by: Pan Li > gcc/ChangeLog: * config/riscv/riscv-vector-builtins-bases.cc (vfmul_frm_obj): New declaration. (Base): Likewise. * config/riscv/riscv-vector-builtins-bases.h: Likewise. * config/riscv/riscv-vector-builtins-functions.def (vfmul_frm): New function definition. * config/riscv/vector.md: Add vfmul to frm_mode. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/float-point-single-mul.c: New test. --- .../riscv/riscv-vector-builtins-bases.cc | 3 ++ .../riscv/riscv-vector-builtins-bases.h | 1 + .../riscv/riscv-vector-builtins-functions.def | 2 + gcc/config/riscv/vector.md | 2 +- .../riscv/rvv/base/float-point-single-mul.c | 44 +++++++++++++++++++ 5 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/float-point-sing= le-mul.c diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.cc b/gcc/config/r= iscv/riscv-vector-builtins-bases.cc index ddf694c771c..3adc11138a3 100644 --- a/gcc/config/riscv/riscv-vector-builtins-bases.cc +++ b/gcc/config/riscv/riscv-vector-builtins-bases.cc @@ -277,6 +277,7 @@ public: /* Implements below instructions for now. - vfadd + - vfmul */ template class binop_frm : public function_base @@ -2103,6 +2104,7 @@ static CONSTEXPR const widen_binop_frm vfwadd_f= rm_obj; static CONSTEXPR const widen_binop vfwsub_obj; static CONSTEXPR const widen_binop_frm vfwsub_frm_obj; static CONSTEXPR const binop vfmul_obj; +static CONSTEXPR const binop_frm vfmul_frm_obj; static CONSTEXPR const binop
vfdiv_obj; static CONSTEXPR const reverse_binop
vfrdiv_obj; static CONSTEXPR const widen_binop vfwmul_obj; @@ -2334,6 +2336,7 @@ BASE (vfwadd_frm) BASE (vfwsub) BASE (vfwsub_frm) BASE (vfmul) +BASE (vfmul_frm) BASE (vfdiv) BASE (vfrdiv) BASE (vfwmul) diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.h b/gcc/config/ri= scv/riscv-vector-builtins-bases.h index f40b022239d..9c12a6b4e8f 100644 --- a/gcc/config/riscv/riscv-vector-builtins-bases.h +++ b/gcc/config/riscv/riscv-vector-builtins-bases.h @@ -152,6 +152,7 @@ extern const function_base *const vfwadd_frm; extern const function_base *const vfwsub; extern const function_base *const vfwsub_frm; extern const function_base *const vfmul; +extern const function_base *const vfmul_frm; extern const function_base *const vfdiv; extern const function_base *const vfrdiv; extern const function_base *const vfwmul; diff --git a/gcc/config/riscv/riscv-vector-builtins-functions.def b/gcc/con= fig/riscv/riscv-vector-builtins-functions.def index 58a7224fe0c..35a83ef239c 100644 --- a/gcc/config/riscv/riscv-vector-builtins-functions.def +++ b/gcc/config/riscv/riscv-vector-builtins-functions.def @@ -319,6 +319,8 @@ DEF_RVV_FUNCTION (vfmul, alu, full_preds, f_vvf_ops) DEF_RVV_FUNCTION (vfdiv, alu, full_preds, f_vvv_ops) DEF_RVV_FUNCTION (vfdiv, alu, full_preds, f_vvf_ops) DEF_RVV_FUNCTION (vfrdiv, alu, full_preds, f_vvf_ops) +DEF_RVV_FUNCTION (vfmul_frm, alu_frm, full_preds, f_vvv_ops) +DEF_RVV_FUNCTION (vfmul_frm, alu_frm, full_preds, f_vvf_ops) // 13.5. Vector Widening Floating-Point Multiply DEF_RVV_FUNCTION (vfwmul, alu, full_preds, f_wvv_ops) diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md index 65f36744f54..5d3e4256cd5 100644 --- a/gcc/config/riscv/vector.md +++ b/gcc/config/riscv/vector.md @@ -866,7 +866,7 @@ (define_attr "vxrm_mode" "rnu,rne,rdn,rod,none" ;; Defines rounding mode of an floating-point operation. (define_attr "frm_mode" "rne,rtz,rdn,rup,rmm,dyn,dyn_exit,dyn_call,none" - (cond [(eq_attr "type" "vfalu,vfwalu") + (cond [(eq_attr "type" "vfalu,vfwalu,vfmul") (cond [(match_test "INTVAL (operands[9]) =3D=3D riscv_vector::FRM_RNE") (const_string "rne") diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-single-mul= .c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-single-mul.c new file mode 100644 index 00000000000..e6410ea3a37 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-single-mul.c @@ -0,0 +1,44 @@ +/* { dg-do compile } */ +/* { dg-options "-march=3Drv64gcv -mabi=3Dlp64 -O3 -Wno-psabi" } */ + +#include "riscv_vector.h" + +typedef float float32_t; + +vfloat32m1_t +test_riscv_vfmul_vv_f32m1_rm (vfloat32m1_t op1, vfloat32m1_t op2, size_t v= l) { + return __riscv_vfmul_vv_f32m1_rm (op1, op2, 0, vl); +} + +vfloat32m1_t +test_vfmul_vv_f32m1_rm_m (vbool32_t mask, vfloat32m1_t op1, vfloat32m1_t o= p2, + size_t vl) { + return __riscv_vfmul_vv_f32m1_rm_m (mask, op1, op2, 1, vl); +} + +vfloat32m1_t +test_vfmul_vf_f32m1_rm (vfloat32m1_t op1, float32_t op2, size_t vl) { + return __riscv_vfmul_vf_f32m1_rm (op1, op2, 2, vl); +} + +vfloat32m1_t +test_vfmul_vf_f32m1_rm_m (vbool32_t mask, vfloat32m1_t op1, float32_t op2, + size_t vl) { + return __riscv_vfmul_vf_f32m1_rm_m (mask, op1, op2, 3, vl); +} + +vfloat32m1_t +test_riscv_vfmul_vv_f32m1 (vfloat32m1_t op1, vfloat32m1_t op2, size_t vl) { + return __riscv_vfmul_vv_f32m1 (op1, op2, vl); +} + +vfloat32m1_t +test_vfmul_vv_f32m1_m (vbool32_t mask, vfloat32m1_t op1, vfloat32m1_t op2, + size_t vl) { + return __riscv_vfmul_vv_f32m1_m (mask, op1, op2, vl); +} + +/* { dg-final { scan-assembler-times {vfmul\.v[vf]\s+v[0-9]+,\s*v[0-9]+,\s= *[fav]+[0-9]+} 6 } } */ +/* { dg-final { scan-assembler-times {frrm\s+[axs][0-9]+} 4 } } */ +/* { dg-final { scan-assembler-times {fsrm\s+[axs][0-9]+} 4 } } */ +/* { dg-final { scan-assembler-times {fsrmi\s+[01234]} 4 } } */ -- 2.34.1 --_000_MW5PR11MB5908D106BCFDA2AEF1F1DABBA908AMW5PR11MB5908namp_--