From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2088.outbound.protection.outlook.com [40.107.8.88]) by sourceware.org (Postfix) with ESMTPS id C50BC3858D1E for ; Tue, 2 May 2023 16:36:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C50BC3858D1E 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=rcjy28Kr+oHsC8DoMXliNi3IWltlwxas1i5DCOPTw0c=; b=ctPWMtuma74TjO0fFHRPnHQzq5+TofM2OaYOkNRPcsrwBPeaQ2c6nwSgThMOp2RHfu+usA8jW5FFqniJtAsTh0IlBkR3wZO+Rl5fi0cluSK6b13q77gMv/yMErVvUT6wuv78+G4JXxTd5zmVDYkY/0FLS0/J2b1T3GqX5lZySWY= Received: from DUZP191CA0024.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f9::21) by GVXPR08MB8212.eurprd08.prod.outlook.com (2603:10a6:150:16::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Tue, 2 May 2023 16:36:40 +0000 Received: from DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:4f9:cafe::e) by DUZP191CA0024.outlook.office365.com (2603:10a6:10:4f9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31 via Frontend Transport; Tue, 2 May 2023 16:36:40 +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 DBAEUR03FT053.mail.protection.outlook.com (100.127.142.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.20 via Frontend Transport; Tue, 2 May 2023 16:36:40 +0000 Received: ("Tessian outbound 99a3040377ca:v136"); Tue, 02 May 2023 16:36:40 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9198e2b786f14e73 X-CR-MTA-TID: 64aa7808 Received: from 93a326a9dac2.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F14C2847-F1E5-4815-9880-5C52B7186688.1; Tue, 02 May 2023 16:36:33 +0000 Received: from EUR02-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 93a326a9dac2.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 02 May 2023 16:36:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=geq4VFyBd6u8XZqEs1B06YdJHmGXL+hHspt8QEwYWWmDF98AtSwFYeBvQozIRQ3d2/0VYKjyXP14HkgemD27L3IVnSePwQ9UmJPZSBTxSiETve1sc/3p6nnYRszpahNM6V+X9vb+cFh339ZlJL/VPK9koESiVT6G2hYU96T5hDZXrltHjJRzmBThLWaGRq8/ia55VisCM11C2BOvBb98X9u72g0GsznptqZTr3sgtVHAsXdaqwcV/t1jvOScVsdO34A63TsVbYjcu0HcTYvjG3ndevavIa16+cR78ncGd9Rqs516psS/zcAGP5B1uiGi7qFtAUlINE8BHUOSxJsW9g== 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=rcjy28Kr+oHsC8DoMXliNi3IWltlwxas1i5DCOPTw0c=; b=U1OGI+IYYL6cQqgND8/u7B4hFwBYmgb4WiYx4VRr2wjIxm+w09VHGOrH5uwEJBVGdqo5cWdTRFGgoLAYM0W5x+XUyMEzhfLRtz9SYY8EMIzoNYLn83jKjnbfhHlmhOpqMeG2L8/MU+ogxnqNK6ajqll+mJPzguHGL4qWp4L1ua2VN7f24a7ARO8Debi/zwif7iRkk5uyp5tI1Wk2+nfrIUU6QPKXMVf/fvj12nTJRFDwi9YrhDZHhGn9UWb584U4bFzuEuICndIKwQG4ACC1fOvNwqvST4D6dFEjtXttaGkco8O6MUv1N+vs4vgtrE7T+kNM7FgMM3YMSpboMM4i9g== 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=rcjy28Kr+oHsC8DoMXliNi3IWltlwxas1i5DCOPTw0c=; b=ctPWMtuma74TjO0fFHRPnHQzq5+TofM2OaYOkNRPcsrwBPeaQ2c6nwSgThMOp2RHfu+usA8jW5FFqniJtAsTh0IlBkR3wZO+Rl5fi0cluSK6b13q77gMv/yMErVvUT6wuv78+G4JXxTd5zmVDYkY/0FLS0/J2b1T3GqX5lZySWY= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by DB8PR08MB5370.eurprd08.prod.outlook.com (2603:10a6:10:112::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.29; Tue, 2 May 2023 16:36:30 +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.6340.031; Tue, 2 May 2023 16:36:30 +0000 From: Kyrylo Tkachov To: Christophe Lyon , "gcc-patches@gcc.gnu.org" , Richard Earnshaw , Richard Sandiford CC: Christophe Lyon Subject: RE: [PATCH 10/22] arm: [MVE intrinsics] factorize vandq veorq vorrq vbicq Thread-Topic: [PATCH 10/22] arm: [MVE intrinsics] factorize vandq veorq vorrq vbicq Thread-Index: AQHZcfxRH0UhJmmIyEq5PxEuh6j0WK9HRDXg Date: Tue, 2 May 2023 16:36:30 +0000 Message-ID: References: <20230418134608.244751-1-christophe.lyon@arm.com> <20230418134608.244751-11-christophe.lyon@arm.com> In-Reply-To: <20230418134608.244751-11-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_|DB8PR08MB5370:EE_|DBAEUR03FT053:EE_|GVXPR08MB8212:EE_ X-MS-Office365-Filtering-Correlation-Id: 196596b6-6e00-4335-6f1f-08db4b2b67de 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: aglNFl1MyXMmFEC9HH7iwr0l92ffKnVmvZyqAv/JYW+5SKfjor2zRuZcvV1LRbBSnOSQMdr0KdQuD3y0+4PBTKHTpzD2+eJWgYcs2OEZy3IRfH8vbh+UVyAwqZUMGqU0QEMR9H8JD96tVYnXvietneqZT0H6j46COnPE+svv5n0rGjUYQhj4g5AZxkHR+H5gvwszaWtD4l6FvVp/ZlLcs5eJPyNdviIT4qwo5eX+if4EosFIsII7KEyz5K3/9gDhK4msdffiicebdN3YtXFJoYRzisRXXTtb2poqdQAgWQhigLhD7+hFvWq3obbuvKvup/+N10XxlivoEomP6fVzGUlfALy6oy1ay2kbWocvoHJOmuDKBTMS9ucGxMViRB/+T6cuiu0qjOArBdunBzljtNXGk3XOJZwb1PUnT2VYFZACWxoKkIVmK136eIkaIxbn02rqXsfuHZn1e99aFy+OuklrH1HF0hmDj78zAu/w284uo/Ykmo9P7oN02oP/0fQJ8qCF4hljsRlUl55AETWfC6XRSc9OvBhevv2qC6TEmR21DD5hhgzG90nzSxuZGmeXCLR1//A4A1Lk0VaUpj+KtUNJJ+Xn0bZ2wKrhNsWqmrKqXGF/bd+jerNMDUhDv1U7 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)(136003)(396003)(376002)(39860400002)(346002)(366004)(451199021)(5660300002)(8676002)(52536014)(8936002)(41300700001)(316002)(38070700005)(86362001)(33656002)(2906002)(38100700002)(122000001)(30864003)(55016003)(186003)(76116006)(478600001)(83380400001)(9686003)(7696005)(53546011)(26005)(71200400001)(6506007)(6636002)(4326008)(66946007)(110136005)(66446008)(66556008)(64756008)(66476007);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: DB8PR08MB5370 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: DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 29141078-d285-4214-cad4-08db4b2b6210 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MIgTnVCpFZrVTIXEAcGKLHcHVo27uRD0fA0LDiPhOQ7AKJDsvHcyBskf4ONyzQLPXzcNwXqK5dWw3JP6k8mld9XkZEGD1Is6ygWGP6ZHymZmzuiKQTlkpkZ3YI3U1+Cp4mL+ACG75TUX1VEU2pHf+sIjT7yy+KH6FKJ9cVe+0HbzpPrPbRYyUbUjvpgxO9eIkoLFmXqtCnkLo2iFORg0gjg1iAd+tA1H1Z0oA52TifEzCknJiBhVrqq2itZfJsX2RXm5MPlIsThXrxiM9KgLjxEDijciS0bj7ivh0yP8qoftYM1JVfEIaT4IJFwzwoS2Dpm7/lkPgv1qXL/UUPCcbIR1I6mG3eZtqmbkGlQ9I4xKIZ5Z6wFCmjx09qY1tbdnRkoLTf6Ix63UGe9XiLTNkeoYrMjdKoLK9XkO1V1dGo99EVLOwLio5851fnFRKb2igl69mn7JVUlWYXhvERm79kW0GtRCPrsMRVFoDLPSMZBikmEN5Iu4/kk+NUiEWsx61Rw1gzmRk9SsP0aem0wUKwGAH8DWSBB6w20ZHDLQMMj5lIH+AZhV51uM3AQscsPJtZ4vw281mcPkCnb8KpOQ4bfgm4p8EaTdqaqT5QOBjv7D5vUQajFp+oYZ3PinYma2brQdEfZY0s/VD7zZyuTX5U6YbajC+fE2qc/eDB9/KTUZu7kbTq50zmyOR1Hr5ltjWqHQPkW1hGcvkqBSYauAjScSGleB+wkV3MP4EoGlGic= 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)(376002)(396003)(39860400002)(136003)(451199021)(36840700001)(46966006)(40470700004)(316002)(478600001)(70206006)(4326008)(6636002)(41300700001)(7696005)(83380400001)(52536014)(70586007)(5660300002)(8676002)(110136005)(8936002)(30864003)(2906002)(26005)(6506007)(53546011)(186003)(40460700003)(82740400003)(81166007)(34020700004)(356005)(47076005)(336012)(55016003)(40480700001)(9686003)(86362001)(82310400005)(33656002)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2023 16:36:40.1208 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 196596b6-6e00-4335-6f1f-08db4b2b67de 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: DBAEUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB8212 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 10/22] arm: [MVE intrinsics] factorize vandq veorq vorrq > vbicq >=20 > Factorize vandq, veorq, vorrq, vbicq so that they use the same > parameterized names. >=20 > 2022-09-08 Christophe Lyon >=20 > 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(-) >=20 > 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 > ]) >=20 > +(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 > ]) >=20 > +(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 > ]) >=20 > +(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 > ]) >=20 > +(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") > ]) >=20 > -;; > -;; [vbicq_n_s, vbicq_n_u]) > -;; > -(define_insn "mve_vbicq_n_" > - [ > - (set (match_operand:MVE_5 0 "s_register_operand" "=3Dw") > - (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" > ]) >=20 > ;; > +;; [vbicq_n_s, vbicq_n_u]) > ;; [vorrq_n_u, vorrq_n_s]) As in the other patch, let's get rid of these trailing ')' in the patterns = this patch touches. We can clean up any remaining occurrences after the series with pre-approve= d patches. Ok otherwise. Thanks, Kyrill > ;; > -(define_insn "mve_vorrq_n_" > +(define_insn "@mve_q_n_" > [ > (set (match_operand:MVE_5 0 "s_register_operand" "=3Dw") > (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") > ]) >=20 > @@ -2445,21 +2431,6 @@ (define_insn "mve_vrmlaldavhq_v4si" > [(set_attr "type" "mve_move") > ]) >=20 > -;; > -;; [vbicq_m_n_s, vbicq_m_n_u]) > -;; > -(define_insn "mve_vbicq_m_n_" > - [ > - (set (match_operand:MVE_5 0 "s_register_operand" "=3Dw") > - (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")]) >=20 > ;; > +;; [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" "=3Dw") > (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_" >=20 > ;; > ;; [vandq_m_u, vandq_m_s]) > -;; > -(define_insn "mve_vandq_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")] > - 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" "=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")] > - 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")]) >=20 > @@ -5084,23 +5043,6 @@ (define_insn > "mve_vcaddq_rot90_m_" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [veorq_m_s, veorq_m_u]) > -;; > -(define_insn "mve_veorq_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")] > - 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")]) >=20 > -;; > -;; [vorrq_m_s, vorrq_m_u]) > -;; > -(define_insn "mve_vorrq_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")] > - 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" >=20 > ;; > ;; [vandq_m_f]) > -;; > -(define_insn "mve_vandq_m_f" > - [ > - (set (match_operand:MVE_0 0 "s_register_operand" "=3Dw") > - (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" "=3Dw") > (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")]) >=20 > @@ -6702,23 +6613,6 @@ (define_insn "mve_vcmulq_rot90_m_f" > [(set_attr "type" "mve_move") > (set_attr "length""8")]) >=20 > -;; > -;; [veorq_m_f]) > -;; > -(define_insn "mve_veorq_m_f" > - [ > - (set (match_operand:MVE_0 0 "s_register_operand" "=3Dw") > - (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")]) >=20 > -;; > -;; [vorrq_m_f]) > -;; > -(define_insn "mve_vorrq_m_f" > - [ > - (set (match_operand:MVE_0 0 "s_register_operand" "=3Dw") > - (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] > ;; > -- > 2.34.1