From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2069.outbound.protection.outlook.com [40.107.100.69]) by sourceware.org (Postfix) with ESMTPS id DE6473858D33 for ; Fri, 22 Dec 2023 07:12:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DE6473858D33 Authentication-Results: sourceware.org; dmarc=fail (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DE6473858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.100.69 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1703229164; cv=pass; b=rs1lNVPilb3sRVdx8EYTTP+811PnSMhNFJmjy0BELB13lMIqBnRCF3wGzRvtikXuziKnHpZ/PLZci5aXYbAXhMNPVNpv1pAfgCUGX+tkke01nvt5v4YRdnmDyxVP2DO9JPuNGD4Wsit79fpcdGvocW4J2xqQmsx6DAWTBHO4vaI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1703229164; c=relaxed/simple; bh=2CyXbHdqN8wlNLi0QC8ACYfwRFf2UuFu/ael0EmYw8A=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=WYF2n42hfWt5TUWqSRhwBFjhogde2q6G76BdoJ3aw3Le2bJydwqVmgqhPti+FH7NGnowtkotIdGd3QNugaQjoFmuAK1pnG+hu7Fl0nv17PZ8AhmgNXSEfkyuOXJBlgmaPdqZiAm2aXaiHbNu0yrUoSUkseekZ1CGDMU35gdfctk= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DXFqB0EAeTl8BuVOz2eNSJ3fay06L7tAlgyI0ZfHPWqPL/CveR3kSALXTmIv4z5evxUakts3rW0HdrEoZdyRu9XkPhaCIwlJfAo9G/kwxrj89UNutkyaCfNBMSaZ/TEBzpK+7EjUepupcYOL4+wDjYJjXZYdsq6grD0V4SOFTRRSV+GUNyTpPPx355GgOY5FhE6kYu9o88Ltz/7Pb/3V/MO5SVuZGwltNeyVXnCMYrrnbi9UeSPhNDwf1Gssj+ZqLKzQNjsUQJ6bSBxENuxre7tRS3IPsCrZvDsyAcl1/RtuirLHxXaXoKWtXZuSF6BP0Lybv1Y3nULDoJZKYIDhwQ== 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=z5Y/+Wl2hEfcdFFGUtwlT9PllrmRZUINF0kvtIf8fa8=; b=NL1HAdG9XT3v7qnurR0+yaMw8MLN0HmW7tev6pa1aWv+RJy1A5162ErVsWGVQD9O5cdskaxKAuzyGpNzIbnro0oNd3ZEoJws/Xfa1H/FtZzZUYBjNuT0jAwirFJmJ25caZVUrr2sqSeupCq+SrdoL8rpomJXHLBr1MawqLK7izE3npcXc7CXM7aHY7oRJ0n3akIeAEYntWp0l1+7ky7S3cmqgPAZXlPdXluQzBhXwoLBwtna8cxeN3g9qpEfqCq0isJ4DIPZS7XJokK8CoYbqvq52tygNtL5PAucvr4imkWa4RedFaMD3DhfosuHNwqr6kxZYyB8RlIJj5vEutkIDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z5Y/+Wl2hEfcdFFGUtwlT9PllrmRZUINF0kvtIf8fa8=; b=zho/6Y+et/zCasRSrrRzFTKuzbUxKuxJv5zXMILMUFow/+fsHbD2SWlzDgVAcSYbALaavZyw3TgsPS0mrkFnv48T1ExzQE7YSzTP+ZjzNAjuQ4fvEaxkP/vwAPGXHVkqGPQlTq+IpMnNuvVvIWZHEIAK0UzZK0bFZlTH4L1qQ54= Received: from DM6PR12MB4795.namprd12.prod.outlook.com (2603:10b6:5:164::11) by CYXPR12MB9277.namprd12.prod.outlook.com (2603:10b6:930:d8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.21; Fri, 22 Dec 2023 07:12:40 +0000 Received: from DM6PR12MB4795.namprd12.prod.outlook.com ([fe80::7e7b:7c45:ad3f:dfaa]) by DM6PR12MB4795.namprd12.prod.outlook.com ([fe80::7e7b:7c45:ad3f:dfaa%6]) with mapi id 15.20.7113.019; Fri, 22 Dec 2023 07:12:40 +0000 From: "Joshi, Tejas Sanjay" To: "binutils@sourceware.org" CC: "hjl.tools@gmail.com" , Jan Beulich , "Gopalasubramanian, Ganesh" , "Kumar, Venkataramanan" Subject: [PATCH] Add AMD znver5 processor support Thread-Topic: [PATCH] Add AMD znver5 processor support Thread-Index: Ado0nuthx0aYn8OdRDePfOkvInbJRA== Date: Fri, 22 Dec 2023 07:12:39 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ActionId=f9dca944-c004-4307-b155-c7fbc2644180;MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ContentBits=0;MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Enabled=true;MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Method=Privileged;MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Name=Public-AIP 2.0;MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SetDate=2023-12-22T06:20:27Z;MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR12MB4795:EE_|CYXPR12MB9277:EE_ x-ms-office365-filtering-correlation-id: d5450ba3-88aa-4fa1-2468-08dc02bd621d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7z9ZCnS4VB5h6GiNcouXW9Wg4eYv5oweavnk0Ph6bINnu4595YAArGaC31bnfa8gCvAFVXucMwzUHr0whPF2ZeX7ogMgdOPjVWhiN1jRR7ABASr4XLvylHNlwfO5F2NXM81UG9u6+EO9k4hQNkgwHDVGbm6czfQv23HfJyWIei6BGu6bKRlSDac0VMZnpErK6y5jaboBAqns/Eg/7PxjFrLoxyUeAsXQkMvl4PPXH1sVmeJIkFrwaLTjMgsDBKzQmAZUxvkgYGjAu/E989bvkOm0X0azHavqXZ1aRBLQGqbUKHiO4fTreuY7Z5RCim9PGZXjml269Z0wYTH7vp/I6tifyp1PrkW4e4FwCgDWsuWlfiYBSbz5ZaQPsCWfid63QfZu+CAraADflO60mOfJ+Ilf0dYpAKSN0psyvwzmOShVxSoDN5dIiV68cInb9N/Wq5P59YleG7UwKqTYvjo1/rHmSlCea4d5QDxdOFG/BaC0f72+V/Pzz7eH3KHDw7Q6frFD5sud3OVL6BpaoP7RwotKU77fAJbg7aWNTnqgmKgvkKcDcxrIyqLNmOVlxwmTg1e0BLJwVajcX94AetfX5PYXN9OhFzVP8w4ljs2uIrVwGO66+hrkD6ZG+QyT6Cv0 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB4795.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(376002)(346002)(39860400002)(136003)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(71200400001)(5660300002)(7696005)(9686003)(6506007)(478600001)(26005)(55016003)(76116006)(4326008)(8936002)(8676002)(52536014)(122000001)(99936003)(38070700009)(41300700001)(2906002)(33656002)(86362001)(38100700002)(66556008)(66476007)(66446008)(64756008)(66946007)(6916009)(54906003)(316002)(4001150100001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?bzeQpEdE2qhFHjAJKcs+jiis1YApDYub7UWCOBnQN6Jz5gIdI4EctTSo1xc8?= =?us-ascii?Q?bl20V/sQExD2WMwgDA3oSXfTfwB4W/jJkFwGbpIh7HZgbo5kBsFkihvoeRDT?= =?us-ascii?Q?yodIx+rrO+80FXl+N/TKdaMEcfEFldc/V5WZElcBEQ7pNHh88RE5/1I9glJy?= =?us-ascii?Q?niVDyoIDWGWZeSjL978HoPEdRl6X4IXVZtGnPX3ZPOYLzArlALNC7pUHCbyK?= =?us-ascii?Q?aXT3WOQCIiCKopVPyaOogjytA3wNk3wn8hG3mUsTNDqsW7InfJuy1gIHUCaE?= =?us-ascii?Q?NladE2ueO9M1A2OMvrAd23QdOXXV/elVMk2VvrqbGtEqpN6+nXBM8Q3cVlUN?= =?us-ascii?Q?87nVUHFqK+nSey8HQIi1F663vbh9aIcO49IH+fmM922j8osgv7bxiuSiW973?= =?us-ascii?Q?RtpoDT2fNnUBN0/7/J3QeunM/ZNXteXYcCSELhaDvSFjzZNSsqhVV71g8Iov?= =?us-ascii?Q?twnDHY0qmz/ocKT+lSH0pUP9YWjnc3ZXsXdFgJxHD/jbAczt0qi1ZAqkxXk0?= =?us-ascii?Q?7CKufThI89znrNLcAKpSoc3MVRMgR6ACcmryL15HAG/XFHcDz6owhnihjjfh?= =?us-ascii?Q?+mGZ6aVVNMO1PRX+19M0kUlQe4XCtM6BPfhtjvIeH0JGfRXUHSfhn2NSHYCD?= =?us-ascii?Q?FMljvp88p6XNtBnqDWPwg/dETz8yOVRO6famUCEkDpknsOzGJMeBEbSngYfn?= =?us-ascii?Q?1ltTkeyWpPffM2DEC5uuKuncTRrH/ZsDTjuVQ+nredTN593YYZWcx370ndDo?= =?us-ascii?Q?h6+3EqjDrYoBy+u0WUGFJt8CkgnATcThpGjb/fW3NwjBtnW4l1Z7WxBd2RCH?= =?us-ascii?Q?PZAKEawTdsewvIsYaQLeNDcJVzqvwqwT3LuYOL8vMi1HF3xKz+a9uO/OU2th?= =?us-ascii?Q?mng1hLn/VHi8Ork3tcPn+Px9PkW65HvswACa0a/RO6crSByyoVnFwDVOKUmV?= =?us-ascii?Q?YZRjIZD3L5DcYoaBXaF2vyazNxm8YB9kVJDKYIcF+SQgXVD75oFT3P9vJXyo?= =?us-ascii?Q?jsfP6ZghzzpJOkF+D6b+clwMkPIeccJOlQRQHNBqPUe2A8k58vD3SjpLZeDF?= =?us-ascii?Q?KCGG9VXgEllU4bs+6Ky9Lo9NfDdg2uq+fKH1tHm/g81Yq/+OfBFauQ1Zc0bc?= =?us-ascii?Q?y+Htp/kXe444ju1F39ETdJboZtTsEHicZwpgT9uot6IJ8NqtaS2CHzStQJun?= =?us-ascii?Q?b+BqT0JsU9m6KNVS+069heo1Vak9JGm6q4qphigDHgkUFIt8PMDFBRi5ELAn?= =?us-ascii?Q?5EIEze94PaHQbrX3TE2y7r2UPqYe/i9JW/LmvdvAgApPb8Dr/YQUHQtRRj0l?= =?us-ascii?Q?m6wIvcFhQqS+VJBDC9nB+u758P7k/xlIwV3kh2rDrLHnHkjY1Y/+r7zF6uje?= =?us-ascii?Q?58beBsKIEQUjYYINfNMUYqTe8qqTSrhT6mxGDPA0zK5bpN/wuFlZ/4fSrGcH?= =?us-ascii?Q?v/nwfVNYIUsITbJhx6ua5JFJn1xkljlCOiI+p9nNKLZnS0VNqU5xn5Ik9X5q?= =?us-ascii?Q?qSrjM2TMK02/i5JpHTvzEo1e5EMChrcIbWGWMevNgqbNAZdvMDInXazIpDUK?= =?us-ascii?Q?RiXxebheMr6gmmPTmqY=3D?= Content-Type: multipart/mixed; boundary="_002_DM6PR12MB479500B6E1D54C8C60A7B454E394ADM6PR12MB4795namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4795.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5450ba3-88aa-4fa1-2468-08dc02bd621d X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Dec 2023 07:12:39.7514 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tfyFmXC4GtdaTTw70PPWbkhWWQSKYrn7p7FFind9cdaFRPWoCgoTQ3JwefKrw39O0MkMgkzl6wKmlqE9bJ/jOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9277 X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: --_002_DM6PR12MB479500B6E1D54C8C60A7B454E394ADM6PR12MB4795namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [Public] Hello, PFA the patch for AMD znver5 processor enablement. The patch adds the follo= wing changes: * New AMD znver5 processor support: In addition to znver4 features, the architecture adds the follow= ing features: * AVX_VNNI, MOVDIRI, MOVDIR64B, AVX512_VP2INTERSECT, PREFET= CHI * New test files added: * arch-15.s: New ISAs supported under the arch. * x86-64-arch-5.s: x86-64 version of the test. Make check passes on x86-64. Good to submit in trunk? ChangeLog: 2023-11-29 Tejas Joshi gas/ * config/tc-i386.c (cpu_arch): Add znver5 ARCH. * doc/c-i386.texi: Add znver5. * testsuite/gas/i386/arch-15.d: New. * testsuite/gas/i386/arch-15.s: Likewise. * testsuite/gas/i386/arch-15-znver5.d: Likewise. * testsuite/gas/i386/i386.exp: Add new znver5 test cases. * testsuite/gas/i386/x86-64.exp: Likewise. * testsuite/gas/i386/x86-64-arch-5.d: Likewise. * testsuite/gas/i386/x86-64-arch-5.s: Likewise. * testsuite/gas/i386/x86-64-arch-5-znver5.d: Likewise. opcodes/ * i386-gen.c (isa_dependencies): Add ZNVER5 dependencies. * i386-init.h: Re-generated. -- diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index c84374a08d1..7053655281a 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1007,6 +1007,7 @@ static const arch_entry cpu_arch[] =3D ARCH (znver2, ZNVER, ZNVER2, false), ARCH (znver3, ZNVER, ZNVER3, false), ARCH (znver4, ZNVER, ZNVER4, false), + ARCH (znver5, ZNVER, ZNVER5, false), ARCH (btver1, BT, BTVER1, false), ARCH (btver2, BT, BTVER2, false), diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi index 03ee980bef7..cb378a89994 100644 --- a/gas/doc/c-i386.texi +++ b/gas/doc/c-i386.texi @@ -125,6 +125,7 @@ processor names are recognized: @code{znver2}, @code{znver3}, @code{znver4}, +@code{znver5}, @code{btver1}, @code{btver2}, @code{generic32} and @@ -1627,7 +1628,8 @@ supported on the CPU specified. The choices for @var= {cpu_type} are: @item @samp{k6} @tab @samp{k6_2} @tab @samp{athlon} @tab @samp{k8} @item @samp{amdfam10} @tab @samp{bdver1} @tab @samp{bdver2} @tab @samp{bdv= er3} @item @samp{bdver4} @tab @samp{znver1} @tab @samp{znver2} @tab @samp{znver= 3} -@item @samp{znver4} @tab @samp{btver1} @tab @samp{btver2} @tab @samp{gener= ic32} +@item @samp{znver4} @tab @samp{znver5} @tab @samp{btver1} @tab @samp{btver= 2} +@item @samp{generic32} @item @samp{generic64} @tab @samp{.cmov} @tab @samp{.fxsr} @tab @samp{.mmx= } @item @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3} @tab @samp{.sse4a} @item @samp{.ssse3} @tab @samp{.sse4.1} @tab @samp{.sse4.2} @tab @samp{.ss= e4} diff --git a/gas/testsuite/gas/i386/arch-15-znver5.d b/gas/testsuite/gas/i3= 86/arch-15-znver5.d new file mode 100644 index 00000000000..378daa655dd --- /dev/null +++ b/gas/testsuite/gas/i386/arch-15-znver5.d @@ -0,0 +1,5 @@ +#source: arch-15.s +#as: -march=3Dznver5 +#objdump: -dw +#name: i386 arch 15 (znver5) +#dump: arch-15.d diff --git a/gas/testsuite/gas/i386/arch-15.d b/gas/testsuite/gas/i386/arch= -15.d new file mode 100644 index 00000000000..33de12a5dff --- /dev/null +++ b/gas/testsuite/gas/i386/arch-15.d @@ -0,0 +1,13 @@ +#objdump: -dw +#name: i386 arch 15 + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+:[ ]*c4 e2 59 50 d2[ ]*\{vex\} vpdpbusd %xmm2,%x= mm4,%xmm2 +[ ]*[a-f0-9]+:[ ]*0f 38 f9 01[ ]*movdiri %eax,\(%ecx\) +[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%ecx\),%eax +[ ]*[a-f0-9]+:[ ]*62 f2 6f 48 68 d9[ ]*vp2intersectd %zmm1,%zmm2= ,%k3 +#pass diff --git a/gas/testsuite/gas/i386/arch-15.s b/gas/testsuite/gas/i386/arch= -15.s new file mode 100644 index 00000000000..e3b70e5743b --- /dev/null +++ b/gas/testsuite/gas/i386/arch-15.s @@ -0,0 +1,7 @@ +# Test -march=3D + .text + + {vex} vpdpbusd %xmm2, %xmm4, %xmm2 #AVX_VNNI + movdiri %eax, (%ecx) #MOVDIRI + movdir64b (%ecx), %eax #MOVDIR64B + vp2intersectd %zmm1, %zmm2, %k3 #AVX512_VP2INTERSECT diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.= exp index 3917be6be70..3aba45ef8f0 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -204,6 +204,7 @@ if [gas_32_check] then { run_dump_test "arch-13-znver2" run_dump_test "arch-14-znver3" run_dump_test "arch-14-znver4" + run_dump_test "arch-15-znver5" run_dump_test "arch-10-btver1" run_dump_test "arch-10-btver2" run_list_test "arch-10-1" "-march=3Dgeneric32 -I${srcdir}/$subdir -al" @@ -217,6 +218,7 @@ if [gas_32_check] then { run_dump_test "arch-13" run_dump_test "arch-14" run_dump_test "arch-14-1" + run_dump_test "arch-15" run_list_test "arch-dflt" "-march=3Dgeneric32 -al" run_list_test "arch-stk" "-march=3Dgeneric32 -al" run_dump_test "8087" diff --git a/gas/testsuite/gas/i386/x86-64-arch-5-znver5.d b/gas/testsuite/= gas/i386/x86-64-arch-5-znver5.d new file mode 100644 index 00000000000..f7d6342fb7e --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-arch-5-znver5.d @@ -0,0 +1,5 @@ +#source: x86-64-arch-5.s +#as: -march=3Dznver5 +#objdump: -dw +#name: x86-64 arch 5 (znver5) +#dump: x86-64-arch-5.d diff --git a/gas/testsuite/gas/i386/x86-64-arch-5.d b/gas/testsuite/gas/i38= 6/x86-64-arch-5.d new file mode 100644 index 00000000000..dfcdc857cce --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-arch-5.d @@ -0,0 +1,14 @@ +#objdump: -dw +#name: x86-64 arch 5 + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+:[ ]*c4 c2 59 50 d4[ ]*\{vex\} vpdpbusd %xmm12,%= xmm4,%xmm2 +[ ]*[a-f0-9]+:[ ]*48 0f 38 f9 01[ ]*movdiri %rax,\(%rcx\) +[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%rcx\),%rax +[ ]*[a-f0-9]+:[ ]*62 f2 6f 48 68 d9[ ]*vp2intersectd %zmm1,%zmm2= ,%k3 +[ ]*[a-f0-9]+:[ ]*0f 18 3d 78 56 34 12[ ]*prefetchit0 0x123= 45678\(%rip\) # 0x[0-9a-f]+ +#pass diff --git a/gas/testsuite/gas/i386/x86-64-arch-5.s b/gas/testsuite/gas/i38= 6/x86-64-arch-5.s new file mode 100644 index 00000000000..f359f4ed27b --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-arch-5.s @@ -0,0 +1,8 @@ +# Test -march=3D + .text + + {vex} vpdpbusd %xmm12, %xmm4, %xmm2 #AVX_VNNI + movdiri %rax, (%rcx) #MOVDIRI + movdir64b (%rcx), %rax #MOVDIR64B + vp2intersectd %zmm1, %zmm2, %k3 #AVX512_VP2INTERSECT + prefetchit0 0x12345678(%rip) #prefetchi diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86= -64.exp index a7f5547017f..614e2c7601a 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -174,6 +174,7 @@ run_dump_test "x86-64-arch-3" run_dump_test "x86-64-arch-4" run_dump_test "x86-64-arch-4-1" run_dump_test "rmpquery" +run_dump_test "x86-64-arch-5" run_dump_test "x86-64-arch-2-lzcnt" run_dump_test "x86-64-arch-2-prefetchw" run_dump_test "x86-64-arch-2-bdver1" @@ -184,6 +185,7 @@ run_dump_test "x86-64-arch-3-znver1" run_dump_test "x86-64-arch-3-znver2" run_dump_test "x86-64-arch-4-znver3" run_dump_test "x86-64-arch-4-znver4" +run_dump_test "x86-64-arch-5-znver5" run_dump_test "x86-64-arch-2-btver1" run_dump_test "x86-64-arch-2-btver2" run_list_test "x86-64-arch-2-1" "-march=3Dgeneric64 -I${srcdir}/$subdir -a= l" diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 110a8371bd0..3b0b435bac2 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -94,6 +94,8 @@ static const dependency isa_dependencies[] =3D "ZNVER2|INVLPGB|TLBSYNC|VAES|VPCLMULQDQ|INVPCID|SNP|OSPKE" }, { "ZNVER4", "ZNVER3|AVX512F|AVX512DQ|AVX512IFMA|AVX512CD|AVX512BW|AVX512VL|AVX512_= BF16|AVX512VBMI|AVX512_VBMI2|AVX512_VNNI|AVX512_BITALG|AVX512_VPOPCNTDQ|GFN= I|RMPQUERY" }, + { "ZNVER5", + "ZNVER4|AVX_VNNI|MOVDIRI|MOVDIR64B|AVX512_VP2INTERSECT|PREFETCHI" }, { "BTVER1", "GENERIC64|FISTTP|MONITOR|CX16|LAHF_SAHF|Rdtscp|SSSE3|SSE4A|ABM|PRFCHW= |Clflush|FISTTP|SVME" }, { "BTVER2", -- 2.34.1 --_002_DM6PR12MB479500B6E1D54C8C60A7B454E394ADM6PR12MB4795namp_ Content-Type: application/octet-stream; name="0001-Add-AMD-znver5-processor-support.patch" Content-Description: 0001-Add-AMD-znver5-processor-support.patch Content-Disposition: attachment; filename="0001-Add-AMD-znver5-processor-support.patch"; size=8826; creation-date="Fri, 22 Dec 2023 06:27:55 GMT"; modification-date="Fri, 22 Dec 2023 07:12:38 GMT" Content-Transfer-Encoding: base64 RnJvbSAwOWJlMzY5MGRjYWVlNGY2NDRhMzM5NWM1NWM4MDJiMjQwMDg2OTM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUZWphcyBKb3NoaSA8VGVqYXNTYW5qYXkuSm9zaGlAYW1kLmNv bT4KRGF0ZTogV2VkLCAyMCBEZWMgMjAyMyAxMDo0MDoyMSArMDUzMApTdWJqZWN0OiBbUEFUQ0hd IEFkZCBBTUQgem52ZXI1IHByb2Nlc3NvciBzdXBwb3J0CgogICAgMjAyMy0xMS0yOSAgVGVqYXMg Sm9zaGkgPFRlamFzU2FuamF5Lkpvc2hpQGFtZC5jb20+CgogICAgZ2FzLwoKICAgICAgICAgICAg KiBjb25maWcvdGMtaTM4Ni5jIChjcHVfYXJjaCk6IEFkZCB6bnZlcjUgQVJDSC4KICAgICAgICAg ICAgKiBkb2MvYy1pMzg2LnRleGk6IEFkZCB6bnZlcjUuCiAgICAgICAgICAgICogdGVzdHN1aXRl L2dhcy9pMzg2L2FyY2gtMTUuZDogTmV3LgogICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvaTM4 Ni9hcmNoLTE1LnM6IExpa2V3aXNlLgogICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvaTM4Ni9h cmNoLTE1LXpudmVyNS5kOiBMaWtld2lzZS4KICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL2kz ODYvaTM4Ni5leHA6IEFkZCBuZXcgem52ZXI1IHRlc3QgY2FzZXMuCiAgICAgICAgICAgICogdGVz dHN1aXRlL2dhcy9pMzg2L3g4Ni02NC5leHA6IExpa2V3aXNlLgogICAgICAgICAgICAqIHRlc3Rz dWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXJjaC01LmQ6IExpa2V3aXNlLgogICAgICAgICAgICAqIHRl c3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXJjaC01LnM6IExpa2V3aXNlLgogICAgICAgICAgICAq IHRlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXJjaC01LXpudmVyNS5kOiBMaWtld2lzZS4KCiAg ICBvcGNvZGVzLwoKICAgICAgICAgICAgKiBpMzg2LWdlbi5jIChpc2FfZGVwZW5kZW5jaWVzKTog QWRkIFpOVkVSNSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICogaTM4Ni1pbml0Lmg6IFJlLWdl bmVyYXRlZC4KLS0tCiBnYXMvY29uZmlnL3RjLWkzODYuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMSArCiBnYXMvZG9jL2MtaTM4Ni50ZXhpICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgNCArKystCiBnYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2FyY2gtMTUtem52ZXI1LmQgICAgICAg fCAgNSArKysrKwogZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9hcmNoLTE1LmQgICAgICAgICAgICAg IHwgMTMgKysrKysrKysrKysrKwogZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9hcmNoLTE1LnMgICAg ICAgICAgICAgIHwgIDcgKysrKysrKwogZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9pMzg2LmV4cCAg ICAgICAgICAgICAgIHwgIDIgKysKIGdhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LWFyY2gt NS16bnZlcjUuZCB8ICA1ICsrKysrCiBnYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcmNo LTUuZCAgICAgICAgfCAxNCArKysrKysrKysrKysrKwogZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94 ODYtNjQtYXJjaC01LnMgICAgICAgIHwgIDggKysrKysrKysKIGdhcy90ZXN0c3VpdGUvZ2FzL2kz ODYveDg2LTY0LmV4cCAgICAgICAgICAgICB8ICAyICsrCiBvcGNvZGVzL2kzODYtZ2VuLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArKwogMTEgZmlsZXMgY2hhbmdlZCwgNjIgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdhcy90ZXN0c3Vp dGUvZ2FzL2kzODYvYXJjaC0xNS16bnZlcjUuZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdhcy90ZXN0 c3VpdGUvZ2FzL2kzODYvYXJjaC0xNS5kCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2FzL3Rlc3RzdWl0 ZS9nYXMvaTM4Ni9hcmNoLTE1LnMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnYXMvdGVzdHN1aXRlL2dh cy9pMzg2L3g4Ni02NC1hcmNoLTUtem52ZXI1LmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnYXMvdGVz dHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcmNoLTUuZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdhcy90 ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LWFyY2gtNS5zCgpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZp Zy90Yy1pMzg2LmMgYi9nYXMvY29uZmlnL3RjLWkzODYuYwppbmRleCBjODQzNzRhMDhkMS4uNzA1 MzY1NTI4MWEgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtaTM4Ni5jCisrKyBiL2dhcy9jb25m aWcvdGMtaTM4Ni5jCkBAIC0xMDA3LDYgKzEwMDcsNyBAQCBzdGF0aWMgY29uc3QgYXJjaF9lbnRy eSBjcHVfYXJjaFtdID0KICAgQVJDSCAoem52ZXIyLCBaTlZFUiwgWk5WRVIyLCBmYWxzZSksCiAg IEFSQ0ggKHpudmVyMywgWk5WRVIsIFpOVkVSMywgZmFsc2UpLAogICBBUkNIICh6bnZlcjQsIFpO VkVSLCBaTlZFUjQsIGZhbHNlKSwKKyAgQVJDSCAoem52ZXI1LCBaTlZFUiwgWk5WRVI1LCBmYWxz ZSksCiAgIEFSQ0ggKGJ0dmVyMSwgQlQsIEJUVkVSMSwgZmFsc2UpLAogICBBUkNIIChidHZlcjIs IEJULCBCVFZFUjIsIGZhbHNlKSwKIApkaWZmIC0tZ2l0IGEvZ2FzL2RvYy9jLWkzODYudGV4aSBi L2dhcy9kb2MvYy1pMzg2LnRleGkKaW5kZXggMDNlZTk4MGJlZjcuLmNiMzc4YTg5OTk0IDEwMDY0 NAotLS0gYS9nYXMvZG9jL2MtaTM4Ni50ZXhpCisrKyBiL2dhcy9kb2MvYy1pMzg2LnRleGkKQEAg LTEyNSw2ICsxMjUsNyBAQCBwcm9jZXNzb3IgbmFtZXMgYXJlIHJlY29nbml6ZWQ6CiBAY29kZXt6 bnZlcjJ9LAogQGNvZGV7em52ZXIzfSwKIEBjb2Rle3pudmVyNH0sCitAY29kZXt6bnZlcjV9LAog QGNvZGV7YnR2ZXIxfSwKIEBjb2Rle2J0dmVyMn0sCiBAY29kZXtnZW5lcmljMzJ9IGFuZApAQCAt MTYyNyw3ICsxNjI4LDggQEAgc3VwcG9ydGVkIG9uIHRoZSBDUFUgc3BlY2lmaWVkLiAgVGhlIGNo b2ljZXMgZm9yIEB2YXJ7Y3B1X3R5cGV9IGFyZToKIEBpdGVtIEBzYW1we2s2fSBAdGFiIEBzYW1w e2s2XzJ9IEB0YWIgQHNhbXB7YXRobG9ufSBAdGFiIEBzYW1we2s4fQogQGl0ZW0gQHNhbXB7YW1k ZmFtMTB9IEB0YWIgQHNhbXB7YmR2ZXIxfSBAdGFiIEBzYW1we2JkdmVyMn0gQHRhYiBAc2FtcHti ZHZlcjN9CiBAaXRlbSBAc2FtcHtiZHZlcjR9IEB0YWIgQHNhbXB7em52ZXIxfSBAdGFiIEBzYW1w e3pudmVyMn0gQHRhYiBAc2FtcHt6bnZlcjN9Ci1AaXRlbSBAc2FtcHt6bnZlcjR9IEB0YWIgQHNh bXB7YnR2ZXIxfSBAdGFiIEBzYW1we2J0dmVyMn0gQHRhYiBAc2FtcHtnZW5lcmljMzJ9CitAaXRl bSBAc2FtcHt6bnZlcjR9IEB0YWIgQHNhbXB7em52ZXI1fSBAdGFiIEBzYW1we2J0dmVyMX0gQHRh YiBAc2FtcHtidHZlcjJ9CitAaXRlbSBAc2FtcHtnZW5lcmljMzJ9CiBAaXRlbSBAc2FtcHtnZW5l cmljNjR9IEB0YWIgQHNhbXB7LmNtb3Z9IEB0YWIgQHNhbXB7LmZ4c3J9IEB0YWIgQHNhbXB7Lm1t eH0KIEBpdGVtIEBzYW1wey5zc2V9IEB0YWIgQHNhbXB7LnNzZTJ9IEB0YWIgQHNhbXB7LnNzZTN9 IEB0YWIgQHNhbXB7LnNzZTRhfQogQGl0ZW0gQHNhbXB7LnNzc2UzfSBAdGFiIEBzYW1wey5zc2U0 LjF9IEB0YWIgQHNhbXB7LnNzZTQuMn0gQHRhYiBAc2FtcHsuc3NlNH0KZGlmZiAtLWdpdCBhL2dh cy90ZXN0c3VpdGUvZ2FzL2kzODYvYXJjaC0xNS16bnZlcjUuZCBiL2dhcy90ZXN0c3VpdGUvZ2Fz L2kzODYvYXJjaC0xNS16bnZlcjUuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uMzc4ZGFhNjU1ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9p Mzg2L2FyY2gtMTUtem52ZXI1LmQKQEAgLTAsMCArMSw1IEBACisjc291cmNlOiBhcmNoLTE1LnMK KyNhczogLW1hcmNoPXpudmVyNQorI29iamR1bXA6IC1kdworI25hbWU6IGkzODYgYXJjaCAxNSAo em52ZXI1KQorI2R1bXA6IGFyY2gtMTUuZApkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMv aTM4Ni9hcmNoLTE1LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2FyY2gtMTUuZApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzNkZTEyYTVkZmYKLS0tIC9kZXYvbnVs bAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2FyY2gtMTUuZApAQCAtMCwwICsxLDEzIEBA Cisjb2JqZHVtcDogLWR3CisjbmFtZTogaTM4NiBhcmNoIDE1CisKKy4qOiAgICAgZmlsZSBmb3Jt YXQgLioKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAudGV4dDoKKworMCsgPC50ZXh0PjoKK1sg CV0qW2EtZjAtOV0rOlsgCV0qYzQgZTIgNTkgNTAgZDJbIAldKlx7dmV4XH0gdnBkcGJ1c2QgJXht bTIsJXhtbTQsJXhtbTIKK1sgCV0qW2EtZjAtOV0rOlsgCV0qMGYgMzggZjkgMDFbIAldKm1vdmRp cmkgJWVheCxcKCVlY3hcKQorWyAJXSpbYS1mMC05XSs6WyAJXSo2NiAwZiAzOCBmOCAwMVsgCV0q bW92ZGlyNjRiIFwoJWVjeFwpLCVlYXgKK1sgCV0qW2EtZjAtOV0rOlsgCV0qNjIgZjIgNmYgNDgg NjggZDlbIAldKnZwMmludGVyc2VjdGQgJXptbTEsJXptbTIsJWszCisjcGFzcwpkaWZmIC0tZ2l0 IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9hcmNoLTE1LnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9p Mzg2L2FyY2gtMTUucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTNi NzBlNTc0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2FyY2gt MTUucwpAQCAtMCwwICsxLDcgQEAKKyMgVGVzdCAtbWFyY2g9CisJLnRleHQKKworICAgIHt2ZXh9 IHZwZHBidXNkICV4bW0yLCAleG1tNCwgJXhtbTIgICAgI0FWWF9WTk5JCisgICAgbW92ZGlyaSAl ZWF4LCAoJWVjeCkgICAgICAgICAgICAjTU9WRElSSQorICAgIG1vdmRpcjY0YiAoJWVjeCksICVl YXggICAgICAgICAgI01PVkRJUjY0QgorICAgIHZwMmludGVyc2VjdGQgJXptbTEsICV6bW0yLCAl azMgI0FWWDUxMl9WUDJJTlRFUlNFQ1QKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kz ODYvaTM4Ni5leHAgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2kzODYuZXhwCmluZGV4IDM5MTdi ZTZiZTcwLi4zYWJhNDVlZjhmMCAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9p Mzg2LmV4cAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L2kzODYuZXhwCkBAIC0yMDQsNiAr MjA0LDcgQEAgaWYgW2dhc18zMl9jaGVja10gdGhlbiB7CiAgICAgcnVuX2R1bXBfdGVzdCAiYXJj aC0xMy16bnZlcjIiCiAgICAgcnVuX2R1bXBfdGVzdCAiYXJjaC0xNC16bnZlcjMiCiAgICAgcnVu X2R1bXBfdGVzdCAiYXJjaC0xNC16bnZlcjQiCisgICAgcnVuX2R1bXBfdGVzdCAiYXJjaC0xNS16 bnZlcjUiCiAgICAgcnVuX2R1bXBfdGVzdCAiYXJjaC0xMC1idHZlcjEiCiAgICAgcnVuX2R1bXBf dGVzdCAiYXJjaC0xMC1idHZlcjIiCiAgICAgcnVuX2xpc3RfdGVzdCAiYXJjaC0xMC0xIiAiLW1h cmNoPWdlbmVyaWMzMiAtSSR7c3JjZGlyfS8kc3ViZGlyIC1hbCIKQEAgLTIxNyw2ICsyMTgsNyBA QCBpZiBbZ2FzXzMyX2NoZWNrXSB0aGVuIHsKICAgICBydW5fZHVtcF90ZXN0ICJhcmNoLTEzIgog ICAgIHJ1bl9kdW1wX3Rlc3QgImFyY2gtMTQiCiAgICAgcnVuX2R1bXBfdGVzdCAiYXJjaC0xNC0x IgorICAgIHJ1bl9kdW1wX3Rlc3QgImFyY2gtMTUiCiAgICAgcnVuX2xpc3RfdGVzdCAiYXJjaC1k Zmx0IiAiLW1hcmNoPWdlbmVyaWMzMiAtYWwiCiAgICAgcnVuX2xpc3RfdGVzdCAiYXJjaC1zdGsi ICItbWFyY2g9Z2VuZXJpYzMyIC1hbCIKICAgICBydW5fZHVtcF90ZXN0ICI4MDg3IgpkaWZmIC0t Z2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXJjaC01LXpudmVyNS5kIGIvZ2Fz L3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXJjaC01LXpudmVyNS5kCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mN2Q2MzQyZmI3ZQotLS0gL2Rldi9udWxsCisrKyBi L2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LWFyY2gtNS16bnZlcjUuZApAQCAtMCwwICsx LDUgQEAKKyNzb3VyY2U6IHg4Ni02NC1hcmNoLTUucworI2FzOiAtbWFyY2g9em52ZXI1Cisjb2Jq ZHVtcDogLWR3CisjbmFtZTogeDg2LTY0IGFyY2ggNSAoem52ZXI1KQorI2R1bXA6IHg4Ni02NC1h cmNoLTUuZApkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXJjaC01 LmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcmNoLTUuZApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGZjZGM4NTdjY2UKLS0tIC9kZXYvbnVsbAorKysg Yi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcmNoLTUuZApAQCAtMCwwICsxLDE0IEBA Cisjb2JqZHVtcDogLWR3CisjbmFtZTogeDg2LTY0IGFyY2ggNQorCisuKjogICAgIGZpbGUgZm9y bWF0IC4qCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CisKKzArIDwudGV4dD46Citb IAldKlthLWYwLTldKzpbIAldKmM0IGMyIDU5IDUwIGQ0WyAJXSpce3ZleFx9IHZwZHBidXNkICV4 bW0xMiwleG1tNCwleG1tMgorWyAJXSpbYS1mMC05XSs6WyAJXSo0OCAwZiAzOCBmOSAwMVsgCV0q bW92ZGlyaSAlcmF4LFwoJXJjeFwpCitbIAldKlthLWYwLTldKzpbIAldKjY2IDBmIDM4IGY4IDAx WyAJXSptb3ZkaXI2NGIgXCglcmN4XCksJXJheAorWyAJXSpbYS1mMC05XSs6WyAJXSo2MiBmMiA2 ZiA0OCA2OCBkOVsgCV0qdnAyaW50ZXJzZWN0ZCAlem1tMSwlem1tMiwlazMKK1sgCV0qW2EtZjAt OV0rOlsgCV0qMGYgMTggM2QgNzggNTYgMzQgMTJbIAldKnByZWZldGNoaXQwIDB4MTIzNDU2Nzhc KCVyaXBcKSAgICAgICAgIyAweFswLTlhLWZdKworI3Bhc3MKZGlmZiAtLWdpdCBhL2dhcy90ZXN0 c3VpdGUvZ2FzL2kzODYveDg2LTY0LWFyY2gtNS5zIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94 ODYtNjQtYXJjaC01LnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmYz NTlmNGVkMjdiCi0tLSAvZGV2L251bGwKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYt NjQtYXJjaC01LnMKQEAgLTAsMCArMSw4IEBACisjIFRlc3QgLW1hcmNoPQorCS50ZXh0CisKKyAg ICB7dmV4fSB2cGRwYnVzZCAleG1tMTIsICV4bW00LCAleG1tMiAgICAgI0FWWF9WTk5JCisgICAg bW92ZGlyaSAlcmF4LCAoJXJjeCkgICAgICAgICAgICAgICAgICAgICNNT1ZESVJJCisgICAgbW92 ZGlyNjRiICglcmN4KSwgJXJheCAgICAgICAgICAgICAgICAgICNNT1ZESVI2NEIKKyAgICB2cDJp bnRlcnNlY3RkICV6bW0xLCAlem1tMiwgJWszICAgICAgICAgI0FWWDUxMl9WUDJJTlRFUlNFQ1QK KyAgICBwcmVmZXRjaGl0MCAweDEyMzQ1Njc4KCVyaXApICAgICAgICAgICAgI3ByZWZldGNoaQpk aWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQuZXhwIGIvZ2FzL3Rlc3Rz dWl0ZS9nYXMvaTM4Ni94ODYtNjQuZXhwCmluZGV4IGE3ZjU1NDcwMTdmLi42MTRlMmM3NjAxYSAx MDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQuZXhwCisrKyBiL2dhcy90 ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LmV4cApAQCAtMTc0LDYgKzE3NCw3IEBAIHJ1bl9kdW1w X3Rlc3QgIng4Ni02NC1hcmNoLTMiCiBydW5fZHVtcF90ZXN0ICJ4ODYtNjQtYXJjaC00IgogcnVu X2R1bXBfdGVzdCAieDg2LTY0LWFyY2gtNC0xIgogcnVuX2R1bXBfdGVzdCAicm1wcXVlcnkiCity dW5fZHVtcF90ZXN0ICJ4ODYtNjQtYXJjaC01IgogcnVuX2R1bXBfdGVzdCAieDg2LTY0LWFyY2gt Mi1semNudCIKIHJ1bl9kdW1wX3Rlc3QgIng4Ni02NC1hcmNoLTItcHJlZmV0Y2h3IgogcnVuX2R1 bXBfdGVzdCAieDg2LTY0LWFyY2gtMi1iZHZlcjEiCkBAIC0xODQsNiArMTg1LDcgQEAgcnVuX2R1 bXBfdGVzdCAieDg2LTY0LWFyY2gtMy16bnZlcjEiCiBydW5fZHVtcF90ZXN0ICJ4ODYtNjQtYXJj aC0zLXpudmVyMiIKIHJ1bl9kdW1wX3Rlc3QgIng4Ni02NC1hcmNoLTQtem52ZXIzIgogcnVuX2R1 bXBfdGVzdCAieDg2LTY0LWFyY2gtNC16bnZlcjQiCitydW5fZHVtcF90ZXN0ICJ4ODYtNjQtYXJj aC01LXpudmVyNSIKIHJ1bl9kdW1wX3Rlc3QgIng4Ni02NC1hcmNoLTItYnR2ZXIxIgogcnVuX2R1 bXBfdGVzdCAieDg2LTY0LWFyY2gtMi1idHZlcjIiCiBydW5fbGlzdF90ZXN0ICJ4ODYtNjQtYXJj aC0yLTEiICItbWFyY2g9Z2VuZXJpYzY0IC1JJHtzcmNkaXJ9LyRzdWJkaXIgLWFsIgpkaWZmIC0t Z2l0IGEvb3Bjb2Rlcy9pMzg2LWdlbi5jIGIvb3Bjb2Rlcy9pMzg2LWdlbi5jCmluZGV4IDExMGE4 MzcxYmQwLi4zYjBiNDM1YmFjMiAxMDA2NDQKLS0tIGEvb3Bjb2Rlcy9pMzg2LWdlbi5jCisrKyBi L29wY29kZXMvaTM4Ni1nZW4uYwpAQCAtOTQsNiArOTQsOCBAQCBzdGF0aWMgY29uc3QgZGVwZW5k ZW5jeSBpc2FfZGVwZW5kZW5jaWVzW10gPQogICAgICJaTlZFUjJ8SU5WTFBHQnxUTEJTWU5DfFZB RVN8VlBDTE1VTFFEUXxJTlZQQ0lEfFNOUHxPU1BLRSIgfSwKICAgeyAiWk5WRVI0IiwKICAgICAi Wk5WRVIzfEFWWDUxMkZ8QVZYNTEyRFF8QVZYNTEySUZNQXxBVlg1MTJDRHxBVlg1MTJCV3xBVlg1 MTJWTHxBVlg1MTJfQkYxNnxBVlg1MTJWQk1JfEFWWDUxMl9WQk1JMnxBVlg1MTJfVk5OSXxBVlg1 MTJfQklUQUxHfEFWWDUxMl9WUE9QQ05URFF8R0ZOSXxSTVBRVUVSWSIgfSwKKyAgeyAiWk5WRVI1 IiwKKyAgICAiWk5WRVI0fEFWWF9WTk5JfE1PVkRJUkl8TU9WRElSNjRCfEFWWDUxMl9WUDJJTlRF UlNFQ1R8UFJFRkVUQ0hJIiB9LAogICB7ICJCVFZFUjEiLAogICAgICJHRU5FUklDNjR8RklTVFRQ fE1PTklUT1J8Q1gxNnxMQUhGX1NBSEZ8UmR0c2NwfFNTU0UzfFNTRTRBfEFCTXxQUkZDSFd8Q2xm bHVzaHxGSVNUVFB8U1ZNRSIgfSwKICAgeyAiQlRWRVIyIiwKLS0gCjIuMzQuMQoK --_002_DM6PR12MB479500B6E1D54C8C60A7B454E394ADM6PR12MB4795namp_--