From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2040.outbound.protection.outlook.com [40.107.7.40]) by sourceware.org (Postfix) with ESMTPS id 0AFA63858D28 for ; Wed, 3 May 2023 08:46:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0AFA63858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vRM3mNG8Ny7vwohyG3LLOcbiW7JtG80kPZTX2OzqR/I=; b=ED+KVj5Zll7OChO305iq44lNKo+DCx4QlfQ7ynGdi8ivqsok2bm63dH4bwJ7pclrjmPgQpUQtGlNdcdGjTCRl6b3cBDQjLBfaeszzwDzjoAyqO9WEFCZgY25tedtjEmgArcJENn+sYp4/TT4Qi9DE/MgDiHEo7h1uQnl3K/JulE= Received: from AS4P250CA0028.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5e3::16) by PAVPR08MB9532.eurprd08.prod.outlook.com (2603:10a6:102:312::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.22; Wed, 3 May 2023 08:46:31 +0000 Received: from AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:5e3:cafe::24) by AS4P250CA0028.outlook.office365.com (2603:10a6:20b:5e3::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31 via Frontend Transport; Wed, 3 May 2023 08:46:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT023.mail.protection.outlook.com (100.127.140.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.22 via Frontend Transport; Wed, 3 May 2023 08:46:31 +0000 Received: ("Tessian outbound 99a3040377ca:v136"); Wed, 03 May 2023 08:46:30 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cf5a59ceb9d0e829 X-CR-MTA-TID: 64aa7808 Received: from a2b6d1e4d9ba.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7447DEFD-3302-4F30-AF00-01215DD483BB.1; Wed, 03 May 2023 08:46:19 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a2b6d1e4d9ba.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 03 May 2023 08:46:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hlONIONhH3rgYkDn6eiC8tNvVKZwt4EVGgMdEKOOmfyCBLDO1gIioa4vbYjuRnytPuWYXJ/ovq/4R42K7bOZ0HSErDgPTAyXlkG3I7zUkhu0eNNksc31hu8RliqSbrvNZfkP5Q4SOi0LZSQzOSsaCcT14mLHpk8gKdTCPFNpVIIxRnoRo5wuSOrsOo8RGS3sBM2VgNbW1gfTtlw/qQkH6YDjXBrGbq/9RDLAhtHMCpHII8dprZehPYMgV6YB2h+sM1daK0H6uPgO1L4HHH55Gr2Vdm4QQvyWaKaa5k3OQH/joLWuk0Z66Ley6zQQ1s4IGwQGP6p1iXWM1tq7m+u7QA== 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=vRM3mNG8Ny7vwohyG3LLOcbiW7JtG80kPZTX2OzqR/I=; b=k+N7bTkrQqy7CM0oXppfnufukuk9likFcodoRR7MXEk3V9XvXExJK1N0GWiXoAOdHJJ2CwAxlIbH6ctuZiFt4HPIVkY74Zvu6cOvzku2Wokj/FdMsDVtR0SeXxDRfJaH5KdcjjqFcx+tkqkseO1qYdZQKTLPbblwCNksmaqBUBVnMqPaYGGa3icsENtomCVZeuuYQOI4viSnKjkfj+0Ap+JR+nov7ZkpOTv16b8B5gVKZX29JlrkT4buCtQoDhCK2hSgbrnGLcSS6mMMwYij+YrqV8NQ5tpTPPU1s54BYFM0CBIXrmYfIwrTla5QVK1TcYpDq+Hg42v+brvHXm8/mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vRM3mNG8Ny7vwohyG3LLOcbiW7JtG80kPZTX2OzqR/I=; b=ED+KVj5Zll7OChO305iq44lNKo+DCx4QlfQ7ynGdi8ivqsok2bm63dH4bwJ7pclrjmPgQpUQtGlNdcdGjTCRl6b3cBDQjLBfaeszzwDzjoAyqO9WEFCZgY25tedtjEmgArcJENn+sYp4/TT4Qi9DE/MgDiHEo7h1uQnl3K/JulE= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by AM8PR08MB6451.eurprd08.prod.outlook.com (2603:10a6:20b:315::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Wed, 3 May 2023 08:46:17 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1%3]) with mapi id 15.20.6363.022; Wed, 3 May 2023 08:46:17 +0000 From: Kyrylo Tkachov To: Christophe Lyon , "gcc-patches@gcc.gnu.org" , Richard Earnshaw , Richard Sandiford CC: Christophe Lyon Subject: RE: [PATCH 18/22] arm: [MVE intrinsics] factorize several binary_m operations Thread-Topic: [PATCH 18/22] arm: [MVE intrinsics] factorize several binary_m operations Thread-Index: AQHZcfxWnEa9eBJ19k+maLN3uVLDQ69IU1kg Date: Wed, 3 May 2023 08:46:17 +0000 Message-ID: References: <20230418134608.244751-1-christophe.lyon@arm.com> <20230418134608.244751-19-christophe.lyon@arm.com> In-Reply-To: <20230418134608.244751-19-christophe.lyon@arm.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|AM8PR08MB6451:EE_|AM7EUR03FT023:EE_|PAVPR08MB9532:EE_ X-MS-Office365-Filtering-Correlation-Id: 69537d23-2617-4cfa-f374-08db4bb2e472 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: fxHmVFoqotk2AKYb8ATI+NIj3X7x6SXcPFlD5W8U6ikhO6vETbYBwevcp5YStirFPaGygLaq4hm74d4MSHYlk2atZOy7vOaDc1r6RgGDD85RRHKSM9tvSYGliFt1NBPgxuH+9zJIRk4kp3vcJNxOznG845hoynd39pPrP0hk9DIm9jyeuH/FAWyHgLC3+NQyfxcCd/xdFM+jANq5C3i9AHCiWLRLMCN5lKNBhtvLwhI2fUBJTUS+nCDkGeriWjBl/qw94i0tdW+4RjJCxyEOuxQOyEmAfbUnBH6i7jlPgi6ASuuEexG2YrledVgBXHOp5fBWqUN2G553eurFnkhZNflPEju6tys+5RoZjo8Q1QlBa+bDifGArjetD62cJnsEDYZUPDtjZkKcifObJ9GqUr0xyi3q0+1onfrxnYuyOww4SdbmFG87Qv03bk7SkMLEyPMfwOblLf8I3wKG9L/MJYunMBVxRXNpOyOljPvxwDMuwdZNAclWonntdPezsOVSB5NgQv8xjRfZOAPm0TPBnug9iFv6Z1NmQzIqilDSTFMjHcPniQgEaxvdq7JvtEugSTtTg2Qm989ncitHuedzW2L/Wf1B/XtVSgnuA7aBMsLHjgDPkHPdOQtyPHbkh+F3r3S2zf32IDAhluR0oN/PB91qMBBr+RYPezSxGxFCuuo= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(39860400002)(136003)(366004)(346002)(451199021)(53546011)(9686003)(6506007)(2906002)(30864003)(52536014)(5660300002)(83380400001)(186003)(26005)(8936002)(8676002)(7696005)(71200400001)(55016003)(122000001)(41300700001)(38070700005)(316002)(110136005)(478600001)(38100700002)(66556008)(66946007)(33656002)(76116006)(4326008)(66476007)(64756008)(66446008)(6636002)(86362001)(579004)(559001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6451 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fa3d51d2-df21-49d7-9e98-08db4bb2dc08 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9n8zxIJVz7gg2H1sTI9n/fGhcX9BBFvVgUnXnV3k1zxF6hsQG5AlvCTd4x7Z2Vf4AvYzDdiIzSXAXkcznbQgt/sS3e6knZIwupY6uY2t2xro0hvMK6MrGT1Sx7S5m+z2cLlx53F6H0QsxoKpQQTcleSWz1x28C7uANzEh3IQEyQrgsa+hyaIPpV8odCEhvoHOYGbl62LCZiJCd9LRdumFHZuQvTbZbkCC+7ZYBGgmxebedXCQLFo3JIjvnefH4H2RBapMfQEDJXXwNlk5WGAB4k5OKf1wRh6dHp8G2Y50jDoC8ARQhi+GkUu6auzE/DsIKsCpv4jqiy+ifvq1aRmvv7Pf41UfTvhcdqZniukLrWa6YKGogzrNGf6QlJpk/XBpXMClwtdzsZIAX6RbXjzM6aRtMY4xNTALQg0Cys6V1X6gN7JUEFlNbgkT6QdMyhGTGY/lOxdnLwdu3G/Tafb2QrgKZNkE5NUcvuyuVl3r/GPevdDtA9isapzyITlNVQvTpOXq5RpX71CF7dfW9nLPI3s7dWP1EN/CXKBzJus4c/gL27OZQYOpcoB8dBd3Q0kzsCUlcQ8pAXFPAJ4CwciAcPegownwNmYlnTbNX5hqDn/H7imOguqT23NP5l2JYHGOMpEdVPqT1/hVX7KbAI6zDfiM+mgdIo0yjIp5UphEFt7u4RUn8FDR3UVgUWNsIR46lhjtMhVt3TWK+uGnydEAU215BIpcIbn+MQCVnvhZM8= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(376002)(396003)(346002)(451199021)(40470700004)(46966006)(36840700001)(2906002)(30864003)(52536014)(5660300002)(40460700003)(8676002)(8936002)(33656002)(41300700001)(82310400005)(70206006)(70586007)(86362001)(55016003)(478600001)(110136005)(316002)(4326008)(6636002)(40480700001)(7696005)(81166007)(47076005)(356005)(82740400003)(34020700004)(186003)(36860700001)(53546011)(83380400001)(26005)(9686003)(6506007)(336012);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2023 08:46:31.1276 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69537d23-2617-4cfa-f374-08db4bb2e472 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9532 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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: > -----Original Message----- > From: Christophe Lyon > Sent: Tuesday, April 18, 2023 2:46 PM > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ; > Richard Earnshaw ; Richard Sandiford > > Cc: Christophe Lyon > Subject: [PATCH 18/22] arm: [MVE intrinsics] factorize several binary_m > operations >=20 > Factorize m-predicated versions of vabdq, vhaddq, vhsubq, vmaxq, > vminq, vmulhq, vqaddq, vqdmladhq, vqdmladhxq, vqdmlsdhq, vqdmlsdhxq, > vqdmulhq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq, vqrdmulhq, > vqrshlq, vqshlq, vqsubq, vrhaddq, vrmulhq, vrshlq, vshlq > so that they use the same pattern. >=20 > 2022-09-08 Christophe Lyon >=20 > gcc/ > * config/arm/iterators.md (MVE_INT_SU_M_BINARY): New. > (mve_insn): Add vabdq, vhaddq, vhsubq, vmaxq, vminq, vmulhq, > vqaddq, vqdmladhq, vqdmladhxq, vqdmlsdhq, vqdmlsdhxq, > vqdmulhq, > vqrdmladhq, vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq, vqrdmulhq, > vqrshlq, vqshlq, vqsubq, vrhaddq, vrmulhq, vrshlq, vshlq. > (supf): Add VQDMLADHQ_M_S, VQDMLADHXQ_M_S, > VQDMLSDHQ_M_S, > VQDMLSDHXQ_M_S, VQDMULHQ_M_S, VQRDMLADHQ_M_S, > VQRDMLADHXQ_M_S, > VQRDMLSDHQ_M_S, VQRDMLSDHXQ_M_S, VQRDMULHQ_M_S. > * config/arm/mve.md (@mve_q_m_): > New. > (mve_vshlq_m_): Merged into > @mve_q_m_. > (mve_vabdq_m_): Likewise. > (mve_vhaddq_m_): Likewise. > (mve_vhsubq_m_): Likewise. > (mve_vmaxq_m_): Likewise. > (mve_vminq_m_): Likewise. > (mve_vmulhq_m_): Likewise. > (mve_vqaddq_m_): Likewise. > (mve_vqrshlq_m_): Likewise. > (mve_vqshlq_m_): Likewise. > (mve_vqsubq_m_): Likewise. > (mve_vrhaddq_m_): Likewise. > (mve_vrmulhq_m_): Likewise. > (mve_vrshlq_m_): Likewise. > (mve_vqdmladhq_m_s): Likewise. > (mve_vqdmladhxq_m_s): Likewise. > (mve_vqdmlsdhq_m_s): Likewise. > (mve_vqdmlsdhxq_m_s): Likewise. > (mve_vqdmulhq_m_s): Likewise. > (mve_vqrdmladhq_m_s): Likewise. > (mve_vqrdmladhxq_m_s): Likewise. > (mve_vqrdmlsdhq_m_s): Likewise. > (mve_vqrdmlsdhxq_m_s): Likewise. > (mve_vqrdmulhq_m_s): Likewise. > --- > gcc/config/arm/iterators.md | 65 +++++- > gcc/config/arm/mve.md | 420 +++--------------------------------- > 2 files changed, 91 insertions(+), 394 deletions(-) >=20 > diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md > index 5a531d77a33..18d70350bbe 100644 > --- a/gcc/config/arm/iterators.md > +++ b/gcc/config/arm/iterators.md > @@ -339,6 +339,33 @@ (define_int_iterator MVE_INT_M_BINARY [ > VSUBQ_M_S VSUBQ_M_U > ]) >=20 > +(define_int_iterator MVE_INT_SU_M_BINARY [ > + VABDQ_M_S VABDQ_M_U > + VHADDQ_M_S VHADDQ_M_U > + VHSUBQ_M_S VHSUBQ_M_U > + VMAXQ_M_S VMAXQ_M_U > + VMINQ_M_S VMINQ_M_U > + VMULHQ_M_S VMULHQ_M_U > + VQADDQ_M_S VQADDQ_M_U > + VQDMLADHQ_M_S > + VQDMLADHXQ_M_S > + VQDMLSDHQ_M_S > + VQDMLSDHXQ_M_S > + VQDMULHQ_M_S > + VQRDMLADHQ_M_S > + VQRDMLADHXQ_M_S > + VQRDMLSDHQ_M_S > + VQRDMLSDHXQ_M_S > + VQRDMULHQ_M_S > + VQRSHLQ_M_S VQRSHLQ_M_U > + VQSHLQ_M_S VQSHLQ_M_U > + VQSUBQ_M_S VQSUBQ_M_U > + VRHADDQ_M_S VRHADDQ_M_U > + VRMULHQ_M_S VRMULHQ_M_U > + VRSHLQ_M_S VRSHLQ_M_U > + VSHLQ_M_S VSHLQ_M_U > + ]) > + > (define_int_iterator MVE_INT_M_BINARY_LOGIC [ > VANDQ_M_S VANDQ_M_U > VBICQ_M_S VBICQ_M_U > @@ -404,6 +431,7 @@ (define_code_attr mve_addsubmul [ > ]) >=20 > (define_int_attr mve_insn [ > + (VABDQ_M_S "vabd") (VABDQ_M_U "vabd") > (VADDQ_M_N_S "vadd") (VADDQ_M_N_U "vadd") > (VADDQ_M_N_F "vadd") > (VADDQ_M_S "vadd") (VADDQ_M_U "vadd") (VADDQ_M_F > "vadd") > (VADDQ_N_S "vadd") (VADDQ_N_U "vadd") (VADDQ_N_F > "vadd") > @@ -413,12 +441,35 @@ (define_int_attr mve_insn [ > (VBICQ_N_S "vbic") (VBICQ_N_U "vbic") > (VCREATEQ_S "vcreate") (VCREATEQ_U "vcreate") > (VCREATEQ_F "vcreate") > (VEORQ_M_S "veor") (VEORQ_M_U "veor") (VEORQ_M_F > "veor") > + (VHADDQ_M_S "vhadd") (VHADDQ_M_U "vhadd") > + (VHSUBQ_M_S "vhsub") (VHSUBQ_M_U "vhsub") > + (VMAXQ_M_S "vmax") (VMAXQ_M_U "vmax") > + (VMINQ_M_S "vmin") (VMINQ_M_U "vmin") > + (VMULHQ_M_S "vmulh") (VMULHQ_M_U "vmulh") > (VMULQ_M_N_S "vmul") (VMULQ_M_N_U "vmul") > (VMULQ_M_N_F "vmul") > (VMULQ_M_S "vmul") (VMULQ_M_U "vmul") (VMULQ_M_F > "vmul") > (VMULQ_N_S "vmul") (VMULQ_N_U "vmul") (VMULQ_N_F > "vmul") > (VORRQ_M_N_S "vorr") (VORRQ_M_N_U "vorr") > (VORRQ_M_S "vorr") (VORRQ_M_U "vorr") (VORRQ_M_F > "vorr") > (VORRQ_N_S "vorr") (VORRQ_N_U "vorr") > + (VQADDQ_M_S "vqadd") (VQADDQ_M_U "vqadd") > + (VQDMLADHQ_M_S "vqdmladh") > + (VQDMLADHXQ_M_S "vqdmladhx") > + (VQDMLSDHQ_M_S "vqdmlsdh") > + (VQDMLSDHXQ_M_S "vqdmlsdhx") > + (VQDMULHQ_M_S "vqdmulh") > + (VQRDMLADHQ_M_S "vqrdmladh") > + (VQRDMLADHXQ_M_S "vqrdmladhx") > + (VQRDMLSDHQ_M_S "vqrdmlsdh") > + (VQRDMLSDHXQ_M_S "vqrdmlsdhx") > + (VQRDMULHQ_M_S "vqrdmulh") > + (VQRSHLQ_M_S "vqrshl") (VQRSHLQ_M_U "vqrshl") > + (VQSHLQ_M_S "vqshl") (VQSHLQ_M_U "vqshl") > + (VQSUBQ_M_S "vqsub") (VQSUBQ_M_U "vqsub") > + (VRHADDQ_M_S "vrhadd") (VRHADDQ_M_U "vrhadd") > + (VRMULHQ_M_S "vrmulh") (VRMULHQ_M_U "vrmulh") > + (VRSHLQ_M_S "vrshl") (VRSHLQ_M_U "vrshl") > + (VSHLQ_M_S "vshl") (VSHLQ_M_U "vshl") > (VSUBQ_M_N_S "vsub") (VSUBQ_M_N_U "vsub") > (VSUBQ_M_N_F "vsub") > (VSUBQ_M_S "vsub") (VSUBQ_M_U "vsub") (VSUBQ_M_F > "vsub") > (VSUBQ_N_S "vsub") (VSUBQ_N_U "vsub") (VSUBQ_N_F > "vsub") > @@ -1557,7 +1608,19 @@ (define_int_attr supf [(VCVTQ_TO_F_S "s") > (VCVTQ_TO_F_U "u") (VREV16Q_S "s") > (VADCIQ_U "u") (VADCIQ_M_U "u") (VADCIQ_S "s") > (VADCIQ_M_S "s") (SQRSHRL_64 "64") (SQRSHRL_48 "48") > (UQRSHLL_64 "64") (UQRSHLL_48 "48") (VSHLCQ_M_S > "s") > - (VSHLCQ_M_U "u")]) > + (VSHLCQ_M_U "u") > + (VQDMLADHQ_M_S "s") > + (VQDMLADHXQ_M_S "s") > + (VQDMLSDHQ_M_S "s") > + (VQDMLSDHXQ_M_S "s") > + (VQDMULHQ_M_S "s") > + (VQRDMLADHQ_M_S "s") > + (VQRDMLADHXQ_M_S "s") > + (VQRDMLSDHQ_M_S "s") > + (VQRDMLSDHXQ_M_S "s") > + (VQRDMULHQ_M_S "s") > + ]) > + > ;; Both kinds of return insn. > (define_code_iterator RETURNS [return simple_return]) > (define_code_attr return_str [(return "") (simple_return "simple_")]) > diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md > index f7f0ba65251..21c54197db5 100644 > --- a/gcc/config/arm/mve.md > +++ b/gcc/config/arm/mve.md > @@ -4867,23 +4867,6 @@ (define_insn "mve_vqshluq_m_n_s" > [(set_attr "type" "mve_move") > (set_attr "length" "8")]) >=20 > -;; > -;; [vshlq_m_s, vshlq_m_u]) > -;; > -(define_insn "mve_vshlq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VSHLQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vshlt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length" "8")]) > - > ;; > ;; [vsriq_m_n_s, vsriq_m_n_u]) > ;; > @@ -4917,20 +4900,44 @@ (define_insn > "mve_vcvtq_m_n_to_f_" > "vpst\;vcvtt.f%#.%#\t%q0, %q2, %3" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) > + > ;; > ;; [vabdq_m_s, vabdq_m_u]) > +;; [vhaddq_m_s, vhaddq_m_u]) > +;; [vhsubq_m_s, vhsubq_m_u]) > +;; [vmaxq_m_s, vmaxq_m_u]) > +;; [vminq_m_s, vminq_m_u]) > +;; [vmulhq_m_s, vmulhq_m_u]) > +;; [vqaddq_m_u, vqaddq_m_s]) > +;; [vqdmladhq_m_s]) > +;; [vqdmladhxq_m_s]) > +;; [vqdmlsdhq_m_s]) > +;; [vqdmlsdhxq_m_s]) > +;; [vqdmulhq_m_s]) > +;; [vqrdmladhq_m_s]) > +;; [vqrdmladhxq_m_s]) > +;; [vqrdmlsdhq_m_s]) > +;; [vqrdmlsdhxq_m_s]) > +;; [vqrdmulhq_m_s]) > +;; [vqrshlq_m_u, vqrshlq_m_s]) > +;; [vqshlq_m_u, vqshlq_m_s]) > +;; [vqsubq_m_u, vqsubq_m_s]) > +;; [vrhaddq_m_u, vrhaddq_m_s]) > +;; [vrmulhq_m_u, vrmulhq_m_s]) > +;; [vrshlq_m_s, vrshlq_m_u]) > +;; [vshlq_m_s, vshlq_m_u]) Ok with the trailing ')' removed. Thanks, Kyrill > ;; > -(define_insn "mve_vabdq_m_" > +(define_insn "@mve_q_m_" > [ > (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > (match_operand:MVE_2 2 "s_register_operand" "w") > (match_operand:MVE_2 3 "s_register_operand" "w") > (match_operand: 4 > "vpr_register_operand" "Up")] > - VABDQ_M)) > + MVE_INT_SU_M_BINARY)) > ] > "TARGET_HAVE_MVE" > - "vpst\;vabdt.%# %q0, %q2, %q3" > + "vpst\;t.%#\t%q0, %q2, %q3" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > @@ -5060,23 +5067,6 @@ (define_insn "mve_vhaddq_m_n_" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vhaddq_m_s, vhaddq_m_u]) > -;; > -(define_insn "mve_vhaddq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VHADDQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vhaddt.%# %q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vhsubq_m_n_s, vhsubq_m_n_u]) > ;; > @@ -5095,56 +5085,6 @@ (define_insn "mve_vhsubq_m_n_" > (set_attr "length""8")]) >=20 > ;; > -;; [vhsubq_m_s, vhsubq_m_u]) > -;; > -(define_insn "mve_vhsubq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VHSUBQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vhsubt.%# %q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vmaxq_m_s, vmaxq_m_u]) > -;; > -(define_insn "mve_vmaxq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VMAXQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vmaxt.%# %q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vminq_m_s, vminq_m_u]) > -;; > -(define_insn "mve_vminq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VMINQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vmint.%# %q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vmladavaq_p_u, vmladavaq_p_s]) > ;; > @@ -5196,23 +5136,6 @@ (define_insn "mve_vmlasq_m_n_" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vmulhq_m_s, vmulhq_m_u]) > -;; > -(define_insn "mve_vmulhq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VMULHQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vmulht.%# %q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vmullbq_int_m_u, vmullbq_int_m_s]) > ;; > @@ -5281,23 +5204,6 @@ (define_insn "mve_vqaddq_m_n_" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqaddq_m_u, vqaddq_m_s]) > -;; > -(define_insn "mve_vqaddq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQADDQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqaddt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vqdmlahq_m_n_s]) > ;; > @@ -5366,23 +5272,6 @@ (define_insn "mve_vqrdmlashq_m_n_s" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqrshlq_m_u, vqrshlq_m_s]) > -;; > -(define_insn "mve_vqrshlq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQRSHLQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqrshlt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vqshlq_m_n_s, vqshlq_m_n_u]) > ;; > @@ -5400,23 +5289,6 @@ (define_insn "mve_vqshlq_m_n_" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqshlq_m_u, vqshlq_m_s]) > -;; > -(define_insn "mve_vqshlq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQSHLQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqshlt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vqsubq_m_n_u, vqsubq_m_n_s]) > ;; > @@ -5434,74 +5306,6 @@ (define_insn "mve_vqsubq_m_n_" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqsubq_m_u, vqsubq_m_s]) > -;; > -(define_insn "mve_vqsubq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQSUBQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqsubt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vrhaddq_m_u, vrhaddq_m_s]) > -;; > -(define_insn "mve_vrhaddq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VRHADDQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vrhaddt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vrmulhq_m_u, vrmulhq_m_s]) > -;; > -(define_insn "mve_vrmulhq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VRMULHQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vrmulht.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vrshlq_m_s, vrshlq_m_u]) > -;; > -(define_insn "mve_vrshlq_m_" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VRSHLQ_M)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vrshlt.%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vrshrq_m_n_s, vrshrq_m_n_u]) > ;; > @@ -5655,74 +5459,6 @@ (define_insn "mve_vmlsdavaxq_p_s" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqdmladhq_m_s]) > -;; > -(define_insn "mve_vqdmladhq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQDMLADHQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqdmladht.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqdmladhxq_m_s]) > -;; > -(define_insn "mve_vqdmladhxq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQDMLADHXQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqdmladhxt.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqdmlsdhq_m_s]) > -;; > -(define_insn "mve_vqdmlsdhq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQDMLSDHQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqdmlsdht.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqdmlsdhxq_m_s]) > -;; > -(define_insn "mve_vqdmlsdhxq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQDMLSDHXQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqdmlsdhxt.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vqdmulhq_m_n_s]) > ;; > @@ -5740,91 +5476,6 @@ (define_insn "mve_vqdmulhq_m_n_s" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqdmulhq_m_s]) > -;; > -(define_insn "mve_vqdmulhq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQDMULHQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqdmulht.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqrdmladhq_m_s]) > -;; > -(define_insn "mve_vqrdmladhq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQRDMLADHQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqrdmladht.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqrdmladhxq_m_s]) > -;; > -(define_insn "mve_vqrdmladhxq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQRDMLADHXQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqrdmladhxt.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqrdmlsdhq_m_s]) > -;; > -(define_insn "mve_vqrdmlsdhq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQRDMLSDHQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqrdmlsdht.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > -;; > -;; [vqrdmlsdhxq_m_s]) > -;; > -(define_insn "mve_vqrdmlsdhxq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQRDMLSDHXQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqrdmlsdhxt.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vqrdmulhq_m_n_s]) > ;; > @@ -5842,23 +5493,6 @@ (define_insn "mve_vqrdmulhq_m_n_s" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [vqrdmulhq_m_s]) > -;; > -(define_insn "mve_vqrdmulhq_m_s" > - [ > - (set (match_operand:MVE_2 0 "s_register_operand" "=3Dw") > - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand" "0") > - (match_operand:MVE_2 2 "s_register_operand" "w") > - (match_operand:MVE_2 3 "s_register_operand" "w") > - (match_operand: 4 > "vpr_register_operand" "Up")] > - VQRDMULHQ_M_S)) > - ] > - "TARGET_HAVE_MVE" > - "vpst\;vqrdmulht.s%#\t%q0, %q2, %q3" > - [(set_attr "type" "mve_move") > - (set_attr "length""8")]) > - > ;; > ;; [vmlaldavaq_p_u, vmlaldavaq_p_s]) > ;; > -- > 2.34.1