From patchwork Tue Apr 18 13:45:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 84860 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2868379vqo; Tue, 18 Apr 2023 06:54:28 -0700 (PDT) X-Google-Smtp-Source: AKy350Y3a9mIj5NDlTUEL6+DZxylMvKjmffxrCpBj7qEPqUECzePMruvhXz2+k60qtIep02NApW4 X-Received: by 2002:a17:906:a016:b0:94f:4801:6d08 with SMTP id p22-20020a170906a01600b0094f48016d08mr7770661ejy.71.1681826067912; Tue, 18 Apr 2023 06:54:27 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id fv36-20020a17090750a400b0094f1fa2b276si4254996ejc.650.2023.04.18.06.54.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Apr 2023 06:54:27 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=g1A79CHm; arc=fail (signature failed); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BA8923854156 for ; Tue, 18 Apr 2023 13:50:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA8923854156 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1681825847; bh=DIvJyqiBZZIPwSkAVIm3DDT9YueQ1Z7bgiltmSWvPLA=; 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=g1A79CHmYL5OGO49Y3NsdgYcWf6G5xVCf47s1+7pM+dMpnkXG1GxfaSGvHP16BIp0 oquhAnJBs26Jd7kyqW0BZNeatXhg8sg/+nrB0jQ5CHzSXyIr7XMBcluiNIkd1bqs02 UQVTYBHxC53jJS+iRC391Uv3FLiYT9+CL/AzFCuY= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2070.outbound.protection.outlook.com [40.107.21.70]) by sourceware.org (Postfix) with ESMTPS id 615C43858C50 for ; Tue, 18 Apr 2023 13:47:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 615C43858C50 Received: from AS9PR04CA0039.eurprd04.prod.outlook.com (2603:10a6:20b:46a::33) by DB9PR08MB6540.eurprd08.prod.outlook.com (2603:10a6:10:260::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 13:47:35 +0000 Received: from AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46a:cafe::e2) by AS9PR04CA0039.outlook.office365.com (2603:10a6:20b:46a::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.47 via Frontend Transport; Tue, 18 Apr 2023 13:47:35 +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 AM7EUR03FT056.mail.protection.outlook.com (100.127.140.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20 via Frontend Transport; Tue, 18 Apr 2023 13:47:35 +0000 Received: ("Tessian outbound 5bb4c51d5a1f:v136"); Tue, 18 Apr 2023 13:47:35 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 52d8a86d6ac8026c X-CR-MTA-TID: 64aa7808 Received: from fc1273248526.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DABF61C0-CB63-45A5-B6C5-B54444F78087.1; Tue, 18 Apr 2023 13:47:24 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fc1273248526.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 18 Apr 2023 13:47:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dnISEk2Jn/tN6zkDrkkH2kj8E2KOn789uy7o98nvfIhpdhB+BzR3A1QfPocCoLfqGJznNB949WjlUh7rHjopRgWlAQaAUJyfC2Fkz18bx5vSqte1bxapyfHrgOO0An/S/njap5Llsqd+nUm4tA/Ky5701zIQfvt8SLScsOOAo8Ak5vjw22w4UWrXEgD0X4L1N33Jysgnvf91YvZqACFtDKIubEnqqjZIwp7QQ6EdGKFw/wN/gRcIqb85jyIVHa4/3kCDeNmJycwBEDvfhjmWQtjdjzPspEyS5rkWtmzVaNluwd5W7ah0HuueeEexvkKrOPHq/ihfMvG4JcGM8NxIJQ== 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=DIvJyqiBZZIPwSkAVIm3DDT9YueQ1Z7bgiltmSWvPLA=; b=hS4sgu9R4lkp4FCVtMkL00vDcTz1n0qbcdpowBW+s4WVb8T5PSDYeceVL9Vrs4iuf9l3xGETY8cy7hPHMh6zxhrV79nkwgWXaDbKUC17DiSiZHMAXlSKvtPy2/08DzVcGdxZe+/gjM90FJcn2xKs5I8y8U1vHAC+DSU6zW9ybCK/ySSxmVPXPm5NcWGiiw/3199lNJiGy9Gs6bWtPNmdmWyqrr+ZBbIo1JOzRJASAZeGUKUCj5sb698fYM+pqn9pyKG+dqvbq8ECbZ0gci3Wogkjo2ZuR7uPMd0s2cIxL05GcdrV0gNLQ2UegbSAW0BI4vJQEJNaKXFbINnvjVwRCw== 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 AS9PR05CA0063.eurprd05.prod.outlook.com (2603:10a6:20b:499::18) by AS8PR08MB6727.eurprd08.prod.outlook.com (2603:10a6:20b:393::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 13:47:19 +0000 Received: from AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:499:cafe::1c) by AS9PR05CA0063.outlook.office365.com (2603:10a6:20b:499::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.47 via Frontend Transport; Tue, 18 Apr 2023 13:47:19 +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 AM7EUR03FT016.mail.protection.outlook.com (100.127.140.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6319.20 via Frontend Transport; Tue, 18 Apr 2023 13:47:19 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 13:47:16 +0000 Received: from e129018.arm.com (10.57.54.117) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2507.23 via Frontend Transport; Tue, 18 Apr 2023 13:47:15 +0000 To: , , , CC: Christophe Lyon Subject: [PATCH 10/22] arm: [MVE intrinsics] factorize vandq veorq vorrq vbicq Date: Tue, 18 Apr 2023 15:45:56 +0200 Message-ID: <20230418134608.244751-11-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418134608.244751-1-christophe.lyon@arm.com> References: <20230418134608.244751-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM7EUR03FT016:EE_|AS8PR08MB6727:EE_|AM7EUR03FT056:EE_|DB9PR08MB6540:EE_ X-MS-Office365-Filtering-Correlation-Id: d44de717-4ee4-4ebf-a02f-08db4013778b 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: WYDoLXJMlYm475OjILDLZa2j0QrGIfm+0lCUJOyBzse+X4xwweJ+MFtFuecB/TRafQKRHPOeVSKusiPpGfD4bTyXH7hYog+C54AjpYJx73fnt6UHD1z6crZpEYLtGV8HqzyTNKa0l3pWhynt/TNr5sVTsmzV09bUp1FCjzhOcM3kot6LJKhObK1LSzm/arkDZvRb4XCpC/0he4uAaGuOQAH+5IWN4tjmg93FcjAffLxIFg8UJY/IDs41gaajBqu6f0yPjnJt77BW+1MfFBNqjJgDvQUw1EXYSkwxLH1npRg45Kg32NnYJnJRoQh/fwjATgG2JS0eMmDBerrQlcjjRiCQRLpa/XtHQ35KqPnjh7fCm0YKdtzNP2zFNh5H5pTQs8SDRu0c5boMptaZBXyRFqCTsJdm3A3i1/MTWIvxYHroqB5grmlXNNW8mU28Ex3GdTXPS0fucQPXDG1TD5EcXVLCCUAlY6+Fbwrtm6VNlZENrAnc3i4c5v3rU4vF6nbgY2pFuuWfFxgIU963gngqfFSlJRIzr8mxA79wE6Qohs/TWqcBBylAQiTfcL00mR5CQtsUeHYVtITq+fwewJK1rX426HlN/Kb15l7Hlp1B5UiPYuoP0A4VcPx2ITodpv/Zvf3B93TNfRS8Bg5xAD7djRwcWk89PJVP4Y+TSLq9MglQPQG9jmjM8WrFVmevpuVzF017Cb3D7QiDZB6KCshibw== 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)(376002)(136003)(346002)(396003)(39860400002)(451199021)(36840700001)(46966006)(336012)(6666004)(7696005)(478600001)(86362001)(110136005)(2616005)(47076005)(36756003)(426003)(36860700001)(40480700001)(26005)(83380400001)(1076003)(186003)(82740400003)(356005)(70586007)(70206006)(81166007)(30864003)(316002)(2906002)(4326008)(8936002)(5660300002)(8676002)(44832011)(41300700001)(82310400005)(6636002)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6727 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b030698c-2d3e-4541-0787-08db40136e06 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pwcz+G3IoUjpdxqEZ1BE8LVkUH/dJjQG6Qp0qpHpQ45Z1e537u9Ew00bTHbiQqywJHlR4f0fVRrfkdGdMMjh60/bXHQkN0FzOkT0oVgpj2O/Kh5h9p8eq5V5iXYa981k1fGMk5X0PNR1FFbVnWltAM1KJUw33lOohaZwH/tdvDM1YKM+JbU3gCGXOU9if8nKFQu8BEjIXRqMvxJrX5MT1+xmWpImMWZU+7EsQoS6hlTEZkmfrjo8f39/kKgR5IGhaglmAI9W+IgjjXl5jKlI4c5mjV+myaQXCvdYNO0Ex51fHLDGDBmHxJWYGUM7mgJFTNfc3JJA4PgiHPYWrw437v2F5WRkxz81A/FXmSTQwgb9AYCMWJ1982CeE9w8PwV3HpFAiNpqYH6uSwugtnWjLjaF9ugmGEllQqvrZ2j49M920ero+llwp2FU7+1TG6UJZKnmAJubx5swUp+I+78bzrvA8Rd6O9uQeQeR4Aj6Sf2/QMg61vmxGlOmeD4nL98hsC0X3iB6TYTrv8UK38Xx1WJ3GYdgVgYsX8ke+ybUi9Gyo/at9teTENp3f4WSuqO8zEadBsM2S53ina0T7RGlqVZqZnwmGbD9xdW+YrMe6Ati6520HllUwc5/k2l8fC2ostG0iC7kRY0hcYazSpdkudA1wi4l7J5uXS/ttsbZHsm5vCn1wPae8XPTGDrCxxyrNv2zo72LNEEdFF5TtBJpOA== 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)(39860400002)(396003)(451199021)(36840700001)(40470700004)(46966006)(36756003)(8936002)(8676002)(40460700003)(44832011)(5660300002)(2906002)(30864003)(82310400005)(86362001)(40480700001)(478600001)(7696005)(6666004)(6636002)(110136005)(186003)(2616005)(36860700001)(1076003)(70586007)(70206006)(26005)(41300700001)(82740400003)(316002)(83380400001)(81166007)(4326008)(47076005)(426003)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 13:47:35.6471 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d44de717-4ee4-4ebf-a02f-08db4013778b 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: AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6540 X-Spam-Status: No, score=-12.4 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+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763522450647115968?= X-GMAIL-MSGID: =?utf-8?q?1763522450647115968?= Factorize vandq, veorq, vorrq, vbicq so that they use the same parameterized names. 2022-09-08 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_INT_M_BINARY_LOGIC) (MVE_FP_M_BINARY_LOGIC): New. (MVE_INT_M_N_BINARY_LOGIC): New. (MVE_INT_N_BINARY_LOGIC): New. (mve_insn): Add vand, veor, vorr, vbic. * config/arm/mve.md (mve_vandq_m_) (mve_veorq_m_, mve_vorrq_m_) (mve_vbicq_m_): Merge into ... (@mve_q_m_): ... this. (mve_vandq_m_f, mve_veorq_m_f, mve_vorrq_m_f) (mve_vbicq_m_f): Merge into ... (@mve_q_m_f): ... this. (mve_vorrq_n_) (mve_vbicq_n_): Merge into ... (@mve_q_n_): ... this. (mve_vorrq_m_n_, mve_vbicq_m_n_): Merge into ... (@mve_q_m_n_): ... this. --- gcc/config/arm/iterators.md | 32 +++++++ gcc/config/arm/mve.md | 161 +++++------------------------------- 2 files changed, 51 insertions(+), 142 deletions(-) diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md index d3bef594775..b0ea1af77d2 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -339,24 +339,48 @@ (define_int_iterator MVE_INT_M_BINARY [ VSUBQ_M_S VSUBQ_M_U ]) +(define_int_iterator MVE_INT_M_BINARY_LOGIC [ + VANDQ_M_S VANDQ_M_U + VBICQ_M_S VBICQ_M_U + VEORQ_M_S VEORQ_M_U + VORRQ_M_S VORRQ_M_U + ]) + (define_int_iterator MVE_INT_M_N_BINARY [ VADDQ_M_N_S VADDQ_M_N_U VMULQ_M_N_S VMULQ_M_N_U VSUBQ_M_N_S VSUBQ_M_N_U ]) +(define_int_iterator MVE_INT_M_N_BINARY_LOGIC [ + VBICQ_M_N_S VBICQ_M_N_U + VORRQ_M_N_S VORRQ_M_N_U + ]) + (define_int_iterator MVE_INT_N_BINARY [ VADDQ_N_S VADDQ_N_U VMULQ_N_S VMULQ_N_U VSUBQ_N_S VSUBQ_N_U ]) +(define_int_iterator MVE_INT_N_BINARY_LOGIC [ + VBICQ_N_S VBICQ_N_U + VORRQ_N_S VORRQ_N_U + ]) + (define_int_iterator MVE_FP_M_BINARY [ VADDQ_M_F VMULQ_M_F VSUBQ_M_F ]) +(define_int_iterator MVE_FP_M_BINARY_LOGIC [ + VANDQ_M_F + VBICQ_M_F + VEORQ_M_F + VORRQ_M_F + ]) + (define_int_iterator MVE_FP_M_N_BINARY [ VADDQ_M_N_F VMULQ_M_N_F @@ -379,9 +403,17 @@ (define_int_attr mve_insn [ (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") + (VANDQ_M_S "vand") (VANDQ_M_U "vand") (VANDQ_M_F "vand") + (VBICQ_M_N_S "vbic") (VBICQ_M_N_U "vbic") + (VBICQ_M_S "vbic") (VBICQ_M_U "vbic") (VBICQ_M_F "vbic") + (VBICQ_N_S "vbic") (VBICQ_N_U "vbic") + (VEORQ_M_S "veor") (VEORQ_M_U "veor") (VEORQ_M_F "veor") (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") (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") diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index ccb3cf23304..fbae1d3791f 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -1805,21 +1805,6 @@ (define_insn "mve_vbicq_f" [(set_attr "type" "mve_move") ]) -;; -;; [vbicq_n_s, vbicq_n_u]) -;; -(define_insn "mve_vbicq_n_" - [ - (set (match_operand:MVE_5 0 "s_register_operand" "=w") - (unspec:MVE_5 [(match_operand:MVE_5 1 "s_register_operand" "0") - (match_operand:SI 2 "immediate_operand" "i")] - VBICQ_N)) - ] - "TARGET_HAVE_MVE" - "vbic.i%# %q0, %2" - [(set_attr "type" "mve_move") -]) - ;; ;; [vcaddq, vcaddq_rot90, vcadd_rot180, vcadd_rot270]) ;; @@ -2191,17 +2176,18 @@ (define_insn "mve_vorrq_f" ]) ;; +;; [vbicq_n_s, vbicq_n_u]) ;; [vorrq_n_u, vorrq_n_s]) ;; -(define_insn "mve_vorrq_n_" +(define_insn "@mve_q_n_" [ (set (match_operand:MVE_5 0 "s_register_operand" "=w") (unspec:MVE_5 [(match_operand:MVE_5 1 "s_register_operand" "0") (match_operand:SI 2 "immediate_operand" "i")] - VORRQ_N)) + MVE_INT_N_BINARY_LOGIC)) ] "TARGET_HAVE_MVE" - "vorr.i%# %q0, %2" + ".i%# %q0, %2" [(set_attr "type" "mve_move") ]) @@ -2445,21 +2431,6 @@ (define_insn "mve_vrmlaldavhq_v4si" [(set_attr "type" "mve_move") ]) -;; -;; [vbicq_m_n_s, vbicq_m_n_u]) -;; -(define_insn "mve_vbicq_m_n_" - [ - (set (match_operand:MVE_5 0 "s_register_operand" "=w") - (unspec:MVE_5 [(match_operand:MVE_5 1 "s_register_operand" "0") - (match_operand:SI 2 "immediate_operand" "i") - (match_operand: 3 "vpr_register_operand" "Up")] - VBICQ_M_N)) - ] - "TARGET_HAVE_MVE" - "vpst\;vbict.i%# %q0, %2" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) ;; ;; [vcmpeqq_m_f]) ;; @@ -4269,20 +4240,22 @@ (define_insn "mve_vnegq_m_f" (set_attr "length""8")]) ;; +;; [vbicq_m_n_s, vbicq_m_n_u]) ;; [vorrq_m_n_s, vorrq_m_n_u]) ;; -(define_insn "mve_vorrq_m_n_" +(define_insn "@mve_q_m_n_" [ (set (match_operand:MVE_5 0 "s_register_operand" "=w") (unspec:MVE_5 [(match_operand:MVE_5 1 "s_register_operand" "0") (match_operand:SI 2 "immediate_operand" "i") (match_operand: 3 "vpr_register_operand" "Up")] - VORRQ_M_N)) + MVE_INT_M_N_BINARY_LOGIC)) ] "TARGET_HAVE_MVE" - "vpst\;vorrt.i%# %q0, %2" + "vpst\;t.i%# %q0, %2" [(set_attr "type" "mve_move") (set_attr "length""8")]) + ;; ;; [vpselq_f]) ;; @@ -5001,35 +4974,21 @@ (define_insn "@mve_q_m_" ;; ;; [vandq_m_u, vandq_m_s]) -;; -(define_insn "mve_vandq_m_" - [ - (set (match_operand:MVE_2 0 "s_register_operand" "=w") - (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")] - VANDQ_M)) - ] - "TARGET_HAVE_MVE" - "vpst\;vandt %q0, %q2, %q3" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - -;; ;; [vbicq_m_u, vbicq_m_s]) +;; [veorq_m_u, veorq_m_s]) +;; [vorrq_m_u, vorrq_m_s]) ;; -(define_insn "mve_vbicq_m_" +(define_insn "@mve_q_m_" [ (set (match_operand:MVE_2 0 "s_register_operand" "=w") (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")] - VBICQ_M)) + MVE_INT_M_BINARY_LOGIC)) ] "TARGET_HAVE_MVE" - "vpst\;vbict %q0, %q2, %q3" + "vpst\;t %q0, %q2, %q3" [(set_attr "type" "mve_move") (set_attr "length""8")]) @@ -5084,23 +5043,6 @@ (define_insn "mve_vcaddq_rot90_m_" [(set_attr "type" "mve_move") (set_attr "length""8")]) -;; -;; [veorq_m_s, veorq_m_u]) -;; -(define_insn "mve_veorq_m_" - [ - (set (match_operand:MVE_2 0 "s_register_operand" "=w") - (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")] - VEORQ_M)) - ] - "TARGET_HAVE_MVE" - "vpst\;veort %q0, %q2, %q3" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - ;; ;; [vhaddq_m_n_s, vhaddq_m_n_u]) ;; @@ -5322,23 +5264,6 @@ (define_insn "mve_vornq_m_" [(set_attr "type" "mve_move") (set_attr "length""8")]) -;; -;; [vorrq_m_s, vorrq_m_u]) -;; -(define_insn "mve_vorrq_m_" - [ - (set (match_operand:MVE_2 0 "s_register_operand" "=w") - (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")] - VORRQ_M)) - ] - "TARGET_HAVE_MVE" - "vpst\;vorrt %q0, %q2, %q3" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - ;; ;; [vqaddq_m_n_u, vqaddq_m_n_s]) ;; @@ -6483,35 +6408,21 @@ (define_insn "@mve_q_m_n_f" ;; ;; [vandq_m_f]) -;; -(define_insn "mve_vandq_m_f" - [ - (set (match_operand:MVE_0 0 "s_register_operand" "=w") - (unspec:MVE_0 [(match_operand:MVE_0 1 "s_register_operand" "0") - (match_operand:MVE_0 2 "s_register_operand" "w") - (match_operand:MVE_0 3 "s_register_operand" "w") - (match_operand: 4 "vpr_register_operand" "Up")] - VANDQ_M_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" - "vpst\;vandt %q0, %q2, %q3" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - -;; ;; [vbicq_m_f]) +;; [veorq_m_f]) +;; [vorrq_m_f]) ;; -(define_insn "mve_vbicq_m_f" +(define_insn "@mve_q_m_f" [ (set (match_operand:MVE_0 0 "s_register_operand" "=w") (unspec:MVE_0 [(match_operand:MVE_0 1 "s_register_operand" "0") (match_operand:MVE_0 2 "s_register_operand" "w") (match_operand:MVE_0 3 "s_register_operand" "w") (match_operand: 4 "vpr_register_operand" "Up")] - VBICQ_M_F)) + MVE_FP_M_BINARY_LOGIC)) ] "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" - "vpst\;vbict %q0, %q2, %q3" + "vpst\;t %q0, %q2, %q3" [(set_attr "type" "mve_move") (set_attr "length""8")]) @@ -6702,23 +6613,6 @@ (define_insn "mve_vcmulq_rot90_m_f" [(set_attr "type" "mve_move") (set_attr "length""8")]) -;; -;; [veorq_m_f]) -;; -(define_insn "mve_veorq_m_f" - [ - (set (match_operand:MVE_0 0 "s_register_operand" "=w") - (unspec:MVE_0 [(match_operand:MVE_0 1 "s_register_operand" "0") - (match_operand:MVE_0 2 "s_register_operand" "w") - (match_operand:MVE_0 3 "s_register_operand" "w") - (match_operand: 4 "vpr_register_operand" "Up")] - VEORQ_M_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" - "vpst\;veort %q0, %q2, %q3" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - ;; ;; [vfmaq_m_f]) ;; @@ -6838,23 +6732,6 @@ (define_insn "mve_vornq_m_f" [(set_attr "type" "mve_move") (set_attr "length""8")]) -;; -;; [vorrq_m_f]) -;; -(define_insn "mve_vorrq_m_f" - [ - (set (match_operand:MVE_0 0 "s_register_operand" "=w") - (unspec:MVE_0 [(match_operand:MVE_0 1 "s_register_operand" "0") - (match_operand:MVE_0 2 "s_register_operand" "w") - (match_operand:MVE_0 3 "s_register_operand" "w") - (match_operand: 4 "vpr_register_operand" "Up")] - VORRQ_M_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" - "vpst\;vorrt %q0, %q2, %q3" - [(set_attr "type" "mve_move") - (set_attr "length""8")]) - ;; ;; [vstrbq_s vstrbq_u] ;;