From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72]) by sourceware.org (Postfix) with ESMTPS id C8C3F38493D9 for ; Fri, 20 Jan 2023 18:09:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C8C3F38493D9 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=/YRBePXXLrStXGasE0TWUjgrwCoeUoEqpXJ52G+s038=; b=mbMPTFv8tWcY0dgZ414mfmtHvyX8sZpeFaZrWXy77XRzk1Y/DnCAajOwsS+TJqbJ6AW3y7VlJRFu4yHOC78lYjdfKgPqFPvUJbft7QWia5EdECAG3+mHB2wQ2a2J1RRCCTipgHyd//4DMJ9C0hU3+ppYmmo+tIqJpp3Pgf4HeNU= Received: from DBBPR09CA0027.eurprd09.prod.outlook.com (2603:10a6:10:d4::15) by DU0PR08MB9463.eurprd08.prod.outlook.com (2603:10a6:10:42d::8) 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:09:08 +0000 Received: from DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:d4:cafe::ca) by DBBPR09CA0027.outlook.office365.com (2603:10a6:10:d4::15) 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:09:08 +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 DBAEUR03FT008.mail.protection.outlook.com (100.127.142.107) 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:09:08 +0000 Received: ("Tessian outbound 8038f0863a52:v132"); Fri, 20 Jan 2023 18:09:08 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9e3635a3f38ea93d X-CR-MTA-TID: 64aa7808 Received: from 9b42c5a4d268.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4CE09855-5833-4DA9-B023-9D2ECDC8B87A.1; Fri, 20 Jan 2023 18:08:57 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9b42c5a4d268.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Jan 2023 18:08:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g5UXz9k6PF7HIZ+0sMStoReOqnQiP1ARcEio82myD1m1fUUfNVd5BE2agKXymfuhfKRL4UinlEfdirzz4vjZFaIFhVU5DMAWHh3MD7mgtEcw9hDI89LXZeJDceea1jCzgSCH5YA5konGy17bnnqyiv4cZg0saHUGWSWlkP4mThtwk5DRy04fXSdEr6oZKVw7Mp8iZ6jDa0IVoS9YMe/UfbC83uoI4Gs32aMdaNXz4OpL8BB+shsJvqO6pXmGw/m6vZPOAEFVwHO/yEke+mr4bWmF9d1YP4AgqtDIgPNk/tGkncSD3V+cwcZj3kKa/LtPiLkIhMuVAof2uN5uaU5YQg== 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=/YRBePXXLrStXGasE0TWUjgrwCoeUoEqpXJ52G+s038=; b=OaUvcKUKHioN2QFBTkCF/ZAB8VkiJ8Y0Js8Q+mWyDpPMgfdYKNpftGp4aiU9RRoUMBkysnKqfED7U91TnJTlG5IZJOLB0Y43pQTr9eFTrGnpcDM49v0MipGhlMuNiXolfCm6/RUsbldd//2GejlQ2oDrd8sBixe8hC3EkepW5KfbwqlCsD6Iw3fe5BDOPfuFZvgOs5INmJNly8ejKidPB8OV95VRF/CQ+e7SABmTXzyUj1INCJ/3Zl+lLd0COP9pecjiEE/NKdzFBBMHCB6EJ80t7K9IAlBQEU8I3ELX+zqeWIrYddLRScoDiKMywhtdqjggrOlcQkW2bN6phe7c+A== 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=/YRBePXXLrStXGasE0TWUjgrwCoeUoEqpXJ52G+s038=; b=mbMPTFv8tWcY0dgZ414mfmtHvyX8sZpeFaZrWXy77XRzk1Y/DnCAajOwsS+TJqbJ6AW3y7VlJRFu4yHOC78lYjdfKgPqFPvUJbft7QWia5EdECAG3+mHB2wQ2a2J1RRCCTipgHyd//4DMJ9C0hU3+ppYmmo+tIqJpp3Pgf4HeNU= 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:55 +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:55 +0000 From: Kyrylo Tkachov To: Andrea Corallo , "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , Andrea Corallo Subject: RE: [PATCH 21/23] arm: improve tests and fix vqnegq* Thread-Topic: [PATCH 21/23] arm: improve tests and fix vqnegq* Thread-Index: AQHZLO3wsfEZMxofrUOA+LcqFcnCjK6nmp9A Date: Fri, 20 Jan 2023 18:08:55 +0000 Message-ID: References: <20230120163948.752531-1-andrea.corallo@arm.com> <20230120163948.752531-22-andrea.corallo@arm.com> In-Reply-To: <20230120163948.752531-22-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_|DBAEUR03FT008:EE_|DU0PR08MB9463:EE_ X-MS-Office365-Filtering-Correlation-Id: c5b57618-8b67-4349-763b-08dafb116cfa 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: lBAB6qzIKnu+AfauVkY5qwEKkRjZAeHis8Ik+oz+puyuoz8WMl66bPrOQKjpVDE4jf5Mn+urPz3MMoZG1ZNA/OEhkdMzsQzPxZWc6HlkOgZNIYQ5GmEQy4l46OI67ReYu7AiqCGhsJsbgrzduIpzYIQJkgbwureaoUDbwC5lJi23WRfkM150pxsSMWkwcWxPCfWzs0Jr7FHENXKmMIfGtPV8mYXWTxOnJ9W1xNXFYCd0GTeKvbSb6Vkvrvdmr7GgP8Wtolpbe9pVanlXtz/FjPOTvL5+wB+c0QZVjO824t7kyxurMK2PYT3KMxMdZNGrgx9C8IsuEZAFL7C4KD9aB2b/gL9J7wDxBRS0dVHBx3oTf2YO0tQLBdP1JGktdM/Ir+Ap5lQeM31nVdP1vq4bDswzaNm8yY1Dap7hZ/97reUpMrAadCOB7miYDjpEnVFLtEQaWe8rOqUW7C5SHKKEA8HM3c2x88/7VbM5LNnzWUUqi1zpWCD/QNZPzO6hR15e1nPWC3CstcDEmqyrTwozKhfeB+8U/6kqEq7JXX7Fr4Tn/R6PPOlZlJPRAQTJRMbHGRBqovSelMQviohCv9BmRIdBRVJxxzJJmxJ3ylGSRscmVW4vsSs2SwZHbrOwf/C2M59ln5GS8NKkBy8S5aOfdk1EfZtmvDo/zdGnnBuwx37nB+TKXDzq3sXaoD6wMi4qq/TbqAS15M3SIkpih16dY4CMftL5AEDVAAdk77lFcBeiR4pxuWinXCx618+BYouuFYwurZz0LVRfxUJiOhAgvQ== 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);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: DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 987e44a4-788a-45f3-8d45-08dafb1164d3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 955/M/tEng4arwNYm+HfU1h5TWdimvnGVDLFfzJJp3oGGQHr9JobrK2QzlpfEcC27PJz+SA8+sTaY2lVWRUXbe5/nltGXY3KoNVSx1GJeAab7sOVN3NkAWxMSgjgjnCchMymUEAk8q9f/WatsPd2GHAZDOXAPZ2O8X3nsAAgnITNt0lII6nb9OVoAPdg0XqbwjvI56KDE7xTe+hctcdb1VkjOeRJnjs1tXwtPN2BCnSWec0OJPi/z3CTqI1upmNeC+KYKpU2s9N6pUeEOchmhjqrktu3DGZAwNNgMp49kwUuqH9yXH8OySxXCrmnO1ujcjcp6Jfpqf7D2NLqt+xU0YAWOefh7txDk+KYOmvbUfbn96XkBbpU14g7xOvUyfBMYY6gME1/ByLcG7kYXW170Dn5TZAG0rZ+IBSQpSDc9/3ryLPQ0IhvDHMOwdFO9DoZHsnsxfJHuBwCgnaJfvZhNWLIOGB+zV5JkWNHhfrO298ISJuERUqlpvs9HsFro/l+vqpOsedOB7miduNBwCmi/h6J0+4YJxa1QmcVuc+TVWHEqiDjyrU5bOnw6aQr6sEJTjDqL0gKZteUfVsHzWLJbZn9ad3XYpGiEmtQnAYcreSY26FEEYxh2uMzKw/ILLTUU7Fvnxc2O4tvY+VADKA32jEaygHCbAatjELXYblsmZTEbelBRCYhWRGJ1oL8JxR+ENQxao+iWoYZlgKTs0YELPFpyFIHwpKYlYq5ihQt8FnNBjlSFg8/9/Cdl+lipsrGle/tTs/J5V4AptgHEwsnTA== 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)(39860400002)(396003)(376002)(346002)(136003)(451199015)(36840700001)(46966006)(40470700004)(53546011)(478600001)(6506007)(9686003)(26005)(186003)(82740400003)(36860700001)(7696005)(82310400005)(55016003)(86362001)(81166007)(356005)(40480700001)(47076005)(40460700003)(336012)(83380400001)(33656002)(4326008)(8936002)(316002)(70586007)(84970400001)(52536014)(5660300002)(8676002)(41300700001)(70206006)(54906003)(110136005)(2906002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 18:09:08.7559 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c5b57618-8b67-4349-763b-08dafb116cfa 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: DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9463 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 21/23] arm: improve tests and fix vqnegq* >=20 > gcc/ChangeLog: >=20 > * config/arm/mve.md (mve_vqnegq_s): Fix spacing. >=20 > gcc/testsuite/ChangeLog: >=20 > * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Improve test. > * gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqnegq_s16.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqnegq_s32.c: Likewise. > * gcc.target/arm/mve/intrinsics/vqnegq_s8.c: Likewise. Ok. Thanks, Kyrill > --- > gcc/config/arm/mve.md | 2 +- > .../arm/mve/intrinsics/vqnegq_m_s16.c | 33 +++++++++++++++++-- > .../arm/mve/intrinsics/vqnegq_m_s32.c | 33 +++++++++++++++++-- > .../arm/mve/intrinsics/vqnegq_m_s8.c | 33 +++++++++++++++++-- > .../arm/mve/intrinsics/vqnegq_s16.c | 28 +++++++++++++--- > .../arm/mve/intrinsics/vqnegq_s32.c | 24 ++++++++++++-- > .../gcc.target/arm/mve/intrinsics/vqnegq_s8.c | 24 ++++++++++++-- > 7 files changed, 159 insertions(+), 18 deletions(-) >=20 > diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md > index 600adf7d69b..4f94cf14a0b 100644 > --- a/gcc/config/arm/mve.md > +++ b/gcc/config/arm/mve.md > @@ -374,7 +374,7 @@ (define_insn "mve_vqnegq_s" > VQNEGQ_S)) > ] > "TARGET_HAVE_MVE" > - "vqneg.s%# %q0, %q1" > + "vqneg.s%#\t%q0, %q1" > [(set_attr "type" "mve_move") > ]) >=20 > diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c > index 4f0145d2ebd..f3799a35b12 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c > @@ -1,22 +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(?: @.*|) > +** ... > +** vqnegt.s16 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int16x8_t > foo (int16x8_t inactive, int16x8_t a, mve_pred16_t p) > { > return vqnegq_m_s16 (inactive, a, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqnegt.s16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqnegt.s16 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int16x8_t > foo1 (int16x8_t inactive, int16x8_t a, mve_pred16_t p) > { > return vqnegq_m (inactive, a, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > +#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/vqnegq_m_s32.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c > index da4f90bad53..bbe64ff4d52 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c > @@ -1,22 +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(?: @.*|) > +** ... > +** vqnegt.s32 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int32x4_t > foo (int32x4_t inactive, int32x4_t a, mve_pred16_t p) > { > return vqnegq_m_s32 (inactive, a, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqnegt.s32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqnegt.s32 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int32x4_t > foo1 (int32x4_t inactive, int32x4_t a, mve_pred16_t p) > { > return vqnegq_m (inactive, a, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > +#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/vqnegq_m_s8.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c > index ac1250b2fac..71fcdd7cba7 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c > @@ -1,22 +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(?: @.*|) > +** ... > +** vqnegt.s8 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int8x16_t > foo (int8x16_t inactive, int8x16_t a, mve_pred16_t p) > { > return vqnegq_m_s8 (inactive, a, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > -/* { dg-final { scan-assembler "vqnegt.s8" } } */ >=20 > +/* > +**foo1: > +** ... > +** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) > +** ... > +** vpst(?: @.*|) > +** ... > +** vqnegt.s8 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int8x16_t > foo1 (int8x16_t inactive, int8x16_t a, mve_pred16_t p) > { > return vqnegq_m (inactive, a, p); > } >=20 > -/* { dg-final { scan-assembler "vpst" } } */ > +#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/vqnegq_s16.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s16.c > index f9210cd70f4..d5fb4a19854 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s16.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s16.c > @@ -1,21 +1,41 @@ > -/* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { 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: > +** ... > +** vqneg.s16 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int16x8_t > foo (int16x8_t a) > { > return vqnegq_s16 (a); > } >=20 > -/* { dg-final { scan-assembler "vqneg.s16" } } */ >=20 > +/* > +**foo1: > +** ... > +** vqneg.s16 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int16x8_t > foo1 (int16x8_t a) > { > return vqnegq (a); > } >=20 > -/* { dg-final { scan-assembler "vqneg.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/vqnegq_s32.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s32.c > index c2ded7fe659..2c8e709f491 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s32.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_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: > +** ... > +** vqneg.s32 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int32x4_t > foo (int32x4_t a) > { > return vqnegq_s32 (a); > } >=20 > -/* { dg-final { scan-assembler "vqneg.s32" } } */ >=20 > +/* > +**foo1: > +** ... > +** vqneg.s32 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int32x4_t > foo1 (int32x4_t a) > { > return vqnegq (a); > } >=20 > -/* { dg-final { scan-assembler "vqneg.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/vqnegq_s8.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s8.c > index d1cc83a6cd0..2f7f7619ef6 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_s8.c > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vqnegq_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: > +** ... > +** vqneg.s8 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int8x16_t > foo (int8x16_t a) > { > return vqnegq_s8 (a); > } >=20 > -/* { dg-final { scan-assembler "vqneg.s8" } } */ >=20 > +/* > +**foo1: > +** ... > +** vqneg.s8 q[0-9]+, q[0-9]+(?: @.*|) > +** ... > +*/ > int8x16_t > foo1 (int8x16_t a) > { > return vqnegq (a); > } >=20 > -/* { dg-final { scan-assembler "vqneg.s8" } } */ > +#ifdef __cplusplus > +} > +#endif > + > +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ > \ No newline at end of file > -- > 2.25.1