From patchwork Tue Oct 17 20:50:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Coplan X-Patchwork-Id: 154532 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp4391452vqb; Tue, 17 Oct 2023 13:51:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH8tMz087owFWYqH4ClF31eWTogbWbk1GoGeIXeAGA1obJR1ZXmqGJBwhodyXItR4aTbdik X-Received: by 2002:a05:620a:1a8b:b0:775:ce76:4840 with SMTP id bl11-20020a05620a1a8b00b00775ce764840mr4500180qkb.7.1697575886010; Tue, 17 Oct 2023 13:51:26 -0700 (PDT) Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id h10-20020a05622a170a00b004180f8c4f04si1728473qtk.571.2023.10.17.13.51.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 13:51:25 -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=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=4NObEcZ7; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=4NObEcZ7; arc=fail (previous hop 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 95646385697B for ; Tue, 17 Oct 2023 20:51:25 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2057.outbound.protection.outlook.com [40.107.241.57]) by sourceware.org (Postfix) with ESMTPS id 1F4673858032 for ; Tue, 17 Oct 2023 20:50:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1F4673858032 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1F4673858032 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=40.107.241.57 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697575836; cv=fail; b=Asl+0xHZWhPRuhmWlgGBIq4NrNPe6y8Hwk+v6HgvSxvfNYjcs1pRrDZGst1EPSMD/TPeCUUm3LEInWMOI5dya1a47GrQ0LoBqy1HbDVyeroYjXcIk5AWvjJlAu59fGM70BBOGhXALyckaC4sgayvSnMJUCxKDcDh0CddFKZhcMo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697575836; c=relaxed/simple; bh=MsZKoJYgx4y+SUQYFRFzs+mWQfHE5DRZY0JrLNbR/5A=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=D6bF0BMmpvlFY7e2P1Nan+Vp4b9P/J7x0lG5ZzIPA/P0EMP4r5fGNAdEbqHs1ROVEbKOe2ebVrFa8UIk85jI5zZsX+m6VGwQQncGrxhZgsE2KdKlyMDWAlOj3OOSVrWm0r+a9uBEnNhUSFZIszvYIxbPzOMqz6ZG39Avk9tYAmY= ARC-Authentication-Results: i=2; server2.sourceware.org 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=VLRVjlQLymim5G5ArRfA7homdUqp9nBlETu6l7osS8Y=; b=4NObEcZ7KSMGHrDDRJWVVfiqJqkjObxADS8p9PLUbI+kFWCktnqbQy/hlZBtEKyj3O1zrasPkpGSrizbTRC77AQSO+xsWIm9qupIBfd5JyrAYzXpPvBaGfY7ofs//GDs/AS3s0i9qh2s1CMqcpCB72aFB+tSo5e7M50TW6A0ngg= Received: from AS8PR04CA0099.eurprd04.prod.outlook.com (2603:10a6:20b:31e::14) by AS2PR08MB8976.eurprd08.prod.outlook.com (2603:10a6:20b:5fd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36; Tue, 17 Oct 2023 20:50:29 +0000 Received: from AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:31e:cafe::f9) by AS8PR04CA0099.outlook.office365.com (2603:10a6:20b:31e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.21 via Frontend Transport; Tue, 17 Oct 2023 20:50:29 +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 AM7EUR03FT040.mail.protection.outlook.com (100.127.140.128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.20 via Frontend Transport; Tue, 17 Oct 2023 20:50:29 +0000 Received: ("Tessian outbound 9aeaca65ec26:v211"); Tue, 17 Oct 2023 20:50:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 2d18a03c88e42af6 X-CR-MTA-TID: 64aa7808 Received: from 135c8f9a2513.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 329040D0-D3BF-4C1A-8FCF-23A6BC7FD857.1; Tue, 17 Oct 2023 20:50:22 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 135c8f9a2513.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 17 Oct 2023 20:50:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GTGaHIer8EjPSLIdWmVspxbgLx9Ok4X9XQVYL6LvrI6d5ap2cLpblGkRGqS7CaY369Ks8Fd6wh4E4XpWRExWET/DcGZbRMqE+bDnpFdvJDFbh0jtkb98y2Nz+5iG59EgvSXYl3+l3iPu/elZe28TZthohotAKsrgzcns3fEtMCO7P/m0+lHpcBPNmXK20QGQwye5eVUANXTp8AuEWIWdASgUXInjBQzyZCHS6sOX9870UPL2QpOctKK/Eijj7L9zQ6yTes41q8078NWDA6OLPvfUmOHY3R2AiKTwVRl6G2CKlM/TrEo+E1c9D+72Vb5MtC9psj+gxUKDRSHhxT8n+w== 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=VLRVjlQLymim5G5ArRfA7homdUqp9nBlETu6l7osS8Y=; b=nFI7TXMCQhzimCTFezD2M9e7lC97gFkxWeqOEX99yBZSEesmBUO0EArvZdTCBOrCcOCSrwu0d+VxwkaedqFgesk1n19wUthjSaj1vXZOM975JSLHetiEuyVMTokznyF/5IWQ3ijCO+y78bAdgWIevJnrgjtaIY/3xydSrE7SLjokrdURVr+/z2AaNVsQ1vp/Wdvtv+sj9KC4wCfkNRvoPGCBc2O6x/W395nmEpAJY4k60VMq+6Dir9Yz9pfqUCUNDfPnocfSp01/yfwu55f5a8iWqQI2W22e37XwGLDQZ4Ar70ZkcgOauDvqIwymh7Ae3m6R6Cf0zBt5fQffr+veIw== 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=VLRVjlQLymim5G5ArRfA7homdUqp9nBlETu6l7osS8Y=; b=4NObEcZ7KSMGHrDDRJWVVfiqJqkjObxADS8p9PLUbI+kFWCktnqbQy/hlZBtEKyj3O1zrasPkpGSrizbTRC77AQSO+xsWIm9qupIBfd5JyrAYzXpPvBaGfY7ofs//GDs/AS3s0i9qh2s1CMqcpCB72aFB+tSo5e7M50TW6A0ngg= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAWPR08MB8958.eurprd08.prod.outlook.com (2603:10a6:102:33e::15) by AS4PR08MB7580.eurprd08.prod.outlook.com (2603:10a6:20b:4ff::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36; Tue, 17 Oct 2023 20:50:20 +0000 Received: from PAWPR08MB8958.eurprd08.prod.outlook.com ([fe80::f41:4ae1:dba2:70f4]) by PAWPR08MB8958.eurprd08.prod.outlook.com ([fe80::f41:4ae1:dba2:70f4%6]) with mapi id 15.20.6863.046; Tue, 17 Oct 2023 20:50:20 +0000 Date: Tue, 17 Oct 2023 21:50:17 +0100 From: Alex Coplan To: gcc-patches@gcc.gnu.org Cc: Richard Earnshaw , Richard Sandiford , Kyrylo Tkachov Subject: [PATCH 10/11] aarch64: Generalise TFmode load/store pair patterns Message-ID: Content-Disposition: inline X-ClientProxiedBy: LO2P265CA0136.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::28) To PAWPR08MB8958.eurprd08.prod.outlook.com (2603:10a6:102:33e::15) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAWPR08MB8958:EE_|AS4PR08MB7580:EE_|AM7EUR03FT040:EE_|AS2PR08MB8976:EE_ X-MS-Office365-Filtering-Correlation-Id: 567ff48e-a5d3-406f-3fa0-08dbcf52b2e4 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: TlUg9oo4ZwVkgMmarKrvquSkxd2WCzP/b1ptQXTf8LJIV/hGdXvoPWnXvk41JuErzOHW+Jq076wz5pIvA/VmSRSO615cqn4V7utv7h+Y8Fa9vUIaJs3WqckrNc/bET33I0i+CxxmBp8F8yCglg54lkIlJovCe5XvvQl5+lpgb/aKkHHo1qlYc9BZRCPBAO3a2J3uo7JFDYAdtW7fKtTxyjPo6Rf3KqngCYRLrYhihBr5iG1dbe89IoafEZDvhDYYqS8rmptUvVRA1farIYRTQWoWq6G6ONpwZPogtr0yHkVr1SINuyzgMY8RCo5bM+68+871879B6r0HnuxFOswVXhaX8UlIH+J3FyvqlZtuho1gnyu7kzetwPFZPtw69Gjd1J7mE/UTY8NLZFJrVt4vxBGjCpRo/Gh/22SUhvOuuYK8+qGVSsQfia528O0+QlcZ+IvvdRCvnIMeBm1bVGkqndNt/DNckxL1Sz5CwiCGoefH7pNVklyCPLNXTxpupfUYHtNa7oh87SNztg6INj5ojCcLmMoB5QUSu5RDVIyaeNz3L5GRCycTuRpQIkSBVkPrTHHKBScANV/M+CLly2z6iAZo84c0cHmd9Og8g5L4n6NaJGXDkSF6bJetP8Rxg7O+ X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8958.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(396003)(366004)(136003)(39860400002)(376002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(316002)(54906003)(66556008)(66946007)(66476007)(8936002)(8676002)(6916009)(38100700002)(6512007)(6666004)(478600001)(2616005)(6486002)(44144004)(33964004)(6506007)(83380400001)(4326008)(26005)(235185007)(2906002)(5660300002)(44832011)(86362001)(41300700001)(36756003)(2700100001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7580 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: AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f35ab22d-9cc3-4cd7-8b58-08dbcf52ad4e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EwB+MpsFH6Zo2XIKzAwZhNR9JWlgJFDKEj/DuFC63xOcOZvTDjAQYCF7alrhjH1U99AvhYLPBU4VTDVsfH4f2/DJ5Bo0K7amqaDZCKWcDJr01aaxYAGklZV0ub8+QOJyIEChQYbmolSpquQPKrQqxrtMgu6kPkAkZnhBtyKPLo7NT4OTxegGR9eQk4ZPjaLgFOZ4PguD15ZbyGewtv9J5NU06NdrgtRy9mk1ht5C+XpXVNwsS9bUWkiUehG65v3m/C+rBmS6nkCUUbHCPpoXAQ8GKYCf/vnRy34ivYFRp4MmbNqGj2s0LaG2NGy4yykRR+CXkHMJtIF9nmf4X2lWwUIUBGZX5HhCcOCIRZmnRWzvcYPC8n0GrXDKbCkDpKBwyurmU88fQqlvlv53OJwmGDI3dKTG6+NUsQfQgpaKzHKvCcKCL6AjzXKSFc9scpQcfesKF4bX9J+s4267S2EKIDugelcnQbDn/PfTX+LyR/jHSeV7l8c7NK948BJTn6nmiHeD2gCvDy1i78oClnmbmzhtwryTRV+i5x3Ra38Fbo9bD/JCZKmQLb7zprVoz+gI0/KAfEQv3dHjAabWgXxVdd+ZMf+LwIJmaEf4q5k92N+L0leTm0x70CPVRYEEhjzVxK1NGotw8Xq3RaQ+NZ66HT3i00pti7xE1Uhsid8sJRQVTrs/y/NS/om8KW55U458HjwpphIS+5p1F++l9Fu89bxYnyQw831j9ZkZGBeas/vyhBEU8Q7aMjgDFERbmyudkyrAN64LaMoQBzjP325BfQ== 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:(13230031)(4636009)(39860400002)(396003)(136003)(376002)(346002)(230922051799003)(82310400011)(186009)(64100799003)(1800799009)(451199024)(40470700004)(36840700001)(46966006)(6512007)(36756003)(40480700001)(40460700003)(6916009)(54906003)(70206006)(86362001)(70586007)(81166007)(356005)(82740400003)(36860700001)(316002)(33964004)(83380400001)(336012)(44144004)(26005)(2616005)(8936002)(6666004)(6506007)(478600001)(6486002)(2906002)(235185007)(8676002)(44832011)(5660300002)(4326008)(41300700001)(47076005)(2700100001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2023 20:50:29.7846 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 567ff48e-a5d3-406f-3fa0-08dbcf52b2e4 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: AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8976 X-Spam-Status: No, score=-11.0 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, SCC_10_SHORT_WORD_LINES, SCC_5_SHORT_WORD_LINES, SPF_HELO_PASS, SPF_NONE, TXREP, 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.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780037332588150901 X-GMAIL-MSGID: 1780037332588150901 This patch generalises the TFmode load/store pair patterns to TImode and TDmode. This brings them in line with the DXmode patterns, and uses the same technique with separate mode iterators (TX and TX2) to allow for distinct modes in each arm of the load/store pair. For example, in combination with the post-RA load/store pair fusion pass in the following patch, this improves the codegen for the following varargs testcase involving TImode stores: void g(void *); int foo(int x, ...) { __builtin_va_list ap; __builtin_va_start (ap, x); g(&ap); __builtin_va_end (ap); } from: foo: .LFB0: stp x29, x30, [sp, -240]! .LCFI0: mov w9, -56 mov w8, -128 mov x29, sp add x10, sp, 176 stp x1, x2, [sp, 184] add x1, sp, 240 add x0, sp, 16 stp x1, x1, [sp, 16] str x10, [sp, 32] stp w9, w8, [sp, 40] str q0, [sp, 48] str q1, [sp, 64] str q2, [sp, 80] str q3, [sp, 96] str q4, [sp, 112] str q5, [sp, 128] str q6, [sp, 144] str q7, [sp, 160] stp x3, x4, [sp, 200] stp x5, x6, [sp, 216] str x7, [sp, 232] bl g ldp x29, x30, [sp], 240 .LCFI1: ret to: foo: .LFB0: stp x29, x30, [sp, -240]! .LCFI0: mov w9, -56 mov w8, -128 mov x29, sp add x10, sp, 176 stp x1, x2, [sp, 1bd4971b7c71e70a637a1dq84] add x1, sp, 240 add x0, sp, 16 stp x1, x1, [sp, 16] str x10, [sp, 32] stp w9, w8, [sp, 40] stp q0, q1, [sp, 48] stp q2, q3, [sp, 80] stp q4, q5, [sp, 112] stp q6, q7, [sp, 144] stp x3, x4, [sp, 200] stp x5, x6, [sp, 216] str x7, [sp, 232] bl g ldp x29, x30, [sp], 240 .LCFI1: ret Note that this patch isn't needed if we only use the mode canonicalization approach in the new ldp fusion pass (since we canonicalize T{I,F,D}mode to V16QImode), but we seem to get slightly better performance with mode canonicalization disabled (see --param=aarch64-ldp-canonicalize-modes in the following patch). Bootstrapped/regtested as a series on aarch64-linux-gnu, OK for trunk? gcc/ChangeLog: * config/aarch64/aarch64.md (load_pair_dw_tftf): Rename to ... (load_pair_dw_): ... this. (store_pair_dw_tftf): Rename to ... (store_pair_dw_): ... this. * config/aarch64/iterators.md (TX2): New. --- gcc/config/aarch64/aarch64.md | 22 +++++++++++----------- gcc/config/aarch64/iterators.md | 3 +++ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 32c7adc8928..e6af09c2e8b 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -1757,16 +1757,16 @@ (define_insn "load_pair_dw_" } ) -(define_insn "load_pair_dw_tftf" - [(set (match_operand:TF 0 "register_operand" "=w") - (match_operand:TF 1 "aarch64_mem_pair_operand" "Ump")) - (set (match_operand:TF 2 "register_operand" "=w") - (match_operand:TF 3 "memory_operand" "m"))] +(define_insn "load_pair_dw_" + [(set (match_operand:TX 0 "register_operand" "=w") + (match_operand:TX 1 "aarch64_mem_pair_operand" "Ump")) + (set (match_operand:TX2 2 "register_operand" "=w") + (match_operand:TX2 3 "memory_operand" "m"))] "TARGET_SIMD && rtx_equal_p (XEXP (operands[3], 0), plus_constant (Pmode, XEXP (operands[1], 0), - GET_MODE_SIZE (TFmode)))" + GET_MODE_SIZE (mode)))" "ldp\\t%q0, %q2, %z1" [(set_attr "type" "neon_ldp_q") (set_attr "fp" "yes")] @@ -1805,11 +1805,11 @@ (define_insn "store_pair_dw_" } ) -(define_insn "store_pair_dw_tftf" - [(set (match_operand:TF 0 "aarch64_mem_pair_operand" "=Ump") - (match_operand:TF 1 "register_operand" "w")) - (set (match_operand:TF 2 "memory_operand" "=m") - (match_operand:TF 3 "register_operand" "w"))] +(define_insn "store_pair_dw_" + [(set (match_operand:TX 0 "aarch64_mem_pair_operand" "=Ump") + (match_operand:TX 1 "register_operand" "w")) + (set (match_operand:TX2 2 "memory_operand" "=m") + (match_operand:TX2 3 "register_operand" "w"))] "TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), plus_constant (Pmode, diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md index 2451d8c2cd8..f9e2210095e 100644 --- a/gcc/config/aarch64/iterators.md +++ b/gcc/config/aarch64/iterators.md @@ -319,6 +319,9 @@ (define_mode_iterator VS [V2SI V4SI]) (define_mode_iterator TX [TI TF TD]) +;; Duplicate of the above +(define_mode_iterator TX2 [TI TF TD]) + (define_mode_iterator VTX [TI TF TD V16QI V8HI V4SI V2DI V8HF V4SF V2DF V8BF]) ;; Advanced SIMD opaque structure modes.