From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 38306 invoked by alias); 14 Nov 2019 19:13:53 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 37575 invoked by uid 89); 14 Nov 2019 19:13:43 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-eopbgr150052.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (40.107.15.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 14 Nov 2019 19:13:26 +0000 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=1iH5ulHdvoeBLB46xqTFNo3CKOAb5ZI+YwYISUihU8w=; b=2y3lIxBpIml1rrIIeUPQn8hnrjF732r9qkLXGv6ZWCSGfPC97QabaUQOTYYnWzA4CAjyHhKxgsLgBF+ieez3Q+PhbCmqbj9mgVF6oAv2ZTaduix2PANyXxmU7HoLtKKHVJHXedFgdvIsTfNOYbtYmdPUrWX3O+wXwrVxFrBQxLs= Received: from VI1PR08CA0095.eurprd08.prod.outlook.com (2603:10a6:800:d3::21) by VI1PR0802MB2605.eurprd08.prod.outlook.com (2603:10a6:800:b0::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.26; Thu, 14 Nov 2019 19:13:20 +0000 Received: from VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::209) by VI1PR08CA0095.outlook.office365.com (2603:10a6:800:d3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23 via Frontend Transport; Thu, 14 Nov 2019 19:13:20 +0000 Authentication-Results: spf=fail (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=none action=none header.from=arm.com; Received-SPF: Fail (protection.outlook.com: domain of arm.com does not designate 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT004.mail.protection.outlook.com (10.152.18.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23 via Frontend Transport; Thu, 14 Nov 2019 19:13:19 +0000 Received: ("Tessian outbound 851a1162fca7:v33"); Thu, 14 Nov 2019 19:13:19 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 12d3877c901359a0 X-CR-MTA-TID: 64aa7808 Received: from 26259d5e6ccb.2 (cr-mta-lb-1.cr-mta-net [104.47.13.58]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2F56C311-145C-4E76-8CC5-555D993E95AF.1; Thu, 14 Nov 2019 19:13:14 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 26259d5e6ccb.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 Nov 2019 19:13:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PyN1G6KCNQ3Z0NxuQhNnLSm8uNxaXl1IHjCCMeVcAUfMf6KfUJqVdTUwDJMpM0PXT46o4/zFiyG4hi7PQW4nGKzGC0cJ/4ZSbamG/AwZYGLTw9munDMCoTxj17mcElfz5BtmifrqST0u3veLdqcbUfNs5YRAdRSnO7vgqNSbjWk4dgUrTu9H0Ypck6pKec3y0HjhfsJ+sdZkqBOBzYJG46mFm3HN+KChBUaMaBQr27EbFpsvGKmpx2FqefNYi9Ppj8CPATbS+lf6NOewDPvHk/s1Rn15pFGJ7QZER28HPB5iczTZfl2hWXvWF2sa231SSV5fEltRLfBBBKyHhQ1Ydw== 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-SenderADCheck; bh=1iH5ulHdvoeBLB46xqTFNo3CKOAb5ZI+YwYISUihU8w=; b=YdAqnbb5ereSJZLxE7AeQeqwZssWWo1+pUdzDGl6/pjhQIzPxMQGGsCF8Aw7jS9Oedlh8Sh/DPMcAFcBQ1rqAX1ILxpeEU474ahDUyFBoAf5bNWqMbEY4x8FIoq8zNELmsWOvecD6p79iR2/9oD7uUUGmn9RlKHt7yy1d69amMOBXWluAA9IX0iXzO+iQOXEUbtk8N/W3N/Fj4KRUU91xVwto77yioZpGpaEUALzKXJo12zmb33EjWz3ct48fEkHEsvCJsBeLQESE1tSU4xGFDRDysqSgy/A0gpqv3iXl6io5osni89el0e86FaR97df2YatMiIjgOxFVhBq1Ww0cA== 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=1iH5ulHdvoeBLB46xqTFNo3CKOAb5ZI+YwYISUihU8w=; b=2y3lIxBpIml1rrIIeUPQn8hnrjF732r9qkLXGv6ZWCSGfPC97QabaUQOTYYnWzA4CAjyHhKxgsLgBF+ieez3Q+PhbCmqbj9mgVF6oAv2ZTaduix2PANyXxmU7HoLtKKHVJHXedFgdvIsTfNOYbtYmdPUrWX3O+wXwrVxFrBQxLs= Received: from DBBPR08MB4775.eurprd08.prod.outlook.com (20.179.46.211) by DBBPR08MB4807.eurprd08.prod.outlook.com (20.179.46.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.23; Thu, 14 Nov 2019 19:13:11 +0000 Received: from DBBPR08MB4775.eurprd08.prod.outlook.com ([fe80::1c7c:c72d:2183:12d1]) by DBBPR08MB4775.eurprd08.prod.outlook.com ([fe80::1c7c:c72d:2183:12d1%7]) with mapi id 15.20.2430.028; Thu, 14 Nov 2019 19:13:11 +0000 From: Srinath Parvathaneni To: "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , Kyrylo Tkachov Subject: [PATCH][ARM][GCC][2/3x]: MVE intrinsics with ternary operands. Date: Thu, 14 Nov 2019 19:16:00 -0000 Message-ID: References: <157375666998.31400.16652205595246718910.scripted-patch-series@arm.com> In-Reply-To: <157375666998.31400.16652205595246718910.scripted-patch-series@arm.com> Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Srinath.Parvathaneni@arm.com; X-MS-Exchange-PUrlCount: 1 x-ms-exchange-transport-forked: True x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:849;OLM:849; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(1496009)(4636009)(39860400002)(396003)(366004)(376002)(346002)(136003)(54534003)(199004)(189003)(81156014)(316002)(81166006)(30864003)(2501003)(44832011)(4326008)(74316002)(7696005)(99286004)(478600001)(186003)(11346002)(26005)(54906003)(76176011)(52536014)(5660300002)(446003)(25786009)(71190400001)(71200400001)(33656002)(66946007)(52116002)(305945005)(66556008)(7736002)(66446008)(66476007)(66616009)(64756008)(256004)(9686003)(966005)(5640700003)(3846002)(66066001)(4001150100001)(6916009)(86362001)(486006)(6506007)(6436002)(14454004)(8936002)(2906002)(6116002)(2351001)(55016002)(8676002)(102836004)(386003)(476003)(6306002)(579004)(559001)(569006);DIR:OUT;SFP:1101;SCL:1;SRVR:DBBPR08MB4807;H:DBBPR08MB4775.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: dF1JfucMhB6wxAuw3ewYvcvSN83cQiPSNQj9vVYv5N6tlOD66nBWiqoObmPtWdX4Tg07gHPA10ppi0dZH7qmPvVK7mDjJf2En7zY4mXpN6hQy5KL3TSe671TbesKrEncM6d3OIUfsMEoLwDcE1NiP3Nt59ynsB6wPthh/Mv2UErNzCdsff47JxuWMsagO34pUX8WJnSu20pdiEBsZvT8rZVQ50KTV0ragPug8fPD/0IVftxA6liDZhYMPpSdbKDD0ZEbY1YykbrWGo54OT6Kh6Q3L6OQ2tLHxG4D7IXDdWn+NqiinBbOpnF06fR4J+dw5yztr9vB+V3yC3ePhqc23pzxZs3y89YJ+UCsTmV9z8ZbUKS/fKXy0s118HNaEZTG1cz10Jl+U2OuMPVLhoqIdaAh4rRyjUOujtBVH32zH7z+k45jJoR6/r2x7bIHo58KEGrOsK/+N+k5RpE5VWvN8GZwcw6YMUfBJCOlrOFr2K8= Content-Type: multipart/mixed; boundary="_002_DBBPR08MB477557E56A92A793923B26DC9B710DBBPR08MB4775eurp_" MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Srinath.Parvathaneni@arm.com; Return-Path: Srinath.Parvathaneni@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: b685f722-0dea-46df-c6e7-08d76936b0bf X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg01279.txt.bz2 --_002_DBBPR08MB477557E56A92A793923B26DC9B710DBBPR08MB4775eurp_ Content-Type: text/plain; charset="us-ascii" Content-ID: <9B6F9AFE423B6C46A8E2BD6EF45BC7CB@eurprd08.prod.outlook.com> Content-Transfer-Encoding: quoted-printable Content-length: 41311 Hello, This patch supports following MVE ACLE intrinsics with ternary operands. vpselq_u8, vpselq_s8, vrev64q_m_u8, vqrdmlashq_n_u8, vqrdmlahq_n_u8, vqdmlahq_n_u8, vmvnq_m_u8, vmlasq_n_u8, vmlaq_n_u8, vmladavq_p_u8, vmladavaq_u8, vminvq_p_u8, vmaxvq_p_u8, vdupq_m_n_u8, vcmpneq_m_u8, vcmpneq_m_n_u8, vcmphiq_m_u8, vcmphiq_m_n_u8, vcmpeqq_m_u8, vcmpeqq_m_n_u8, vcmpcsq_m_u8, vcmpcsq_m_n_u8, vclzq_m_u8, vaddvaq_p_u8, vsriq_n_u8, vsliq_n_u8, vshlq_m_r_u8, vrshlq_m_n_u8, vqshlq_m_r_u8, vqrshlq_m_n_u8, vminavq_p_s8, vminaq_m_s8, vmaxavq_p_s8, vmaxaq_m_s8, vcmpneq_m_s8, vcmpneq_m_n_s8, vcmpltq_m_s8, vcmpltq_m_n_s8, vcmpleq_m_s8, vcmpleq_m_n_s8, vcmpgtq_m_s8, vcmpgtq_m_n_s8, vcmpgeq_m_s8, vcmpgeq_m_n_s8, vcmpeqq_m_s8, vcmpeqq_m_n_s8, vshlq_m_r_s8, vrshlq_m_n_s8, vrev64q_m_s8, vqshlq_m_r_s8, vqrshlq_m_n_s8, vqnegq_m_s8, vqabsq_m_s8, vnegq_m_s8, vmvnq_m_s8, vmlsdavxq_p_s8, vmlsdavq_p_s8, vmladavxq_p_s8, vmladavq_p_s8, vminvq_p_s8, vmaxvq_p_s8, vdupq_m_n_s8, vclzq_m_s8, vclsq_m_s8, vaddvaq_p_s= 8, vabsq_m_s8, vqrdmlsdhxq_s8, vqrdmlsdhq_s8, vqrdmlashq_n_s8, vqrdmlahq_n_s8, vqrdmladhxq_s8, vqrdmladhq_s8, vqdmlsdhxq_s8, vqdmlsdhq_s8, vqdmlahq_n_s8, vqdmladhxq_s8, vqdmladhq_s8, vmlsdavaxq_s8, vmlsdavaq_s8, vmlasq_n_s8, vmlaq_n_s8, vmladavaxq_s8, vmladavaq_s8, vsriq_n_s8, vsliq_n_s8, vpselq_u16, vpselq_s16, vrev64q_m_u16, vqrdmlashq_n_u16, vqrdmlahq_n_u16, vqdmlahq_n_u1= 6, vmvnq_m_u16, vmlasq_n_u16, vmlaq_n_u16, vmladavq_p_u16, vmladavaq_u16, vminvq_p_u16, vmaxvq_p_u16, vdupq_m_n_u16, vcmpneq_m_u16, vcmpneq_m_n_u16, vcmphiq_m_u16, vcmphiq_m_n_u16, vcmpeqq_m_u16, vcmpeqq_m_n_u16, vcmpcsq_m_u= 16, vcmpcsq_m_n_u16, vclzq_m_u16, vaddvaq_p_u16, vsriq_n_u16, vsliq_n_u16, vshlq_m_r_u16, vrshlq_m_n_u16, vqshlq_m_r_u16, vqrshlq_m_n_u16, vminavq_p_s= 16, vminaq_m_s16, vmaxavq_p_s16, vmaxaq_m_s16, vcmpneq_m_s16, vcmpneq_m_n_s16, vcmpltq_m_s16, vcmpltq_m_n_s16, vcmpleq_m_s16, vcmpleq_m_n_s16, vcmpgtq_m_s= 16, vcmpgtq_m_n_s16, vcmpgeq_m_s16, vcmpgeq_m_n_s16, vcmpeqq_m_s16, vcmpeqq_m_n= _s16, vshlq_m_r_s16, vrshlq_m_n_s16, vrev64q_m_s16, vqshlq_m_r_s16, vqrshlq_m_n_s= 16, vqnegq_m_s16, vqabsq_m_s16, vnegq_m_s16, vmvnq_m_s16, vmlsdavxq_p_s16, vmlsdavq_p_s16, vmladavxq_p_s16, vmladavq_p_s16, vminvq_p_s16, vmaxvq_p_s16, vdupq_m_n_s16, vclzq_m_s16, vclsq_m_s16, vaddvaq_p_s16, vabsq_m_s16, vqrdmlsdhxq_s16, vqrdmlsdhq_s16, vqrdmlashq_n_s16, vqrdmlahq_n_s16, vqrdmladhxq_s16, vqrdmladhq_s16, vqdmlsdhxq_s16, vqdmlsdhq_s16, vqdmlahq_n_= s16, vqdmladhxq_s16, vqdmladhq_s16, vmlsdavaxq_s16, vmlsdavaq_s16, vmlasq_n_s16, vmlaq_n_s16, vmladavaxq_s16, vmladavaq_s16, vsriq_n_s16, vsliq_n_s16, vpsel= q_u32, vpselq_s32, vrev64q_m_u32, vqrdmlashq_n_u32, vqrdmlahq_n_u32, vqdmlahq_n_u3= 2, vmvnq_m_u32, vmlasq_n_u32, vmlaq_n_u32, vmladavq_p_u32, vmladavaq_u32, vminvq_p_u32, vmaxvq_p_u32, vdupq_m_n_u32, vcmpneq_m_u32, vcmpneq_m_n_u32, vcmphiq_m_u32, vcmphiq_m_n_u32, vcmpeqq_m_u32, vcmpeqq_m_n_u32, vcmpcsq_m_u= 32, vcmpcsq_m_n_u32, vclzq_m_u32, vaddvaq_p_u32, vsriq_n_u32, vsliq_n_u32, vshlq_m_r_u32, vrshlq_m_n_u32, vqshlq_m_r_u32, vqrshlq_m_n_u32, vminavq_p_s= 32, vminaq_m_s32, vmaxavq_p_s32, vmaxaq_m_s32, vcmpneq_m_s32, vcmpneq_m_n_s32, vcmpltq_m_s32, vcmpltq_m_n_s32, vcmpleq_m_s32, vcmpleq_m_n_s32, vcmpgtq_m_s= 32, vcmpgtq_m_n_s32, vcmpgeq_m_s32, vcmpgeq_m_n_s32, vcmpeqq_m_s32, vcmpeqq_m_n= _s32, vshlq_m_r_s32, vrshlq_m_n_s32, vrev64q_m_s32, vqshlq_m_r_s32, vqrshlq_m_n_s= 32, vqnegq_m_s32, vqabsq_m_s32, vnegq_m_s32, vmvnq_m_s32, vmlsdavxq_p_s32, vmlsdavq_p_s32, vmladavxq_p_s32, vmladavq_p_s32, vminvq_p_s32, vmaxvq_p_s32, vdupq_m_n_s32, vclzq_m_s32, vclsq_m_s32, vaddvaq_p_s32, vabsq_m_s32, vqrdmlsdhxq_s32, vqrdmlsdhq_s32, vqrdmlashq_n_s32, vqrdmlahq_n_s32, vqrdmladhxq_s32, vqrdmladhq_s32, vqdmlsdhxq_s32, vqdmlsdhq_s32, vqdmlahq_n_= s32, vqdmladhxq_s32, vqdmladhq_s32, vmlsdavaxq_s32, vmlsdavaq_s32, vmlasq_n_s32, vmlaq_n_s32, vmladavaxq_s32, vmladavaq_s32, vsriq_n_s32, vsliq_n_s32, vpselq_u64, vpselq_s64. Please refer to M-profile Vector Extension (MVE) intrinsics [1] for more d= etails. [1] https://developer.arm.com/architectures/instruction-sets/simd-isas/heli= um/mve-intrinsics In this patch new constraints "Rc" and "Re" are added, which checks the con= stant is with in the range of 0 to 15 and 0 to 31 respectively. Also a new predicates "mve_imm_15" and "mve_imm_31" are added, to check the= the matching constraint Rc and Re respectively. Regression tested on arm-none-eabi and found no regressions. Ok for trunk? Thanks, Srinath. gcc/ChangeLog: 2019-10-25 Andre Vieira Mihail Ionescu Srinath Parvathaneni * config/arm/arm_mve.h (vpselq_u8): Define macro. (vpselq_s8): Likewise. (vrev64q_m_u8): Likewise. (vqrdmlashq_n_u8): Likewise. (vqrdmlahq_n_u8): Likewise. (vqdmlahq_n_u8): Likewise. (vmvnq_m_u8): Likewise. (vmlasq_n_u8): Likewise. (vmlaq_n_u8): Likewise. (vmladavq_p_u8): Likewise. (vmladavaq_u8): Likewise. (vminvq_p_u8): Likewise. (vmaxvq_p_u8): Likewise. (vdupq_m_n_u8): Likewise. (vcmpneq_m_u8): Likewise. (vcmpneq_m_n_u8): Likewise. (vcmphiq_m_u8): Likewise. (vcmphiq_m_n_u8): Likewise. (vcmpeqq_m_u8): Likewise. (vcmpeqq_m_n_u8): Likewise. (vcmpcsq_m_u8): Likewise. (vcmpcsq_m_n_u8): Likewise. (vclzq_m_u8): Likewise. (vaddvaq_p_u8): Likewise. (vsriq_n_u8): Likewise. (vsliq_n_u8): Likewise. (vshlq_m_r_u8): Likewise. (vrshlq_m_n_u8): Likewise. (vqshlq_m_r_u8): Likewise. (vqrshlq_m_n_u8): Likewise. (vminavq_p_s8): Likewise. (vminaq_m_s8): Likewise. (vmaxavq_p_s8): Likewise. (vmaxaq_m_s8): Likewise. (vcmpneq_m_s8): Likewise. (vcmpneq_m_n_s8): Likewise. (vcmpltq_m_s8): Likewise. (vcmpltq_m_n_s8): Likewise. (vcmpleq_m_s8): Likewise. (vcmpleq_m_n_s8): Likewise. (vcmpgtq_m_s8): Likewise. (vcmpgtq_m_n_s8): Likewise. (vcmpgeq_m_s8): Likewise. (vcmpgeq_m_n_s8): Likewise. (vcmpeqq_m_s8): Likewise. (vcmpeqq_m_n_s8): Likewise. (vshlq_m_r_s8): Likewise. (vrshlq_m_n_s8): Likewise. (vrev64q_m_s8): Likewise. (vqshlq_m_r_s8): Likewise. (vqrshlq_m_n_s8): Likewise. (vqnegq_m_s8): Likewise. (vqabsq_m_s8): Likewise. (vnegq_m_s8): Likewise. (vmvnq_m_s8): Likewise. (vmlsdavxq_p_s8): Likewise. (vmlsdavq_p_s8): Likewise. (vmladavxq_p_s8): Likewise. (vmladavq_p_s8): Likewise. (vminvq_p_s8): Likewise. (vmaxvq_p_s8): Likewise. (vdupq_m_n_s8): Likewise. (vclzq_m_s8): Likewise. (vclsq_m_s8): Likewise. (vaddvaq_p_s8): Likewise. (vabsq_m_s8): Likewise. (vqrdmlsdhxq_s8): Likewise. (vqrdmlsdhq_s8): Likewise. (vqrdmlashq_n_s8): Likewise. (vqrdmlahq_n_s8): Likewise. (vqrdmladhxq_s8): Likewise. (vqrdmladhq_s8): Likewise. (vqdmlsdhxq_s8): Likewise. (vqdmlsdhq_s8): Likewise. (vqdmlahq_n_s8): Likewise. (vqdmladhxq_s8): Likewise. (vqdmladhq_s8): Likewise. (vmlsdavaxq_s8): Likewise. (vmlsdavaq_s8): Likewise. (vmlasq_n_s8): Likewise. (vmlaq_n_s8): Likewise. (vmladavaxq_s8): Likewise. (vmladavaq_s8): Likewise. (vsriq_n_s8): Likewise. (vsliq_n_s8): Likewise. (vpselq_u16): Likewise. (vpselq_s16): Likewise. (vrev64q_m_u16): Likewise. (vqrdmlashq_n_u16): Likewise. (vqrdmlahq_n_u16): Likewise. (vqdmlahq_n_u16): Likewise. (vmvnq_m_u16): Likewise. (vmlasq_n_u16): Likewise. (vmlaq_n_u16): Likewise. (vmladavq_p_u16): Likewise. (vmladavaq_u16): Likewise. (vminvq_p_u16): Likewise. (vmaxvq_p_u16): Likewise. (vdupq_m_n_u16): Likewise. (vcmpneq_m_u16): Likewise. (vcmpneq_m_n_u16): Likewise. (vcmphiq_m_u16): Likewise. (vcmphiq_m_n_u16): Likewise. (vcmpeqq_m_u16): Likewise. (vcmpeqq_m_n_u16): Likewise. (vcmpcsq_m_u16): Likewise. (vcmpcsq_m_n_u16): Likewise. (vclzq_m_u16): Likewise. (vaddvaq_p_u16): Likewise. (vsriq_n_u16): Likewise. (vsliq_n_u16): Likewise. (vshlq_m_r_u16): Likewise. (vrshlq_m_n_u16): Likewise. (vqshlq_m_r_u16): Likewise. (vqrshlq_m_n_u16): Likewise. (vminavq_p_s16): Likewise. (vminaq_m_s16): Likewise. (vmaxavq_p_s16): Likewise. (vmaxaq_m_s16): Likewise. (vcmpneq_m_s16): Likewise. (vcmpneq_m_n_s16): Likewise. (vcmpltq_m_s16): Likewise. (vcmpltq_m_n_s16): Likewise. (vcmpleq_m_s16): Likewise. (vcmpleq_m_n_s16): Likewise. (vcmpgtq_m_s16): Likewise. (vcmpgtq_m_n_s16): Likewise. (vcmpgeq_m_s16): Likewise. (vcmpgeq_m_n_s16): Likewise. (vcmpeqq_m_s16): Likewise. (vcmpeqq_m_n_s16): Likewise. (vshlq_m_r_s16): Likewise. (vrshlq_m_n_s16): Likewise. (vrev64q_m_s16): Likewise. (vqshlq_m_r_s16): Likewise. (vqrshlq_m_n_s16): Likewise. (vqnegq_m_s16): Likewise. (vqabsq_m_s16): Likewise. (vnegq_m_s16): Likewise. (vmvnq_m_s16): Likewise. (vmlsdavxq_p_s16): Likewise. (vmlsdavq_p_s16): Likewise. (vmladavxq_p_s16): Likewise. (vmladavq_p_s16): Likewise. (vminvq_p_s16): Likewise. (vmaxvq_p_s16): Likewise. (vdupq_m_n_s16): Likewise. (vclzq_m_s16): Likewise. (vclsq_m_s16): Likewise. (vaddvaq_p_s16): Likewise. (vabsq_m_s16): Likewise. (vqrdmlsdhxq_s16): Likewise. (vqrdmlsdhq_s16): Likewise. (vqrdmlashq_n_s16): Likewise. (vqrdmlahq_n_s16): Likewise. (vqrdmladhxq_s16): Likewise. (vqrdmladhq_s16): Likewise. (vqdmlsdhxq_s16): Likewise. (vqdmlsdhq_s16): Likewise. (vqdmlahq_n_s16): Likewise. (vqdmladhxq_s16): Likewise. (vqdmladhq_s16): Likewise. (vmlsdavaxq_s16): Likewise. (vmlsdavaq_s16): Likewise. (vmlasq_n_s16): Likewise. (vmlaq_n_s16): Likewise. (vmladavaxq_s16): Likewise. (vmladavaq_s16): Likewise. (vsriq_n_s16): Likewise. (vsliq_n_s16): Likewise. (vpselq_u32): Likewise. (vpselq_s32): Likewise. (vrev64q_m_u32): Likewise. (vqrdmlashq_n_u32): Likewise. (vqrdmlahq_n_u32): Likewise. (vqdmlahq_n_u32): Likewise. (vmvnq_m_u32): Likewise. (vmlasq_n_u32): Likewise. (vmlaq_n_u32): Likewise. (vmladavq_p_u32): Likewise. (vmladavaq_u32): Likewise. (vminvq_p_u32): Likewise. (vmaxvq_p_u32): Likewise. (vdupq_m_n_u32): Likewise. (vcmpneq_m_u32): Likewise. (vcmpneq_m_n_u32): Likewise. (vcmphiq_m_u32): Likewise. (vcmphiq_m_n_u32): Likewise. (vcmpeqq_m_u32): Likewise. (vcmpeqq_m_n_u32): Likewise. (vcmpcsq_m_u32): Likewise. (vcmpcsq_m_n_u32): Likewise. (vclzq_m_u32): Likewise. (vaddvaq_p_u32): Likewise. (vsriq_n_u32): Likewise. (vsliq_n_u32): Likewise. (vshlq_m_r_u32): Likewise. (vrshlq_m_n_u32): Likewise. (vqshlq_m_r_u32): Likewise. (vqrshlq_m_n_u32): Likewise. (vminavq_p_s32): Likewise. (vminaq_m_s32): Likewise. (vmaxavq_p_s32): Likewise. (vmaxaq_m_s32): Likewise. (vcmpneq_m_s32): Likewise. (vcmpneq_m_n_s32): Likewise. (vcmpltq_m_s32): Likewise. (vcmpltq_m_n_s32): Likewise. (vcmpleq_m_s32): Likewise. (vcmpleq_m_n_s32): Likewise. (vcmpgtq_m_s32): Likewise. (vcmpgtq_m_n_s32): Likewise. (vcmpgeq_m_s32): Likewise. (vcmpgeq_m_n_s32): Likewise. (vcmpeqq_m_s32): Likewise. (vcmpeqq_m_n_s32): Likewise. (vshlq_m_r_s32): Likewise. (vrshlq_m_n_s32): Likewise. (vrev64q_m_s32): Likewise. (vqshlq_m_r_s32): Likewise. (vqrshlq_m_n_s32): Likewise. (vqnegq_m_s32): Likewise. (vqabsq_m_s32): Likewise. (vnegq_m_s32): Likewise. (vmvnq_m_s32): Likewise. (vmlsdavxq_p_s32): Likewise. (vmlsdavq_p_s32): Likewise. (vmladavxq_p_s32): Likewise. (vmladavq_p_s32): Likewise. (vminvq_p_s32): Likewise. (vmaxvq_p_s32): Likewise. (vdupq_m_n_s32): Likewise. (vclzq_m_s32): Likewise. (vclsq_m_s32): Likewise. (vaddvaq_p_s32): Likewise. (vabsq_m_s32): Likewise. (vqrdmlsdhxq_s32): Likewise. (vqrdmlsdhq_s32): Likewise. (vqrdmlashq_n_s32): Likewise. (vqrdmlahq_n_s32): Likewise. (vqrdmladhxq_s32): Likewise. (vqrdmladhq_s32): Likewise. (vqdmlsdhxq_s32): Likewise. (vqdmlsdhq_s32): Likewise. (vqdmlahq_n_s32): Likewise. (vqdmladhxq_s32): Likewise. (vqdmladhq_s32): Likewise. (vmlsdavaxq_s32): Likewise. (vmlsdavaq_s32): Likewise. (vmlasq_n_s32): Likewise. (vmlaq_n_s32): Likewise. (vmladavaxq_s32): Likewise. (vmladavaq_s32): Likewise. (vsriq_n_s32): Likewise. (vsliq_n_s32): Likewise. (vpselq_u64): Likewise. (vpselq_s64): Likewise. (__arm_vpselq_u8): Define intrinsic. (__arm_vpselq_s8): Likewise. (__arm_vrev64q_m_u8): Likewise. (__arm_vqrdmlashq_n_u8): Likewise. (__arm_vqrdmlahq_n_u8): Likewise. (__arm_vqdmlahq_n_u8): Likewise. (__arm_vmvnq_m_u8): Likewise. (__arm_vmlasq_n_u8): Likewise. (__arm_vmlaq_n_u8): Likewise. (__arm_vmladavq_p_u8): Likewise. (__arm_vmladavaq_u8): Likewise. (__arm_vminvq_p_u8): Likewise. (__arm_vmaxvq_p_u8): Likewise. (__arm_vdupq_m_n_u8): Likewise. (__arm_vcmpneq_m_u8): Likewise. (__arm_vcmpneq_m_n_u8): Likewise. (__arm_vcmphiq_m_u8): Likewise. (__arm_vcmphiq_m_n_u8): Likewise. (__arm_vcmpeqq_m_u8): Likewise. (__arm_vcmpeqq_m_n_u8): Likewise. (__arm_vcmpcsq_m_u8): Likewise. (__arm_vcmpcsq_m_n_u8): Likewise. (__arm_vclzq_m_u8): Likewise. (__arm_vaddvaq_p_u8): Likewise. (__arm_vsriq_n_u8): Likewise. (__arm_vsliq_n_u8): Likewise. (__arm_vshlq_m_r_u8): Likewise. (__arm_vrshlq_m_n_u8): Likewise. (__arm_vqshlq_m_r_u8): Likewise. (__arm_vqrshlq_m_n_u8): Likewise. (__arm_vminavq_p_s8): Likewise. (__arm_vminaq_m_s8): Likewise. (__arm_vmaxavq_p_s8): Likewise. (__arm_vmaxaq_m_s8): Likewise. (__arm_vcmpneq_m_s8): Likewise. (__arm_vcmpneq_m_n_s8): Likewise. (__arm_vcmpltq_m_s8): Likewise. (__arm_vcmpltq_m_n_s8): Likewise. (__arm_vcmpleq_m_s8): Likewise. (__arm_vcmpleq_m_n_s8): Likewise. (__arm_vcmpgtq_m_s8): Likewise. (__arm_vcmpgtq_m_n_s8): Likewise. (__arm_vcmpgeq_m_s8): Likewise. (__arm_vcmpgeq_m_n_s8): Likewise. (__arm_vcmpeqq_m_s8): Likewise. (__arm_vcmpeqq_m_n_s8): Likewise. (__arm_vshlq_m_r_s8): Likewise. (__arm_vrshlq_m_n_s8): Likewise. (__arm_vrev64q_m_s8): Likewise. (__arm_vqshlq_m_r_s8): Likewise. (__arm_vqrshlq_m_n_s8): Likewise. (__arm_vqnegq_m_s8): Likewise. (__arm_vqabsq_m_s8): Likewise. (__arm_vnegq_m_s8): Likewise. (__arm_vmvnq_m_s8): Likewise. (__arm_vmlsdavxq_p_s8): Likewise. (__arm_vmlsdavq_p_s8): Likewise. (__arm_vmladavxq_p_s8): Likewise. (__arm_vmladavq_p_s8): Likewise. (__arm_vminvq_p_s8): Likewise. (__arm_vmaxvq_p_s8): Likewise. (__arm_vdupq_m_n_s8): Likewise. (__arm_vclzq_m_s8): Likewise. (__arm_vclsq_m_s8): Likewise. (__arm_vaddvaq_p_s8): Likewise. (__arm_vabsq_m_s8): Likewise. (__arm_vqrdmlsdhxq_s8): Likewise. (__arm_vqrdmlsdhq_s8): Likewise. (__arm_vqrdmlashq_n_s8): Likewise. (__arm_vqrdmlahq_n_s8): Likewise. (__arm_vqrdmladhxq_s8): Likewise. (__arm_vqrdmladhq_s8): Likewise. (__arm_vqdmlsdhxq_s8): Likewise. (__arm_vqdmlsdhq_s8): Likewise. (__arm_vqdmlahq_n_s8): Likewise. (__arm_vqdmladhxq_s8): Likewise. (__arm_vqdmladhq_s8): Likewise. (__arm_vmlsdavaxq_s8): Likewise. (__arm_vmlsdavaq_s8): Likewise. (__arm_vmlasq_n_s8): Likewise. (__arm_vmlaq_n_s8): Likewise. (__arm_vmladavaxq_s8): Likewise. (__arm_vmladavaq_s8): Likewise. (__arm_vsriq_n_s8): Likewise. (__arm_vsliq_n_s8): Likewise. (__arm_vpselq_u16): Likewise. (__arm_vpselq_s16): Likewise. (__arm_vrev64q_m_u16): Likewise. (__arm_vqrdmlashq_n_u16): Likewise. (__arm_vqrdmlahq_n_u16): Likewise. (__arm_vqdmlahq_n_u16): Likewise. (__arm_vmvnq_m_u16): Likewise. (__arm_vmlasq_n_u16): Likewise. (__arm_vmlaq_n_u16): Likewise. (__arm_vmladavq_p_u16): Likewise. (__arm_vmladavaq_u16): Likewise. (__arm_vminvq_p_u16): Likewise. (__arm_vmaxvq_p_u16): Likewise. (__arm_vdupq_m_n_u16): Likewise. (__arm_vcmpneq_m_u16): Likewise. (__arm_vcmpneq_m_n_u16): Likewise. (__arm_vcmphiq_m_u16): Likewise. (__arm_vcmphiq_m_n_u16): Likewise. (__arm_vcmpeqq_m_u16): Likewise. (__arm_vcmpeqq_m_n_u16): Likewise. (__arm_vcmpcsq_m_u16): Likewise. (__arm_vcmpcsq_m_n_u16): Likewise. (__arm_vclzq_m_u16): Likewise. (__arm_vaddvaq_p_u16): Likewise. (__arm_vsriq_n_u16): Likewise. (__arm_vsliq_n_u16): Likewise. (__arm_vshlq_m_r_u16): Likewise. (__arm_vrshlq_m_n_u16): Likewise. (__arm_vqshlq_m_r_u16): Likewise. (__arm_vqrshlq_m_n_u16): Likewise. (__arm_vminavq_p_s16): Likewise. (__arm_vminaq_m_s16): Likewise. (__arm_vmaxavq_p_s16): Likewise. (__arm_vmaxaq_m_s16): Likewise. (__arm_vcmpneq_m_s16): Likewise. (__arm_vcmpneq_m_n_s16): Likewise. (__arm_vcmpltq_m_s16): Likewise. (__arm_vcmpltq_m_n_s16): Likewise. (__arm_vcmpleq_m_s16): Likewise. (__arm_vcmpleq_m_n_s16): Likewise. (__arm_vcmpgtq_m_s16): Likewise. (__arm_vcmpgtq_m_n_s16): Likewise. (__arm_vcmpgeq_m_s16): Likewise. (__arm_vcmpgeq_m_n_s16): Likewise. (__arm_vcmpeqq_m_s16): Likewise. (__arm_vcmpeqq_m_n_s16): Likewise. (__arm_vshlq_m_r_s16): Likewise. (__arm_vrshlq_m_n_s16): Likewise. (__arm_vrev64q_m_s16): Likewise. (__arm_vqshlq_m_r_s16): Likewise. (__arm_vqrshlq_m_n_s16): Likewise. (__arm_vqnegq_m_s16): Likewise. (__arm_vqabsq_m_s16): Likewise. (__arm_vnegq_m_s16): Likewise. (__arm_vmvnq_m_s16): Likewise. (__arm_vmlsdavxq_p_s16): Likewise. (__arm_vmlsdavq_p_s16): Likewise. (__arm_vmladavxq_p_s16): Likewise. (__arm_vmladavq_p_s16): Likewise. (__arm_vminvq_p_s16): Likewise. (__arm_vmaxvq_p_s16): Likewise. (__arm_vdupq_m_n_s16): Likewise. (__arm_vclzq_m_s16): Likewise. (__arm_vclsq_m_s16): Likewise. (__arm_vaddvaq_p_s16): Likewise. (__arm_vabsq_m_s16): Likewise. (__arm_vqrdmlsdhxq_s16): Likewise. (__arm_vqrdmlsdhq_s16): Likewise. (__arm_vqrdmlashq_n_s16): Likewise. (__arm_vqrdmlahq_n_s16): Likewise. (__arm_vqrdmladhxq_s16): Likewise. (__arm_vqrdmladhq_s16): Likewise. (__arm_vqdmlsdhxq_s16): Likewise. (__arm_vqdmlsdhq_s16): Likewise. (__arm_vqdmlahq_n_s16): Likewise. (__arm_vqdmladhxq_s16): Likewise. (__arm_vqdmladhq_s16): Likewise. (__arm_vmlsdavaxq_s16): Likewise. (__arm_vmlsdavaq_s16): Likewise. (__arm_vmlasq_n_s16): Likewise. (__arm_vmlaq_n_s16): Likewise. (__arm_vmladavaxq_s16): Likewise. (__arm_vmladavaq_s16): Likewise. (__arm_vsriq_n_s16): Likewise. (__arm_vsliq_n_s16): Likewise. (__arm_vpselq_u32): Likewise. (__arm_vpselq_s32): Likewise. (__arm_vrev64q_m_u32): Likewise. (__arm_vqrdmlashq_n_u32): Likewise. (__arm_vqrdmlahq_n_u32): Likewise. (__arm_vqdmlahq_n_u32): Likewise. (__arm_vmvnq_m_u32): Likewise. (__arm_vmlasq_n_u32): Likewise. (__arm_vmlaq_n_u32): Likewise. (__arm_vmladavq_p_u32): Likewise. (__arm_vmladavaq_u32): Likewise. (__arm_vminvq_p_u32): Likewise. (__arm_vmaxvq_p_u32): Likewise. (__arm_vdupq_m_n_u32): Likewise. (__arm_vcmpneq_m_u32): Likewise. (__arm_vcmpneq_m_n_u32): Likewise. (__arm_vcmphiq_m_u32): Likewise. (__arm_vcmphiq_m_n_u32): Likewise. (__arm_vcmpeqq_m_u32): Likewise. (__arm_vcmpeqq_m_n_u32): Likewise. (__arm_vcmpcsq_m_u32): Likewise. (__arm_vcmpcsq_m_n_u32): Likewise. (__arm_vclzq_m_u32): Likewise. (__arm_vaddvaq_p_u32): Likewise. (__arm_vsriq_n_u32): Likewise. (__arm_vsliq_n_u32): Likewise. (__arm_vshlq_m_r_u32): Likewise. (__arm_vrshlq_m_n_u32): Likewise. (__arm_vqshlq_m_r_u32): Likewise. (__arm_vqrshlq_m_n_u32): Likewise. (__arm_vminavq_p_s32): Likewise. (__arm_vminaq_m_s32): Likewise. (__arm_vmaxavq_p_s32): Likewise. (__arm_vmaxaq_m_s32): Likewise. (__arm_vcmpneq_m_s32): Likewise. (__arm_vcmpneq_m_n_s32): Likewise. (__arm_vcmpltq_m_s32): Likewise. (__arm_vcmpltq_m_n_s32): Likewise. (__arm_vcmpleq_m_s32): Likewise. (__arm_vcmpleq_m_n_s32): Likewise. (__arm_vcmpgtq_m_s32): Likewise. (__arm_vcmpgtq_m_n_s32): Likewise. (__arm_vcmpgeq_m_s32): Likewise. (__arm_vcmpgeq_m_n_s32): Likewise. (__arm_vcmpeqq_m_s32): Likewise. (__arm_vcmpeqq_m_n_s32): Likewise. (__arm_vshlq_m_r_s32): Likewise. (__arm_vrshlq_m_n_s32): Likewise. (__arm_vrev64q_m_s32): Likewise. (__arm_vqshlq_m_r_s32): Likewise. (__arm_vqrshlq_m_n_s32): Likewise. (__arm_vqnegq_m_s32): Likewise. (__arm_vqabsq_m_s32): Likewise. (__arm_vnegq_m_s32): Likewise. (__arm_vmvnq_m_s32): Likewise. (__arm_vmlsdavxq_p_s32): Likewise. (__arm_vmlsdavq_p_s32): Likewise. (__arm_vmladavxq_p_s32): Likewise. (__arm_vmladavq_p_s32): Likewise. (__arm_vminvq_p_s32): Likewise. (__arm_vmaxvq_p_s32): Likewise. (__arm_vdupq_m_n_s32): Likewise. (__arm_vclzq_m_s32): Likewise. (__arm_vclsq_m_s32): Likewise. (__arm_vaddvaq_p_s32): Likewise. (__arm_vabsq_m_s32): Likewise. (__arm_vqrdmlsdhxq_s32): Likewise. (__arm_vqrdmlsdhq_s32): Likewise. (__arm_vqrdmlashq_n_s32): Likewise. (__arm_vqrdmlahq_n_s32): Likewise. (__arm_vqrdmladhxq_s32): Likewise. (__arm_vqrdmladhq_s32): Likewise. (__arm_vqdmlsdhxq_s32): Likewise. (__arm_vqdmlsdhq_s32): Likewise. (__arm_vqdmlahq_n_s32): Likewise. (__arm_vqdmladhxq_s32): Likewise. (__arm_vqdmladhq_s32): Likewise. (__arm_vmlsdavaxq_s32): Likewise. (__arm_vmlsdavaq_s32): Likewise. (__arm_vmlasq_n_s32): Likewise. (__arm_vmlaq_n_s32): Likewise. (__arm_vmladavaxq_s32): Likewise. (__arm_vmladavaq_s32): Likewise. (__arm_vsriq_n_s32): Likewise. (__arm_vsliq_n_s32): Likewise. (__arm_vpselq_u64): Likewise. (__arm_vpselq_s64): Likewise. (vcmpneq_m_n): Define polymorphic variant. (vcmpneq_m): Likewise. (vqrdmlsdhq): Likewise. (vqrdmlsdhxq): Likewise. (vqrshlq_m_n): Likewise. (vqshlq_m_r): Likewise. (vrev64q_m): Likewise. (vrshlq_m_n): Likewise. (vshlq_m_r): Likewise. (vsliq_n): Likewise. (vsriq_n): Likewise. (vqrdmlashq_n): Likewise. (vqrdmlahq): Likewise. (vqrdmladhxq): Likewise. (vqrdmladhq): Likewise. (vqnegq_m): Likewise. (vqdmlsdhxq): Likewise. (vabsq_m): Likewise. (vclsq_m): Likewise. (vclzq_m): Likewise. (vcmpgeq_m): Likewise. (vcmpgeq_m_n): Likewise. (vdupq_m_n): Likewise. (vmaxaq_m): Likewise. (vmlaq_n): Likewise. (vmlasq_n): Likewise. (vmvnq_m): Likewise. (vnegq_m): Likewise. (vpselq): Likewise. (vqdmlahq_n): Likewise. (vqrdmlahq_n): Likewise. (vqdmlsdhq): Likewise. (vqdmladhq): Likewise. (vqabsq_m): Likewise. (vminaq_m): Likewise. (vrmlaldavhaq): Likewise. (vmlsdavxq_p): Likewise. (vmlsdavq_p): Likewise.=09 (vmlsdavaxq): Likewise.=09 (vmlsdavaq): Likewise.=09 (vaddvaq_p): Likewise.=09 (vcmpcsq_m_n): Likewise.=09 (vcmpcsq_m): Likewise.=09 (vcmpeqq_m_n): Likewise.=09 (vcmpeqq_m): Likewise.=09 (vmladavxq_p): Likewise.=09 (vmladavq_p): Likewise.=09 (vmladavaxq): Likewise.=09 (vmladavaq): Likewise.=09 (vminvq_p): Likewise.=09 (vminavq_p): Likewise.=09 (vmaxvq_p): Likewise.=09 (vmaxavq_p): Likewise.=09 (vcmpltq_m_n): Likewise.=09 (vcmpltq_m): Likewise.=09 (vcmpleq_m): Likewise.=09 (vcmpleq_m_n): Likewise.=09 (vcmphiq_m_n): Likewise.=09 (vcmphiq_m): Likewise.=09 (vcmpgtq_m_n): Likewise.=09 (vcmpgtq_m): Likewise.=09 * config/arm/arm_mve_builtins.def (TERNOP_NONE_NONE_NONE_IMM): Use builtin qualifier. (TERNOP_NONE_NONE_NONE_NONE): Likewise. (TERNOP_NONE_NONE_NONE_UNONE): Likewise. (TERNOP_UNONE_NONE_NONE_UNONE): Likewise. (TERNOP_UNONE_UNONE_NONE_UNONE): Likewise. (TERNOP_UNONE_UNONE_UNONE_IMM): Likewise. (TERNOP_UNONE_UNONE_UNONE_UNONE): Likewise. * config/arm/constraints.md (Rc): Define constraint to check constant is in the range of 0 to 15. (Re): Define constraint to check constant is in the range of 0 to 31. * config/arm/mve.md (VADDVAQ_P): Define iterator. (VCLZQ_M): Likewise. (VCMPEQQ_M_N): Likewise. (VCMPEQQ_M): Likewise. (VCMPNEQ_M_N): Likewise. (VCMPNEQ_M): Likewise. (VDUPQ_M_N): Likewise. (VMAXVQ_P): Likewise. (VMINVQ_P): Likewise. (VMLADAVAQ): Likewise. (VMLADAVQ_P): Likewise. (VMLAQ_N): Likewise. (VMLASQ_N): Likewise. (VMVNQ_M): Likewise. (VPSELQ): Likewise. (VQDMLAHQ_N): Likewise. (VQRDMLAHQ_N): Likewise. (VQRDMLASHQ_N): Likewise. (VQRSHLQ_M_N): Likewise. (VQSHLQ_M_R): Likewise. (VREV64Q_M): Likewise. (VRSHLQ_M_N): Likewise. (VSHLQ_M_R): Likewise. (VSLIQ_N): Likewise. (VSRIQ_N): Likewise. (mve_vabsq_m_s): Define RTL pattern. (mve_vaddvaq_p_): Likewise. (mve_vclsq_m_s): Likewise. (mve_vclzq_m_): Likewise. (mve_vcmpcsq_m_n_u): Likewise. (mve_vcmpcsq_m_u): Likewise. (mve_vcmpeqq_m_n_): Likewise. (mve_vcmpeqq_m_): Likewise. (mve_vcmpgeq_m_n_s): Likewise. (mve_vcmpgeq_m_s): Likewise. (mve_vcmpgtq_m_n_s): Likewise. (mve_vcmpgtq_m_s): Likewise. (mve_vcmphiq_m_n_u): Likewise. (mve_vcmphiq_m_u): Likewise. (mve_vcmpleq_m_n_s): Likewise. (mve_vcmpleq_m_s): Likewise. (mve_vcmpltq_m_n_s): Likewise. (mve_vcmpltq_m_s): Likewise. (mve_vcmpneq_m_n_): Likewise. (mve_vcmpneq_m_): Likewise. (mve_vdupq_m_n_): Likewise. (mve_vmaxaq_m_s): Likewise. (mve_vmaxavq_p_s): Likewise. (mve_vmaxvq_p_): Likewise. (mve_vminaq_m_s): Likewise. (mve_vminavq_p_s): Likewise. (mve_vminvq_p_): Likewise. (mve_vmladavaq_): Likewise. (mve_vmladavq_p_): Likewise. (mve_vmladavxq_p_s): Likewise. (mve_vmlaq_n_): Likewise. (mve_vmlasq_n_): Likewise. (mve_vmlsdavq_p_s): Likewise. (mve_vmlsdavxq_p_s): Likewise. (mve_vmvnq_m_): Likewise. (mve_vnegq_m_s): Likewise. (mve_vpselq_): Likewise. (mve_vqabsq_m_s): Likewise. (mve_vqdmlahq_n_): Likewise. (mve_vqnegq_m_s): Likewise. (mve_vqrdmladhq_s): Likewise. (mve_vqrdmladhxq_s): Likewise. (mve_vqrdmlahq_n_): Likewise. (mve_vqrdmlashq_n_): Likewise. (mve_vqrdmlsdhq_s): Likewise. (mve_vqrdmlsdhxq_s): Likewise. (mve_vqrshlq_m_n_): Likewise. (mve_vqshlq_m_r_): Likewise. (mve_vrev64q_m_): Likewise. (mve_vrshlq_m_n_): Likewise. (mve_vshlq_m_r_): Likewise. (mve_vsliq_n_): Likewise. (mve_vsriq_n_): Likewise. (mve_vqdmlsdhxq_s): Likewise. (mve_vqdmlsdhq_s): Likewise. (mve_vqdmladhxq_s): Likewise. (mve_vqdmladhq_s): Likewise. (mve_vmlsdavaxq_s): Likewise. (mve_vmlsdavaq_s): Likewise. (mve_vmladavaxq_s): Likewise. * config/arm/predicates.md (mve_imm_15):Define predicate to check the matching constraint Rc. (mve_imm_31): Define predicate to check the matching constraint Re. gcc/testsuite/ChangeLog: 2019-10-25 Andre Vieira Mihail Ionescu Srinath Parvathaneni * gcc.target/arm/mve/intrinsics/vabsq_m_s16.c: New test. * gcc.target/arm/mve/intrinsics/vabsq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vabsq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vaddvaq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vaddvaq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vaddvaq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vaddvaq_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vaddvaq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vaddvaq_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vclsq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vclsq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vclzq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vclzq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vclzq_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vclzq_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vclzq_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmphiq_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmphiq_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmphiq_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpleq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpleq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpleq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpltq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpltq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpltq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vcmpneq_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vdupq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vdupq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vdupq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxaq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxaq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vminaq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vminaq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaq_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaq_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaq_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavq_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavq_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavxq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavxq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmladavxq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlaq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlaq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlaq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlaq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlaq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlaq_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlasq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlasq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlasq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlasq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlasq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlasq_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavaq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavaq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavaq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmvnq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmvnq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmvnq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vmvnq_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vmvnq_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vmvnq_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vnegq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vnegq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vnegq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vpselq_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqabsq_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqabsq_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmladhq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmladhq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmladhq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmladhxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmladhxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmladhxq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Likewise. * 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/vqrdmladhq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmladhq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmladhq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vrev64q_m_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vrev64q_m_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vrev64q_m_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vrev64q_m_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vrev64q_m_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vrev64q_m_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vshlq_m_r_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vshlq_m_r_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vshlq_m_r_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vshlq_m_r_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vshlq_m_r_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vshlq_m_r_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vsliq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vsliq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vsliq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vsliq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vsliq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vsliq_n_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vsriq_n_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vsriq_n_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vsriq_n_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vsriq_n_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vsriq_n_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vsriq_n_u8.c: Likewise.= --_002_DBBPR08MB477557E56A92A793923B26DC9B710DBBPR08MB4775eurp_ Content-Type: application/gzip; name="diff14.patch.gz" Content-Description: diff14.patch.gz Content-Disposition: attachment; filename="diff14.patch.gz"; size=27548; creation-date="Thu, 14 Nov 2019 19:13:11 GMT"; modification-date="Thu, 14 Nov 2019 19:13:11 GMT" Content-ID: <9FF3D3E0E845C445A4E0CA602E851454@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 37345 H4sIAP6ezV0C/+y9a5PjxpEu/NnzKxjj2BMaz0V1v6zXG9ba8loRstbSSDqO 16uYqGur4/T0TDeas1w5/N/fAkmAYBMgQCDBwXRDtlq8oJKZlfVUPZVVleUv Y1y8fHlxebcwn18497l7dx0vLz43t2/zf9+8/RBe/bywjV89ubz2YbVQgSGK IgtYG46DDNZLgwhSngZhIg8Y4UicefUqeoOQDsgZgTx32ivn0+OaxMgR4hY5 4h1CboEREow9efny5RHNnjx//vyYdr///eKllOKFWDzP/0MEXaSP7v73ffAh LrK726W7W/xjsby8vlMrLN7cLT6Yq7+zn367+Gf54Yq9ufvtk8WvU4nL65Ae sObDzZul+uzNG/Ni8eaNzf+4Z+lP/rtNXx8KwOK4hIPvD0VQclzEwfdPnpci 3mfh6kDP96WEhq8PBGTHBWRHBNyGD4LdvHm7+ZXLa+PuLj+E/DGzL6r1wYrQ m1v/9spkP9+8uW720dGHDoR1kdUuqoOkToLefrjuUmctj1UFppo4qlfjA/tC 2mR0EOHzVvu+uVEeeeRAkLk5qk3DE1Uxl9ct2jQ9UBViVi1Cmh6oCPHL97kv r1ud3vpgRah7+/46lE2kTrXmJ+rEXHcQdN0m6ufLNo0anqgTc91BUKtG4aZN o4Yn6sRcdxDUqpHL2jRqeKJOzHUHQS0aXf3SpT9qeawi0HifQ/MIZpqfqIjJ bi8Pepz09/Lt21LOkUeqgq7aBV11EvTzVV4Ft82GNT9RHTa3Tx1x3ZFHqkNS u0I3nTS66aDSTTedUp+66eCzI71uwxP3xOQ/dlRK7QP7fXebLo1P3BNzXJem B+q62ay1k8269dZZh966RdTVXZtGDU/UibnuIKhdo9Y6uupSR1cd6uiqWx1d tNbRRZc6uuhQRxfd6uiitY4uutTRRYc6uuhWR5uBL2sdGrNuY2zWYYw9Jqrs 87LWfjrr1E9n7f10p3lS1nWelHWYJ7VbedPJzJsOdt50M/TmOlx0sbPtuapI Y7NOIlueq4jsqGR3HbdTtazbjK6LwKssTW9Wx4euI88ciOogqV2Q6aCT6aaT adfJ+E4soZVrdBneW0lCq5By4pZ1neF1aAZbyp11Y+adBGbdBHaFUknks1aq f6z2OmK8O8TXMZ3M/7y6aXja7od/jj9aI7i73O5it/GsrEvQK+sW9Mo6BL3a RXWvR3NSPZrO9Wi61mN3t5/k9c5OP8XnHbzUzUndfXSSizp76AQHbcYas7pp NvrII4eC2uW0idmERrO22GnWHjvNWmKnWWvstKVeTKd6Ma31YtrrZRtZydqD L1mn4EvWHnxpEbRdz7i3qHKw3nHw/eGCR4uI7JiI3UrG+qlOax5NTzYtejSu Kx1/qmHZo0VaB2FdZHUTVaxptNVd23N1ix+NujU/UbP8cUxKFyHF6kZjGzv2 TO0SyDGNmh6pWwRp1qjxibplkGYxjU/ULoS0NYH2J2uXQhrVO/JIw2JIu6jr VmHbxY5jopoeaVgQaRfVrtV2weOYqKZHGhZF2kW1a7Vd9DgmqumRhoWRdlFt Wm3XPNoaa9tztYsjjdodeaRmeWTvmYb1kbpnahZIjoq66iaqXG5oNO/II/WL JI2Sjj1Tv0zSKOqmm1Y3XdS66ajXbiHkWN/c9EjdYslROfVP1C6XHOvku+hT rIccldOqz25BpL0rzjr26lmXXr1N2HZR5JiopkcaFk7aRXXQqr2urjrV1VWX urrqWFcX7XV10amuLrrU1UXHurpor6uLTnV10aWuLjrW1XaRpH0wzTqOy1mX cfmosN0KQnt/nnXrz7MO/Xm3OVjWeQ6WdZmDdbD1ppuxN12svelobrlY0mZt 64N1yyqtQtserFlYaZN5gp7FmknHGWMnkZWFkyPTtCMP1S+vtMjqIMp00ct0 1Mt00Mv4buyinaV0IgXt5KJdzG79pPMMskujKNZQOjL9biKzjiI7A2y3mNI+ eThai13RfwL4q+so9Y/Xr7k0PVu/6NJV8gmCixWVTmG3rGPYLesSdusg7IT6 NKfVp+len6ZzfZ7QBE5rAd0bwEn+7+Kvju46wVunOau7r05xVWWV5UiEsfmZ 2qWYNkmtgrZrLa2x3KxDLDdri+Vm7bHctvox3erHtNeP6VA/xYpLh5BP1i3k k3UI+bSJ2i683DuqcrAwc/D94cJMi4jsmIjdcsv6qU4LM01PNi3MNJ7WOf5U w8JMi7QOwrrI6iaqWHBpq7u25+oWZhp1a36iZmHmmJQuQopFl8Y2duyZ2oWZ Yxo1PVK3MNOsUeMTdQszzWIan6hdmGlrAu1P1i7MNKp35JGGhZl2Udetwrar LsdENT3SsDDTLqpdq+2qyzFRTY80LMy0i2rXarvqckxU0yMNCzPtotq02i64 tDXWtudqF2YatTvySM3CzN4zDQszdc/ULMwcFXXVTVS5vtFo3pFH6hdmGiUd e6Z+YaZR1E03rW66qHXTUa/dqsuxvrnpkbqFmaNy6p+oXZg51sl30adYdjkq p1Wf3apLe1ecdezVsy69epuw7arLMVFNjzQszLSL6qBVe11ddaqrqy51ddWx ri7a6+qiU11ddKmri451ddFeVxed6uqiS11ddKyr7apL+2CadRyXsy7j8lFh u4WI9v4869afZx36825zsKzzHCzrMgfrYOtNN2Nvulh709Hccr2lzdrWB+sW ZlqFtj1YszDTJvMEPYsFl44zxk4iK2suR6ZpRx6qX5hpkdVBlOmil+mol+mg l/Hd2EU7S+lECtrJRbuY3XJL5xlkl0ZRLLh0ZPrdRGYdRXYG2G7VpX3ycLQW u6L/BPBXF1vqH69fmGl6tn5hpqvkEwQXSy6dwm5Zx7Bb1iXs1kHYCfVpTqtP 070+Tef6PKEJnNYCujeAk/zfxV8d3XWCt05zVndfneKqyqLLkQhj8zO1CzNt kloFbZddWmO5WYdYbtYWy83aY7lt9WO61Y9prx/ToX6KRZcOIZ+sW8gn6xDy aRO1XXgR7PjCzMH3hwszLSIOv3+y+HW49pfxyeJJeh9Wd+E6u3x3/ebNIn99 e50re321/ol3l36d5Y0JrfM0b0xz8QIrxPNEb7uZjFuH0xef5UndKMlTum3Q s3mf3v1m8+vu3XV2t0gfFvWxWCxuw91y/Zu3Ifvtk8U/k1bPj2u1yyeXP2nu 7m4v7fIupCc/yy29+h/zv9n22TdvcpMvrpd7783t3WW8dJfm6s2bZ8/WQqpJ 2TZ2bDPWlXaU75Mdbz+EN+9vg99+knvlH0+eV2yxy8uru8vrPE9eKfcDFjeX i3u++O2T5/988rzN4lENzpLB9+wFMDcbYO5YDq5kurvn412vf9/1p9m++4XS /Br+93FrYT89X3tjX79fv3HHjd8TXON+NwnDx7J7umaPZPWkjS4TNI4E9EL+ dGG+yysJ6PRS6BRdXiTBhLUXwtycA4EbW+bqhOYrFdkDB/Gx7DY7mraml81O Lt67Liabm+ENG9zgMg3q1s1APi7EDqVp4PaWGVth7S3ETpCWVvLKHh+t+g1V O/HDB6vqL8NWQiUdLnR/thM9wPlnsPzI2DXQ8Ovpml5kHB7B6VvR07Z8DKeX kqdqepHUeQSnb0VP2/IxnF5KnqrpRd7sEZy+FT1ty8dweil5grSmzEk+0hS8 kA8zBYefqlTyqLdNVU4zfCd4gl4vs763w/xgNeCY0YXcGpPzsh/Z6KuRjL6a stG75PWHZu+a+8nNeyd3iksIlTz7oFZXBE/Q7JuxnH0zaW/fjObuG0B/jxBy KrI734vBDA05bcVO0NO7Gytq3TzM6rXgCQbaRvFyKXaKXi7vAoH2ciF42hEm 6KX+neCpR9YaLB8cV5us4cXdMOAO3wqett3wDi/lTtbwsRB+NW2EX42E8Kup I/xiLIRfTBvhFyMh/GLqCL8YC+EX00b4xUgIv5g6wot7ucAdvhU89UUSaIeX cqe3FbdyGVidzYNjaRM0uXprGaTNFbkTNHp3idy+zbvFC5gNyNnwZZHRY4mw fr+ZcmO/Gau130y6ue/uEhyltZfip9vYy2vRxqmAQvxkK2DcBnCK/z9SBZQX S45SAYV0EP+PsV23cg8mLI2tih7W8Y1l9nhWT9RoM56vzYR9bUbztYHx9Wib 0guLoVbKpmlsecMspLGF0OlxtsoluMeGrIGb0afLWMobe0cZsAvpEzY/G9X8 bMp8pXIh8tr83ZY9mB17E4T7uBOUyc9P9m6Y7lgFe22hw9ngrfjmOrDTqINx q2DyNVDe3t1G4/ociM8GHCwc/zw8tM3TNnlctJtPAe1mVLSbiaN93C7/U+jx R+3wP4H+foyeb9Id37j93qfQ7Y3a68F2emNFJM3O/40zm5OyJpRCh7X40ewd w9ybKeK7TPEH1p2VEidpLLitAKaOlu0EGrVmuqg1I6DWTBa1RdrJ1obc56hk NujU4LgnJaEtvgKwOD8QgsVKjZRWEovNmZPNT+wOh5bve+eVVD/3jyiOZ3CW G3zPXgBzs/7mjuXgXdLHAx/vn3WvVkXvvJJb8wcddh+jFvayP3Zp7Jv3pyeW PPC/m4Tl4xk+WbtHM3vKVheZH0fDeplacqpIL5NAwnp9l1tyej7fpoEENxjA 3lFzS8KTlmpyyUEj+Zi5JQuz9zO2HHp5pU5MLjmwZY+WXHLnZyAvl+klB7K1 0dJLgltcJpicHD/dJYBsHbMGZ5gcOmadI8EkfKdWyTDZ2/vnSTDZbDtAislp 2r5NAzmK14sUk1O2fByv73JMTtP2bR7IUbxe5JicsuXjeH2XZHKatm8TQY7i 9SLJ5JQtH8fruyyTk+M2RRLI0WbjZZZJiNn4mEkm2+csvbNMTs7rRTLILjjv l2XywOSPv45QJIOEN/pqwkaX6QHrzIbJMjm9BYVdbkBgq6tZBydn9s1ozr6Z srdvxnP3DaC/x8syeRiKGRp7Kk7NTc7XZTbIBkcPs3pz0mJ6EbeR/LzLNDk9 Pxf5IOH9XGaanHKkCXzxv5JpctoRtkbLAVJNTtPybULIETxepJqcst1jeHyX a3Kilo+G8atJY/xqNIxfTRzjF6Nh/GLSGL8YDeMXE8f4xWgYv5g0xi9Gw/jF xDG+TQo5gseLdJPTXi+B9/gu3+TUtujuUuXVGw2Qb3JqJlfy5MHaXE3ANzmj y3SQ923eO/UGsDE5G7xAMnpUEdjvNxNu7DejtfabKTf3Mh/kSK19l29yqo29 yLcyVgWU+VwmWgEjN4Cp+79IBzmS+WW2SQDzx002Cc1i97JNDun2Rk02OY7V 0zTajOhrM11fm/F8bUB8Pd4u9Z3JUCtm0zS3SA0JbG6ZcXJqrG2XE7Jl2Bqc cnKio3aRE3KkUbtMOTlZ87Nxzc8mTFp2qSG35u/lPADYvjc9vI88R5n6FKWa ErJzFey1hRNSTjbVgZ1GHYxcBVOvgSI3ZDuX63VWPut/3nD8o/LwRk/a5pHx bj4BvJtx8W6mjfeRO/1PoM8ft8uffo8/Ttc35Z5v5I7vE+j3xu32QHu9UZNO tk1uTkqnsMs6OaTFj5l0Et7cmwniu0wRCdif7dJOTtDaEYwdbuuoaSdBG7KZ LG7NGLg1U8VtkSCyvSX3yzs54BzhuGcnwS2+Gm7x5szuio2UdpKS4lhw/hO7 06Ll+95pJ1k2ZGVsLIOz3OB79gKYm/U3dywH73JCHvh4//B7tSp6p53cmj/w +Dt8LezlhuzS2Ctn5E9KO3ngfzcJy8czfLJ2j2b2lK0uskKOhvUy7eRUkV7m h4T1+i7t5PR8vk0QCW4wiL0jpp2EJy3VtJMDR/Lx0k7uzD7u5e377mknp+bp Ijtku8F9005OzcdFdkhwi8u0k5Pjp7uskK1j1uC0k0PHrHOknYTv1CppJ3t7 /zxpJ5ttB0g7OU3bt6khR/F6kXZyypaP4/Vd2slp2r5NDTmK14u0k1O2fByv 79JOTtP2bWrIUbxepJ2csuXjeH2XdnJy3KbICjnabLxMOwkzGx8v7SQ0oa2k nZyc14vskF1w3i/t5IHJH38docgOCW/01YSNLvMF1pkNk3ZyegsKu2SBwFZX 0xBOzuyb0Zx9M2Vv34zn7htAf4+XdvJw5BoaeyqOz03O12VyyEZHD7F6c9pi ehG3kfy8Szs5PT8XySHh/VymnZxypAl88b+SdnLaEbZGywHSTk7T8m1yyBE8 XqSdnLLdY3h8l3ZyopaPhvGrSWP8ajSMX00c4xejYfxi0hi/GA3jFxPH+MVo GL+YNMYvRsP4xcQxvk0OOYLHi7ST014vgff4Lu3k1Lbo7jLmwRpdycQ3NZMr 6fJgba7m4Zuc0WVWyPs27x17A9iYnA1eIBk9qgjs95sJN/ab0Vr7zZSbe5kW cqTWvks7OdXGXuRcGasCypwuE62AkRvA1P1f5IUcyfwy7SSI+WOmnYRmsXtp J4d1eyOmnRzH6mkabUb0tZmur814vjZT9XWRH7I0GWrFbJrmFvkhgc0t005O jbXt8kK2DFuD005OdNQu8kKONGqXaScna342rvnZhEnLLj0kLNwraSenhveR 5yhTn6JU00J2roK9tnBC2smmOrDTqIORq2DqNVCkh2zncr3Oymf9zxuOf1Qe 3uhJ2zwy3s0ngHczLt7NtPE+cqf/CfT543b50+/xx+n6ptzzjdzxfQL93rjd HnCvN2LaybbJzUnpFHZpJ4e1+PHSTsKbezNBfJcpIgH7s13ayQlaO4KxELaO mHYStCGbyeLWjIFbM1XcFvkh21tyv7STA84Rjnt2Etziq+EW56dDBFuRkdJO CrY5gLL5id1p0fJ977STxPcPK45ncJYbfM9eAHOzRnMXv76M+RdffPeXN3/6 8ovvf/juyzd/+fHLxf9ZkGeLz3+zyF//6eqdSQIvFu/fJV1eLRa/+fzJ4sni eDV9eHfpn/z+94uXgkjygqDFc0WJeoH5In24fTh/ZvGbzY8vr32Iv32yWKxb 72e/efb3zee5FXf/+z68ibkWmxSrPx377l8X+1veY56sdfe8exduXUgfvEcv FpVyz/JKOXwI7z+UnvrvNh03ePzp2HcHOubIPqbjplyLjtuHnj377T+fJQe9 /HWq0bUrtocyrj9L8t7jZ4v9UyDFx7sC9d8vPvtH+ia35V1MH+Vi3qPF7xb5 69+manl+7/dqf634ree1v9Xxl5IDdl+vf+E9Xn+Ny6//M1yH20v32RpNNa66 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 QsGRR1azMo39kmnvmB74yLo1cKIja6ndREfWUr9RR1b39v3VXdMWvHvf1G3B u1/4AW7BW5s45S14WwUnvAVvq+F5L3zqvid8o95U94SX2k10T3ipH+Ce8Np+ KjT2U6G9nwoPv58KU++nwuT7qTDtfipMup8KE++nwnn6qZ8vm/qpe9/U9VP3 Cz+As4X33LC2cNIndEoNJ3xCp9QR9IQO9LGGjZYTP9awVXLixxq2Wp7hEOlF 43zwon0+ePHw54MXU58PXkx+Pngx7fngxaTngxcTnw9ejDcfXPw6XPvLuPj8 N4u//Pjl4k9X78zd5fXF4v279PSrxeI3nz9ZpIcuY+qXklz3/mqZ5f8+SYXi 4uXLi8u7hfn8wrnP3bvreHnxedI5/3f963Z5eZWkZa/ywrbLU08ur31YLSLG imiDDY/RYx6ldNwFrgI23mtDqfBRCqtevZKCuEijdelZLrClmPGILfYsUmy0 8JgJ6pBZYIQEY09evnzZTd8nz58/76jz73+/eEmRfkEXz/P/KLVIn/z4xXfJ Wd9/+d03//XXNz9881/ffLn9u3v5Ig0OH+7WKbeX6bX6+TL9Zdnlsyf7pXfF astmh2Vp7S9v/n71l7+kR7Ofr9zNmw/BrX8ai5vLY1Lu/fiBjKxWxvMkgx3R pDBkeylzjYz0l/gDSQ31sb1kvEUM7aDQbfggWOGWeru6iNlcB5dt7oMDkAQh CEjO2w/Xw+snrxwAVa4MiJDiKA2AHHMzVEyxj2WYlGLNbpAUv3y/nRgNEpOG seswvM2UYgD02U4AYMQA6LM9Zw0jBkCfbZYdGDGD9bn6Zbg2u6x+vcRsh73b y/4dzlbEVS8Re7ak0TevkNthUm63YgYqcwOjzQ2QOrtNVEOlFASrv5By1Xmo lNNUqeGLRdcJIuR6qJjtCiaEkOG6QNTLFUy9XEDUywVMvVxA1MsFTL1sk85A COmmS4OUsqcbIGPXzQ0RUsxSBsi4gbDmBsScm+twMdSa4iq2/iKGK7GdGg2R ULnSZaiUwUIMiCoGQJXi5MYAEcUW1f4iytnQABlbKjtIwtB2vkthPkBGb7RV wxrZ5jrfwUIGy9hGaoZKARECUSdmYJ1A+AbANRB1ClGlw2u0cs3LUBnDRGzC boMkDBYAUBOmd03sTeT7l786Uv7Y+kh6md3dmsvru+zVW3+4yrD//XZNhCjJ rHNY2KC1kpqooJTXEQchQjTcaBZtMOLVK094tARZz6RmPj1MBKZKeGS0NDxK ToPGSOGjayL3dKhdDbn3TL4OIuQLsXie/mKx+P3vnywWi8/MtV989tbcuZ/f uHc+LJ6ui+ULXU+f5Q+s/9k+cBeyu8XT77/47j+//P7Nn7/48cs3+arU//k/ i8sP5mrx779b4PLNv/1uoZ4+e5ZEPHn+2WbV/M1OocXT79zTfAHu6e/Tu3B7 nUp8db34/uflW/uSLLI7cxcWZrEuYNLjl9eLW3N9ERZocfdugfm67HHVn5+o Oqqqnn4h1/15g+6hv+4Uj617+oWN7ota3ePT3Kun6o7XupOn7U3mGLLefgi1 iNp8vkUSZ55QzJxF2EkpsMOYuyid5VgYmmBCudJYkVevFHGIp89STyOMNZQR KrFSGHmFglGEMMsJYuIokra/XYug7Xc5cpR+IRfP01+i1sj51a9+tfjxDz9+ /8W3b/7y5vXu5Q/rl/mr7//rzZ+235Rvf9gW/Pa713/+7pv/+PbNN3mByrvX 23c/bN9un//uL19/8fUfv/jxz+k30iNf/McXP1ZeJBGv//z1H9afbF788OTl QbkffkqN4vDTXMjrrRFf/PGPP6bP/rr3+odtqT98XTz2h6//v/1XudF/+esf 1t9/sytQfLT5+stvN1+/3ntX/e71ruDmg82X//llteDm3fb199tvdgU3H22+ /vNX1d/YvNu8/vrLg4JfV+R+/X31F7+uiPzmsGDx0Q+Vd9WH0+d//OGv+8XK D/Iv/+/6XfX1//2P/M1X5RfbUl9Vv/3LF38r2l7+8set29LrzcttmeJ9XuKr b8oS6WVZ4qtv7r8sfjC1k9RMNm2ufP1D8booVL7ZL/a33ffblr19tRHwevfh 66qRf/n6dVX266qkH78p9N+8Ksp88+V/br/46+svv/529yIH1655f/vH9GN/ /rbih90n+ZM7Md9+l3/xxz9/W32T1CjLfbcTtffuh+Ld6/3fqXxWPPK6Kv71 RvwG/V/vN5bKR3nZ7Zvv1k+Xb9I33335o2BVHJUf5F/uxFbfbLqOrbxtsarM 119/tTVy+yr/7Lvys82rHyq1uTOkauKuAss3u8rcOPmLv3278/hek8u/+Ckn EuWA9jaNOm/M3d1tvivmzR+++fH7xd8/+1H9+avF0/T3T0+fLT77kb3O37HX f8ppTP47+ciVf7t+5qvtM39aP5PepR/Iu3nMed7PYyleELbt6IvBeL8nXzxd rmXsdd5Ps82vlUX2OvptiaL3zh8u326+3Su7301vC++PBFsRRe+//vmXFRHb 0WBdeNP9136Va7Hr+gu9ygFgo1q1cDkCbJ8tx4GttL3ufq3VXulq93+/xE7m bhQ4/P1KT1x5ftcV76QWHXKdFkUHvX16100XMiv99IEOZU9bPLzrarfydj3r wY+XPW357K6rLcTtOtzD3650wHuP35f5bb0Hyp549+Trb6uGl71yzW8XvXDx 6LYvLmQVXfDBjxZdcgGcShe6FVXtjg9+d6/PLQp8117idV2R181lKh1lWaTS Xx6WqHTIRYFKF7q1tuw0D6pl120XxSv99n7pml+vUfe+thuwV1W83xHc1/Xr r/aqrOz6t91IpSdOnH/TEeddMs574T98/1f17eKp2uDv+79ikd5hUbylJL1N E4lNp7z+KNm6eCpY8YRK2uyXz9/nEjY9tGD5HJYg8kKXTHxjybrLz/f/Xb59 +yb/jVzX+jFjNyUiudLpR1LR7+z6R9fjyHd+N4qkOdMRUV9/8c2Xr3dCtqau haidDLbpgNu0Wfx9UWpjKtq4ijbhmKj3t8FXhBS1IXeyio/yOe56BP5VTeXh OkdfphmjuXt3u53T5OPg4u+71+VkZzNAVmtsv/S6x/gmFd28WBPCzavX22GY 8HWggmj1guK1l+slrcfOJOj+hKj5t9fDXipxf8LUXKIy4qZy92ZiBxOsBj23 Y2muau0cq7noZmjN6/lg1nWkUDnC5gUb517tAqrFq4WPF92Ow5vC3+xN38oh ul1AtfjehKq5aDFep6KVwbwyjDcX3Y7eeassB/bdkH6k3GYkz8vVTKSOlNsO 73nB2mlWW9HtjzZMxY6W3qLvYGJ2tNDrstTB1O1IuTU5KKC+N3drLrQmCqnM /clcc4mSOKRS3+5NzXb84Ejp76rFG6d2bQJe70l4vS/idbuMYthei6hO16r8 44iAYiDPyzdMEptLF5wj7+J2hKRCRY4UrSjeNM1sLl3Ruqp0F503vCQveDBL PVLou6LQwTT2/oiXXS+e/iYfEt+++/Bv+TD77+v4598/y8JdEQB99z4Jvvb/ mo+9+QmRbIESbXpzGy4us/SbxfdPF09/9z8v/ufF7Yvt3y2boTmPSRNOSoRK /81Hun/kv3F7t1pcXly/uw1v/scufre4CNe5zDf555+9/ipX5tlv8wfD28u7 taqf5Y/kym43/v9btnwf/32j9mdbLbK/o59e7OS+WJSf459ePHm56PRPWYb8 VBFAf3qWFCroRMtj6es//tc3X6YX/8yrfFMRlK6PaBCtX2hBN9RuMzo/e/ZT KnI/AJ774una2MW/3KAXi3/B6V/2dB21/+1v838Xfy8XwfP2kH+479x1dRWP FB5+njy8jsA3uZkccfGaUn22vM7eB7d9+O+1InCDCLTPzuuKkoai/3OsaGJ+ NFXX+9u6kj+8T3Qvld3Fgp+tFyF+Wi9zHNR7/uGH99ndf/82r7y7V9m//Prf fnyT/fImXIW3//6rjTduyKYq81rc0NOnOT6ebmo9ISpsFzoqD1yF64u7n5/m vPmne36sbg3e7Y445tbioSoQWrybKHCja8Oea9OTfz8sPFWnbmlmZ6fmVXf3 alNx93wL79pit8wRXxaPzBCtrMN09WaqvLNAtLJvqjgNcNSl60dOAOfD92s+ q+vu1V/uXl2ewauVEyLH3Fl5rJM3/7zuahsq5Xd5rVS8+eevTnTlUX+kKlvX V6M3byG8WVkP7ezTt+/vXi33feqy3KU5tRnHrZ2cOnmXngGd5WI2jDfBUVo9 V1bdSn/cv8VjJ/TDjwC52wDZSZ6+1xeHm7FwuzuHuDt20cXJn4aLz4LktX9h vAuO4/I8znGflo/NmP3V/i6hk/x6jxdfhLFQuz2r1cWp2YzR3T4vGG/Co/Su G0rvZpTue/V7CJTejYbSuy4ovZtRuu9PIG+Co7TM/XDcoeVjM0p/tb9xdshc Jz9sMQ5Kt5lBujh1nrlWtj7DeBMcpVfdGO/VzHj3vfo1BOO9Go3xXnVhvFcz 473nTyBvwqO0G+O9mhnvPa9CMN6r0RjvVRfGezUz3nv+BPImOEqr2deqyYCO +7d4bI4CVz293ao4JE54PdroussVtUvd18XJcxR4378w3oXF8V4Wk12CxyPu LR/6ZNbTzwLiYt9vVyenarx7VbemDureMlvcEYeWz8xbI35VOeva1ZF59Z1l 08suf2CLMzcPdfJmCY1Gh97uObR8/u9Ngibs1s3W9VP8+uHQsaP4tUzOW+al Ou7iDyduNnxMbv7xhN2HeVWebfNhmUT0mG+LZ+a++FeVLAKd/Zmq7zx9cZlW tsWZc19c79YT++K8Js/SF1dSC5ap14+7eO6Lm918Ul+cqrK2L/7vuzEcXU3P v0sgdszVxUMPeJP/pihtLrr17PbgYLtrt5V2bIjN/9Aurq31YEmcdolFW314 zpMakw5MlGc4O2N0XX9HUYpHguqqm29X3cfbh+7Xv502xG6q7/4gO6pbi5sP iiySx7178ynFnAY4uRzXaXO4qvTzt10iTqnyGiB7U/bBPbvgrOLDrIMTs9mL NV583dWNWf1IOtSNWaexs3zq0XevZdq47r1r5htnMGP0rVm3ITObh8yqT//W w6mr83l1d59AcevaMeduHplPPe58vM4G0tm7H67vFmPEjoqLJY74rnhkdlsl 42ZXx6XKq2GxIzhyd1vl9sLJIx7dPHEiGPEpXsW1XsX9O1w8qlfXeXa6uDRc FSjs3qPec9RNh9QcN3Nujop3vj01OcdNTXaOcVC3fw1E5RrTY84tn5qnHtWp R5myqt3Nmyps9HDPqcdNh8HwZh4Nq8g8dTi8qRkPR1kTq1w1c8ybu6cetj87 xtIr6b87gHBbecdg2CuYXr1rqIPzVrP39r33t5PctxrJf7tR8bbbsHg7j4v1 4+J3JwyMt+OMjPcuItu7Qr7Vp9ns1Aanvj7Fq9k4bs06DZLZPEjuue71KYNk NtYgmXUbJLN5kDzw3t9Oct8Yg+Te7bTVK8aPurN87JPpT19/Nepe912S4M6T kLwS744sXsHORPbuoK/cbHzMzeVTs5e3Xi7yInd2cpOPC+iCOrm89Hq5dwP2 EReXD81rIqWTi6TbXX28rsN7B1fGifPtd9bd+uq5qz7w76k99e1ZQbzXUXfq p+du+p6HT+2lz+vfzcW4y8oducd8u3nkMXTPr9fO/bfiGp1/f7p9s7ue599L B6/vGWh3b6q9V7CT1e21yMvKDcnHvHf7yLxX3GCUpdp2d5fp3fL93bs3KpX+ 7qL03ncdvXcL7b2bbrPVebK6P1k9aa462lS1U5RoDhLVeO4Ux43iN9MJc/Mq yr7nvjgFc2YszJkumJtXL+977hTHgfttsw3TrG467HU1nTF3hqNbfb3V99BW efVxl63mm9pqOA0y1FedXPXYPXWKo+D9ZDphyjx2TH1xCqYMGKb8ZYyLly8v Lu8W5vML5z5P88Z4efG5uX37eT6fvHTmLmSv3vqFPfr1k8trH1aLGB1hJhCm GRI+CiZsZMwLJIJBlIiY/sudYK9eBa+DD4xYR7xW1FDjBKICBWltdNTLqCPi 0SwwQoKxJy9fvmzR8Mnz58/btMxvbWM0v6Y1/cVs75bW8sndhEyt787bujSJ uEt+NHeXWbwMWWWG/eY7u/js3ftnT5/lN8PlDf/722VYxHe3iyQlSc1/fnF5 vbj7OSyS6y/C4l1MLfju3QLz9WPJua92yKjRBPO1Qzuo4kpVnp+mCsXdVKG4 qyqhosqioyp4rQrZqXLMP5R0dVAsVTlo8XmxbHl5F/J3r+7M7UW4Wzed9Cuf p8K3qaO6dNnn5aV7WLxy24bWq+yT6/A/i3h5FdYXUBcNfAMg1PGfV68scopw QbGgIljMOLKIGOyVM1S4mNAkrKYMr5HzuQ8fPr9eXl1VQNJP9xxB6AVaPMcv CMnx8/zz3yz+sfAXL/27hXv39n1u1+Kfi998vvvGeH95d/nu2ly9fPc+f5Et nr58a27dz79Lv/dBvcIv3756mxz1PP304uXbePXO3L009vJ3P5tbv3j5X+Rp LnJPZvb/Lt+/vIyLp6/Ti0V6cf0uOXR59+7p4h+/eZn+98/FP9KPxPfL3/3m 6e71+ol/bvV78vzXl9fuapmc8DQpkt9E+ernp/nnyXwsVurN3ZPn8d27xWfl +9RezTpE82Kx+8y8WOQtMm+gWKT371OD/0eOkdtwt7y9XlRqMBdVCEjF3uf3 T/4z/8XCrtTUzVV6mTlz/dJkWXhrr8LtJuj6dPHPezXb+PRmFzUWm4orzN03 CwPZBWPTcFxS0h+XeVkYXCpPJUdRRYNCcFbhNPBhJowVESOjjDQxUMEpHC7X uj8aXFKyYlVcbt7vt9/tZ51xmcabs+KSkgNcVszCQHZNBZeqPywVFCplMCzg xC0ZIhbTwA1TJA2eFiOHg7HB+fRZjHCoVI8JlGqVN8QdKDfv9xvv9rPOoFTn xaQ6gGTFKAxk1UeHZHkLcS8Su1caBpjRpgkh4jRiE7xTSUiisZQz7RNYeQxO eO2IsgDA3Ne+ik38sAfM/eFy01p3LM+2Nt1KxS0+S2XtSS13ezNzHRktVcND dYPSCwJavXjoXmmgMU8bHK3Q2CqFOdeYKmOj9NQja1UIIbFSQjQotA646OOE 1paonQCtnIL2bsK1fLIJWqfqBqUXBLTUEGSBkUkV0hQPE82cQ5hIKkREPjCp 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 To6FXUFsBgA= --_002_DBBPR08MB477557E56A92A793923B26DC9B710DBBPR08MB4775eurp_--