From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2083.outbound.protection.outlook.com [40.107.6.83]) by sourceware.org (Postfix) with ESMTPS id A26DD3851405 for ; Fri, 20 Jan 2023 18:08:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A26DD3851405 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=kPg/8h0+FOdO53dgczkGt/e1QA6A/PnRZ964p26kdY0=; b=qdVpX80cqgW6ynqc89GesBYCt8c4Er2QOExPXyjKiVQ4pwEpgKVuUPNav0x7DRE9ryu/jGn1VzqRQBiXb08hK5sl+3XjWRFe58lU15l35W2416mhcY23gNutgMKFG/tv3RLxvn+hqTNHVp80JqlUbkASS9qvvSatxGR1/rYEQVo= Received: from AM6PR08CA0022.eurprd08.prod.outlook.com (2603:10a6:20b:b2::34) by AS4PR08MB7853.eurprd08.prod.outlook.com (2603:10a6:20b:51c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Fri, 20 Jan 2023 18:08:14 +0000 Received: from AM7EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:b2:cafe::aa) by AM6PR08CA0022.outlook.office365.com (2603:10a6:20b:b2::34) 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:08:14 +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 AM7EUR03FT035.mail.protection.outlook.com (100.127.141.24) 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:08:14 +0000 Received: ("Tessian outbound 3ad958cd7492:v132"); Fri, 20 Jan 2023 18:08:13 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 780ec7853954dc42 X-CR-MTA-TID: 64aa7808 Received: from 881138cc14b3.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C3B7594A-1B97-44EB-B0DE-838BBD5BC6C4.1; Fri, 20 Jan 2023 18:08:07 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 881138cc14b3.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Jan 2023 18:08:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l1IklNjdWjgypUISOrw1HxJKyxaYl10ja+Q2GZoWg9cgrr+HBsgqzdmzloEAQ4If0c1bgcHwI5XqRzrmapKSuXxOKNVazPUQUFg2IDHpWw2KmDYKbi1k9OYhfgswzgi7p42UKSkDztCykB47yock+hJg+a4+8XjAQPDQr/t2Kj37mT31I69Ym+WEplXZ5nkC1c/50bC3JUTY8YNaTanN+Ib/VMYAFtD9qIUtIjliBcT4ON+klcvNOnl+vgd89o4kChg484i+Nbfw+/8phGKXVQ/KtqnXPPaH1itQlzjbwNVI8jY6UiZDg2h37IzHV1gZZyaI8/N/BA6Iooo4VVS0UQ== 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=kPg/8h0+FOdO53dgczkGt/e1QA6A/PnRZ964p26kdY0=; b=JzJlIx8s9g1U5Qx1rKNd262ic4GSCE+KA5TKs6GqYUWTdK/nqb917ezs8k7RUinlbBdi9ElXk6QaiDwrwZjknSovGztEI1ihu8T7vKhKIytg6pWUT/GsjQqkvNx8Gq8bEWp+ZZQREfqDEFfYPsuVP9UlhmV5ibSV0mqYY9A2RP1JcgmkMDbxKlCx6c5X+8MYMqthxL5pA6MJhHzpOr1c4Hdty/9v8cgfxKxcWgcb5YFtz2zIX2iuHlAf5Ucdl5SX5aGnVbJnDMsgArUQNnfQhisVqr45fvNIkUUS05PNNguEvJtatEBBs9HnhOWX7HXImbA24qgVVc/mQ+Rl1Ywm5g== 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=kPg/8h0+FOdO53dgczkGt/e1QA6A/PnRZ964p26kdY0=; b=qdVpX80cqgW6ynqc89GesBYCt8c4Er2QOExPXyjKiVQ4pwEpgKVuUPNav0x7DRE9ryu/jGn1VzqRQBiXb08hK5sl+3XjWRFe58lU15l35W2416mhcY23gNutgMKFG/tv3RLxvn+hqTNHVp80JqlUbkASS9qvvSatxGR1/rYEQVo= 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:08:04 +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:08:04 +0000 From: Kyrylo Tkachov To: Andrea Corallo , "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , Andrea Corallo Subject: RE: [PATCH 19/23] arm: improve tests for vqrdmlsdhxq* Thread-Topic: [PATCH 19/23] arm: improve tests for vqrdmlsdhxq* Thread-Index: AQHZLO33yGy/fgXe8EuiILa0FuVE666nmmEw Date: Fri, 20 Jan 2023 18:08:04 +0000 Message-ID: References: <20230120163948.752531-1-andrea.corallo@arm.com> <20230120163948.752531-20-andrea.corallo@arm.com> In-Reply-To: <20230120163948.752531-20-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_|AM7EUR03FT035:EE_|AS4PR08MB7853:EE_ X-MS-Office365-Filtering-Correlation-Id: 24d359ed-7141-45ca-867e-08dafb114c81 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: /bAy8gNiYizvfsuZo5QiBET+6OoIvkrjP2A9QcgZ8LR7v9UEV4cTigRH9JxMyFEgDyfWBC7pcfMz81fOzjJ+po9KlsUDd4j7qZic8I3WbbD3LiOvI/JplaRj20RqPzt8tSvvu5QZ6anD4bcX8Cw3xJ24hZsPYYPPgYFEzZcIfJCSsvGdDihBO0b9yryWQwEjV7z6ApcdexhYKU/3Fd+M8k+r+28ZeVYaPryqLhBSKa3uURpUdqQwhZxgvOfHnvQOPJF5iUHTBMYciaF7mTcZDXRx/VdpslJeoCLqQEasLkaZohAAkLM5go15Nt4dHFbqtEW0Cz+ttPc0DNZbnwBDMFI7PV7w0ljpWxiWnpU0NoF7QjuOJhmM9NFDw+9l2VbgjhTCG787B7w8rgQaYcsgOpL+z1FYAa/dZgkfmelUvJ88ljxR35f/IVKJc/Aj6K0K+V/wRve1K7N3zdJzYGwxRY3uU6M0/QBmWLjjN5DPfNQEP9Yf+IlIX3tGbkhqLEUAaDiokhQWy4aHls4RKXiC8u2bADbNnXY+qaZsGna6pszvLcD02zhl/EPiZpPmorTAIBquUckapp2xT5qnAmoKn6QdFWXiOdnOkc41DK+SrHHQ5HaCZcADDGCXEDv5JrjMhIj3TB+djH2+Lz2yjxnEmeoMQkT8MRQSHN8EpFXoOdLM/mHOdr4YgXNhu8z4uMldctov6OWi8WTV2KJ+g6k3reP6Fwx1LoquUEU0rB5+I9jvpuV3myvYmPCeORwyUaDKJ7auO/dEVyNb6p/NJC+fgA6e9EcPlWIUGnKOVvOhDmvU+C2M1Q7ZuvhPuKME3ToswHdYRRbmw7VuY0fKZriMhw== 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: AM7EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fa9c225a-214b-46e7-d0e8-08dafb1146cc X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OdZjxq8JbxTg/s2OW6KG9h2Crv+diGlc550GQex0ZuWoi5Ah9DmIZAUlLK1+G/gM/yZXOFbJ1sO1Ty9vq8oKnP4RgHZj9JktojsS+Y58GWix47MfbcrgJqwCJHUmYZ8VUm/EW6W91PUJtmbNqPf9nvvloxF6AFFu8mO0k5rTA08fzpnG0Ui+WJ9VcwGYP+/59c0ASS67O/+MnR2XCO2eIKzl9hzwU0Dt87RtqDPrI5ItCV7fyfjzn7e3uLfIthQ4y8VxI/xCryXxGh6W4vdP7Sl1iSu44J9R2zGNWD92Kj1Rm+u0R9iukz5kmaeEXV2PExXejoUHdDIMU4TuymP2/vT8vmGsQo5fSrhETiPiXaQcCNLYI5YlPUfa/Chw+7Qbve5PtIgZ3IoEvQQpV3E0tvkvy9FBTtQTiEHgtp21PtQzEEVpPQLDHj8RsKBN9pNPXknlrkJYrnrhi8jzDpOTVf2HCnyL831MrHj27DOaVj6YT+V2BYt7+mliKHTgBOrMKubCtX+ZaKsd8GQ4ggl5Jnvug6CM3RCJ/UDdSGrEINaELcXv8C805UwIn2Mo7ebZICCSOdZ73T0J4uCFpxjc7LvTO3DK+0kaiWMvuthBovZcOZegABFB6J2fJVKpOC40zP/UtNgedHyW+czbcZKvTIst4CTOJCKGXbQS46eWjpv1n6ou371m+OMXHDXFRMS4UFP+UDJfXhoy60K+2eC7aa8IrejXzIwcksjppArF1d/i8d4umr5OoEncvlhNdDbRZSKe0d5gZ04dS2TSlikNf3ku1Yol46znragpnPpZNhkYCIwUwH+1XoGJqf4oRbn7LobjVhKWTkCgJY1QIT42Lw== 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)(376002)(39860400002)(396003)(346002)(136003)(451199015)(36840700001)(40470700004)(46966006)(26005)(55016003)(83380400001)(110136005)(47076005)(52536014)(54906003)(356005)(70206006)(33656002)(8936002)(36860700001)(81166007)(82310400005)(82740400003)(8676002)(4326008)(2906002)(316002)(40460700003)(5660300002)(336012)(84970400001)(41300700001)(478600001)(70586007)(86362001)(6506007)(53546011)(9686003)(186003)(7696005)(40480700001)(121003001)(133343001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 18:08:14.2138 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 24d359ed-7141-45ca-867e-08dafb114c81 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: AM7EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7853 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 19/23] arm: improve tests for vqrdmlsdhxq* >=20 > gcc/testsuite/ChangeLog: >=20 > * 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. Ok. Thanks, Kyrill > --- > .../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(-) >=20 > 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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#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); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdhxt.s16" } } */ >=20 > +/* > +**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); > } >=20 > -/* { 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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#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); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdhxt.s32" } } */ >=20 > +/* > +**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); > } >=20 > -/* { 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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#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); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqrdmlsdhxt.s8" } } */ >=20 > +/* > +**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); > } >=20 > -/* { 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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#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); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdhx.s16" } } */ >=20 > +/* > +**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); > } >=20 > -/* { 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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#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); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdhx.s32" } } */ >=20 > +/* > +**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); > } >=20 > -/* { 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 "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#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); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdhx.s8" } } */ >=20 > +/* > +**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); > } >=20 > -/* { dg-final { scan-assembler "vqrdmlsdhx.s8" } } */ > +#ifdef __cplusplus > +} > +#endif > + > +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ > \ No newline at end of file > -- > 2.25.1