From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2067.outbound.protection.outlook.com [40.107.22.67]) by sourceware.org (Postfix) with ESMTPS id 69D443858D38 for ; Mon, 3 Oct 2022 10:44:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 69D443858D38 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-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=YHrlC+Wy/q+cEmoPSOiaOtUSI9n38mMm7vJQqGqG1ZGJqIyv7pKbDBkyQnS4AiqotxFI8X+kkF2FHUotarH/T6YiQ2rcMhuYkB2dQfjZMvnPrYzjfTEFM++Vpg2d4Cu1XZ6+O1+qIbKNAIjAkvfVSz/fIMAjVV6Ca1eQpMhEt5RJ98qde9aLd/1jBBEgGwAT2Ar8rEz5YL9s3nGHaJK0B3pFutNKQZt6ZoNG1h7cDFN+J1rU7F4rncxDK6xnxIinDFlkKCKbSuV3Z+liHFQZAJ6b5wC1JU7VshOyXvWIFSCABGtjXaO/WkoXzCxrZ1FzlrRC8lvS2yX8rCQYOlMujA== ARC-Message-Signature: i=2; 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=sjSknKLcreqPzcewgJdysv1275ZX9BYWCY7cpetLrD4=; b=ir89d5ZpOGJswsdbgPee7m8S4ozvj3wbM/JZvCS1GkfW2hJNcF1i/N9kKurISg03aBGAQxvpMTnpamgGGN203bvVgmMDr+kc1fke9aUWnrm3YS0TMJWADitJmZO6w6vsEpOlCz+N1UFwGXQugXLW1aVrZNu1Xbf+lU4Z3phXhT7IslMuTHfNPc1An+qKafwjQp0WDv2YRUNmm0gCEtX6O7gZ3RDLChNT+//7tM0vV5u5BK8dXlkPG1ZavP1ba9zTWw8yQxDG9UeB7kP09yeKqa47rXZOXNoB76I/mib+3N9V4sSxOHoRfMamNCJInD+MiwTYNLRf13fA9cgPyBIgDQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=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=sjSknKLcreqPzcewgJdysv1275ZX9BYWCY7cpetLrD4=; b=qLDkEKc9Fwj9UYQhbBeRrQ+NCco38/kQ8BQaVV7d8bnYJ4EVlq+gMM/OxOPQjFwmbxfxjBo1LxXlf1DWXbRFrA2+3TV6Rg18ePk8IzftGsWG+JopmxiJQK0nybb0H+H3d6p3gqrbTjzGsJmqJWOch3/qaXEBsY9p2+wXJqpeV1I= Received: from AS8PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:20b:310::17) by PA4PR08MB5904.eurprd08.prod.outlook.com (2603:10a6:102:e5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Mon, 3 Oct 2022 10:44:16 +0000 Received: from AM7EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::4c) by AS8PR04CA0012.outlook.office365.com (2603:10a6:20b:310::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.30 via Frontend Transport; Mon, 3 Oct 2022 10:44:16 +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 AM7EUR03FT059.mail.protection.outlook.com (100.127.140.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.17 via Frontend Transport; Mon, 3 Oct 2022 10:44:16 +0000 Received: ("Tessian outbound ce981123c49d:v128"); Mon, 03 Oct 2022 10:44:15 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 15afff0a4243c325 X-CR-MTA-TID: 64aa7808 Received: from 914fd961ee5e.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8CE89F8D-FF55-4E83-B2DF-0A83663ECB81.1; Mon, 03 Oct 2022 10:44:06 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 914fd961ee5e.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 03 Oct 2022 10:44:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T4VK/BKjWQEnxLKm9Q6FwQXdHEW9BbJ04KAIrKi7kQYoaUIpJRnzwDZ0kHpJRbDxb8RD2MddCmUGcQHhFHBbE0NPOo49AJQw42X7WW8YqgAYft5QnLoK8OSmm/clQpI/p8SzMhchMJD3zmzEGdHhSfiJ0Pz/wyNbdXikKXcuWh58o3uHqCg0it554ByLgK7ei4MSOdLx6uIvGIsjHWwExKVHQ1YK6Lk8VAwIBvlCfygfkVOWIcnysIyTjdhCToghvQXRX9JCX7jtlZzw7FTsBG607hbAksWOd/oisBoc6x1XE6ojrC/bkancbHg7NMC5OyrjJQX9CtBnOXxInx/7rw== 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=sjSknKLcreqPzcewgJdysv1275ZX9BYWCY7cpetLrD4=; b=jtuDcTU/u1OTB0TalzoEOpg74GTh7JYQfwNHaipnaIBlr29Xh3sU3N23GE6arW3wTeT/+vxkNpigqQYVwv2ogsLxe3X2Ii4Scwk7/KD7feh8OkYKkO/nden6VNTJlnkvRC22IF3GpK8dr7I5i1Zvcu1dmXisVvhgQg+/v67oRTq+/ptUfInk3stDw2uuhpcenZUKdDp26AXGy0MhhC8xiKcML8wWCL4wuENtuNQZaasM6e1YWvgnNVFCo7Hjllm3aFMII52dZFaCgCz6oYeez/LIuV9eAjv0T1w5pnhKqcHTtIBASQcXY971tUDzBlt0flqo7dGXH3XSR3ff7NkuZg== 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 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=sjSknKLcreqPzcewgJdysv1275ZX9BYWCY7cpetLrD4=; b=qLDkEKc9Fwj9UYQhbBeRrQ+NCco38/kQ8BQaVV7d8bnYJ4EVlq+gMM/OxOPQjFwmbxfxjBo1LxXlf1DWXbRFrA2+3TV6Rg18ePk8IzftGsWG+JopmxiJQK0nybb0H+H3d6p3gqrbTjzGsJmqJWOch3/qaXEBsY9p2+wXJqpeV1I= Received: from AS8PR04CA0083.eurprd04.prod.outlook.com (2603:10a6:20b:313::28) by AM8PR08MB5684.eurprd08.prod.outlook.com (2603:10a6:20b:1dc::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28; Mon, 3 Oct 2022 10:44:00 +0000 Received: from AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:313:cafe::5d) by AS8PR04CA0083.outlook.office365.com (2603:10a6:20b:313::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28 via Frontend Transport; Mon, 3 Oct 2022 10:44:00 +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 AM7EUR03FT006.mail.protection.outlook.com (100.127.141.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5676.17 via Frontend Transport; Mon, 3 Oct 2022 10:44:00 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Mon, 3 Oct 2022 10:43:59 +0000 Received: from e129018.arm.com (10.57.81.122) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Mon, 3 Oct 2022 10:43:59 +0000 From: Christophe Lyon To: CC: , Christophe Lyon Subject: [PATCH] arm: Add missing early clobber to MVE vrev64q_m patterns Date: Mon, 3 Oct 2022 12:43:51 +0200 Message-ID: <20221003104351.408835-1-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM7EUR03FT006:EE_|AM8PR08MB5684:EE_|AM7EUR03FT059:EE_|PA4PR08MB5904:EE_ X-MS-Office365-Filtering-Correlation-Id: b013174f-52cd-4a6a-2540-08daa52c37f0 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: ns6cHHMMH4bLC/lZvXQ0E3oJMvWQiNcWQ4fx+NbX18UOTqAGfhVX1rzf83yjn6wnDFfI2dUlx5TxVeJoFH6JrZfBKqP5XsCvV+HJ0fDhwWb6pFqJr7sLZTU5mvFeBuV8WfSh23L4lWDqHBUDPaWXECaHavNv6+pZxjDYe/tnZsXqaLktCgGK6QyNx956o79qpela+An27mQR59lGFnYfnws+TWSYT/56M60fqrIdMMqDgnArvJrvdD724aGZADZoQbW8deWkQyVSaP+wrPM5ldYNBc8DTEn6opsJPwZUJ3WRIjTPXf52/UXBF1bMwuOKZm8DYwKrfLhDy3e9Jbi0LOMeQLfCbpwJwVgsM9e4CrGyYsMv+M8M5OjDZxPmZSbUIDPSRQAbMHuosYaVdAH1463LC6WTbzYzkV/yohNl52i+Lwijpugbiogoow0ixxzq26Y3sq2PF3PJ16E/dfozm3K7aieSLiPqByLO3EaU9396JDew1V5Zpv/39B+26MiFma+nT/GOSbG515Nczvug+5ez9OKvfnuHB+gizuv6HnVXIoL9zI5nvTPQV0MLvRSxebfVmmMl5ICEYZb4rZX4/1/+DmR81+Uzdr6y1uvm1OIvb5h62y5MBWh9lWaW3f/uq+ji5MDCFH1C+QwL9H/RuNtWg2Inhd7eR4kZvM+AHXn/kH9ZoeP+SgYkufkyTpJAKpCI3lUcIdVepBq6hWCmIZRhq39R3MeKz5eHohkyt3hu5Qbvrd3zBEAUV5nch77pu8cPaailTmaqbfbwqbu4nq/IOpZkBFDUbbyRfUAZjRNGei/YWuWgmdNK1r7gDmykVxCDPqKa7DdfEEE4QXSpLQ== 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:(13230022)(4636009)(136003)(346002)(39860400002)(376002)(396003)(451199015)(36840700001)(46966006)(40470700004)(478600001)(356005)(81166007)(316002)(82740400003)(84970400001)(82310400005)(6916009)(54906003)(8676002)(186003)(1076003)(41300700001)(6666004)(4326008)(70206006)(70586007)(7696005)(26005)(40480700001)(5660300002)(44832011)(86362001)(36756003)(8936002)(426003)(47076005)(40460700003)(2906002)(2616005)(336012)(36860700001)(83380400001)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5684 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 039b4118-1d2f-46d2-36a5-08daa52c2ec8 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LMquXcU0glmLd5nLHBPld3uGaiiJI847B/on0PFNEOae1kpiLJuEhg7h1YAtY6BrPYahxxnov6yiaH431p6p6pHEzqQF5raz/79HwONW9FdovAVNK5ApKxncNC4/IeXMoTbRu++KELO1JqEriB/PSHaZ/d/2f/DNUQvENpeQoKkb8OlYCxrXaRJPMWo3HXdT/dWdAGOmEdUzAaxs9pVTgyH8sYE4FYdhVAUeWJMac1cv6EcxuF1BUS7U7sXwEYJMQwS50DoTjUb9DxX2BrVIYlUARFO5iUTJMjPX/Z5Un2g7KrhmVjtD2VQJMGAhhn5DbimzgGiXvCbGkpuwlZbjAoYU7flWWU6RIbf5vrDIgPLCvRw1tscCxtXfVA3dzhjK1t5ycDGoCJESqbj7GxPBYVjZZXqcwXj1jv8/kzPgEYPTrX41GdxAfOyPD9TqPmUf0iuspV74ECZGgdg1uYjThifvlUAup9veKrmlYecP1sanLUkcdnFV/nUbKz8gKvAO6mKZz3VvLVh04WFm+lHxOZ4KDo6AE9ecPzGYK6PpQ7Si05ud8c/zBK2HfgNAxdKG5aCD60tQQ5ZzY+Kc583QzFqoPXMULIaU9bF5mlv/ZXeqJON93GT3o8Y7H94beLzEACW1y21ajGbVHmO/QK0XZUk+OhvVs5LnVT/QTfEReaG4PM83rdrjshvBfQ7qlyYM5Jv5GculS+R+s7sqeuYabviWaY26uXYQsiu1DeGFox1vkkb9WJs4jtxnIflbDTusngTp2Rgd3AcJstSKJh8EvZZ5jFIEovQITqVlaHX4Ids= 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)(376002)(136003)(346002)(396003)(451199015)(40470700004)(46966006)(36840700001)(44832011)(36756003)(2616005)(186003)(1076003)(8936002)(4326008)(8676002)(2906002)(70586007)(70206006)(41300700001)(6666004)(26005)(7696005)(82740400003)(82310400005)(81166007)(40460700003)(83380400001)(336012)(47076005)(426003)(86362001)(40480700001)(36860700001)(5660300002)(6916009)(478600001)(54906003)(84970400001)(316002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2022 10:44:16.1350 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b013174f-52cd-4a6a-2540-08daa52c37f0 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: AM7EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5904 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_SHORT,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: Like the non-predicated vrev64q patterns, mve_vrev64q_m_ and mve_vrev64q_m_f need an early clobber constraint, otherwise we can generate an unpredictable instruction: Warning: 64-bit element size and same destination and source operands makes instruction UNPREDICTABLE when calling vrevq64_m* with the same first and second arguments. Regression-tested on arm-none-eabi, bootstap in progress on armv8l-unknown-linux-gnueabihf. OK for trunk? Thanks, Christophe gcc/ChangeLog: * config/arm/mve.md: (mve_vrev64q_m_): Add early clobber. (mve_vrev64q_m_f): Likewise. gcc/testsuite/ChangeLog: * gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c: New test. --- gcc/config/arm/mve.md | 4 ++-- .../arm/mve/intrinsics/vrev64q_m_s16-clobber.c | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index 714178609f7..62186f124da 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -3503,7 +3503,7 @@ (define_insn "mve_vqshlq_m_r_" ;; (define_insn "mve_vrev64q_m_" [ - (set (match_operand:MVE_2 0 "s_register_operand" "=w") + (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: 3 "vpr_register_operand" "Up")] @@ -4598,7 +4598,7 @@ (define_insn "mve_vrev32q_m_" ;; (define_insn "mve_vrev64q_m_f" [ - (set (match_operand:MVE_0 0 "s_register_operand" "=w") + (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: 3 "vpr_register_operand" "Up")] diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c new file mode 100644 index 00000000000..6464c96181d --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c @@ -0,0 +1,17 @@ +/* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */ +/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-additional-options "-O2" } */ + +#include "arm_mve.h" + +int16x8_t +foo (int16x8_t a, mve_pred16_t p) +{ + return vrev64q_m_s16 (a, a, p); +} + +float16x8_t +foo2 (float16x8_t a, mve_pred16_t p) +{ + return vrev64q_m_f16 (a, a, p); +} -- 2.34.1