From patchwork Fri Apr 24 14:24:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 1276420 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com header.b=dD2XJhuy; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com header.b=dD2XJhuy; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 497xLD6zvwz9sSM for ; Sat, 25 Apr 2020 00:26:10 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9E4A13893668; Fri, 24 Apr 2020 14:26:07 +0000 (GMT) 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-vi1eur05on2056.outbound.protection.outlook.com [40.107.21.56]) by sourceware.org (Postfix) with ESMTPS id 28D1138930F7 for ; Fri, 24 Apr 2020 14:25:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 28D1138930F7 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Srinath.Parvathaneni@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=Wcu2TWXbOb+cgozG6TnHrRMJBivXEBOhokrcooPLGaI=; b=dD2XJhuyRrkcr6cu+T9m6cd2dqIwrXKg2Nw5y0w517DH1ir9/XAnW+qzxHnDZGjqX9VLQQeYRYykFNUBdXKYyXWJIPMVPPSeMS/uuPk13PXoD39n0PfxuvbAW5qhxb3+hkNAunqaR7ai+aDWUYvD69hpTdu2W/nUAq4jTDQ1rOU= Received: from AM6P195CA0073.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::14) by HE1PR0802MB2187.eurprd08.prod.outlook.com (2603:10a6:3:c5::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Fri, 24 Apr 2020 14:25:44 +0000 Received: from AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:86:cafe::c4) by AM6P195CA0073.outlook.office365.com (2603:10a6:209:86::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13 via Frontend Transport; Fri, 24 Apr 2020 14:25:44 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=bestguesspass 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT003.mail.protection.outlook.com (10.152.16.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.19 via Frontend Transport; Fri, 24 Apr 2020 14:25:43 +0000 Received: ("Tessian outbound 76e9a4cf1540:v53"); Fri, 24 Apr 2020 14:25:43 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8edcb9d92c0dd74e X-CR-MTA-TID: 64aa7808 Received: from f867b27df66d.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 679E2B8F-1DFA-4CB0-B981-EAB6E99B4C01.1; Fri, 24 Apr 2020 14:25:38 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f867b27df66d.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 24 Apr 2020 14:25:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VOBZHvcfjheaGL1I8jZ6dEj1tARoZlP25RJrmIxibOLwdP0rfjBqrQNg58nv9OE8SETAZZn+ng0YMLB0+52RmbtEBqSr9IEosKhrhEuKJ0aCp3wyr1xN8HytXympw8+I/3oKYQLSOjGhWsvLEitjskPzx5iv/XRerEFfG9TpS9LW2BjMZIHKr86/NtjhqIZTVWNgPFmYWNnl7LjXzludWsPzRbQZ1yzTQAfgfAKKOFlSVCDauCcR2MILZLQDyvyb5I/AXrOQnQ3HScV/yczBLOFEgnkNVlijvEtn4lKUCUe2r91rc1poF9/Ci4PmF9k9/KCx+z9/IhYQWd4hqnYTiA== 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-SenderADCheck; bh=Wcu2TWXbOb+cgozG6TnHrRMJBivXEBOhokrcooPLGaI=; b=Hlhz/CIZqItjgBi5orrH1ya49+OqAf9Rh1qdRgog4AxQ4e+aWeWwz+nYtiSwr9zB192kmrZWDbuWoNpkmMnUgSTiM0V9lhSrUx6qHXCBbLR9cGkmW7mQq8o3LFJhAkbAiMZ3WjcinJN2qyki10RJKvTQLpjq2TtTfr4MRzeBnw4mn9IJf4mqpX4FFKJtck8v0Dle+norFuK1xgMx5IVniSWaGVsUrBEC9N9CN76lQsfBvAST1YaqG6VSv8e4PB4DsebuDbuFGJitfh3tgoIn2dvI72a5oJ93M/GLgx3pIVu2XDzWyklyVqpDrgBWJt627Bkc92gr+NGEmmBnQ578QQ== 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=Wcu2TWXbOb+cgozG6TnHrRMJBivXEBOhokrcooPLGaI=; b=dD2XJhuyRrkcr6cu+T9m6cd2dqIwrXKg2Nw5y0w517DH1ir9/XAnW+qzxHnDZGjqX9VLQQeYRYykFNUBdXKYyXWJIPMVPPSeMS/uuPk13PXoD39n0PfxuvbAW5qhxb3+hkNAunqaR7ai+aDWUYvD69hpTdu2W/nUAq4jTDQ1rOU= Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Srinath.Parvathaneni@arm.com; Received: from AM0PR08MB5380.eurprd08.prod.outlook.com (2603:10a6:208:183::8) by AM0PR08MB5076.eurprd08.prod.outlook.com (2603:10a6:208:15e::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Fri, 24 Apr 2020 14:25:37 +0000 Received: from AM0PR08MB5380.eurprd08.prod.outlook.com ([fe80::4d0e:fbd7:1fb1:6515]) by AM0PR08MB5380.eurprd08.prod.outlook.com ([fe80::4d0e:fbd7:1fb1:6515%10]) with mapi id 15.20.2937.020; Fri, 24 Apr 2020 14:25:36 +0000 From: Srinath Parvathaneni Date: Fri, 24 Apr 2020 15:24:59 +0100 To: gcc-patches@gcc.gnu.org Subject: [GCC][PATCH][ARM]: Change arm constraint name from "e" to "Te". X-ClientProxiedBy: LNXP265CA0018.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::30) To AM0PR08MB5380.eurprd08.prod.outlook.com (2603:10a6:208:183::8) Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e120703-lin.cambridge.arm.com (217.140.106.51) by LNXP265CA0018.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13 via Frontend Transport; Fri, 24 Apr 2020 14:25:36 +0000 X-Originating-IP: [217.140.106.51] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 74165fe2-e8e4-42fe-e402-08d7e85b5f95 X-MS-TrafficTypeDiagnostic: AM0PR08MB5076:|AM0PR08MB5076:|HE1PR0802MB2187: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:214;OLM:214; X-Forefront-PRVS: 03838E948C X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB5380.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(39860400002)(396003)(136003)(376002)(346002)(2906002)(8936002)(52116002)(86362001)(81156014)(8676002)(33656002)(33964004)(26005)(66616009)(66946007)(16526019)(316002)(30864003)(5660300002)(6486002)(6512007)(235185007)(9686003)(478600001)(4326008)(52536014)(44832011)(6916009)(66556008)(66476007)(956004)(186003)(6666004); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 4W6k/B68BBLW9kNsaYOjJSxa2tVOMGULONH7gczLaX5vHDp3eQS50R8z5OMmDM5SaODRVoozuM0fH2CcT85mrbgjTfkuUuTnUgTvDakjoxVPVlkaKaebmGLAvx9ial4ao2hvwrGMryLUanaM2tqki6wtxqC+saPxa48BsI8zmSx9iT5gaOH1BQ4lls6dCm1F4owNo3kEOIRWF6x9X7nNQ+CMXsv8052vKbe6AfbzQoKDH6yK5O57FLXljO/J1W5qjclPGl4ONeOkd7xc9CAtg86f67FHpMFyrkCgRomFf5E4QvZqKYBBC8lqW03d7YPvCgXFo4XO6fGCxoP8/N7WNecr14vjJHuFOq5szZnWl/h/FGsi2FSdtGp2ywp0OQdXtyOt9yY/i0wJizDx7r2kUVX0ZLvoOaFyCsBLV7Ro+NdeSYG58T7DoyOuYwiKavF6 X-MS-Exchange-AntiSpam-MessageData: codW30w+33TkBWrFUEN+U80fNK5yyts6dN6HNjstqRfYuJ3WD6AMhbkVRblca58bIZ0bTVSvq0obIXAZYThP1zUrcvIYg8gRkkmmJ+hNO30bA6qv0k7MMVApnLDBl+5vOH8UP7WhSr8+U+mb9AlunA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5076 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Srinath.Parvathaneni@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com 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; SFTY:; SFS:(4636009)(346002)(136003)(396003)(376002)(39860400002)(46966005)(16526019)(2906002)(81156014)(6512007)(8676002)(5660300002)(52536014)(8936002)(6916009)(33656002)(47076004)(82740400003)(30864003)(186003)(235185007)(956004)(86362001)(9686003)(70206006)(4326008)(66616009)(6486002)(6666004)(36906005)(336012)(356005)(33964004)(70586007)(316002)(81166007)(478600001)(44832011)(82310400002)(26005); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: dec1e68d-eee7-4227-086a-08d7e85b5b36 X-Forefront-PRVS: 03838E948C X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3kf6daFue87EBOWOT74zy+5vtr6OIMAXZjlF84dREb/JcRCxzpYAUeBoXvmnzX2VAGj4rZOBFuEp5gx0mrx0Z2KXs3ZaLWQrSb+ZwVkuCqnFa8eLDEwHVL/+Cvt72GA3STB3K9aCG/VhVIZq8SJbcg61eDCTwvDNS2VE+nkuvQ1IMTsXO4HXF4liHt94RFLN7McT2jbuGXITja4hF+pilNokkJp7Bb9CMfLtcop0/ndxKyzEWt7dCcGMK9lkjHPSYxp8Ri4c9zqSYFKdi1tmrO+k7ZkY+jTPCAMWhOVKz2/CnHQBNgHkhQ/w0IauLAQHs0ZdzufEku5P384jx2XojZngrghlpnUnj5l16O70dZENfxSWkJkgMRxg7Dmw4dt5URuli3lfjG4mITfam8QUOqZwIiec5EiOJbIefw2Uh2sOFYhoctEAYDWtQJZ6WURc54dudngIR0zt3z0J/6GOk6PTa9hF9Rnoo5DY2z7BO1l8IFa7x1VUcTbFV3aD9oURO6HL0oZoPm1tUBXKxRpz8w== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2020 14:25:43.8791 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74165fe2-e8e4-42fe-e402-08d7e85b5f95 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2187 X-Spam-Status: No, score=-30.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LOTSOFHASH, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: , Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" Hello, This patches changes the constraint "e" to "Te". Regression tested on arm-none-eabi and found no regressions. Ok for trunk? Thanks, Srinath. gcc/ChangeLog: 2020-04-24 Srinath Parvathaneni * config/arm/constraints.md (e): Remove constraint. (Te): Define constraint. * config/arm/mve.md (vaddvq_): Modify constraint in operand 0 from "e" to "Te". (vaddvaq_): Likewise. (vaddvq_p_): Likewise. (vmladavq_): Likewise. (vmladavxq_s): Likewise. (vmlsdavq_s): Likewise. (vmlsdavxq_s): Likewise. (vaddvaq_p_): Likewise. (vmladavaq_): Likewise. (vmladavq_p_): Likewise. (vmladavxq_p_s): Likewise. (vmlsdavq_p_s): Likewise. (vmlsdavxq_p_s): Likewise. (vmlsdavaxq_s): Likewise. (vmlsdavaq_s): Likewise. (vmladavaxq_s): Likewise. (vmladavaq_p_): Likewise. (vmladavaxq_p_s): Likewise. (vmlsdavaq_p_s): Likewise. (vmlsdavaxq_p_s): Likewise. ############### Attachment also inlined for ease of reply ############### diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md index 41a85e2713b59f75f0b191b6be03a7ac8f6e321e..fed6c7c84032dd8aba45142b59b980b4a6240d6d 100644 --- a/gcc/config/arm/constraints.md +++ b/gcc/config/arm/constraints.md @@ -32,7 +32,7 @@ ;; The following multi-letter normal constraints have been used: ;; in ARM/Thumb-2 state: Da, Db, Dc, Dd, Dn, DN, Dm, Dl, DL, Do, Dv, Dy, Di, -;; Dt, Dp, Dz, Tu +;; Dt, Dp, Dz, Tu, Te ;; in Thumb-1 state: Pa, Pb, Pc, Pd, Pe ;; in Thumb-2 state: Ha, Pj, PJ, Ps, Pt, Pu, Pv, Pw, Px, Py, Pz, Rd, Rf, Rb, Ra, ;; Rg, Ri @@ -50,8 +50,8 @@ (define_register_constraint "Uf" "TARGET_HAVE_MVE ? VFPCC_REG : NO_REGS" "MVE FPCCR register") -(define_register_constraint "e" "TARGET_HAVE_MVE ? EVEN_REG : NO_REGS" - "MVE EVEN registers @code{r0}, @code{r2}, @code{r4}, @code{r6}, @code{r8}, +(define_register_constraint "Te" "TARGET_HAVE_MVE ? EVEN_REG : NO_REGS" + "EVEN core registers @code{r0}, @code{r2}, @code{r4}, @code{r6}, @code{r8}, @code{r10}, @code{r12}, @code{r14}") (define_constraint "Rd" diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index 9cb18ef50e8320b2d7160346361343c4ab1685b9..f43dabbfd4f15b602f0627a9b0ea423064501e51 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -1102,7 +1102,7 @@ ;; (define_insn "mve_vaddvq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w")] VADDVQ)) ] @@ -1477,7 +1477,7 @@ ;; (define_insn "mve_vaddvaq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w")] VADDVAQ)) @@ -1492,7 +1492,7 @@ ;; (define_insn "mve_vaddvq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:HI 2 "vpr_register_operand" "Up")] VADDVQ_P)) @@ -2032,7 +2032,7 @@ ;; (define_insn "mve_vmladavq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLADAVQ)) @@ -2047,7 +2047,7 @@ ;; (define_insn "mve_vmladavxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLADAVXQ_S)) @@ -2062,7 +2062,7 @@ ;; (define_insn "mve_vmlsdavq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLSDAVQ_S)) @@ -2077,7 +2077,7 @@ ;; (define_insn "mve_vmlsdavxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLSDAVXQ_S)) @@ -3685,7 +3685,7 @@ ;; (define_insn "mve_vaddvaq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4101,7 +4101,7 @@ ;; (define_insn "mve_vmladavaq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -4117,7 +4117,7 @@ ;; (define_insn "mve_vmladavq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4133,7 +4133,7 @@ ;; (define_insn "mve_vmladavxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4181,7 +4181,7 @@ ;; (define_insn "mve_vmlsdavq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4197,7 +4197,7 @@ ;; (define_insn "mve_vmlsdavxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4581,7 +4581,7 @@ ;; (define_insn "mve_vmlsdavaxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -4597,7 +4597,7 @@ ;; (define_insn "mve_vmlsdavaq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -4613,7 +4613,7 @@ ;; (define_insn "mve_vmladavaxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -6298,7 +6298,7 @@ ;; (define_insn "mve_vmladavaq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -6808,7 +6808,7 @@ ;; (define_insn "mve_vmladavaxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -6825,7 +6825,7 @@ ;; (define_insn "mve_vmlsdavaq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -6842,7 +6842,7 @@ ;; (define_insn "mve_vmlsdavaxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -9736,7 +9736,7 @@ (unspec:MVE_2 [(match_operand:SI 2 "s_register_operand" "1") (match_operand:SI 3 "mve_imm_selective_upto_8" "Rg")] VIDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (plus:SI (match_dup 2) (match_operand:SI 4 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9772,7 +9772,7 @@ (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 5 "vpr_register_operand" "Up")] VIDUPQ_M)) - (set (match_operand:SI 2 "s_register_operand" "=e") + (set (match_operand:SI 2 "s_register_operand" "=Te") (plus:SI (match_dup 3) (match_operand:SI 6 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9804,7 +9804,7 @@ (unspec:MVE_2 [(match_operand:SI 2 "s_register_operand" "1") (match_operand:SI 3 "immediate_operand" "i")] VDDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (minus:SI (match_dup 2) (match_operand:SI 4 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9840,7 +9840,7 @@ (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 5 "vpr_register_operand" "Up")] VDDUPQ_M)) - (set (match_operand:SI 2 "s_register_operand" "=e") + (set (match_operand:SI 2 "s_register_operand" "=Te") (minus:SI (match_dup 3) (match_operand:SI 6 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9891,7 +9891,7 @@ (subreg:SI (match_operand:DI 3 "s_register_operand" "r") 4) (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg")] VDWDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (subreg:SI (match_dup 3) 4) (match_dup 4)] @@ -9951,7 +9951,7 @@ (match_operand:SI 5 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 6 "vpr_register_operand" "Up")] VDWDUPQ_M)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (match_dup 3) (subreg:SI (match_dup 4) 4) @@ -10008,7 +10008,7 @@ (subreg:SI (match_operand:DI 3 "s_register_operand" "r") 4) (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg")] VIWDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (subreg:SI (match_dup 3) 4) (match_dup 4)] @@ -10068,7 +10068,7 @@ (match_operand:SI 5 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 6 "vpr_register_operand" "Up")] VIWDUPQ_M)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (match_dup 3) (subreg:SI (match_dup 4) 4) diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md index 41a85e2713b59f75f0b191b6be03a7ac8f6e321e..fed6c7c84032dd8aba45142b59b980b4a6240d6d 100644 --- a/gcc/config/arm/constraints.md +++ b/gcc/config/arm/constraints.md @@ -32,7 +32,7 @@ ;; The following multi-letter normal constraints have been used: ;; in ARM/Thumb-2 state: Da, Db, Dc, Dd, Dn, DN, Dm, Dl, DL, Do, Dv, Dy, Di, -;; Dt, Dp, Dz, Tu +;; Dt, Dp, Dz, Tu, Te ;; in Thumb-1 state: Pa, Pb, Pc, Pd, Pe ;; in Thumb-2 state: Ha, Pj, PJ, Ps, Pt, Pu, Pv, Pw, Px, Py, Pz, Rd, Rf, Rb, Ra, ;; Rg, Ri @@ -50,8 +50,8 @@ (define_register_constraint "Uf" "TARGET_HAVE_MVE ? VFPCC_REG : NO_REGS" "MVE FPCCR register") -(define_register_constraint "e" "TARGET_HAVE_MVE ? EVEN_REG : NO_REGS" - "MVE EVEN registers @code{r0}, @code{r2}, @code{r4}, @code{r6}, @code{r8}, +(define_register_constraint "Te" "TARGET_HAVE_MVE ? EVEN_REG : NO_REGS" + "EVEN core registers @code{r0}, @code{r2}, @code{r4}, @code{r6}, @code{r8}, @code{r10}, @code{r12}, @code{r14}") (define_constraint "Rd" diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index 9cb18ef50e8320b2d7160346361343c4ab1685b9..f43dabbfd4f15b602f0627a9b0ea423064501e51 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -1102,7 +1102,7 @@ ;; (define_insn "mve_vaddvq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w")] VADDVQ)) ] @@ -1477,7 +1477,7 @@ ;; (define_insn "mve_vaddvaq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w")] VADDVAQ)) @@ -1492,7 +1492,7 @@ ;; (define_insn "mve_vaddvq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:HI 2 "vpr_register_operand" "Up")] VADDVQ_P)) @@ -2032,7 +2032,7 @@ ;; (define_insn "mve_vmladavq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLADAVQ)) @@ -2047,7 +2047,7 @@ ;; (define_insn "mve_vmladavxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLADAVXQ_S)) @@ -2062,7 +2062,7 @@ ;; (define_insn "mve_vmlsdavq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLSDAVQ_S)) @@ -2077,7 +2077,7 @@ ;; (define_insn "mve_vmlsdavxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w")] VMLSDAVXQ_S)) @@ -3685,7 +3685,7 @@ ;; (define_insn "mve_vaddvaq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4101,7 +4101,7 @@ ;; (define_insn "mve_vmladavaq_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -4117,7 +4117,7 @@ ;; (define_insn "mve_vmladavq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4133,7 +4133,7 @@ ;; (define_insn "mve_vmladavxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4181,7 +4181,7 @@ ;; (define_insn "mve_vmlsdavq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4197,7 +4197,7 @@ ;; (define_insn "mve_vmlsdavxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:MVE_2 1 "s_register_operand" "w") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:HI 3 "vpr_register_operand" "Up")] @@ -4581,7 +4581,7 @@ ;; (define_insn "mve_vmlsdavaxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -4597,7 +4597,7 @@ ;; (define_insn "mve_vmlsdavaq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -4613,7 +4613,7 @@ ;; (define_insn "mve_vmladavaxq_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w")] @@ -6298,7 +6298,7 @@ ;; (define_insn "mve_vmladavaq_p_" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -6808,7 +6808,7 @@ ;; (define_insn "mve_vmladavaxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -6825,7 +6825,7 @@ ;; (define_insn "mve_vmlsdavaq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -6842,7 +6842,7 @@ ;; (define_insn "mve_vmlsdavaxq_p_s" [ - (set (match_operand:SI 0 "s_register_operand" "=e") + (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") (match_operand:MVE_2 2 "s_register_operand" "w") (match_operand:MVE_2 3 "s_register_operand" "w") @@ -9736,7 +9736,7 @@ (unspec:MVE_2 [(match_operand:SI 2 "s_register_operand" "1") (match_operand:SI 3 "mve_imm_selective_upto_8" "Rg")] VIDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (plus:SI (match_dup 2) (match_operand:SI 4 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9772,7 +9772,7 @@ (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 5 "vpr_register_operand" "Up")] VIDUPQ_M)) - (set (match_operand:SI 2 "s_register_operand" "=e") + (set (match_operand:SI 2 "s_register_operand" "=Te") (plus:SI (match_dup 3) (match_operand:SI 6 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9804,7 +9804,7 @@ (unspec:MVE_2 [(match_operand:SI 2 "s_register_operand" "1") (match_operand:SI 3 "immediate_operand" "i")] VDDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (minus:SI (match_dup 2) (match_operand:SI 4 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9840,7 +9840,7 @@ (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 5 "vpr_register_operand" "Up")] VDDUPQ_M)) - (set (match_operand:SI 2 "s_register_operand" "=e") + (set (match_operand:SI 2 "s_register_operand" "=Te") (minus:SI (match_dup 3) (match_operand:SI 6 "immediate_operand" "i")))] "TARGET_HAVE_MVE" @@ -9891,7 +9891,7 @@ (subreg:SI (match_operand:DI 3 "s_register_operand" "r") 4) (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg")] VDWDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (subreg:SI (match_dup 3) 4) (match_dup 4)] @@ -9951,7 +9951,7 @@ (match_operand:SI 5 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 6 "vpr_register_operand" "Up")] VDWDUPQ_M)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (match_dup 3) (subreg:SI (match_dup 4) 4) @@ -10008,7 +10008,7 @@ (subreg:SI (match_operand:DI 3 "s_register_operand" "r") 4) (match_operand:SI 4 "mve_imm_selective_upto_8" "Rg")] VIWDUPQ)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (subreg:SI (match_dup 3) 4) (match_dup 4)] @@ -10068,7 +10068,7 @@ (match_operand:SI 5 "mve_imm_selective_upto_8" "Rg") (match_operand:HI 6 "vpr_register_operand" "Up")] VIWDUPQ_M)) - (set (match_operand:SI 1 "s_register_operand" "=e") + (set (match_operand:SI 1 "s_register_operand" "=Te") (unspec:SI [(match_dup 2) (match_dup 3) (subreg:SI (match_dup 4) 4)