From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2060.outbound.protection.outlook.com [40.107.21.60]) by sourceware.org (Postfix) with ESMTPS id E4FE43858CDA for ; Tue, 10 Jan 2023 14:08:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E4FE43858CDA 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=jMLYhTihiMvlwlvbOUSK6TxfbsLBqWRAkQ5dUpEMjvA=; b=3sQFZ0FPWuqD77b1ozpytL9Fb18oWhsy8caebSbsbXJYSAPPe1sGZie6wyrrXSgFsyMXK4CEGjAABuf7sNoLGV5Ro1GtarYSrMCMpbOCINLF9VJJDsdiX0H34sxnu0XVsdbit4yogcBHF+oyO+moz4NU0YYRncCCU2CcQuQWlbY= Received: from FR3P281CA0117.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::8) by DB4PR08MB8007.eurprd08.prod.outlook.com (2603:10a6:10:38d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Tue, 10 Jan 2023 14:08:02 +0000 Received: from VI1EUR03FT058.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:a3:cafe::73) by FR3P281CA0117.outlook.office365.com (2603:10a6:d10:a3::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.11 via Frontend Transport; Tue, 10 Jan 2023 14:08: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 VI1EUR03FT058.mail.protection.outlook.com (100.127.144.186) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18 via Frontend Transport; Tue, 10 Jan 2023 14:08:01 +0000 Received: ("Tessian outbound baf1b7a96f25:v132"); Tue, 10 Jan 2023 14:08:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c7d8cce512d81038 X-CR-MTA-TID: 64aa7808 Received: from bd6920512c2a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F8B74774-7636-4C0D-AB13-191EE1008607.1; Tue, 10 Jan 2023 14:07:50 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bd6920512c2a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 10 Jan 2023 14:07:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JB2cB8gndZUUWuVxJxNYayorMlOvnMj+QR8+JHk6S6byPgxM9MrJ24m17qkXLqqVtyQjk+SuExfKQkEGN8QZhH0RJnWyczgzoevv4sFG/z+JH5dS0H/jC/3fbXfDGp0hDK1Tjt4xTDig71q+LUG0Dnu4us4R8YV48W8k+MbBbCQfS8GXn0LZnzHh1xQz3xjBZK1VO4BpEWJMRRwtGpKmb4gNSGDLGVA4LF5I7Shd2gpe1mJWeyzHdPttn/SGE9aDd4ImTZVsL12G9PQN3S4m4Oh77z9OSqZRES427VrUcuxQd081fKqkWY4PJVCO0KLjcKL15gyGLPBzOp93+8hfPQ== 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=jMLYhTihiMvlwlvbOUSK6TxfbsLBqWRAkQ5dUpEMjvA=; b=CBtZ+Ks1cVXF8cG4uNWuM1PoMDJKfQdrlr57zBJp6sxMuKUfFAFNY94TW5ja1iaE/3sK0JfuWhXk9JSZMBumNBFJ/CNu6CBexCvrHbbR6Vj1p1luGWOECJFtiThCrndzbgSK4BhnoTcCfyBb0H6Ql0y7xBT4pk0BgUaV7ARyuy6QXPwq9pjNJl+VBovjSJVkzQ9n+un/LAWcAgzaRPBHf5g5KRhZs1FMXcJX7UR63ziEUT/Qx+UQNMKdMOc1193bApPFboDY4+MvNlGsfxI3kMMtx/pF/kNfyCqqZGjz9p6qPSNLTzL6XbtjpCi2cByWjSV4NXAfO4H/pAXV6jEr2g== 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=jMLYhTihiMvlwlvbOUSK6TxfbsLBqWRAkQ5dUpEMjvA=; b=3sQFZ0FPWuqD77b1ozpytL9Fb18oWhsy8caebSbsbXJYSAPPe1sGZie6wyrrXSgFsyMXK4CEGjAABuf7sNoLGV5Ro1GtarYSrMCMpbOCINLF9VJJDsdiX0H34sxnu0XVsdbit4yogcBHF+oyO+moz4NU0YYRncCCU2CcQuQWlbY= Received: from DB9PR08MB6507.eurprd08.prod.outlook.com (2603:10a6:10:25a::6) by AM8PR08MB5714.eurprd08.prod.outlook.com (2603:10a6:20b:1dd::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Tue, 10 Jan 2023 14:07:42 +0000 Received: from DB9PR08MB6507.eurprd08.prod.outlook.com ([fe80::3cc3:8280:607f:2a8f]) by DB9PR08MB6507.eurprd08.prod.outlook.com ([fe80::3cc3:8280:607f:2a8f%6]) with mapi id 15.20.5986.018; Tue, 10 Jan 2023 14:07:42 +0000 From: Stam Markianos-Wright To: "gcc-patches@gcc.gnu.org" CC: Kyrylo Tkachov , Richard Earnshaw Subject: [PING][PATCH] arm: Split up MVE _Generic associations to prevent type clashes [PR107515] Thread-Topic: [PING][PATCH] arm: Split up MVE _Generic associations to prevent type clashes [PR107515] Thread-Index: AQHZBbGHNXUxpfONKUWSsL5GsM1T5K6X7Vh/ Date: Tue, 10 Jan 2023 14:07:42 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: DB9PR08MB6507:EE_|AM8PR08MB5714:EE_|VI1EUR03FT058:EE_|DB4PR08MB8007:EE_ X-MS-Office365-Filtering-Correlation-Id: ca4725cb-9ea0-42aa-1a32-08daf31415ca 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: a4S2pC5Tgmb5Ev0+SbxCZtGsqdfWmW9wGvcXrAF/dpt+ZD2wfOzf8qWm/tK9eyMoYdM65OX/eQVNAklT3rCXHHbJiBUMhPhJdjPWhzZf2Apl6p9n3+vTnRL8jeZv6bCDuCapYKb/LUOl9ohrIK0mQiYBQUpt/EwxJISHPAj6O2AnyhkMYhoTxEEaMOSk1n1veE5iZp6K/86fBlLQp/d04zYRralAQ8uz1/Eq1Yr3w8FM7DBpMfJv7FGK32tWhMi48a38cHvltc5Y02zI/lPVS27c1gwFPJ4Jw1Ux1nYotErbrhujaIfuTpeUx8dcDvUAiTK+flIsVSPq64zTZ9uxSvNgRf27W95Lt5rx+KOnfbus2UN/sHUgb9DLZzp6rRHdh5/2ht+TONlS+Pifk5jCsH31JL0Fs/997n3T+DGw3zXHd6xDylkVfx8UTt+kdXruas9qjd+G7k4BabfTvs98xHJ0UCOaROng0GIj7Z5JYsXQojFp0wIzeEOSY1wjf3uyczdJPEpM3CB6mIfu9eQdwwS6fmyKCd97mN8WXP+NyNe5TGu7Ttbji+gDCNNXsn9fbrr2Wq5ia7cOUvJ/owowJ9TYf9VXO3l/uCtrcRhwFkC9mYCgT5BFVAHlLPSILRGhmjKdRy1w2HiZhRq/dbSkh8jW88bCbji+qCliFFUB/DfgqaGnGq6MpagW1j6pyttbhbT7EhmQlfscGAsWa3b+/p6Zf4leUpFchS/QDck5Tr1ziDOXpt6CMVeWKM27GWcVH8sFbPGZ5YD3tcl/pLRzrACdmOHIXi+fdmQduKTfisg= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6507.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(451199015)(83380400001)(122000001)(99936003)(86362001)(166002)(21615005)(38070700005)(2906002)(52536014)(41300700001)(8936002)(5660300002)(55016003)(26005)(186003)(6506007)(478600001)(66446008)(4326008)(66946007)(8676002)(66556008)(9686003)(66476007)(316002)(76116006)(64756008)(6916009)(966005)(7696005)(54906003)(71200400001)(91956017)(38100700002)(33656002)(19627405001)(84970400001)(41533002);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_004_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5714 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: VI1EUR03FT058.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 8ac24436-d85a-458a-23b7-08daf3140a51 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eKCesoDmiRK+3mF0F7lm8I1e4DsKbInd9Iw5BvG4X2sua1cxBjNZkPbgeuSK+1+2ZhV6tPT45qtfOwx2adfDnc1fr8pstgM3VKdaViSnrMHtqQEjSv71WqqkG4qyl8FdMTNKPFnH+OLCIV1NCbIrxaWxyVfmsteyOiOK7XGUWmJr/s2QThLJ48RZx9EsuY/MZGOaKAwoQO/Vj/kuzMvQQD4rrrtPKmvxFlnPiiOcYusexP1gIP5BwT8UwohrJjHa3mZuYvAnVkE5wLrhF44uEah8gov0rltdyYoZ+Doj9HuivWxw/7PXh6J5hMt6SJPEpD3fF1qiF34fXe5gaWSJB7BwY6aE0wZoD4mLpOD7hHFmRJ35zn01umgqtzAa1yrS7HCK9W4RMefbBERKUg5aSRwzCFn7GgMu1/san6flOomguzFSzATSS3dokbgECNbibEnvCBOSR/k6MydgLfCfMWjEE/XyL1e+CP17sqox1zGE+xQbEiCM3ta9PEncHa8IgxAnowf5kBU8YIqVJrGaT/TFm+g7v/V6rJ6bPwMrTDlRBtME9SZ59qbjmXhwWIzQEj27OD8q3rYqwBaI5F6HZiVpXnWjFJtn3rQ93QcS5e6vwlL+juZ9va4ggnzFDQO56EiGZPU+zBPFYBf547Euqs3CDTSu/68PtU+wlufO3NSTuxvdV64fQgF1k+xRyGHrTe+feq6PKvlr8e7Q+Z0lTLbtL/awHbrgJgTJampgERdSLNfK82QTcZYQ1XYFh7IKVpRd2fBGoPTAU4zdqXiR+uQ2Za1K5UAWWzaGkmf6bg4= 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)(346002)(376002)(136003)(396003)(451199015)(40470700004)(46966006)(36840700001)(19627405001)(54906003)(86362001)(45080400002)(40460700003)(70586007)(41300700001)(6916009)(8676002)(4326008)(82740400003)(356005)(166002)(81166007)(36860700001)(33656002)(99936003)(70206006)(82310400005)(966005)(186003)(84970400001)(7696005)(478600001)(316002)(6506007)(26005)(2906002)(235185007)(5660300002)(52536014)(55016003)(8936002)(40480700001)(21615005)(83380400001)(47076005)(9686003)(336012)(30864003)(41533002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2023 14:08:01.5402 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ca4725cb-9ea0-42aa-1a32-08daf31415ca 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: VI1EUR03FT058.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8007 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_NONE,KAM_LOTSOFHASH,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: --_004_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_ Content-Type: multipart/alternative; boundary="_000_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_" --_000_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi all, With these previous patches: https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606586.html https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606587.html we enabled the MVE overloaded _Generic associations to handle more scalar types, however at PR 107515 we found a new regression that wasn't detected in our testing: With glibc's `posix/types.h`: ``` typedef signed int __int32_t; ... typedef __int32_t int32_t; ``` We would get a `error: '_Generic' specifies two compatible types` from `__ARM_mve_coerce3` because of `type: param`, when `type` is `int` and `int32_t: param` both being the same under the hood. The same did not happen with Newlib's header `sys/_stdint.h`: ``` typedef long int __int32_t; ... typedef __int32_t int32_t ; ``` which worked fine, because it uses `long int`. The same could feasibly happen in `__ARM_mve_coerce2` between `__fp16` and `float16_t`. The solution here is to break the _Generic down, so that the similar types don't appear at the same level, as is done in `__ARM_mve_typeid`. Ok for trunk? Thanks, Stam Markianos-Wright gcc/ChangeLog: PR target/96795 PR target/107515 * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types. (__ARM_mve_coerce3): Likewise. gcc/testsuite/ChangeLog: PR target/96795 PR target/107515 * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: New test. * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: New test. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Inline Ctrl+C, Ctrl+V or patch =3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h index 09167ec118ed3310c5077145e119196f29d83cac..70003653db65736fcfd019e83d9f18153= be650dc 100644 --- a/gcc/config/arm/arm_mve.h +++ b/gcc/config/arm/arm_mve.h @@ -35659,9 +35659,9 @@ extern void *__ARM_undef; #define __ARM_mve_coerce1(param, type) \ _Generic(param, type: param, const type: param, default: *(type *)__ARM_undef) #define __ARM_mve_coerce2(param, type) \ - _Generic(param, type: param, float16_t: param, float32_t: param, default: *(type *)__ARM_undef) + _Generic(param, type: param, __fp16: param, default: _Generic (param, _Float16: param, float16_t: param, float32_t: param, default: *(type *)__ARM_undef)) #define __ARM_mve_coerce3(param, type) \ - _Generic(param, type: param, int8_t: param, int16_t: param, int32_t: param, int64_t: param, uint8_t: param, uint16_t: param, uint32_t: param, uint64_t: param, default: *(type *)__ARM_undef) + _Generic(param, type: param, default: _Generic (param, int8_t: param, int16_t: param, int32_t: param, int64_t: param, uint8_t: param, uint16_t: param, uint32_t: param, uint64_t: param, default: *(type *)__ARM_undef)) #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-= fp.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-= fp.c new file mode 100644 index 0000000000000000000000000000000000000000..427dcacb5ff59b53d5eab1f1582ef6460= da3f2f3 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-= fp.c @@ -0,0 +1,65 @@ +/* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */ +/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-additional-options "-O2 -Wno-pedantic -Wno-long-long" } */ +#include "arm_mve.h" + +float f1; +double f2; +float16_t f3; +float32_t f4; +__fp16 f5; +_Float16 f6; + +int i1; +short i2; +long i3; +long long i4; +int8_t i5; +int16_t i6; +int32_t i7; +int64_t i8; + +const int ci1; +const short ci2; +const long ci3; +const long long ci4; +const int8_t ci5; +const int16_t ci6; +const int32_t ci7; +const int64_t ci8; + +float16x8_t floatvec; +int16x8_t intvec; + +void test(void) +{ + /* Test a few different supported ways of passing an int value. The + intrinsic vmulq was chosen arbitrarily, but it is representative of + all intrinsics that take a non-const scalar value. */ + intvec =3D vmulq(intvec, 2); + intvec =3D vmulq(intvec, (int32_t) 2); + intvec =3D vmulq(intvec, (short) 2); + intvec =3D vmulq(intvec, i1); + intvec =3D vmulq(intvec, i2); + intvec =3D vmulq(intvec, i3); + intvec =3D vmulq(intvec, i4); + intvec =3D vmulq(intvec, i5); + intvec =3D vmulq(intvec, i6); + intvec =3D vmulq(intvec, i7); + intvec =3D vmulq(intvec, i8); + + /* Test a few different supported ways of passing a float value. */ + floatvec =3D vmulq(floatvec, 0.5); + floatvec =3D vmulq(floatvec, 0.5f); + floatvec =3D vmulq(floatvec, (__fp16) 0.5); + floatvec =3D vmulq(floatvec, f1); + floatvec =3D vmulq(floatvec, f2); + floatvec =3D vmulq(floatvec, f3); + floatvec =3D vmulq(floatvec, f4); + floatvec =3D vmulq(floatvec, f5); + floatvec =3D vmulq(floatvec, f6); + floatvec =3D vmulq(floatvec, 0.15f16); + floatvec =3D vmulq(floatvec, (_Float16) 0.15); +} + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-= int.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-= int.c new file mode 100644 index 0000000000000000000000000000000000000000..d0e3b3eb30f46cb8327e7b97671399072= 1305c9b --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-= int.c @@ -0,0 +1,45 @@ +/* { dg-require-effective-target arm_v8_1m_mve_ok } */ +/* { dg-add-options arm_v8_1m_mve } */ +/* { dg-additional-options "-O2 -Wno-pedantic -Wno-long-long" } */ + +#include "arm_mve.h" + +int i1; +short i2; +long i3; +long long i4; +int8_t i5; +int16_t i6; +int32_t i7; +int64_t i8; + +const int ci1; +const short ci2; +const long ci3; +const long long ci4; +const int8_t ci5; +const int16_t ci6; +const int32_t ci7; +const int64_t ci8; + +int16x8_t intvec; + +void test(void) +{ + /* Test a few different supported ways of passing an int value. The + intrinsic vmulq was chosen arbitrarily, but it is representative of + all intrinsics that take a non-const scalar value. */ + intvec =3D vmulq(intvec, 2); + intvec =3D vmulq(intvec, (int32_t) 2); + intvec =3D vmulq(intvec, (short) 2); + intvec =3D vmulq(intvec, i1); + intvec =3D vmulq(intvec, i2); + intvec =3D vmulq(intvec, i3); + intvec =3D vmulq(intvec, i4); + intvec =3D vmulq(intvec, i5); + intvec =3D vmulq(intvec, i6); + intvec =3D vmulq(intvec, i7); + intvec =3D vmulq(intvec, i8); +} + +/* { dg-final { scan-assembler-not "__ARM_undef" } } */ \ No newline at end of file --_000_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_-- --_004_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_ Content-Type: text/x-patch; name="rb16663.patch" Content-Description: rb16663.patch Content-Disposition: attachment; filename="rb16663.patch"; size=4954; creation-date="Thu, 01 Dec 2022 18:20:02 GMT"; modification-date="Tue, 10 Jan 2023 14:06:35 GMT" Content-ID: Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybV9tdmUuaCBiL2djYy9j b25maWcvYXJtL2FybV9tdmUuaAppbmRleCAwOTE2N2VjMTE4ZWQzMzEwYzUw NzcxNDVlMTE5MTk2ZjI5ZDgzY2FjLi43MDAwMzY1M2RiNjU3MzZmY2ZkMDE5 ZTgzZDlmMTgxNTNiZTY1MGRjIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2Fy bS9hcm1fbXZlLmgKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJtX212ZS5oCkBA IC0zNTY1OSw5ICszNTY1OSw5IEBAIGV4dGVybiB2b2lkICpfX0FSTV91bmRl ZjsKICNkZWZpbmUgX19BUk1fbXZlX2NvZXJjZTEocGFyYW0sIHR5cGUpIFwK ICAgICBfR2VuZXJpYyhwYXJhbSwgdHlwZTogcGFyYW0sIGNvbnN0IHR5cGU6 IHBhcmFtLCBkZWZhdWx0OiAqKHR5cGUgKilfX0FSTV91bmRlZikKICNkZWZp bmUgX19BUk1fbXZlX2NvZXJjZTIocGFyYW0sIHR5cGUpIFwKLSAgICBfR2Vu ZXJpYyhwYXJhbSwgdHlwZTogcGFyYW0sIGZsb2F0MTZfdDogcGFyYW0sIGZs b2F0MzJfdDogcGFyYW0sIGRlZmF1bHQ6ICoodHlwZSAqKV9fQVJNX3VuZGVm KQorICAgIF9HZW5lcmljKHBhcmFtLCB0eXBlOiBwYXJhbSwgX19mcDE2OiBw YXJhbSwgZGVmYXVsdDogX0dlbmVyaWMgKHBhcmFtLCBfRmxvYXQxNjogcGFy YW0sIGZsb2F0MTZfdDogcGFyYW0sIGZsb2F0MzJfdDogcGFyYW0sIGRlZmF1 bHQ6ICoodHlwZSAqKV9fQVJNX3VuZGVmKSkKICNkZWZpbmUgX19BUk1fbXZl X2NvZXJjZTMocGFyYW0sIHR5cGUpIFwKLSAgICBfR2VuZXJpYyhwYXJhbSwg dHlwZTogcGFyYW0sIGludDhfdDogcGFyYW0sIGludDE2X3Q6IHBhcmFtLCBp bnQzMl90OiBwYXJhbSwgaW50NjRfdDogcGFyYW0sIHVpbnQ4X3Q6IHBhcmFt LCB1aW50MTZfdDogcGFyYW0sIHVpbnQzMl90OiBwYXJhbSwgdWludDY0X3Q6 IHBhcmFtLCBkZWZhdWx0OiAqKHR5cGUgKilfX0FSTV91bmRlZikKKyAgICBf R2VuZXJpYyhwYXJhbSwgdHlwZTogcGFyYW0sIGRlZmF1bHQ6IF9HZW5lcmlj IChwYXJhbSwgaW50OF90OiBwYXJhbSwgaW50MTZfdDogcGFyYW0sIGludDMy X3Q6IHBhcmFtLCBpbnQ2NF90OiBwYXJhbSwgdWludDhfdDogcGFyYW0sIHVp bnQxNl90OiBwYXJhbSwgdWludDMyX3Q6IHBhcmFtLCB1aW50NjRfdDogcGFy YW0sIGRlZmF1bHQ6ICoodHlwZSAqKV9fQVJNX3VuZGVmKSkKIAogI2lmIChf X0FSTV9GRUFUVVJFX01WRSAmIDIpIC8qIE1WRSBGbG9hdGluZyBwb2ludC4g ICovCiAKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h cm0vbXZlL2ludHJpbnNpY3MvbXZlX2ludHJpbnNpY190eXBlX292ZXJsb2Fk cy1mcC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvaW50 cmluc2ljcy9tdmVfaW50cmluc2ljX3R5cGVfb3ZlcmxvYWRzLWZwLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI3ZGNhY2I1ZmY1OWI1M2Q1ZWFiMWYx NTgyZWY2NDYwZGEzZjJmMwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL2ludHJpbnNpY3MvbXZlX2ludHJp bnNpY190eXBlX292ZXJsb2Fkcy1mcC5jCkBAIC0wLDAgKzEsNjUgQEAKKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVf ZnBfb2sgfSAqLworLyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1fbXZl X2ZwIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItTzIgLVdu by1wZWRhbnRpYyAtV25vLWxvbmctbG9uZyIgfSAqLworI2luY2x1ZGUgImFy bV9tdmUuaCIKKworZmxvYXQgZjE7Citkb3VibGUgZjI7CitmbG9hdDE2X3Qg ZjM7CitmbG9hdDMyX3QgZjQ7CitfX2ZwMTYgZjU7CitfRmxvYXQxNiBmNjsK KworaW50IGkxOworc2hvcnQgaTI7Citsb25nIGkzOworbG9uZyBsb25nIGk0 OworaW50OF90IGk1OworaW50MTZfdCBpNjsKK2ludDMyX3QgaTc7CitpbnQ2 NF90IGk4OworCitjb25zdCBpbnQgY2kxOworY29uc3Qgc2hvcnQgY2kyOwor Y29uc3QgbG9uZyBjaTM7Citjb25zdCBsb25nIGxvbmcgY2k0OworY29uc3Qg aW50OF90IGNpNTsKK2NvbnN0IGludDE2X3QgY2k2OworY29uc3QgaW50MzJf dCBjaTc7Citjb25zdCBpbnQ2NF90IGNpODsKKworZmxvYXQxNng4X3QgZmxv YXR2ZWM7CitpbnQxNng4X3QgaW50dmVjOworCit2b2lkIHRlc3Qodm9pZCkK K3sKKyAgICAvKiBUZXN0IGEgZmV3IGRpZmZlcmVudCBzdXBwb3J0ZWQgd2F5 cyBvZiBwYXNzaW5nIGFuIGludCB2YWx1ZS4gIFRoZQorICAgIGludHJpbnNp YyB2bXVscSB3YXMgY2hvc2VuIGFyYml0cmFyaWx5LCBidXQgaXQgaXMgcmVw cmVzZW50YXRpdmUgb2YKKyAgICBhbGwgaW50cmluc2ljcyB0aGF0IHRha2Ug YSBub24tY29uc3Qgc2NhbGFyIHZhbHVlLiAgKi8KKyAgICBpbnR2ZWMgPSB2 bXVscShpbnR2ZWMsIDIpOworICAgIGludHZlYyA9IHZtdWxxKGludHZlYywg KGludDMyX3QpIDIpOworICAgIGludHZlYyA9IHZtdWxxKGludHZlYywgKHNo b3J0KSAyKTsKKyAgICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMsIGkxKTsKKyAg ICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMsIGkyKTsKKyAgICBpbnR2ZWMgPSB2 bXVscShpbnR2ZWMsIGkzKTsKKyAgICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMs IGk0KTsKKyAgICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMsIGk1KTsKKyAgICBp bnR2ZWMgPSB2bXVscShpbnR2ZWMsIGk2KTsKKyAgICBpbnR2ZWMgPSB2bXVs cShpbnR2ZWMsIGk3KTsKKyAgICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMsIGk4 KTsKKworICAgIC8qIFRlc3QgYSBmZXcgZGlmZmVyZW50IHN1cHBvcnRlZCB3 YXlzIG9mIHBhc3NpbmcgYSBmbG9hdCB2YWx1ZS4gICovCisgICAgZmxvYXR2 ZWMgPSB2bXVscShmbG9hdHZlYywgMC41KTsKKyAgICBmbG9hdHZlYyA9IHZt dWxxKGZsb2F0dmVjLCAwLjVmKTsKKyAgICBmbG9hdHZlYyA9IHZtdWxxKGZs b2F0dmVjLCAoX19mcDE2KSAwLjUpOworICAgIGZsb2F0dmVjID0gdm11bHEo ZmxvYXR2ZWMsIGYxKTsKKyAgICBmbG9hdHZlYyA9IHZtdWxxKGZsb2F0dmVj LCBmMik7CisgICAgZmxvYXR2ZWMgPSB2bXVscShmbG9hdHZlYywgZjMpOwor ICAgIGZsb2F0dmVjID0gdm11bHEoZmxvYXR2ZWMsIGY0KTsKKyAgICBmbG9h dHZlYyA9IHZtdWxxKGZsb2F0dmVjLCBmNSk7CisgICAgZmxvYXR2ZWMgPSB2 bXVscShmbG9hdHZlYywgZjYpOworICAgIGZsb2F0dmVjID0gdm11bHEoZmxv YXR2ZWMsIDAuMTVmMTYpOworICAgIGZsb2F0dmVjID0gdm11bHEoZmxvYXR2 ZWMsIChfRmxvYXQxNikgMC4xNSk7Cit9CisKKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci1ub3QgIl9fQVJNX3VuZGVmIiB9IH0gKi8KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYXJtL212ZS9pbnRyaW5zaWNzL212ZV9pbnRyaW5z aWNfdHlwZV9vdmVybG9hZHMtaW50LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYXJtL212ZS9pbnRyaW5zaWNzL212ZV9pbnRyaW5zaWNfdHlwZV9v dmVybG9hZHMtaW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBlM2Iz ZWIzMGY0NmNiODMyN2U3Yjk3NjcxMzk5MDcyMTMwNWM5YgotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL2lu dHJpbnNpY3MvbXZlX2ludHJpbnNpY190eXBlX292ZXJsb2Fkcy1pbnQuYwpA QCAtMCwwICsxLDQ1IEBACisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCBhcm1fdjhfMW1fbXZlX29rIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlv bnMgYXJtX3Y4XzFtX212ZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLU8yIC1Xbm8tcGVkYW50aWMgLVduby1sb25nLWxvbmciIH0gKi8K KworI2luY2x1ZGUgImFybV9tdmUuaCIKKworaW50IGkxOworc2hvcnQgaTI7 Citsb25nIGkzOworbG9uZyBsb25nIGk0OworaW50OF90IGk1OworaW50MTZf dCBpNjsKK2ludDMyX3QgaTc7CitpbnQ2NF90IGk4OworCitjb25zdCBpbnQg Y2kxOworY29uc3Qgc2hvcnQgY2kyOworY29uc3QgbG9uZyBjaTM7Citjb25z dCBsb25nIGxvbmcgY2k0OworY29uc3QgaW50OF90IGNpNTsKK2NvbnN0IGlu dDE2X3QgY2k2OworY29uc3QgaW50MzJfdCBjaTc7Citjb25zdCBpbnQ2NF90 IGNpODsKKworaW50MTZ4OF90IGludHZlYzsKKwordm9pZCB0ZXN0KHZvaWQp Cit7CisgICAgLyogVGVzdCBhIGZldyBkaWZmZXJlbnQgc3VwcG9ydGVkIHdh eXMgb2YgcGFzc2luZyBhbiBpbnQgdmFsdWUuICBUaGUKKyAgICBpbnRyaW5z aWMgdm11bHEgd2FzIGNob3NlbiBhcmJpdHJhcmlseSwgYnV0IGl0IGlzIHJl cHJlc2VudGF0aXZlIG9mCisgICAgYWxsIGludHJpbnNpY3MgdGhhdCB0YWtl IGEgbm9uLWNvbnN0IHNjYWxhciB2YWx1ZS4gICovCisgICAgaW50dmVjID0g dm11bHEoaW50dmVjLCAyKTsKKyAgICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMs IChpbnQzMl90KSAyKTsKKyAgICBpbnR2ZWMgPSB2bXVscShpbnR2ZWMsIChz aG9ydCkgMik7CisgICAgaW50dmVjID0gdm11bHEoaW50dmVjLCBpMSk7Cisg ICAgaW50dmVjID0gdm11bHEoaW50dmVjLCBpMik7CisgICAgaW50dmVjID0g dm11bHEoaW50dmVjLCBpMyk7CisgICAgaW50dmVjID0gdm11bHEoaW50dmVj LCBpNCk7CisgICAgaW50dmVjID0gdm11bHEoaW50dmVjLCBpNSk7CisgICAg aW50dmVjID0gdm11bHEoaW50dmVjLCBpNik7CisgICAgaW50dmVjID0gdm11 bHEoaW50dmVjLCBpNyk7CisgICAgaW50dmVjID0gdm11bHEoaW50dmVjLCBp OCk7Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qg Il9fQVJNX3VuZGVmIiB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCg== --_004_DB9PR08MB6507C6E5774C27F424DCB1B7BBFF9DB9PR08MB6507eurp_--