From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2085.outbound.protection.outlook.com [40.107.105.85]) by sourceware.org (Postfix) with ESMTPS id A66003858D1E for ; Tue, 2 May 2023 16:13:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A66003858D1E 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=RrMn6YiqBErvi7h+jjuuFlnUD+FV3bIFAGS/D64ciS8=; b=eymv2D/0AHovRypVLe+kDkgctvPm+9mxxFKjGyzW9FjZgKBnf7ycJsN8D11M7ZZ7Zfy5RyJWOVBRpD76cGRmemdS1NNScABRliHyx9gC1ERuXSv9DOr5lm4/3nCNv7iJFRXA1t/Gs55EdgL8NRtqQOhwaUEGADljbdmPK6kPGv8= Received: from AM5PR0701CA0016.eurprd07.prod.outlook.com (2603:10a6:203:51::26) by PAVPR08MB9772.eurprd08.prod.outlook.com (2603:10a6:102:2f8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.30; Tue, 2 May 2023 16:13:17 +0000 Received: from AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:51:cafe::3f) by AM5PR0701CA0016.outlook.office365.com (2603:10a6:203:51::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.19 via Frontend Transport; Tue, 2 May 2023 16:13:17 +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 AM7EUR03FT065.mail.protection.outlook.com (100.127.140.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.19 via Frontend Transport; Tue, 2 May 2023 16:13:17 +0000 Received: ("Tessian outbound 945aec65ec65:v136"); Tue, 02 May 2023 16:13:17 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1c7cdfda9c18b4f1 X-CR-MTA-TID: 64aa7808 Received: from 7494f4f55771.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6CA264B4-0B54-48F0-8B1C-0ABE224D927C.1; Tue, 02 May 2023 16:13:06 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7494f4f55771.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 02 May 2023 16:13:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ExvT35C3RpxOeFRnocBb6OSTGNbUnF66jm0U8UB3JnIQ8//5KAJxBCkD0AgVSRZSF1KHKAMD5zibAGG5yTeXJzZHYVaXCmes62r5N1/ZhpH7aF+YA634LPWjMoq9sZ2iGDSnbcJm3ZpH622mj13FqDO1ky5YwMOb9Xfosyzk9EgiwtaViiM0UuWPD8+hK2gvVcvCGKz333acLhKTmoxuUp7XAJ6MLaEykHe9sH8nVs7yP2kbZVoK4eCBxO3AvEbe4xl2dTAj43kSS7aYa2YFLZKzmcbcuhO9DqvChG4UvzGaUWsmmKp2SZjYQ8crHNcZ48MDUcchs3XqxC+FAr95sQ== 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=RrMn6YiqBErvi7h+jjuuFlnUD+FV3bIFAGS/D64ciS8=; b=MJB15sYIBZkpGlyWCPM2s//fn+NsRPN5u3ebDm/ZNDP/aumC7c8N19BDOadIEiigc42d2JKew/mm0aZeO+GR/TJ3QUzA7wLP+dkuJaC5LMdfRdLtlHk9/3y2d5OpC89wqthuDjztXRHVksp/Z7bD+iby/kkTh33yLa/exycUnW7ztFQ/OCsciCYqB7tSAIBGhdc2WFXyQWfiPB1UtydGxTEgj8cIhmtNaGTli5+xYsxwmYlHG8+tsnmwtrwJf7QebP+VMl76hUnj6nO7p5aVfobRoYqSKKSJBf+tjJlWlFfBDCsK2yu+dPKih9dpUDDgmTvIs8rVHr1MbO6GRK3xgA== 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=RrMn6YiqBErvi7h+jjuuFlnUD+FV3bIFAGS/D64ciS8=; b=eymv2D/0AHovRypVLe+kDkgctvPm+9mxxFKjGyzW9FjZgKBnf7ycJsN8D11M7ZZ7Zfy5RyJWOVBRpD76cGRmemdS1NNScABRliHyx9gC1ERuXSv9DOr5lm4/3nCNv7iJFRXA1t/Gs55EdgL8NRtqQOhwaUEGADljbdmPK6kPGv8= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by AS2PR08MB9988.eurprd08.prod.outlook.com (2603:10a6:20b:642::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.25; Tue, 2 May 2023 16:13:04 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1%3]) with mapi id 15.20.6340.031; Tue, 2 May 2023 16:13:04 +0000 From: Kyrylo Tkachov To: Christophe Lyon , "gcc-patches@gcc.gnu.org" , Richard Earnshaw , Richard Sandiford CC: Christophe Lyon Subject: RE: [PATCH 04/22] arm: [MVE intrinsics] Rework vuninitialized Thread-Topic: [PATCH 04/22] arm: [MVE intrinsics] Rework vuninitialized Thread-Index: AQHZcfxKko8VvF0ih0CeFBftzF82E69HPe3A Date: Tue, 2 May 2023 16:13:04 +0000 Message-ID: References: <20230418134608.244751-1-christophe.lyon@arm.com> <20230418134608.244751-5-christophe.lyon@arm.com> In-Reply-To: <20230418134608.244751-5-christophe.lyon@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_|AS2PR08MB9988:EE_|AM7EUR03FT065:EE_|PAVPR08MB9772:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ee27062-d42f-43b6-7276-08db4b2823fd 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: OQPpv1lzQzak5wDBsE00/o9lTgz+HnjH2QhPtzHbR2yU0iZx3lQf4N8vxjtIIcW/YpvuOqjwlfY4OjJp4T/eIe+jOEXcC6DlYE/IJPtAXDz+VVPJ94QjRSMqCwlQFLUFlEe0X2MxNA5VN6MlRyHYEYphs2X8eaFKMXP4NErV6OP/nUGq2anKZsh1h3rzeMzlfQdvYOh+CzUEGx8xD+vfmIzlKN1XOd7hQiXgXku6Qpn2YRFG31eXg52+T+KxI9XZ3AWxKYpi+S1OUKh96owyca15LGdLwvXCBTbGJsBoUAkZy5H4B5VwTZqfTzcjrjCE2TMRXUJlw2TKmw6xi8QFec4SAmEvZGKbbi9wsbO5DLAKF9I4VlVg4HEQkeLTMLAs/MBriwIxN+yGVsAIBnIQRwR5gM+gAI+kF6WcgsMp0ERCf/1tlonvD97B1NA2nOM3si0fZX34nM8BKaoXuY78SFbYMymHdbH3qMkAIdiAgKPTrH5fqjJKrm7hFrAHC3nRbz1j3dKwdAStoT6GTGvGv6G5WuZo+lLCeJ3MyF9MeejXeHrnSNE5niy4vCHeokrVhCqE4UdrmYYQhk8zN7zY/dpj6GNEfnixDIo/D6a+Yrjpf8GfEGmkEbxXMUqNxnta 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:(13230028)(4636009)(136003)(39860400002)(396003)(376002)(346002)(366004)(451199021)(71200400001)(6636002)(7696005)(66556008)(110136005)(64756008)(66476007)(66946007)(76116006)(8936002)(66446008)(30864003)(8676002)(86362001)(2906002)(478600001)(52536014)(26005)(9686003)(316002)(33656002)(6506007)(186003)(53546011)(5660300002)(4326008)(41300700001)(55016003)(83380400001)(38070700005)(122000001)(38100700002);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: AS2PR08MB9988 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: AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 71f822bf-3296-4a50-6894-08db4b281bea X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /8F0woMYDj/HSu+HGuBTVAenEjh/DKfx3iwmh9cDhWdBe7Ip6hNKDxAO9sfc52LD/rvuIIg5zKmiU1HT+IHZ1/nVgJH8WIDA1dg1RmH1FxzbS4o+r0CIr1Cccu/kWyjJd3rMbi+OPn5KQ5c8VC/z7qisQT94+oB7Cih+5evWK80MKYZr2RwklY+91lloDAMDFhd5LSxLVda6jv8/8exZctgm8qmTWKwjxWnC4aWC/a7ZcFl/+bjMcojj6wMKqroKjBNKFs7gremUZ6TrmUEzYsZcoDd0MF32vPfVhTWm+/d/sKFKLxb0HGGGwFc4eH34zF42tQna8r2qM4pweRsQ77Gw7rkVWd0+yCUauS8brkxuAvlQec8wWxYSSTd/I9C0WAy9jmRAGGdTWsweCb8mM7kgi5NOuY97if2fNNHJleFwN1KbLfHrxexd3CQ26E6001nxjDf0XHNt5N7m4GIEBmcmm90S19B+tJj8PldfNC+eFZZxX1kTQzjBCCYeI2meu9Va0auDApYE2C/ahb5B8fiwJZcVlGfEZ1TIxLqhuC04Y+/iUs2WNQhBiVbhszxadI7m3g+fKO9LV0vfNx6awValwuRcnoow2ctD1w2zxOY0jBidbTVjETgApgj2RtMk5aZS3uP57m43rz7Vr4zqsrTO/KDpxaRXC5u4rtWqeV55t/XZqLvA2qiiVvGbz2o7MaiunxsHfOFkl5EGVQBj2pCK2zmz2A6m+SikfHaz+hA= 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:(13230028)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199021)(46966006)(36840700001)(40470700004)(70206006)(70586007)(6636002)(4326008)(186003)(356005)(316002)(82740400003)(40460700003)(478600001)(33656002)(7696005)(82310400005)(110136005)(86362001)(40480700001)(34020700004)(55016003)(6506007)(2906002)(36860700001)(30864003)(26005)(9686003)(53546011)(336012)(83380400001)(5660300002)(52536014)(8676002)(47076005)(8936002)(81166007)(41300700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2023 16:13:17.7019 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6ee27062-d42f-43b6-7276-08db4b2823fd 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: AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9772 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,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: Christophe Lyon > Sent: Tuesday, April 18, 2023 2:46 PM > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ; > Richard Earnshaw ; Richard Sandiford > > Cc: Christophe Lyon > Subject: [PATCH 04/22] arm: [MVE intrinsics] Rework vuninitialized >=20 > Implement vuninitialized using the new MVE builtins framework. >=20 > We need to keep the overloaded __arm_vuninitializedq definitions > because their resolution depends on the result type only, which is not > currently supported by the resolver. Ok. Thanks, Kyrill >=20 > 2022-09-08 Murray Steele > Christophe Lyon >=20 > gcc/ChangeLog: >=20 > * config/arm/arm-mve-builtins-base.cc (class > vuninitializedq_impl): New. > * config/arm/arm-mve-builtins-base.def (vuninitializedq): New. > * config/arm/arm-mve-builtins-base.h (vuninitializedq): New > declaration. > * config/arm/arm-mve-builtins-shapes.cc (inherent): New. > * config/arm/arm-mve-builtins-shapes.h (inherent): New > declaration. > * config/arm/arm_mve_types.h (__arm_vuninitializedq): Move to ... > * config/arm/arm_mve.h (__arm_vuninitializedq): ... here. > (__arm_vuninitializedq_u8): Remove. > (__arm_vuninitializedq_u16): Remove. > (__arm_vuninitializedq_u32): Remove. > (__arm_vuninitializedq_u64): Remove. > (__arm_vuninitializedq_s8): Remove. > (__arm_vuninitializedq_s16): Remove. > (__arm_vuninitializedq_s32): Remove. > (__arm_vuninitializedq_s64): Remove. > (__arm_vuninitializedq_f16): Remove. > (__arm_vuninitializedq_f32): Remove. > --- > gcc/config/arm/arm-mve-builtins-base.cc | 14 ++ > gcc/config/arm/arm-mve-builtins-base.def | 2 + > gcc/config/arm/arm-mve-builtins-base.h | 1 + > gcc/config/arm/arm-mve-builtins-shapes.cc | 16 ++ > gcc/config/arm/arm-mve-builtins-shapes.h | 7 +- > gcc/config/arm/arm_mve.h | 73 ++++++++++ > gcc/config/arm/arm_mve_types.h | 169 ---------------------- > 7 files changed, 112 insertions(+), 170 deletions(-) >=20 > diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm= - > mve-builtins-base.cc > index ad8d500afc6..02a3b23865c 100644 > --- a/gcc/config/arm/arm-mve-builtins-base.cc > +++ b/gcc/config/arm/arm-mve-builtins-base.cc > @@ -65,10 +65,24 @@ class vreinterpretq_impl : public > quiet > } > }; >=20 > +/* Implements vuninitializedq_* intrinsics. */ > +class vuninitializedq_impl : public quiet > +{ > + > + rtx > + expand (function_expander &e) const override > + { > + rtx target =3D e.get_reg_target (); > + emit_clobber (copy_rtx (target)); > + return target; > + } > +}; > + > } /* end anonymous namespace */ >=20 > namespace arm_mve { >=20 > FUNCTION (vreinterpretq, vreinterpretq_impl,) > +FUNCTION (vuninitializedq, vuninitializedq_impl,) >=20 > } /* end namespace arm_mve */ > diff --git a/gcc/config/arm/arm-mve-builtins-base.def b/gcc/config/arm/ar= m- > mve-builtins-base.def > index 5c0c1b9cee7..f669642a259 100644 > --- a/gcc/config/arm/arm-mve-builtins-base.def > +++ b/gcc/config/arm/arm-mve-builtins-base.def > @@ -19,8 +19,10 @@ >=20 > #define REQUIRES_FLOAT false > DEF_MVE_FUNCTION (vreinterpretq, unary_convert, reinterpret_integer, > none) > +DEF_MVE_FUNCTION (vuninitializedq, inherent, all_integer_with_64, none) > #undef REQUIRES_FLOAT >=20 > #define REQUIRES_FLOAT true > DEF_MVE_FUNCTION (vreinterpretq, unary_convert, reinterpret_float, none) > +DEF_MVE_FUNCTION (vuninitializedq, inherent, all_float, none) > #undef REQUIRES_FLOAT > diff --git a/gcc/config/arm/arm-mve-builtins-base.h b/gcc/config/arm/arm- > mve-builtins-base.h > index 60e7bd24eda..ec309cbe572 100644 > --- a/gcc/config/arm/arm-mve-builtins-base.h > +++ b/gcc/config/arm/arm-mve-builtins-base.h > @@ -24,6 +24,7 @@ namespace arm_mve { > namespace functions { >=20 > extern const function_base *const vreinterpretq; > +extern const function_base *const vuninitializedq; >=20 > } /* end namespace arm_mve::functions */ > } /* end namespace arm_mve */ > diff --git a/gcc/config/arm/arm-mve-builtins-shapes.cc b/gcc/config/arm/a= rm- > mve-builtins-shapes.cc > index d0da0ffef91..ce476aa196e 100644 > --- a/gcc/config/arm/arm-mve-builtins-shapes.cc > +++ b/gcc/config/arm/arm-mve-builtins-shapes.cc > @@ -338,6 +338,22 @@ struct overloaded_base : public function_shape > } > }; >=20 > +/* [xN]_t vfoo_t0(). > + > + Example: vuninitializedq. > + int8x16_t [__arm_]vuninitializedq_s8(void) > + int8x16_t [__arm_]vuninitializedq(int8x16_t t) */ > +struct inherent_def : public nonoverloaded_base > +{ > + void > + build (function_builder &b, const function_group_info &group, > + bool preserve_user_namespace) const override > + { > + build_all (b, "t0", group, MODE_none, preserve_user_namespace); > + } > +}; > +SHAPE (inherent) > + > /* _t foo_t0[_t1](_t) >=20 > where the target type must be specified explicitly but the sourc= e > diff --git a/gcc/config/arm/arm-mve-builtins-shapes.h b/gcc/config/arm/ar= m- > mve-builtins-shapes.h > index 04d19a02890..a491369425c 100644 > --- a/gcc/config/arm/arm-mve-builtins-shapes.h > +++ b/gcc/config/arm/arm-mve-builtins-shapes.h > @@ -25,11 +25,16 @@ namespace arm_mve > /* The naming convention is: >=20 > - to use names like "unary" etc. if the rules are somewhat generic, > - especially if there are no ranges involved. */ > + especially if there are no ranges involved. > + > + Also: > + > + - "inherent" means that the function takes no arguments. */ >=20 > namespace shapes > { >=20 > + extern const function_shape *const inherent; > extern const function_shape *const unary_convert; >=20 > } /* end namespace arm_mve::shapes */ > diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h > index 7688b5a7e53..5dc5ecef134 100644 > --- a/gcc/config/arm/arm_mve.h > +++ b/gcc/config/arm/arm_mve.h > @@ -35382,6 +35382,79 @@ __arm_vgetq_lane (float32x4_t __a, const int > __idx) > } > #endif /* MVE Floating point. */ >=20 > + > +__extension__ extern __inline uint8x16_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (uint8x16_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_u8 (); > +} > + > +__extension__ extern __inline uint16x8_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (uint16x8_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_u16 (); > +} > + > +__extension__ extern __inline uint32x4_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (uint32x4_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_u32 (); > +} > + > +__extension__ extern __inline uint64x2_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (uint64x2_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_u64 (); > +} > + > +__extension__ extern __inline int8x16_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (int8x16_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_s8 (); > +} > + > +__extension__ extern __inline int16x8_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (int16x8_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_s16 (); > +} > + > +__extension__ extern __inline int32x4_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (int32x4_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_s32 (); > +} > + > +__extension__ extern __inline int64x2_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (int64x2_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_s64 (); > +} > + > +#if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ > +__extension__ extern __inline float16x8_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (float16x8_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_f16 (); > +} > + > +__extension__ extern __inline float32x4_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +__arm_vuninitializedq (float32x4_t /* __v ATTRIBUTE UNUSED */) > +{ > + return __arm_vuninitializedq_f32 (); > +} > +#endif /* __ARM_FEATURE_MVE & 2 (MVE floating point) */ > + > #else > enum { > __ARM_mve_type_fp_n =3D 1, > diff --git a/gcc/config/arm/arm_mve_types.h > b/gcc/config/arm/arm_mve_types.h > index ae2591faa03..32942e51a74 100644 > --- a/gcc/config/arm/arm_mve_types.h > +++ b/gcc/config/arm/arm_mve_types.h > @@ -29,173 +29,4 @@ typedef float float32_t; >=20 > #pragma GCC arm "arm_mve_types.h" >=20 > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_u8 (void) > -{ > - uint8x16_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_u16 (void) > -{ > - uint16x8_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_u32 (void) > -{ > - uint32x4_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_u64 (void) > -{ > - uint64x2_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_s8 (void) > -{ > - int8x16_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_s16 (void) > -{ > - int16x8_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_s32 (void) > -{ > - int32x4_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_s64 (void) > -{ > - int64x2_t __uninit; > - __asm__ ("": "=3Dw"(__uninit)); > - return __uninit; > -} > - > -#if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_f16 (void) > -{ > - float16x8_t __uninit; > - __asm__ ("": "=3Dw" (__uninit)); > - return __uninit; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq_f32 (void) > -{ > - float32x4_t __uninit; > - __asm__ ("": "=3Dw" (__uninit)); > - return __uninit; > -} > - > -#endif > - > -#ifdef __cplusplus > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (uint8x16_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_u8 (); > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (uint16x8_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_u16 (); > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (uint32x4_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_u32 (); > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (uint64x2_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_u64 (); > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (int8x16_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_s8 (); > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (int16x8_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_s16 (); > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (int32x4_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_s32 (); > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (int64x2_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_s64 (); > -} > - > -#if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (float16x8_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_f16 (); > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -__arm_vuninitializedq (float32x4_t /* __v ATTRIBUTE UNUSED */) > -{ > - return __arm_vuninitializedq_f32 (); > -} > -#endif /* __ARM_FEATURE_MVE & 2 (MVE floating point) */ > -#endif /* __cplusplus */ > - > #endif /* _GCC_ARM_MVE_H. */ > -- > 2.34.1