From patchwork Fri May 5 16:49:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 68848 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 B015B3853823 for ; Fri, 5 May 2023 16:53:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B015B3853823 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1683305585; bh=wFE7xbQ7ZqHvBBz8fRraLQKz+peOa4U3tq90paKDLTs=; h=To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=Xg9fQ8T7FFfswcSS5KaYBDc4w7QDZrVseykGqt6QhdtBFTqPM6Mh4Rg57Q45SIOOy PoFbxH2RCXibIkyFry4QYNj8F+kCuB6eK9TwzH9r64ON4DhKvhcemdnmRPZ0xiF04H PX0XAqS1eCWKo6Mlm/vxqfQmAhI9xXIM875dFObk= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2054.outbound.protection.outlook.com [40.107.105.54]) by sourceware.org (Postfix) with ESMTPS id D1C10385B53E for ; Fri, 5 May 2023 16:49:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D1C10385B53E Received: from DB3PR08CA0030.eurprd08.prod.outlook.com (2603:10a6:8::43) by VE1PR08MB5728.eurprd08.prod.outlook.com (2603:10a6:800:1a0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 16:49:36 +0000 Received: from DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com (2603:10a6:8:0:cafe::d2) by DB3PR08CA0030.outlook.office365.com (2603:10a6:8::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27 via Frontend Transport; Fri, 5 May 2023 16:49:36 +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 DBAEUR03FT028.mail.protection.outlook.com (100.127.142.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27 via Frontend Transport; Fri, 5 May 2023 16:49:36 +0000 Received: ("Tessian outbound 99a3040377ca:v136"); Fri, 05 May 2023 16:49:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7e7d2cca42cbb2e2 X-CR-MTA-TID: 64aa7808 Received: from c8ec5979a388.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 5D95EF23-EC2A-43A3-85B7-BE5BB834097E.1; Fri, 05 May 2023 16:49:25 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c8ec5979a388.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 05 May 2023 16:49:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gkyCkKqe0K7mLI0giNSUHweAyc2Q42HL5R86G4FSIfIKOY1xsKkP+wB6y3ndfeoBJocwd+khgsCALpIi6uY3/jr/gQHYZqMD4Cz0SPilUv0fIcm+mRiP3O57+Kb98yMT+M2u0XXELIT+PuS9dBVHSW2tTJxEnA9D7GPuh8pzo/S2zN9OjqVL7myNhK0NBjbtr/3v5J8fofNb1pu1cLrEpan+szJIxV9WVnfgYU7HVS+vJDIb26vxR30LAZ25UxuuQZoNI3urbYpYSl/79VsyceOIBtwRk1CpTEOqhecBNuRRufAdeWQxcBLhV47TEB5TWGXbhgauaUK/vLii9t1IfA== 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=wFE7xbQ7ZqHvBBz8fRraLQKz+peOa4U3tq90paKDLTs=; b=HrsrVk6vwvkA1u8ory97eG3WZtGozdl4XXbOfiArOHfNa4W3VSTrGK+uLXTSzFoAfCJAHtVzxVqGH+dWgPOVmM7ZqWj7gZ2f4H08RrQY1+cVe/1MSRSsnm7csPnFnLPgWPcwMJi8/AovnchCkk/tFM1h8LNW3GHIxNycSp38A7pJSJxSPgdJdXnYYKPNIrTu5/1SWsaSszFOmAG26WHKkLAzoRwn78EMjs/2AbFlSqD38cjbrcD0CPY4idfnvvd6Lm2oNlQCahsPZhD64wX7JDs5nFZyciuYDgbvxee76sSj0mS+IahTiVzPVYqnAPIyMgFWlpag+TMgASAUCuTQtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none Received: from DB6PR0501CA0034.eurprd05.prod.outlook.com (2603:10a6:4:67::20) by VI1PR08MB10275.eurprd08.prod.outlook.com (2603:10a6:800:1bf::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Fri, 5 May 2023 16:49:22 +0000 Received: from DBAEUR03FT044.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:67:cafe::2a) by DB6PR0501CA0034.outlook.office365.com (2603:10a6:4:67::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27 via Frontend Transport; Fri, 5 May 2023 16:49:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by DBAEUR03FT044.mail.protection.outlook.com (100.127.142.189) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6363.27 via Frontend Transport; Fri, 5 May 2023 16:49:22 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Fri, 5 May 2023 16:49:16 +0000 Received: from e129018.arm.com (10.57.22.112) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.23 via Frontend Transport; Fri, 5 May 2023 16:49:16 +0000 To: , , , CC: Christophe Lyon Subject: [PATCH 06/10] arm: [MVE intrinsics] factorize vmovnbq vmovntq vqmovnbq vqmovntq vqmovunbq vqmovuntq Date: Fri, 5 May 2023 18:49:02 +0200 Message-ID: <20230505164906.596219-6-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230505164906.596219-1-christophe.lyon@arm.com> References: <20230505164906.596219-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT044:EE_|VI1PR08MB10275:EE_|DBAEUR03FT028:EE_|VE1PR08MB5728:EE_ X-MS-Office365-Filtering-Correlation-Id: 479d5f85-a2c8-4f2f-5117-08db4d88b5fb 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: 17bDHnAgtU+n6QEWRiJIsNeJRnbHk2KJ75c17C29zLlF9hSmL4YGo0YXbeZJJ6bqVPu4OBbwIPB6eaDLJtPzi2oQDHYxJhJIZM9ybCLrhwIKH9GrsL5yj+56pY5pmTlpLYYMdQsxQgrq+raOrOkurQkNNBfYLnra8CqtXOF0jktLY4/B9k1YJHwR6hgRy7yDUtXMkSfh93QM2Hn2QKASAbkznmov1hFMx+3giMqOlTc9fFy+go+MCCx5plVv4piXkzcJiRkric3Ht4p5ijcDXH9m/P5Xs2/FiO0jeN14OQFPIud9JHQFl3x4h/3P0t4XfMnxMqLZGHarsBlakohlGXaYAe686/e/Zo136FjtLD9vtWiQD6UoukS/cz2TEr4BHjlKZ4kU72MzZULlZcMUOeSEw307DngQdtHsjIhX9BhiziyFn1sJn8GZflFM+7Hx0COI1+P83WwjUiX08ZDAKxGfPnk1hueQBezVgfJoIXkW23MbZ95s9zBxkb1g+c4eAVR1gp1TO70xuxL3+XWktGbidRJujbtQQDBAMh7FFSuuRSVDbym0wia9LkpZXCHe3i+dcTc2d4U/wVyO4gziZX0COsJonhztUdErVC6WqGiTOnV8PWgwMxUSQHWxm4Kukampp7ul8P31AaJ20S9CaOsjhArHRDTbKY+jeDFzwgotTpmHEHnXIt4fSKFYK1Kvq3qPUTXGBEbXp2ziQZ/ScA== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(396003)(39850400004)(376002)(346002)(136003)(451199021)(36840700001)(46966006)(36860700001)(36756003)(336012)(5660300002)(44832011)(2906002)(81166007)(316002)(8676002)(6636002)(86362001)(40480700001)(4326008)(356005)(82310400005)(41300700001)(70586007)(82740400003)(8936002)(70206006)(426003)(83380400001)(47076005)(110136005)(26005)(186003)(478600001)(1076003)(7696005)(2616005)(6666004)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10275 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 91e9028f-379e-48fe-3caa-08db4d88ad99 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wB1wH5Q4feA6pcX9FhMWKaN88RG+eluF52aImbHfEZRLnJApZQdr9jvlWSCTbunNeJnp4zqSSOgicY6+vp+Moiy8brjJ9Jv1kFooM3IFuG8wCFUr8iVXwQhw2a5e7imVJFxvxsnWXfT3/GQ6RnTu+PDde8gjK7tja1EvII0VOtXofzriu/L+uA4Mo2aIQUxMnEp0TFqZdGGcHQYuW1T+VaX1S0caNFoCjJMVjmxD4nLug4H7qlog0L8he3DKtdX7GuMEROXmEJvxWIqq42juu3lr1qhws0Y6yD421bl1tbXj8VJNmdoREfGT0wPPvgM97TiCn7nhM6HZaYDg8pcs98gKbu76IqPjlppK5LF3deuq7LgDvAPu86O2vc43veSMtW6t+Wib10bliE2v4kPK2hvC6Vme5NtRX12j977onDToS9zNORXR9uaGoqF+HdpLbXQVdg+aRx73flMjWQeI6GZMcAB+Cyynl8uDh3JTDgwG3zNX4nxL0Ps5Qd9pyJkVqbvadnAd/+1+3hMZuSiG2sZ9fL8H6hTPfvDDGAql1161U9GWmcr+bloVUlg+ZWRk5oK38cCNzcihU3eAitDbHjlhrndArZfbwurwvMn+MhQuimg3n74jPpLlNQ2OldRs4SOn1Z6tahRB/MLe4d97u/Omq+mORLX0pBSPsTCAC5qN1B/kmgToWglLpE0UVjqvr7e+86XFIa40KIqS8qhkuQ== 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)(346002)(136003)(376002)(396003)(39850400004)(451199021)(40470700004)(36840700001)(46966006)(36756003)(86362001)(316002)(110136005)(6636002)(4326008)(70586007)(70206006)(7696005)(6666004)(478600001)(41300700001)(82310400005)(40480700001)(5660300002)(8936002)(8676002)(2906002)(44832011)(82740400003)(81166007)(186003)(2616005)(26005)(36860700001)(1076003)(426003)(47076005)(83380400001)(336012)(40460700003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 16:49:36.7094 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 479d5f85-a2c8-4f2f-5117-08db4d88b5fb 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: DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5728 X-Spam-Status: No, score=-12.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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Christophe Lyon via Gcc-patches From: Christophe Lyon Reply-To: Christophe Lyon Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Factorize vmovnbq vmovntq vqmovnbq vqmovntq vqmovunbq vqmovuntq so that they use the same pattern. 2022-09-08 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_MOVN, MVE_MOVN_M): New. (mve_insn): Add vmovnb, vmovnt, vqmovnb, vqmovnt, vqmovunb, vqmovunt. (isu): Likewise. (supf): Add VQMOVUNBQ_M_S, VQMOVUNBQ_S, VQMOVUNTQ_M_S, VQMOVUNTQ_S. * config/arm/mve.md (mve_vmovnbq_) (mve_vmovntq_, mve_vqmovnbq_) (mve_vqmovntq_, mve_vqmovunbq_s) (mve_vqmovuntq_s): Merge into ... (@mve_q_): ... this. (mve_vmovnbq_m_, mve_vmovntq_m_) (mve_vqmovnbq_m_, mve_vqmovntq_m_) (mve_vqmovunbq_m_s, mve_vqmovuntq_m_s): Merge into ... (@mve_q_m_): ... this. --- gcc/config/arm/iterators.md | 46 +++++++++ gcc/config/arm/mve.md | 180 ++++-------------------------------- 2 files changed, 64 insertions(+), 162 deletions(-) diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md index 0b4f69ee874..20735284979 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -578,6 +578,24 @@ (define_int_iterator MVE_FP_CREATE_ONLY [ VCREATEQ_F ]) +(define_int_iterator MVE_MOVN [ + VMOVNBQ_S VMOVNBQ_U + VMOVNTQ_S VMOVNTQ_U + VQMOVNBQ_S VQMOVNBQ_U + VQMOVNTQ_S VQMOVNTQ_U + VQMOVUNBQ_S + VQMOVUNTQ_S + ]) + +(define_int_iterator MVE_MOVN_M [ + VMOVNBQ_M_S VMOVNBQ_M_U + VMOVNTQ_M_S VMOVNTQ_M_U + VQMOVNBQ_M_S VQMOVNBQ_M_U + VQMOVNTQ_M_S VQMOVNTQ_M_U + VQMOVUNBQ_M_S + VQMOVUNTQ_M_S + ]) + (define_code_attr mve_addsubmul [ (minus "vsub") (mult "vmul") @@ -613,6 +631,10 @@ (define_int_attr mve_insn [ (VMINQ_M_S "vmin") (VMINQ_M_U "vmin") (VMLAQ_M_N_S "vmla") (VMLAQ_M_N_U "vmla") (VMLASQ_M_N_S "vmlas") (VMLASQ_M_N_U "vmlas") + (VMOVNBQ_M_S "vmovnb") (VMOVNBQ_M_U "vmovnb") + (VMOVNBQ_S "vmovnb") (VMOVNBQ_U "vmovnb") + (VMOVNTQ_M_S "vmovnt") (VMOVNTQ_M_U "vmovnt") + (VMOVNTQ_S "vmovnt") (VMOVNTQ_U "vmovnt") (VMULHQ_M_S "vmulh") (VMULHQ_M_U "vmulh") (VMULHQ_S "vmulh") (VMULHQ_U "vmulh") (VMULQ_M_N_S "vmul") (VMULQ_M_N_U "vmul") (VMULQ_M_N_F "vmul") @@ -639,6 +661,14 @@ (define_int_attr mve_insn [ (VQDMULHQ_M_S "vqdmulh") (VQDMULHQ_N_S "vqdmulh") (VQDMULHQ_S "vqdmulh") + (VQMOVNBQ_M_S "vqmovnb") (VQMOVNBQ_M_U "vqmovnb") + (VQMOVNBQ_S "vqmovnb") (VQMOVNBQ_U "vqmovnb") + (VQMOVNTQ_M_S "vqmovnt") (VQMOVNTQ_M_U "vqmovnt") + (VQMOVNTQ_S "vqmovnt") (VQMOVNTQ_U "vqmovnt") + (VQMOVUNBQ_M_S "vqmovunb") + (VQMOVUNBQ_S "vqmovunb") + (VQMOVUNTQ_M_S "vqmovunt") + (VQMOVUNTQ_S "vqmovunt") (VQNEGQ_M_S "vqneg") (VQNEGQ_S "vqneg") (VQRDMLADHQ_M_S "vqrdmladh") @@ -723,8 +753,20 @@ (define_int_attr isu [ (VCLSQ_M_S "s") (VCLZQ_M_S "i") (VCLZQ_M_U "i") + (VMOVNBQ_M_S "i") (VMOVNBQ_M_U "i") + (VMOVNBQ_S "i") (VMOVNBQ_U "i") + (VMOVNTQ_M_S "i") (VMOVNTQ_M_U "i") + (VMOVNTQ_S "i") (VMOVNTQ_U "i") (VNEGQ_M_S "s") (VQABSQ_M_S "s") + (VQMOVNBQ_M_S "s") (VQMOVNBQ_M_U "u") + (VQMOVNBQ_S "s") (VQMOVNBQ_U "u") + (VQMOVNTQ_M_S "s") (VQMOVNTQ_M_U "u") + (VQMOVNTQ_S "s") (VQMOVNTQ_U "u") + (VQMOVUNBQ_M_S "s") + (VQMOVUNBQ_S "s") + (VQMOVUNTQ_M_S "s") + (VQMOVUNTQ_S "s") (VQNEGQ_M_S "s") (VQRSHRNBQ_M_N_S "s") (VQRSHRNBQ_M_N_U "u") (VQRSHRNBQ_N_S "s") (VQRSHRNBQ_N_U "u") @@ -1942,6 +1984,10 @@ (define_int_attr supf [(VCVTQ_TO_F_S "s") (VCVTQ_TO_F_U "u") (VREV16Q_S "s") (VCLSQ_S "s") (VQABSQ_S "s") (VQNEGQ_S "s") + (VQMOVUNBQ_M_S "s") + (VQMOVUNBQ_S "s") + (VQMOVUNTQ_M_S "s") + (VQMOVUNTQ_S "s") ]) ;; Both kinds of return insn. diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index 7bf344d547a..2273078807b 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -1645,32 +1645,22 @@ (define_insn "mve_vmlsldavxq_s" ]) ;; -;; [vmovnbq_u, vmovnbq_s]) +;; [vmovnbq_u, vmovnbq_s] +;; [vmovntq_s, vmovntq_u] +;; [vqmovnbq_u, vqmovnbq_s] +;; [vqmovntq_u, vqmovntq_s] +;; [vqmovunbq_s] +;; [vqmovuntq_s] ;; -(define_insn "mve_vmovnbq_" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w")] - VMOVNBQ)) - ] - "TARGET_HAVE_MVE" - "vmovnb.i%# %q0, %q2" - [(set_attr "type" "mve_move") -]) - -;; -;; [vmovntq_s, vmovntq_u]) -;; -(define_insn "mve_vmovntq_" +(define_insn "@mve_q_" [ (set (match_operand: 0 "s_register_operand" "=w") (unspec: [(match_operand: 1 "s_register_operand" "0") (match_operand:MVE_5 2 "s_register_operand" "w")] - VMOVNTQ)) + MVE_MOVN)) ] "TARGET_HAVE_MVE" - "vmovnt.i%# %q0, %q2" + ".%#\t%q0, %q2" [(set_attr "type" "mve_move") ]) @@ -1794,66 +1784,6 @@ (define_insn "mve_vqdmulltq_s" [(set_attr "type" "mve_move") ]) -;; -;; [vqmovnbq_u, vqmovnbq_s]) -;; -(define_insn "mve_vqmovnbq_" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w")] - VQMOVNBQ)) - ] - "TARGET_HAVE_MVE" - "vqmovnb.%# %q0, %q2" - [(set_attr "type" "mve_move") -]) - -;; -;; [vqmovntq_u, vqmovntq_s]) -;; -(define_insn "mve_vqmovntq_" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w")] - VQMOVNTQ)) - ] - "TARGET_HAVE_MVE" - "vqmovnt.%# %q0, %q2" - [(set_attr "type" "mve_move") -]) - -;; -;; [vqmovunbq_s]) -;; -(define_insn "mve_vqmovunbq_s" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w")] - VQMOVUNBQ_S)) - ] - "TARGET_HAVE_MVE" - "vqmovunb.s%# %q0, %q2" - [(set_attr "type" "mve_move") -]) - -;; -;; [vqmovuntq_s]) -;; -(define_insn "mve_vqmovuntq_s" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w")] - VQMOVUNTQ_S)) - ] - "TARGET_HAVE_MVE" - "vqmovunt.s%# %q0, %q2" - [(set_attr "type" "mve_move") -]) - ;; ;; [vrmlaldavhxq_s]) ;; @@ -3620,35 +3550,25 @@ (define_insn "mve_vmovltq_m_" "vpst\;vmovltt.%# %q0, %q2" [(set_attr "type" "mve_move") (set_attr "length""8")]) -;; -;; [vmovnbq_m_u, vmovnbq_m_s]) -;; -(define_insn "mve_vmovnbq_m_" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w") - (match_operand: 3 "vpr_register_operand" "Up")] - VMOVNBQ_M)) - ] - "TARGET_HAVE_MVE" - "vpst\;vmovnbt.i%# %q0, %q2" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) ;; -;; [vmovntq_m_u, vmovntq_m_s]) +;; [vmovnbq_m_u, vmovnbq_m_s] +;; [vmovntq_m_u, vmovntq_m_s] +;; [vqmovnbq_m_s, vqmovnbq_m_u] +;; [vqmovntq_m_u, vqmovntq_m_s] +;; [vqmovunbq_m_s] +;; [vqmovuntq_m_s] ;; -(define_insn "mve_vmovntq_m_" +(define_insn "@mve_q_m_" [ (set (match_operand: 0 "s_register_operand" "=w") (unspec: [(match_operand: 1 "s_register_operand" "0") (match_operand:MVE_5 2 "s_register_operand" "w") (match_operand: 3 "vpr_register_operand" "Up")] - VMOVNTQ_M)) + MVE_MOVN_M)) ] "TARGET_HAVE_MVE" - "vpst\;vmovntt.i%# %q0, %q2" + "vpst\;t.%#\t%q0, %q2" [(set_attr "type" "mve_move") (set_attr "length""8")]) @@ -3701,70 +3621,6 @@ (define_insn "@mve_vpselq_f" [(set_attr "type" "mve_move") ]) -;; -;; [vqmovnbq_m_s, vqmovnbq_m_u]) -;; -(define_insn "mve_vqmovnbq_m_" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w") - (match_operand: 3 "vpr_register_operand" "Up")] - VQMOVNBQ_M)) - ] - "TARGET_HAVE_MVE" - "vpst\;vqmovnbt.%# %q0, %q2" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - -;; -;; [vqmovntq_m_u, vqmovntq_m_s]) -;; -(define_insn "mve_vqmovntq_m_" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w") - (match_operand: 3 "vpr_register_operand" "Up")] - VQMOVNTQ_M)) - ] - "TARGET_HAVE_MVE" - "vpst\;vqmovntt.%# %q0, %q2" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - -;; -;; [vqmovunbq_m_s]) -;; -(define_insn "mve_vqmovunbq_m_s" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w") - (match_operand: 3 "vpr_register_operand" "Up")] - VQMOVUNBQ_M_S)) - ] - "TARGET_HAVE_MVE" - "vpst\;vqmovunbt.s%# %q0, %q2" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - -;; -;; [vqmovuntq_m_s]) -;; -(define_insn "mve_vqmovuntq_m_s" - [ - (set (match_operand: 0 "s_register_operand" "=w") - (unspec: [(match_operand: 1 "s_register_operand" "0") - (match_operand:MVE_5 2 "s_register_operand" "w") - (match_operand: 3 "vpr_register_operand" "Up")] - VQMOVUNTQ_M_S)) - ] - "TARGET_HAVE_MVE" - "vpst\;vqmovuntt.s%# %q0, %q2" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - ;; ;; [vrev32q_m_f]) ;;