From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2051.outbound.protection.outlook.com [40.107.22.51]) by sourceware.org (Postfix) with ESMTPS id B4FFA3854801 for ; Fri, 20 Jan 2023 18:10:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B4FFA3854801 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=WqSvrKVKgBdiNk4Y/U5R2Y8yk5yT4mdmQJzlaMlKcio=; b=e42odxVtrHCR4tk4yHnem+rULnEYBf0YlXaaeK5pRoGnuBPpsFejE32/+8ytdx8lwbAux7pHSpr9KWy4tihfQEC1UjlNhDXuWhOfy0fXi//0UZE9JitL6ohrmeEXdbOSdkY4gWIY7z0cwbXetC+9thnlmXUsGlqXuxpA7srmN0I= Received: from AS9PR05CA0201.eurprd05.prod.outlook.com (2603:10a6:20b:495::28) by PAVPR08MB10339.eurprd08.prod.outlook.com (2603:10a6:102:30c::6) 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 18:10:01 +0000 Received: from AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:495:cafe::d9) by AS9PR05CA0201.outlook.office365.com (2603:10a6:20b:495::28) 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:10:01 +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 AM7EUR03FT023.mail.protection.outlook.com (100.127.140.73) 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:10:00 +0000 Received: ("Tessian outbound 43b0faad5a68:v132"); Fri, 20 Jan 2023 18:10:00 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7eb75769bc6ff2db X-CR-MTA-TID: 64aa7808 Received: from f20436a4aef7.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4732D140-9F46-40B5-8A54-609C3188C083.1; Fri, 20 Jan 2023 18:09:50 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f20436a4aef7.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Jan 2023 18:09:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N4oPTFN7IbZO1vXc9zXlJyOONCahay3TX//hhx+6mmkxOJfnPACaav6xrXkCYYaxVDnRABHkt0O1noOn9MjzIPTv/CoOvi/Adb/PZ7QzFHIUlSrbWXrVrbxc5eQhlRjFfqvCP8+4arp9rybyyhseTFEmTqIoqN53RvGmqUdpqxackYqoHJ5cN/nCFxHMNzQvvd+lxzFiS82qv6a5GGhFVve9ckugCPy+fpDCYwWqgb/A89pTKxaWQ+aqqEdtixKSyxkaE7Y0cnqaauUHE0nLhBR9JgQO4XplKJu64elWpGGE3qGv6+kgRz4U4qWBKAzeh4+anXmum+o06TK61LIeXg== 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=WqSvrKVKgBdiNk4Y/U5R2Y8yk5yT4mdmQJzlaMlKcio=; b=hY0a60WHjcRDf/UUeOS9AJyTZ8Pijd/9OSalP5bCMM0c/ECn5pZuQnf8X0eZY74m6d2RuDWErAvJhd9K+1W+8+Dk5myVNlBhSFeFNJRcEVuDgDR3KhdhV9yFrycVDUsE0atNr06l2mKnQf5st2u1yd6/sygpIMXXRPqgENXiT30dxZDvKg4jKkgP9iyDnbPOqJ1VACpWWnzdG+9V6sqNoAwmZ24SR6Ve38pw8fY8GwnJKiiFsOVEejC23wQ27BM2dJ9gYuRLY0X8GmWoAhFZl5GPWYi2TNMi8G+tINDLss/K0xQi0XMOKF2fidjSpERgD+izsQoXkFwIfYbOMAGBcg== 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=WqSvrKVKgBdiNk4Y/U5R2Y8yk5yT4mdmQJzlaMlKcio=; b=e42odxVtrHCR4tk4yHnem+rULnEYBf0YlXaaeK5pRoGnuBPpsFejE32/+8ytdx8lwbAux7pHSpr9KWy4tihfQEC1UjlNhDXuWhOfy0fXi//0UZE9JitL6ohrmeEXdbOSdkY4gWIY7z0cwbXetC+9thnlmXUsGlqXuxpA7srmN0I= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by VI1PR08MB5517.eurprd08.prod.outlook.com (2603:10a6:803:139::23) 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:09:47 +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:09:47 +0000 From: Kyrylo Tkachov To: Andrea Corallo , "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , Andrea Corallo Subject: RE: [PATCH 22/23] arm: improve tests for vld2q* Thread-Topic: [PATCH 22/23] arm: improve tests for vld2q* Thread-Index: AQHZLO3tRs7x4wNm+UyJqn84VajdDK6nmtfw Date: Fri, 20 Jan 2023 18:09:47 +0000 Message-ID: References: <20230120163948.752531-1-andrea.corallo@arm.com> <20230120163948.752531-23-andrea.corallo@arm.com> In-Reply-To: <20230120163948.752531-23-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_|VI1PR08MB5517:EE_|AM7EUR03FT023:EE_|PAVPR08MB10339:EE_ X-MS-Office365-Filtering-Correlation-Id: 272b844f-6dc9-47fa-4296-08dafb118bfe 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: hBASWPEcWLHHHGzA71WYUFNBHEB1u2xj19cmmFqJ6CYy9HXGd4Za6LztGnNMtCpNFXaoJGUs/oiPDNVanhev9Cod88JPlEsXCNhPFVXel9P+XAviyJah1iGabmWLwAnCSMBFROII7X11x1GrKgBb7FvUe/kmek8xNBMMCFiznlBClV2Hi3MGdkK0HbgEj8RkUCexFS6Y+CwMJGZQGU/aM7a/99ztfsQF9wNYcnfdP6diXEk/GL2S+2Sl1VP+mY4+5wG6SQ36R4mskHP+6ukK0KDOM13jPaqgEc11llloY/EiX7791RtUiZantNegzK2qu105+XGS+1RQG7Ze6SUm/cF68y+nuaeOHKmCbcsrIaYragW8G/AsYxWzfSHl18hp9NtiJE+vl0nEsKdYoTkIG5PndQh2asXoYfFN8HEpRGC99mrOlwGndZ289h8pYlQ9Bbmy7RXssh1qrsfnoNS4257fnCb6Q3EWl2SXTjwlh3bFv1VDXEi4sZKSU5Ftgk4yROUP/Rm63vLZn1OzQxU8npO9FGLTBbcvwHYYDkcCcpKGyPhDfbNft1lzF8wioluueJEyeMWnsfZzfxFu0oFNeAK0C27BNNWtGWobJsh0DbrMhye6POCtoi6GGYH6Qup2YHTo8ybpJfMiWdvgb9yVnQ0sWAlK96i1rNIXfFLOs7DLsc0Rd6UPUH8xScYE9gixlkc9ModFOoK80ARrmWQ1znNWQ0kmbF0w85fhoVkVwSyJIQNIMI/1ics/7PN1DAkd3xvf0wSQgvjxx1bHAEVYLQ== 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)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199015)(38070700005)(316002)(86362001)(8676002)(33656002)(54906003)(110136005)(83380400001)(122000001)(6506007)(71200400001)(7696005)(9686003)(8936002)(26005)(53546011)(186003)(38100700002)(30864003)(478600001)(5660300002)(2906002)(55016003)(66556008)(4326008)(66476007)(66446008)(64756008)(66946007)(76116006)(41300700001)(52536014)(84970400001);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: VI1PR08MB5517 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: AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5e261afb-2e03-4ac5-ddd2-08dafb11840f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1zRsT1YXcI7EnXR5AOlHt+eBuC+ITRA4s7jz7B+s4fkUeQRW0J+YpuIqqouaBcQ9RpPtPkOBBaJM4dnuT2Z9jXE8KArHsB5Ic6vX1UlgvvNTsaIBzFkLJpXGR4rT+wP5JRDw9kr7xSc+GYx+Lb4ex6svhxetG1iBo4onp/zFENfAKDUhLYya3BpurJX8EVJg1UzNOAuIK/2273xrt35uzkp1c4Oibau88fDbm01suoZnDf9nR1yzQwLeAIbOviL0mWdaXxRNtAXnQAO75tXEeCpxgYHBddSihsll9ExhPRS5Aanq2W+UCI7hNVA35jetDwRBr3bVGVhgqXeGJ2GwjBI6fzYiJ+OdJO/tPMnk8HaUjK0bt9NAHfGdGIfeTOFMIpvhKODSOhiiPwy9tbu9R7NgBaFSPmIaX2L+Lo57FaZDoi/fitD1uBfTMjzebuRbRvRM005YRCxg/dNFJNaDyd/XI4TbfeQ6MZqXWX0mHE1EsMvQWRBV+RnBz92trPBJnEplz5JeA3ooVAvzbc0+kEWxqFA4fgZ2hv42zcd1l8NRCQnXL2demFLEcqT0X2Di4ZEKJcWMoADiNfs6tJdS1Ed0KEuoEEY7eim9PGGRtuJgqdURxcfHofoXv05jUuhdQ4EY6ekLQtBCSJImMJeIL79R8xdfSw7PvSkGGR5Ebr/UM6laDHn1lt0c0yS8S20IO2IHVHNMqq+rTH5+ueC4SvMWWG9+08afC0UVVBEQ29xz2up2mUq8ukmh3kTYE2toohV0BduGotzmsvIUby89Fg== 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)(396003)(39860400002)(451199015)(46966006)(36840700001)(40470700004)(30864003)(5660300002)(41300700001)(54906003)(8676002)(316002)(70206006)(70586007)(84970400001)(52536014)(2906002)(110136005)(478600001)(82740400003)(7696005)(26005)(9686003)(186003)(53546011)(36860700001)(6506007)(336012)(40460700003)(33656002)(4326008)(8936002)(40480700001)(82310400005)(356005)(83380400001)(86362001)(81166007)(47076005)(55016003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 18:10:00.7277 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 272b844f-6dc9-47fa-4296-08dafb118bfe 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: AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB10339 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 22/23] arm: improve tests for vld2q* >=20 > gcc/testsuite/ChangeLog: >=20 > * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Improve test. > * gcc.target/arm/mve/intrinsics/vld2q_f32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vld2q_s16.c: Likewise. > * gcc.target/arm/mve/intrinsics/vld2q_s32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vld2q_s8.c: Likewise. > * gcc.target/arm/mve/intrinsics/vld2q_u16.c: Likewise. > * gcc.target/arm/mve/intrinsics/vld2q_u32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vld2q_u8.c: Likewise. Ok. Thanks, Kyrill > --- > .../gcc.target/arm/mve/intrinsics/vld2q_f16.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_f32.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_s16.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_s32.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_s8.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_u16.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_u32.c | 33 ++++++++++++++++--- > .../gcc.target/arm/mve/intrinsics/vld2q_u8.c | 33 ++++++++++++++++--- > 8 files changed, 224 insertions(+), 40 deletions(-) >=20 > diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f16.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f16.c > index 24e7a2ea4d0..81690b1022e 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f16.c > @@ -1,22 +1,45 @@ > /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */ > /* { dg-add-options arm_v8_1m_mve_fp } */ > /* { dg-additional-options "-O2" } */ > +/* { dg-final { check-function-bodies "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vld20.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > float16x8x2_t > -foo (float16_t const * addr) > +foo (float16_t const *addr) > { > return vld2q_f16 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.16" } } */ > -/* { dg-final { scan-assembler "vld21.16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > float16x8x2_t > -foo1 (float16_t const * addr) > +foo1 (float16_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.16" } } */ > +#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/vld2q_f32.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f32.c > index 727484caaf6..d2ae31fa9e5 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_f32.c > @@ -1,22 +1,45 @@ > /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */ > /* { dg-add-options arm_v8_1m_mve_fp } */ > /* { dg-additional-options "-O2" } */ > +/* { dg-final { check-function-bodies "**" "" } } */ >=20 > #include "arm_mve.h" >=20 > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/* > +**foo: > +** ... > +** vld20.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > float32x4x2_t > -foo (float32_t const * addr) > +foo (float32_t const *addr) > { > return vld2q_f32 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.32" } } */ > -/* { dg-final { scan-assembler "vld21.32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > float32x4x2_t > -foo1 (float32_t const * addr) > +foo1 (float32_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.32" } } */ > +#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/vld2q_s16.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s16.c > index f2864a00478..fb4dc1b4fcf 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s16.c > @@ -1,22 +1,45 @@ > /* { 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: > +** ... > +** vld20.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > int16x8x2_t > -foo (int16_t const * addr) > +foo (int16_t const *addr) > { > return vld2q_s16 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.16" } } */ > -/* { dg-final { scan-assembler "vld21.16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > int16x8x2_t > -foo1 (int16_t const * addr) > +foo1 (int16_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.16" } } */ > +#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/vld2q_s32.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s32.c > index 9fe2e0459b5..aeb85238fd2 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s32.c > @@ -1,22 +1,45 @@ > /* { 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: > +** ... > +** vld20.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > int32x4x2_t > -foo (int32_t const * addr) > +foo (int32_t const *addr) > { > return vld2q_s32 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.32" } } */ > -/* { dg-final { scan-assembler "vld21.32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > int32x4x2_t > -foo1 (int32_t const * addr) > +foo1 (int32_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.32" } } */ > +#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/vld2q_s8.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s8.c > index 736080a94a7..687e5ded48c 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s8.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_s8.c > @@ -1,22 +1,45 @@ > /* { 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: > +** ... > +** vld20.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > int8x16x2_t > -foo (int8_t const * addr) > +foo (int8_t const *addr) > { > return vld2q_s8 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.8" } } */ > -/* { dg-final { scan-assembler "vld21.8" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > int8x16x2_t > -foo1 (int8_t const * addr) > +foo1 (int8_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.8" } } */ > +#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/vld2q_u16.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u16.c > index 2d89ebdcf6b..281fe5eaf10 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u16.c > @@ -1,22 +1,45 @@ > /* { 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: > +** ... > +** vld20.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > uint16x8x2_t > -foo (uint16_t const * addr) > +foo (uint16_t const *addr) > { > return vld2q_u16 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.16" } } */ > -/* { dg-final { scan-assembler "vld21.16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.16 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > uint16x8x2_t > -foo1 (uint16_t const * addr) > +foo1 (uint16_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.16" } } */ > +#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/vld2q_u32.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u32.c > index 28d311eca68..524afee72e9 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u32.c > @@ -1,22 +1,45 @@ > /* { 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: > +** ... > +** vld20.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > uint32x4x2_t > -foo (uint32_t const * addr) > +foo (uint32_t const *addr) > { > return vld2q_u32 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.32" } } */ > -/* { dg-final { scan-assembler "vld21.32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.32 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > uint32x4x2_t > -foo1 (uint32_t const * addr) > +foo1 (uint32_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.32" } } */ > +#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/vld2q_u8.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u8.c > index 790c9743c9a..9eebbd42719 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u8.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vld2q_u8.c > @@ -1,22 +1,45 @@ > /* { 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: > +** ... > +** vld20.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > uint8x16x2_t > -foo (uint8_t const * addr) > +foo (uint8_t const *addr) > { > return vld2q_u8 (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.8" } } */ > -/* { dg-final { scan-assembler "vld21.8" } } */ >=20 > +/* > +**foo1: > +** ... > +** vld20.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +** vld21.8 {q[0-9]+, q[0-9]+}, \[(?:ip|fp|r[0-9]+)\](?: @.*|) > +** ... > +*/ > uint8x16x2_t > -foo1 (uint8_t const * addr) > +foo1 (uint8_t const *addr) > { > return vld2q (addr); > } >=20 > -/* { dg-final { scan-assembler "vld20.8" } } */ > +#ifdef __cplusplus > +} > +#endif > + > +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ > \ No newline at end of file > -- > 2.25.1