From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2051.outbound.protection.outlook.com [40.107.7.51]) by sourceware.org (Postfix) with ESMTPS id 6CADB3858C20 for ; Tue, 10 Jan 2023 14:06:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6CADB3858C20 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=WAQ1x/O0mA4VAJTmI3Ys+ynmJSgN+s32upC9y5HTj2M=; b=P9G6KudiabkafLwGeVd1HT0vH/qnNIq+KCZ/up5UuHjO8OJkGqEBKaJmH5SGWaVAz/NFuvo7bBnO0JWa9kToUpKnelWojtlDkrcWZNWxdB6CYjNeQ7om3wcV8qHT5f5YWx4KBi3JepnWyxOEdljOyFPINtW/UDl+qmNjLvV5tGc= Received: from AM9P250CA0018.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::23) by DB9PR08MB6732.eurprd08.prod.outlook.com (2603:10a6:10:2af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Tue, 10 Jan 2023 14:06:04 +0000 Received: from VI1EUR03FT009.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:21c:cafe::f7) by AM9P250CA0018.outlook.office365.com (2603:10a6:20b:21c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18 via Frontend Transport; Tue, 10 Jan 2023 14:06:04 +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 VI1EUR03FT009.mail.protection.outlook.com (100.127.144.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18 via Frontend Transport; Tue, 10 Jan 2023 14:06:03 +0000 Received: ("Tessian outbound 333ca28169fa:v132"); Tue, 10 Jan 2023 14:06:03 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d5441c6c64c91a61 X-CR-MTA-TID: 64aa7808 Received: from 9f89cfc7feb9.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 32115D82-9E93-4C9D-AEA7-36B1391B3F3E.1; Tue, 10 Jan 2023 14:05:52 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9f89cfc7feb9.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 10 Jan 2023 14:05:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AgIg4D2QSJn/fTHOA7kDVVvm58KLPVnLZUypywjdh8iRoVIcI9GCFZ6i0nvoeSsxPqU5/jdOJ/QOevYB7qHcCjVZwkj7Qn39rvLYOQIZ9851ZPFo+Js0cDuyk+Et0FtenxkfX4oYT8hSiA6zgUEkSPGSv9T3vPOQ/Tfg0X1YRWvlj86LatXG1cHDd5GeCYXh1sWFdDB+fNts32ptRkqptOZkl37LkR9siKBNHMnG2O+6NFNnc8dzs5b1JPk3C1FtgsYUnLVrF98TN1pokjxoGznDGtWHbEbpsTEzhSlHYcLQwFLsDk4TbXy7s6KihccXyKZsgpFnSGzCUCVq3Lx/1A== 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=WAQ1x/O0mA4VAJTmI3Ys+ynmJSgN+s32upC9y5HTj2M=; b=SHBFLZsGPnRPReB+08hj8rQhp8fMp1FFVln1rnytc/qRT8o1RqfDobWQKUD3u46kz/hHa8qvMzgYJdxcRyZEe+hUliy8x2TlHf/2FUR8V3GMvHaQEx8ROzxp/jJSu/hmuNlhi6rJsf+PaDrEZXtbjQ/nsboHs0sa1NzZqFYZAMth+nFEkWzY/7EaGD1cA+4Esp9QNQIljHJUgA6ywCRzrbir07oiKxJHsFSxvc5CUN3UuyCPgEg07OgoZ7NnUixgcovFS+OIpPcbV+7M+k8VQT2MLfVRJ3zbqCWxwEK4BPldSxaKSqk0tq7YAM3VHv+0ZBZhxXdRv+GLuPY9kUiuLw== 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=WAQ1x/O0mA4VAJTmI3Ys+ynmJSgN+s32upC9y5HTj2M=; b=P9G6KudiabkafLwGeVd1HT0vH/qnNIq+KCZ/up5UuHjO8OJkGqEBKaJmH5SGWaVAz/NFuvo7bBnO0JWa9kToUpKnelWojtlDkrcWZNWxdB6CYjNeQ7om3wcV8qHT5f5YWx4KBi3JepnWyxOEdljOyFPINtW/UDl+qmNjLvV5tGc= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB6507.eurprd08.prod.outlook.com (2603:10a6:10:25a::6) by GVXPR08MB7703.eurprd08.prod.outlook.com (2603:10a6:150:6b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Tue, 10 Jan 2023 14:05:49 +0000 Received: from DB9PR08MB6507.eurprd08.prod.outlook.com ([fe80::3cc3:8280:607f:2a8f]) by DB9PR08MB6507.eurprd08.prod.outlook.com ([fe80::3cc3:8280:607f:2a8f%6]) with mapi id 15.20.5986.018; Tue, 10 Jan 2023 14:05:49 +0000 Message-ID: <13f07cd4-f34a-c78f-65d9-890a68947a94@arm.com> Date: Tue, 10 Jan 2023 14:01:02 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH] Fix memory constraint on MVE v[ld/st][2/4] instructions [PR107714] To: Kyrylo Tkachov , "gcc-patches@gcc.gnu.org" Cc: Richard Earnshaw , Ramana Radhakrishnan , "nickc@redhat.com" References: <08fcbcb4-c1c5-2e9f-1efd-e1d08fb7a3f6@arm.com> Content-Language: en-US From: Stam Markianos-Wright In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0245.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a7::16) To DB9PR08MB6507.eurprd08.prod.outlook.com (2603:10a6:10:25a::6) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR08MB6507:EE_|GVXPR08MB7703:EE_|VI1EUR03FT009:EE_|DB9PR08MB6732:EE_ X-MS-Office365-Filtering-Correlation-Id: 5f72ddd5-b66a-4090-74be-08daf313cf7c X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr 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: XBKkpmUoh3iBXaT/oMB6OYiNUjiYYAarLj0dx5UqHJ5lJMAKMWc5wDdwkPpOeU71iMfm/LZQrWR1BbcSTwngqDCoQDF6RfKLSwhqWR8QATCF3zJPB1Im+491HYleImEv5FJoI1GhG4gO/+vwOP1smsvzQDVVD94psUsaTfhWuYikyO47ZZ96aMHr+L1U/GnFualtnLRe96z80WxI2iB5wzjh/HZhYC/S0Sn+bxHfnLigOwOfEO0TMow+7Z0VVpG4vamf1+SucUQKOrrr6swwcXVsC9phZC5zhAJxFlw95jNBtBmbjvjynKat/TnT/OuAdKfH832VThSp9RswZm+DUicQUp7NwHQKymLbxtsfhIa4CuJcl0Q7Ywsz8Stt44NhnhvMuO5wX/tHLRudXw6lXi0bQe1bkbYTomk5ytzmIrRyRYFFUQBMDKahD2nn//cht2Th0jarYJChcJ0AvZ0KZURVKJSIWODUiZZRnrC4/thJTuoihC6o6l4+rl213RImtfDX8co1NMh8u/feVj+B29N3Gzhxmhri5262sH5ye/30PgASanurj7fXaObiWpcPoiu0Q+lRtOdaTxnEJJ9S+Oc3KxTw4cHjlUtaZPZ6OWJzkoslGr+kMgIc5wnaGpOGum4v+TvjeQGQzyopLr5Q227SENAucjrR3Iax+xB9H6iGUZJJ0q06wvJyl8FEMaFrZd4cI6ICE4J60nH4ncuCDg7aZL2z5a/1KIrUxg5MDJoCxJoAM6t25OihZhUoavpk0nCJFIAgTlp9P+BMSoGOv9Q3ZzTlSdgNgh7t2qdEfXU= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6507.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(136003)(39860400002)(376002)(366004)(451199015)(54906003)(86362001)(110136005)(31696002)(316002)(8936002)(2616005)(6486002)(966005)(2906002)(38100700002)(478600001)(66556008)(66476007)(6666004)(26005)(53546011)(66946007)(41300700001)(186003)(6512007)(4326008)(8676002)(36756003)(6506007)(31686004)(83380400001)(5660300002)(84970400001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7703 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: VI1EUR03FT009.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 801dc595-2071-478e-a418-08daf313c6a0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Rp54ZzRbUcHQq19w/t5eh9jB1Sz1pumyioi6lxlTC5hETA008vbkOaLImvuSlbcY/I5br80BDjM1OcmRiKOmQfg99DqRPdkB9JpjpdD0/+P0By5oKksdJw5KGsoaJYUxPJcs8V2XaWJ7FDtQSiWpNnUrWELTP6VXBHltHLquxpcaCExvESVBnq3kVizpxMbZCd5lvoLr4UIYpYGG4N0CaxUdZo1khEtyJyB5BGADIgINaY/XjLDdMCFnSx6y98lw3uSwLOmGv6Z+0tdE2N7TQbwTlYEzsWGDgBP6fwpIL4TIw36MT1GbFuA0ZayI1j5yc4RmbtjeahwL/9k7EuPnXMCNKNiQZ4OT9k6rDlt8N5nMX+OlNqeM/n4UJMjg3d7PiUWPhtIFPrAzg5JEyBbh5679UQDzwGb4moi8W7eL+4kyIUbdlLqBpxNwd0n1LDmKiCRoxP8MRarKZbdFbnsfXeunD2jBP7AC83eXoX7kAvMvJ+t+sP2ki+/xqsw1wfmeO5Rv2zdBJAKDJTqWxtEzyz1BsnKb2J89b1YV0HL66RGxmiq158zBEcC/E5ozAoLW8jsXDhHWe+qsz8Big+cIXz88CKeXFP3xlVjGqfoRJvC7X37TVq8i5n6IQVPCjM6cxHoNaNgvp7z8K2kQ1PueEbwS1XpPO2kilzs+NX1GA8IZp5OYmdMqZ/6DEM0+XWDToKkKVg6q4XD4KyMtY8n4U1FBPl1bjcqgDywq8UF0JQsjHxwZ+xCVugpt5RxZpQDH0ZlENxr5m4zbxuLVVX8OeRpcoSnGXRNjBu4eAb6w26rr4vGbjWuYfu3spG7eNklj 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:(13230022)(4636009)(39860400002)(396003)(136003)(346002)(376002)(451199015)(46966006)(40470700004)(36840700001)(110136005)(356005)(54906003)(82310400005)(41300700001)(316002)(2906002)(966005)(6486002)(82740400003)(107886003)(6666004)(53546011)(84970400001)(36860700001)(6506007)(4326008)(83380400001)(336012)(8676002)(6512007)(31696002)(478600001)(40480700001)(86362001)(186003)(26005)(40460700003)(5660300002)(36756003)(2616005)(31686004)(81166007)(70206006)(70586007)(47076005)(8936002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 14:06:03.6221 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5f72ddd5-b66a-4090-74be-08daf313cf7c 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: VI1EUR03FT009.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6732 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_LOTSOFHASH,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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 List-Id: On 12/12/2022 13:42, Kyrylo Tkachov wrote: > Hi Stam, > >> -----Original Message----- >> From: Stam Markianos-Wright >> Sent: Friday, December 9, 2022 1:32 PM >> To: gcc-patches@gcc.gnu.org >> Cc: Kyrylo Tkachov ; Richard Earnshaw >> ; Ramana Radhakrishnan >> ; nickc@redhat.com >> Subject: [PATCH] Fix memory constraint on MVE v[ld/st][2/4] instructions >> [PR107714] >> >> Hi all, >> >> In the M-Class Arm-ARM: >> >> https://developer.arm.com/documentation/ddi0553/bu/?lang=en >> >> these MVE instructions only have '!' writeback variant and at: >> >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107714 >> >> we found that the Um constraint would also allow through a >> register offset writeback, resulting in an assembler error. >> >> Here I have added a new constraint and predicate for these >> instructions, which (uniquely, AFAICT), only support a `!` writeback >> increment by the data size (inside the compiler this is a POST_INC). >> >> No regressions in arm-none-eabi with MVE and MVE.FP. >> >> Ok for trunk, and backport to GCC11 and GCC12 (testing pending)? >> >> Thanks, >> Stam >> >> gcc/ChangeLog: >>         PR target/107714 >>         * config/arm/arm-protos.h (mve_struct_mem_operand): New >> protoype. >>         * config/arm/arm.cc (mve_struct_mem_operand): New function. >>         * config/arm/constraints.md (Ug): New constraint. >>         * config/arm/mve.md (mve_vst4q): Change constraint. >>         (mve_vst2q): Likewise. >>         (mve_vld4q): Likewise. >>         (mve_vld2q): Likewise. >>         * config/arm/predicates.md (mve_struct_operand): New predicate. >> >> gcc/testsuite/ChangeLog: >>         PR target/107714 >>         * gcc.target/arm/mve/intrinsics/vldst24q_reg_offset.c: New test. > > diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md > index e5a36d29c7135943b9bb5ea396f70e2e4beb1e4a..8908b7f5b15ce150685868e78e75280bf32053f1 100644 > --- a/gcc/config/arm/constraints.md > +++ b/gcc/config/arm/constraints.md > @@ -474,6 +474,12 @@ > (and (match_code "mem") > (match_test "TARGET_32BIT && arm_coproc_mem_operand (op, FALSE)"))) > > +(define_memory_constraint "Ug" > + "@internal > + In Thumb-2 state a valid MVE struct load/store address." > + (and (match_code "mem") > + (match_test "TARGET_HAVE_MVE && mve_struct_mem_operand (op)"))) > + > > I think you can define the constraints in terms of the new mve_struct_operand predicate directly (see how we define the "Ua" constraint, for example). > Ok if that works (and testing passes of course). Done as discussed and re-tested on all branches. Pushed as: 4269a6567eb991e6838f40bda5be9e3a7972530c to trunk 25edc76f2afba0b4eaf22174d42de042a6969dbe to gcc-12 08842ad274f5e2630994f7c6e70b2d31768107ea to gcc-11 Thank you! Stam > Thanks, > Kyrill >