From patchwork Fri Jan 20 16:39:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrea Corallo X-Patchwork-Id: 63461 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 4209A385480D for ; Fri, 20 Jan 2023 16:41:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4209A385480D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1674232876; bh=2liT0Jc75NQD/AYIerANNL0So/y6bFFfXY/W3mvA4zs=; 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=eJonq07AfUBSB1z+gonNopG3b6UkbKnZ9NZSDyK1JMcAY9P3bewF7u+Y2rE+ZZhN3 2Ydk3wPPf6YenHDbGsuN313zGNnMTmt3bJS3gfsvYyhU5Twx24F1q0geDneVmXeVYB wKG80o4fx9v7O9PkYc0lwBaOqjSJ9hOnK+ZGL3Hw= 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-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) by sourceware.org (Postfix) with ESMTPS id D81693858D33 for ; Fri, 20 Jan 2023 16:40:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D81693858D33 Received: from DUZPR01CA0005.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c3::9) by DU0PR08MB10325.eurprd08.prod.outlook.com (2603:10a6:10:471::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.26; Fri, 20 Jan 2023 16:40:37 +0000 Received: from DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:3c3:cafe::3c) by DUZPR01CA0005.outlook.office365.com (2603:10a6:10:3c3::9) 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:37 +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 DBAEUR03FT049.mail.protection.outlook.com (100.127.142.192) 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:37 +0000 Received: ("Tessian outbound baf1b7a96f25:v132"); Fri, 20 Jan 2023 16:40:37 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7e1ebdb66f8d1824 X-CR-MTA-TID: 64aa7808 Received: from f53e7d89439b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 04E3AEFC-5009-4D35-A7E6-0E273FBCC513.1; Fri, 20 Jan 2023 16:40:30 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f53e7d89439b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Jan 2023 16:40:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EMeF6v8JFbwhkKcamYZuhEIRo5iv6jF2tiHfeUkCnEuz/88BFguZyyUsz7yHNbLuBRyfAkallGdUZKIAKWgwW+OPu3gW5kFpEKFpEIPU8Lzqbc1tILWv/d8AyJv0iDNSnTxcrepIanEzBpd/by4eUqVdVcd3tGsr26JjVtJaCII+JN4kT93Lq91zsX8/Ql8kBrT3cUYF02Q+J7fvubBuTGebR2eZR5QPr+8m/HAhTPdv+PWpcYMoOEedNnBHBJPq0fGBhK+XDWxTl7OFDrumctWDqfta3CRu/FdO5Ob62hjTGMt6BoVZXs9cJAiDzrLLK3sV0QCi26lviiOLLXI6oQ== 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=2liT0Jc75NQD/AYIerANNL0So/y6bFFfXY/W3mvA4zs=; b=oJH9vsswx0YC9zBMaf76HeF8+Y18Z6emqh9SPjgX7+1s4UZfP0yPYAGbwNjUyMXOK/97/i2VT/7BAMcDgm6RHEpBZdyjbh+FDI38Rc/gJ/NkiMAqq9RQJSBJEVNTy/G674FhQHMHWZVF+hdmjMUttlAOtuJ9UVRCQD8FM7v3CKoLykT6s4NLrZ/XYcvadH4kBX4/5zeGN9ZHPdcnGayAtDQUPO0IoDDLC/QbXNIrwWGLXsVJNKiMeAutVbqYa4dq4KPHCajm18XCfyyEhxH6IINNKYJwrGtWNtHW2KNQIVrWrfUgvgQ1Khp43ugi0I7H2iUTTylJ2QKcrpQs9IOQZw== 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 DUZPR01CA0011.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c3::19) by DB4PR08MB9864.eurprd08.prod.outlook.com (2603:10a6:10:3cf::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.23; Fri, 20 Jan 2023 16:40:28 +0000 Received: from DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:3c3:cafe::8e) by DUZPR01CA0011.outlook.office365.com (2603:10a6:10:3c3::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:28 +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 DBAEUR03FT008.mail.protection.outlook.com (100.127.142.107) 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:28 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) 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:27 +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:27 +0000 To: CC: , , Andrea Corallo Subject: [PATCH 17/23] arm: improve tests for vqdmlsdhxq* Date: Fri, 20 Jan 2023 17:39:42 +0100 Message-ID: <20230120163948.752531-18-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: DBAEUR03FT008:EE_|DB4PR08MB9864:EE_|DBAEUR03FT049:EE_|DU0PR08MB10325:EE_ X-MS-Office365-Filtering-Correlation-Id: a1dd0ca4-4a9b-4439-0955-08dafb050f51 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: zjMY2x55fMiOZA01eWD1r3ThdIMpoBkhe931Ex7CHJcQBWQ5JE+Z7JP01QW1EU+19J1iWwQIq5eU1rCt0/Syh0oPCYOHMD1bDM3//3fr0nzEewpc3D6T87w1sPOcNezFWNWnI0MAO/X8tSAcn48/0x1DWa2iRtwn/d8jb9ITc5+5SCLSG8KgWCSO/28EUwEZETnXitgxCFyHgHsR+BdEibS6nfBdEmi3F0YyIYxtNVoM5k/DHvF1mhFOGpNKQHTluW8ZRrVoTgouQEjLYA6RGR+fwmepS9DlI6CDgBRX6L9AypB/4HkAzkAoMHOqGzF8TGCWf4YatHBRpWB7M8GYbbVCFSsfwTwzXMDZx5K+rcEK7ifeb+oBYOaYemlZitkwVY/BpKjlFAelrYP8+8x47OHhirduoS325oBVMkXe7eYFgQQ9fFSnCLgGhy8tliZR1kwpADpwg5uHwFJ6J0MieV9DFQQ+GtHa4PRTNR86ZOsy28V64973acsxfb6jbD+2+dZrHsAtwLbXL9dRakev2VApvBdVfaVgV3UypULLKZOKxpiULxEz7k2yWzCxrmDyHfkuAHguNnzbOd8d2m867ds0lnkm4IfjTIIMEOeHip78euyNQphuDmeIOE9qK01Sxp1APIxY8OHDEvAEgnUs/BX/JWRFc5/Sy/J8p3kQt+03ttEgFu+ze840o/496zxGjCKdX8N8Dpn95WtIP1rA1j0A7824y/sDc/+xDEoD/pUqLwV5g72nb+NrTf8/nOyExaAbgudn/CjpKpxHJ+atksX4/o01HKyyAWt+jPWo7s2fj49L69/nd/jFHieB9rDkCDdpFmcxtON+AdZY59okAQgcgoZOuON+GX8iNEFaQus= 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)(396003)(346002)(39860400002)(136003)(376002)(451199015)(40470700004)(46966006)(36840700001)(86362001)(336012)(47076005)(36756003)(41300700001)(8676002)(82310400005)(8936002)(186003)(2616005)(426003)(70206006)(70586007)(26005)(6916009)(478600001)(54906003)(81166007)(356005)(316002)(6666004)(1076003)(44832011)(40460700003)(2906002)(5660300002)(36860700001)(82740400003)(40480700001)(7696005)(83380400001)(4326008)(84970400001)(133343001)(121003001)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9864 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 68bcf85c-3450-49be-9aec-08dafb050a15 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s1ulihOsCLEu/otCS56yZqmGbBPZGytbzHJ8Put2lR07F6dIWLLu8h2/yrU06ZwpuRlTdc1bk4wImyvOU+VxL+ytmJ+rV+2A880edfKBDnI589YL3vImS7607Y1CPyV6xtwKww+vnQY979H53kZNJAxc0gjb1lOM6koxnDET+q0BPV6etH8u92mxmHaonuhKVY6HipnonfyTTOIYop40rj4vVOHiJamNl/TQCiTuuJzAK+pFd7W7/BCHdInIjonK7xWZ+z69qe5Ccss98LtD6EgdZplKwzaCe0zff5AUWGI2XBlGPIFfD0DyoLayGag+zPpAlXgi+VlucXY3OJUs2WigaWF50i2EU1tnlxtw2Xl9nYFFZsIV4CDqqddZdDtXigdVavvgiR2b/DT5fwhQHKydoepksgRstc4DCuW7GEpWGKCNqX1gY1bRO9Cbnm8sIGJLJS+Ed7FQLw60XSqLwzVeitzzKWM8+kRYIJWhqi+37+mS034Nn8cmkgJDUlEapFkLjifnRuc4iGmwGsktD8a5IvMok6dhRVp2ooLOb3Nu/3EnVUMwyppOdtGA6oHQTRSYFmCftkSYcLrVL8fO+8/qHlekK5eIHDKOP4syWyZQnPdMMzwMJkYeFR7rBNS+33ZjnAAljhCZdn/cG3VvlmdOSsv1TJTiRaU1exAEnpxZOGT46Ux4h+R/Hj6nfVRtufMYCaSSn7cHOnpua0IIWdfwKKE31A/pYF5tUHvjdbKbfHInalM8rl2oduvtx5fNUKXDp5lYNyKe4XLEYR63OIeXGhx3jsUG5sJPwMpcUfcB65OTMl9+kNpmq7Il1bSNbAWrAhGGxSByUnZI7NmvIA== 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)(136003)(396003)(376002)(39860400002)(346002)(451199015)(36840700001)(40470700004)(46966006)(81166007)(8936002)(84970400001)(82310400005)(4326008)(8676002)(5660300002)(6916009)(478600001)(82740400003)(54906003)(36860700001)(7696005)(70206006)(70586007)(40480700001)(44832011)(36756003)(6666004)(186003)(26005)(40460700003)(83380400001)(426003)(47076005)(2906002)(336012)(2616005)(41300700001)(316002)(1076003)(86362001)(133343001)(121003001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 16:40:37.6567 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a1dd0ca4-4a9b-4439-0955-08dafb050f51 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: DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB10325 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/vqdmlsdhxq_m_s16.c: Improve test. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c: Likewise. --- .../arm/mve/intrinsics/vqdmlsdhxq_m_s16.c | 34 ++++++++++++++++--- .../arm/mve/intrinsics/vqdmlsdhxq_m_s32.c | 34 ++++++++++++++++--- .../arm/mve/intrinsics/vqdmlsdhxq_m_s8.c | 34 ++++++++++++++++--- .../arm/mve/intrinsics/vqdmlsdhxq_s16.c | 24 +++++++++++-- .../arm/mve/intrinsics/vqdmlsdhxq_s32.c | 24 +++++++++++-- .../arm/mve/intrinsics/vqdmlsdhxq_s8.c | 24 +++++++++++-- 6 files changed, 156 insertions(+), 18 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c index 6ab9743054c..1742d47291c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_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(?: @.*|) +** ... +** vqdmlsdhxt.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 vqdmlsdhxq_m_s16 (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqdmlsdhxt.s16" } } */ +/* +**foo1: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqdmlsdhxt.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 vqdmlsdhxq_m (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqdmlsdhxt.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/vqdmlsdhxq_m_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c index a34618e97fd..1c1b73a2251 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_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(?: @.*|) +** ... +** vqdmlsdhxt.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 vqdmlsdhxq_m_s32 (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqdmlsdhxt.s32" } } */ +/* +**foo1: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqdmlsdhxt.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 vqdmlsdhxq_m (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqdmlsdhxt.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/vqdmlsdhxq_m_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c index fdbe89ab6b8..0a980a081a1 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_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(?: @.*|) +** ... +** vqdmlsdhxt.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 vqdmlsdhxq_m_s8 (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqdmlsdhxt.s8" } } */ +/* +**foo1: +** ... +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) +** ... +** vpst(?: @.*|) +** ... +** vqdmlsdhxt.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 vqdmlsdhxq_m (inactive, a, b, p); } -/* { dg-final { scan-assembler "vpst" } } */ -/* { dg-final { scan-assembler "vqdmlsdhxt.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/vqdmlsdhxq_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c index 786decc6238..713ce9732d2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_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: +** ... +** vqdmlsdhx.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int16x8_t foo (int16x8_t inactive, int16x8_t a, int16x8_t b) { return vqdmlsdhxq_s16 (inactive, a, b); } -/* { dg-final { scan-assembler "vqdmlsdhx.s16" } } */ +/* +**foo1: +** ... +** vqdmlsdhx.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int16x8_t foo1 (int16x8_t inactive, int16x8_t a, int16x8_t b) { return vqdmlsdhxq (inactive, a, b); } -/* { dg-final { scan-assembler "vqdmlsdhx.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/vqdmlsdhxq_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c index c0244c44067..02f0a3cd6b4 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_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: +** ... +** vqdmlsdhx.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int32x4_t foo (int32x4_t inactive, int32x4_t a, int32x4_t b) { return vqdmlsdhxq_s32 (inactive, a, b); } -/* { dg-final { scan-assembler "vqdmlsdhx.s32" } } */ +/* +**foo1: +** ... +** vqdmlsdhx.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int32x4_t foo1 (int32x4_t inactive, int32x4_t a, int32x4_t b) { return vqdmlsdhxq (inactive, a, b); } -/* { dg-final { scan-assembler "vqdmlsdhx.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/vqdmlsdhxq_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c index 12b43c8edd8..c1792879138 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmlsdhxq_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: +** ... +** vqdmlsdhx.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int8x16_t foo (int8x16_t inactive, int8x16_t a, int8x16_t b) { return vqdmlsdhxq_s8 (inactive, a, b); } -/* { dg-final { scan-assembler "vqdmlsdhx.s8" } } */ +/* +**foo1: +** ... +** vqdmlsdhx.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) +** ... +*/ int8x16_t foo1 (int8x16_t inactive, int8x16_t a, int8x16_t b) { return vqdmlsdhxq (inactive, a, b); } -/* { dg-final { scan-assembler "vqdmlsdhx.s8" } } */ +#ifdef __cplusplus +} +#endif + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file