From patchwork Fri Jan 20 16:39:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrea Corallo X-Patchwork-Id: 63475 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D115C3896C13 for ; Fri, 20 Jan 2023 16:45:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D115C3896C13 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1674233100; bh=/9991WaJm3mGA47t0tt0K5si3CQLLll+ikX+zF7Kjkg=; h=To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=P9t0r2r12T5apcsgGGRapRFyr3dsUkZUsu1iK+TaEA+7kEKmVBPa8mSEGGO6EcOzV aKWzKqgiUHK1KxMNXf8o5tGb6xyKw7AdUfgBzRCYkFR9wQtYBMVaitQmWNZPobQRNN uzpWkbD/p1sjU5f5iP6UMELd8AkxZQDZifNCixB4= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2049.outbound.protection.outlook.com [40.107.14.49]) by sourceware.org (Postfix) with ESMTPS id 6CF1738555A2 for ; Fri, 20 Jan 2023 16:41:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6CF1738555A2 Received: from AS8PR04CA0008.eurprd04.prod.outlook.com (2603:10a6:20b:310::13) by GVXPR08MB7728.eurprd08.prod.outlook.com (2603:10a6:150:6a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Fri, 20 Jan 2023 16:40:57 +0000 Received: from AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::3e) by AS8PR04CA0008.outlook.office365.com (2603:10a6:20b:310::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.27 via Frontend Transport; Fri, 20 Jan 2023 16:40:57 +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 AM7EUR03FT003.mail.protection.outlook.com (100.127.140.227) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6023.16 via Frontend Transport; Fri, 20 Jan 2023 16:40:57 +0000 Received: ("Tessian outbound 6e565e48ed4a:v132"); Fri, 20 Jan 2023 16:40:56 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d7b8ef57a0de73b3 X-CR-MTA-TID: 64aa7808 Received: from 35d2a9e09cf1.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E91305E7-AADA-4A2B-ABF5-717FC5D91784.1; Fri, 20 Jan 2023 16:40:49 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 35d2a9e09cf1.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Jan 2023 16:40:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ORdZPVU8ZcH0D/yYa0DNoAYo4rEp01uST6dYI6z5JU4mhCIlvPWR5h2LwxZ81U8ayMzKWoVVLtcYg3YP162VLT8JuT1+vlIw5tGfHWfrnOuONE0bWQPOCQYvz5Ovf6iTpfSs+VIxQn//xM3q1/A7QzipQRzTd8iXqXku3cKtrmarSbInfhWa97kASDMGY/J3cD4UEA6LODHo1muuS6Y6JB88xNRJ13ZJ2S9IBTZotp/yzXm9p+hW5VUy5NQSYiZGMOQ+Y/NMCC2rPTsYQef8YGNTuVaSgT2aWrzZKLZvGQffKZxRSnVVYCV8TZEk5+dKhWX0vjByXAfkHmjg6i82KA== 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=/9991WaJm3mGA47t0tt0K5si3CQLLll+ikX+zF7Kjkg=; b=RSXfzrezl8y7UHwNQOSTZXcyFHXDZSrp4JmaWERs096XM/N1sx84fJw3PnE3mjf6APY6TEEVBPOaEPIHyahKR3X1r2zXIN21GxkAJZvqGv+ekQ4IRDw+p+G7kqLwwqON3m42yGD0JuDaegtdiPmDjiVCSOQS5FXc0hEHQ5+ksfHCs864kLdRK6UfAaErwJxt5RpqMlAJaLeV2P3F0BsnGODxlkLHgq1r9r4Go5qu9HqY075bO2Bn7otv8lFmYNmKxv0rvlw2yZKaWcT8yM5iCx1mKxfBImkHlxUEJHMY9EG5l13AYkzL/vwlVYPDRvFVSlJWBapUyOsrBAmaYZ0x6w== 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 Received: from AS9PR06CA0579.eurprd06.prod.outlook.com (2603:10a6:20b:486::19) by AS8PR08MB6103.eurprd08.prod.outlook.com (2603:10a6:20b:296::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.27; Fri, 20 Jan 2023 16:40:48 +0000 Received: from AM7EUR03FT031.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:486:cafe::c5) by AS9PR06CA0579.outlook.office365.com (2603:10a6:20b:486::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.27 via Frontend Transport; Fri, 20 Jan 2023 16:40:47 +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 AM7EUR03FT031.mail.protection.outlook.com (100.127.140.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6023.16 via Frontend Transport; Fri, 20 Jan 2023 16:40:47 +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.16; Fri, 20 Jan 2023 16:40:28 +0000 Received: from e124257.nice.arm.com (10.34.105.24) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.16 via Frontend Transport; Fri, 20 Jan 2023 16:40:28 +0000 To: CC: , , Andrea Corallo Subject: [PATCH 19/23] arm: improve tests for vqrdmlsdhxq* Date: Fri, 20 Jan 2023 17:39:44 +0100 Message-ID: <20230120163948.752531-20-andrea.corallo@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230120163948.752531-1-andrea.corallo@arm.com> References: <20230120163948.752531-1-andrea.corallo@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM7EUR03FT031:EE_|AS8PR08MB6103:EE_|AM7EUR03FT003:EE_|GVXPR08MB7728:EE_ X-MS-Office365-Filtering-Correlation-Id: ef4c44d9-7c4d-4718-cd94-08dafb051afc 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: TVYDZ+SuSvozcQ8VMy12tON0o8pVLuwQaeCvMBHBtVZYVNkdhOlNu4rU72j4zCuFItVj4lRuie77DffZPNDPYeAVyq/34bihaJs5TxJQVRQr6pH+l36xh2Kzt8wUPovL5Ue+ST44+QDwoRjmbjY/zLifigP4TPkvqxJJm5FKIh4jZvWx2NAaYLknKHQ+WwAhauBSKyBB1S7BOycQ6llycVBaiYsXhrFsXRItNWo0gx6gx7l3vyKWbxVs+MBejS+aE9MrFqTmBF3jO4P1nRqYYCA+rd6V9AgFjKg2taMfCQ/1m+Uun/pBsxbbguXwdN/fZRM9up0ImJAjB7Ey9nweiFM9rYN81t6PaoD/4aY2AcisIW9booYbYlhzn6Z3FK90VGf/Lq10TzCOu0TezlyTvSBh9dn7VdYB8bzhntrcWx0Qjn38xw2Og/UbOvulzFdIy2AwcNQQng9TECzbhMkEoFyUOke+WL9SSNr1yMJs4vxTFjDnktMm8dLCejc3RthQWS2Ye8YJLaPKV9Ew+oosytriUCCLM9dfHIsb4Oklb/yF4Nr6itdZLVxjG0dsce3aPfAwV0s5XpVHKqohBYX60x/uAZs0IsxhVhxz+WIG0fvEsIkqOysrqSnrsnkSlp4SwFOWP18IGDfjqmGSUezc1Vgt7B368XJ2sJ+nLPOfHqF2b7YIc05dsI0GWHEaw7zy/uE6aKXaG9GavsVV7MBWlQY6xlONnTXjxfXG7knJdef6xSpuAvb+N20aTRyX37CyVxCE3+KKGbkyKB2CUJ6Og6Thl8eHwkoqiZYj3MfcNipMF1GhZxeWXivniCSOWc8ZczmpbKI3Md82qNc/0CRbgRhoSBIYPBRhQR2iA3zpNtY= 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)(39860400002)(376002)(396003)(346002)(451199015)(46966006)(40470700004)(36840700001)(40460700003)(86362001)(36756003)(316002)(336012)(47076005)(426003)(54906003)(1076003)(82310400005)(83380400001)(478600001)(7696005)(2616005)(186003)(26005)(6666004)(8936002)(82740400003)(356005)(2906002)(40480700001)(5660300002)(4326008)(81166007)(8676002)(44832011)(6916009)(36860700001)(70206006)(70586007)(41300700001)(84970400001)(121003001)(133343001)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6103 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7b9a4991-3a79-410b-c4c7-08dafb051574 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VvnwDWSIcAPdxo1pvJVzgMYxwYj99lwsOETdLHbStbfMLWW6e0HnxwLJN1EWs2K+p/cYIwvf2B515+HjWPOZCizuNYoB51RhfSlvv4qCYeXAAYxsBS1FJmlYzGQMAaZY9jpS9kdRUalWCzDab+DFwDd38bXz2Lc66lLoNYUOGmxdbJmyUe5T9cK6cY9+bD8WqVJ6JSj7BCCbsW7e+QPid/Dc8c4H0xuDHK2k9h4lEI+p63A80q6GsD9re2ql5zvIWahJ45tXsqZW6HUn+rw14Rz/KJDpPCdp+B2urbZeekBV6xXMKgz/7BKvBiCzzhameCbB+/jLZM4ZOZe58OEui6wGnANuea7MZ2u4PaEA+K64eGs/IgXjgE4kTZAwMSZTd/Pt/k/b7ispE2c3w5ZaT9Ak4vbmq/ZBvw8gSoeNelAwOIZyCYVnmjXEFwRzgFiywfa8/jRxsHU5+Y2m9TL4ICCdSuosQfgGlloE6sedeivhOWiCqHi03hpaTYqkIhh52U05ajk+JS0QXvx73i6IEcga1JI+8sx7/m8WgGhcQrU7VsMLgAEJgRIdXqJhSZcXn2cDsMfL4voy6lZnQNBATX3nISEWwefKtf+5WzjUS8Vp9NNCi3dDZwvfmPJyJNxNn9kKJcP/bvuHBTuXSZ+666mDfevxJL7aCLluULg7RilybybH6MwhXiB6Rawhd6X2Mz5d3ZNtlXK3flZC/LqM68qmsJnAX3lSQ16MobbK2YqjHRmr+IotQ95EVSZ64ox53GXcjGD95RDQiBGFqmSW8TOvhtXxQ2oAqlp52Nh+wOJu0HGXYHNhBfFC5GGztjx2jStEWpX3L25E/m43+IdJ0A== 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)(396003)(346002)(136003)(376002)(39860400002)(451199015)(46966006)(40470700004)(36840700001)(40480700001)(2906002)(44832011)(86362001)(70586007)(478600001)(70206006)(1076003)(26005)(2616005)(8676002)(6916009)(4326008)(41300700001)(7696005)(316002)(6666004)(82740400003)(8936002)(5660300002)(54906003)(40460700003)(81166007)(336012)(426003)(47076005)(36860700001)(83380400001)(186003)(84970400001)(36756003)(82310400005)(121003001)(133343001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 16:40:57.1748 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ef4c44d9-7c4d-4718-cd94-08dafb051afc 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: AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7728 X-Spam-Status: No, score=-11.9 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 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: , X-Patchwork-Original-From: Andrea Corallo via Gcc-patches From: Andrea Corallo Reply-To: Andrea Corallo Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" gcc/testsuite/ChangeLog: * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Improve test. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c: Likewise. --- .../arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c | 34 ++++++++++++++++--- .../arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c | 34 ++++++++++++++++--- .../arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c | 34 ++++++++++++++++--- .../arm/mve/intrinsics/vqrdmlsdhxq_s16.c | 24 +++++++++++-- .../arm/mve/intrinsics/vqrdmlsdhxq_s32.c | 24 +++++++++++-- .../arm/mve/intrinsics/vqrdmlsdhxq_s8.c | 24 +++++++++++-- 6 files changed, 156 insertions(+), 18 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c index 2fbd351f3b4..3598f50ccba 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c @@ -1,23 +1,49 @@ /* { dg-require-effective-target arm_v8_1m_mve_ok } */ /* { dg-add-options arm_v8_1m_mve } */ /* { dg-additional-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ #include "arm_mve.h" +#ifdef __cplusplus +extern "C" { +#endif + +/* +**foo: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqrdmlsdhxt.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int16x8_t foo (int16x8_t inactive, int16x8_t a, int16x8_t b, mve_pred16_t p) { return vqrdmlsdhxq_m_s16 (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqrdmlsdhxt.s16" } } */ +/* +**foo1: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqrdmlsdhxt.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int16x8_t foo1 (int16x8_t inactive, int16x8_t a, int16x8_t b, mve_pred16_t p) { return vqrdmlsdhxq_m (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqrdmlsdhxt.s16" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c index 324a6e63398..1ab22edf9ca 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c @@ -1,23 +1,49 @@ /* { dg-require-effective-target arm_v8_1m_mve_ok } */ /* { dg-add-options arm_v8_1m_mve } */ /* { dg-additional-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ #include "arm_mve.h" +#ifdef __cplusplus +extern "C" { +#endif + +/* +**foo: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqrdmlsdhxt.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int32x4_t foo (int32x4_t inactive, int32x4_t a, int32x4_t b, mve_pred16_t p) { return vqrdmlsdhxq_m_s32 (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqrdmlsdhxt.s32" } } */ +/* +**foo1: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqrdmlsdhxt.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int32x4_t foo1 (int32x4_t inactive, int32x4_t a, int32x4_t b, mve_pred16_t p) { return vqrdmlsdhxq_m (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqrdmlsdhxt.s32" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c index 287868b1190..01103e99b61 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c @@ -1,23 +1,49 @@ /* { dg-require-effective-target arm_v8_1m_mve_ok } */ /* { dg-add-options arm_v8_1m_mve } */ /* { dg-additional-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ #include "arm_mve.h" +#ifdef __cplusplus +extern "C" { +#endif + +/* +**foo: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqrdmlsdhxt.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int8x16_t foo (int8x16_t inactive, int8x16_t a, int8x16_t b, mve_pred16_t p) { return vqrdmlsdhxq_m_s8 (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqrdmlsdhxt.s8" } } */ +/* +**foo1: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqrdmlsdhxt.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int8x16_t foo1 (int8x16_t inactive, int8x16_t a, int8x16_t b, mve_pred16_t p) { return vqrdmlsdhxq_m (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqrdmlsdhxt.s8" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c index 9d8ea9b2694..522d0ba4a3a 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c @@ -1,21 +1,41 @@ /* { dg-require-effective-target arm_v8_1m_mve_ok } */ /* { dg-add-options arm_v8_1m_mve } */ /* { dg-additional-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ #include "arm_mve.h" +#ifdef __cplusplus +extern "C" { +#endif + +/* +**foo: +** ... +** vqrdmlsdhx.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int16x8_t foo (int16x8_t inactive, int16x8_t a, int16x8_t b) { return vqrdmlsdhxq_s16 (inactive, a, b); } -/* { dg-final { scan-assembler "vqrdmlsdhx.s16" } } */ +/* +**foo1: +** ... +** vqrdmlsdhx.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int16x8_t foo1 (int16x8_t inactive, int16x8_t a, int16x8_t b) { return vqrdmlsdhxq (inactive, a, b); } -/* { dg-final { scan-assembler "vqrdmlsdhx.s16" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c index aca0b358ea9..5198dfa754e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c @@ -1,21 +1,41 @@ /* { dg-require-effective-target arm_v8_1m_mve_ok } */ /* { dg-add-options arm_v8_1m_mve } */ /* { dg-additional-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ #include "arm_mve.h" +#ifdef __cplusplus +extern "C" { +#endif + +/* +**foo: +** ... +** vqrdmlsdhx.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int32x4_t foo (int32x4_t inactive, int32x4_t a, int32x4_t b) { return vqrdmlsdhxq_s32 (inactive, a, b); } -/* { dg-final { scan-assembler "vqrdmlsdhx.s32" } } */ +/* +**foo1: +** ... +** vqrdmlsdhx.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int32x4_t foo1 (int32x4_t inactive, int32x4_t a, int32x4_t b) { return vqrdmlsdhxq (inactive, a, b); } -/* { dg-final { scan-assembler "vqrdmlsdhx.s32" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c index 18f95317b4c..b5baa3dea79 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c @@ -1,21 +1,41 @@ /* { dg-require-effective-target arm_v8_1m_mve_ok } */ /* { dg-add-options arm_v8_1m_mve } */ /* { dg-additional-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ #include "arm_mve.h" +#ifdef __cplusplus +extern "C" { +#endif + +/* +**foo: +** ... +** vqrdmlsdhx.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int8x16_t foo (int8x16_t inactive, int8x16_t a, int8x16_t b) { return vqrdmlsdhxq_s8 (inactive, a, b); } -/* { dg-final { scan-assembler "vqrdmlsdhx.s8" } } */ +/* +**foo1: +** ... +** vqrdmlsdhx.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int8x16_t foo1 (int8x16_t inactive, int8x16_t a, int8x16_t b) { return vqrdmlsdhxq (inactive, a, b); } -/* { dg-final { scan-assembler "vqrdmlsdhx.s8" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file