From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2087.outbound.protection.outlook.com [40.107.6.87]) by sourceware.org (Postfix) with ESMTPS id AF9F33858434 for ; Fri, 20 Jan 2023 18:08:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AF9F33858434 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=ZldhuDqFhUQsfK+iYTlVUD90okuJAe0eqRbrpBJgVs8=; b=i/k5LMhpPD8KsCxAK3j0I6yGpHfuyu16VX4+zMtDHR3vi0eX1UK9IO8rehGMEVXnTD8TqhV6jEMzKu29+/nppUXbMWg9WWeT5qXbqWHG90VApNWKl9BWmv5lCk8kvlgjB2k//j9pxKALUdaL5+KhEyaLkr957EiC7LxQDhLOQ4s= Received: from DUZPR01CA0057.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::6) by GVXPR08MB7848.eurprd08.prod.outlook.com (2603:10a6:150:16::9) 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 18:07:51 +0000 Received: from DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:469:cafe::91) by DUZPR01CA0057.outlook.office365.com (2603:10a6:10:469::6) 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 18:07:51 +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 DBAEUR03FT003.mail.protection.outlook.com (100.127.142.89) 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 18:07:51 +0000 Received: ("Tessian outbound 6e565e48ed4a:v132"); Fri, 20 Jan 2023 18:07:51 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 192998e379ff9d6a X-CR-MTA-TID: 64aa7808 Received: from 5aebafd2e7d0.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 92834728-0923-466C-A346-6F12588F0770.1; Fri, 20 Jan 2023 18:07:40 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5aebafd2e7d0.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Jan 2023 18:07:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KhDdyqW0PZnlsqxzGpP9RxDBXDFCqfCFWIYL7neoXb8wDwnNobcDdqd1gaPVC4UM3XEPm3z11L9sBgbKqWwB+x1C1dv9XgNdDg0FDuqbAxkdMxP5xLh70AEzv3nb1m5bP5lviXTKAkzoZI++2S1Y5Wy7QHVBtVBq9pK/4Gr8mgb0uNBmHu9w1/HdM1cM1g8ZvH+xjIJAceF5GSKctHwbMfFID6hRhRVm63M5TlrYtYqLK7liJFI2x6ES7X24QQvmw5dKL1axW1swv+DVJvdMojDSQ/8akZdfIs9WbsOA9H0q5siQnU/VLOI2dGXfxATQg8xlu2Ygbmoe0X5gyi1G+A== 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=ZldhuDqFhUQsfK+iYTlVUD90okuJAe0eqRbrpBJgVs8=; b=aQRJwDxNHFw0DBcM24g+B5DN9BTiQsIMy1h8WNP+0OuGDF+Zzgu3sgNPZ2jA6PI1B3vNZchoLAwjkJtSbIeUD/CFCWZCCuT1kIXkq/3hSNuF/BFqsXs4sNwRu6s/aFPEiscKvMszIFd1shPfp1bCjkgueslqv7o4VnqJ1bdQ2aK3TZlUgrZs2tS/hthH3jnXCM7vqconxhmYzdAQjIMG/SbAMEjLCV5D7K9VNZR+uQl00wiaAqINhIpX74vWf397ljauAkJ2mJabswlwu33iX2k7Zp2iMUMefifgFY2188z9d9Nx4c7+RRXqif5PGSgH4bioJ57QUvjbRiQMuSUOMg== 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=ZldhuDqFhUQsfK+iYTlVUD90okuJAe0eqRbrpBJgVs8=; b=i/k5LMhpPD8KsCxAK3j0I6yGpHfuyu16VX4+zMtDHR3vi0eX1UK9IO8rehGMEVXnTD8TqhV6jEMzKu29+/nppUXbMWg9WWeT5qXbqWHG90VApNWKl9BWmv5lCk8kvlgjB2k//j9pxKALUdaL5+KhEyaLkr957EiC7LxQDhLOQ4s= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PAXPR08MB6430.eurprd08.prod.outlook.com (2603:10a6:102:156::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.25; Fri, 20 Jan 2023 18:07:37 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::a7d2:445d:606d:7046]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::a7d2:445d:606d:7046%2]) with mapi id 15.20.6002.024; Fri, 20 Jan 2023 18:07:37 +0000 From: Kyrylo Tkachov To: Andrea Corallo , "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , Andrea Corallo Subject: RE: [PATCH 18/23] arm: improve tests for vqrdmlsdhq* Thread-Topic: [PATCH 18/23] arm: improve tests for vqrdmlsdhq* Thread-Index: AQHZLO3tIkpyZGyouEK4QkkHyXA0/66nmkNA Date: Fri, 20 Jan 2023 18:07:37 +0000 Message-ID: References: <20230120163948.752531-1-andrea.corallo@arm.com> <20230120163948.752531-19-andrea.corallo@arm.com> In-Reply-To: <20230120163948.752531-19-andrea.corallo@arm.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|PAXPR08MB6430:EE_|DBAEUR03FT003:EE_|GVXPR08MB7848:EE_ X-MS-Office365-Filtering-Correlation-Id: 82e69dc4-c1bd-48ce-264d-08dafb113eb7 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: FZHMpbb63g7IrW9nxXBYzW6F3ZVCVkcleZHdtKuSO3tdMBGpmzeRJaIGt9Jk0v/barYKE4F3kHDbp4ooV/oTbn1iNpg3aGS0r0bwsAXFf4BdNCfalDiUOfGnY49BpJRKlqhLvrC+5owdIYUXbNvS2VoZYMRCSsUj0BQ4eA4K6jO4KuCZv8LL98uV794zBX+kZmJs8SsVtW1nMWDtDUBRH2lqChzZWTjcmdSCcx/Nh8P7I34sswDu+2DLL93Zm0Kl+WOf529EZGJjjTQUYBqljtggAFutLcYntlAJj8X/V+03BdL+qzs7mdplcTe7XkPUJohOBNV+45VhDiuKAOGnNWGB+TDeUNYatBTw2IOEC+VMWuW4dAJ8IV0Wv9QOO+Q21R2kwBJXUukeikovd1bOFn8i9YpcZdTpL3tSaG+tO+THc06h09TvcdsXLGek17HUOAmIpAZkiGrFx2MlmWNRIaUKIFcNzpF1ZfVG8murEVL/8OoxKDqQSeGxhXPLpdvefnOT884Wx27u8SAXCNIYdYFBpCkNxX5M91uJtgbhRlnGNOkUf82+uBv+l62Zge8xWhdO+6HdL5hs1coxlRySgeHbDwIujwZjdk+BhIE7LlxdrHOJRRtTyJzYb0UHvcYIjVtlcivn2YGD/iVBcLq7AHdZJc//SEVxM5j0Mwv2ocfpHbdVJyY/KbSFoMCpyeneA6YJOUTq/Y6lSkdZjMg98eldXoHA0ToKw2x0XN+3h2h6UAmAFBvmgNMvXlXRY3jn43OBw/fYZqYJH0z9pvvW2g87XGBtVw+FYOtTVu7WAthngzMdhC7hxHErHpnGkuDkpGBIkKP/pHXv6hMGpFbSUQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(451199015)(33656002)(55016003)(5660300002)(8676002)(66556008)(66446008)(71200400001)(66476007)(4326008)(76116006)(6506007)(64756008)(66946007)(41300700001)(53546011)(478600001)(52536014)(186003)(9686003)(26005)(83380400001)(38070700005)(8936002)(54906003)(7696005)(316002)(110136005)(86362001)(38100700002)(122000001)(2906002)(84970400001)(133343001)(121003001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6430 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: DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ed2cb269-96d9-468b-f349-08dafb1136a8 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cnox3kTQdyKBltSbnrdxp6zjPhGoqP58OQIdBlmHP60MegPFigYwCBvILH0GvDapYkABDmuNCzOk6kWwjPAVK3Y1KkiDU+l/WujdadaP2IJ68K3O2YcwSbrtSlQI4TJyqttga9XZ6o7ZrNgzxNZKYAC8JMZk7LyawuEeAUrY0XPEm7fnRLg0HHOz4VTOx8gR7S/f6IC0uYc3DHe+4PDGJihe8MgQJX5sGoAZIe/babu9K9OAaZyEEjrsbl9hIIqGYd/CB0Z7rkU0gp/bnX6pCAXDKay6XrmuQSHu6A4MWRuLzNkpwtBUgybthA4rwGlNAAc/W007HvjE79GwmHetukew96rB7C2CdPeO/p8p8f56F4niiFtGIPtQQ2vggt182SyDfkKgrUQ0udOTaZT3q/myvgOTYrhyh9nACUgw/V5a7KxE4tBXpHDy4Vgf7kxvR0wumJt+VqAHbsyU4Vlw09Ph3k5dtYg3Z8KkNpU5QtqATlS6wb0P6bZWJW0mYqn5JhNEKrwjrgermVPUg/kIGioNz+LItg3TWFyiTfewacfcSbpccgEN23m1DFWT8c55drXn3+Se7imulP3RZjhBiZZsKHPhQtALYiNx831hl3h6s9kHk+zuFnQHy3zwQBVy+cNvs7XRrHihx1DhB3Ga9s6RLgHOuwEW3HOBE9vojbn1wwq7ZUubym9d7nP2bjQtzuuot52QvLaex2ZmzFqt6XVshxGgbDRhCyLow1GgL2MpQKjKNVc+XL/5OpLDj6eyrB3lDFDtg3vz/0DBbcFBQRaesdLDZhg0Bcbbhv4g6v42CDFQb88YRMEWwV8+nLU+lR3R7DBKRtfI1H94wg6FwA== 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)(346002)(376002)(39860400002)(396003)(451199015)(46966006)(36840700001)(40470700004)(84970400001)(2906002)(5660300002)(52536014)(8936002)(82310400005)(70206006)(83380400001)(86362001)(70586007)(4326008)(8676002)(336012)(54906003)(316002)(110136005)(33656002)(41300700001)(7696005)(6506007)(9686003)(53546011)(186003)(40460700003)(26005)(356005)(36860700001)(81166007)(47076005)(478600001)(40480700001)(55016003)(82740400003)(121003001)(133343001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 18:07:51.1396 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 82e69dc4-c1bd-48ce-264d-08dafb113eb7 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: DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7848 X-Spam-Status: No, score=-11.6 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: > -----Original Message----- > From: Andrea Corallo > Sent: Friday, January 20, 2023 4:40 PM > To: gcc-patches@gcc.gnu.org > Cc: Kyrylo Tkachov ; Richard Earnshaw > ; Andrea Corallo > Subject: [PATCH 18/23] arm: improve tests for vqrdmlsdhq* >=20 > gcc/testsuite/ChangeLog: >=20 > * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Improve test. > * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c: Likewise. Ok. Thanks, Kyrill > --- > .../arm/mve/intrinsics/vqrdmlsdhq_m_s16.c | 34 ++++++++++++++++--- > .../arm/mve/intrinsics/vqrdmlsdhq_m_s32.c | 34 ++++++++++++++++--- > .../arm/mve/intrinsics/vqrdmlsdhq_m_s8.c | 34 ++++++++++++++++--- > .../arm/mve/intrinsics/vqrdmlsdhq_s16.c | 24 +++++++++++-- > .../arm/mve/intrinsics/vqrdmlsdhq_s32.c | 24 +++++++++++-- > .../arm/mve/intrinsics/vqrdmlsdhq_s8.c | 24 +++++++++++-- > 6 files changed, 156 insertions(+), 18 deletions(-) >=20 > diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16= .c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c > index d0054b8ea97..6a5776215ca 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqrdmlsdht.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 vqrdmlsdhq_m_s16 (inactive, a, b, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdht.s16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqrdmlsdht.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 vqrdmlsdhq_m (inactive, a, b, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdht.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/vqrdmlsdhq_m_s32= .c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c > index 7d3fe45eb4d..9539e249d6a 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqrdmlsdht.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 vqrdmlsdhq_m_s32 (inactive, a, b, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdht.s32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqrdmlsdht.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 vqrdmlsdhq_m (inactive, a, b, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdht.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/vqrdmlsdhq_m_s8.= c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c > index c33f8ea903b..69e54f53a76 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqrdmlsdht.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 vqrdmlsdhq_m_s8 (inactive, a, b, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdht.s8" } } */ >=20 > +/* > +**foo1: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqrdmlsdht.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 vqrdmlsdhq_m (inactive, a, b, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdht.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/vqrdmlsdhq_s16.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c > index 3bd760d38aa..3eb957d6029 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vqrdmlsdh.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int16x8_t > foo (int16x8_t inactive, int16x8_t a, int16x8_t b) > { > return vqrdmlsdhq_s16 (inactive, a, b); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdh.s16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vqrdmlsdh.s16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int16x8_t > foo1 (int16x8_t inactive, int16x8_t a, int16x8_t b) > { > return vqrdmlsdhq (inactive, a, b); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdh.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/vqrdmlsdhq_s32.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c > index e23dc94a9ed..3a3fb506c01 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vqrdmlsdh.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int32x4_t > foo (int32x4_t inactive, int32x4_t a, int32x4_t b) > { > return vqrdmlsdhq_s32 (inactive, a, b); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdh.s32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vqrdmlsdh.s32 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int32x4_t > foo1 (int32x4_t inactive, int32x4_t a, int32x4_t b) > { > return vqrdmlsdhq (inactive, a, b); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdh.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/vqrdmlsdhq_s8.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c > index 836e04af566..65ac15da9c7 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmlsdhq_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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vqrdmlsdh.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int8x16_t > foo (int8x16_t inactive, int8x16_t a, int8x16_t b) > { > return vqrdmlsdhq_s8 (inactive, a, b); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdh.s8" } } */ >=20 > +/* > +**foo1: > +** ... > +** vqrdmlsdh.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int8x16_t > foo1 (int8x16_t inactive, int8x16_t a, int8x16_t b) > { > return vqrdmlsdhq (inactive, a, b); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdh.s8" } } */ > +#ifdef __cplusplus > +} > +#endif > + > +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ > \ No newline at end of file > -- > 2.25.1