From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 59947 invoked by alias); 8 Nov 2017 12:45:05 -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 58876 invoked by uid 89); 8 Nov 2017 12:45:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS,UNWANTED_LANGUAGE_BODY autolearn=ham version=3.3.2 spammy=H*c:HHH X-HELO: mga05.intel.com Received: from mga05.intel.com (HELO mga05.intel.com) (192.55.52.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 08 Nov 2017 12:45:02 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 08 Nov 2017 04:45:01 -0800 X-ExtLoop1: 1 Received: from irsmsx108.ger.corp.intel.com ([163.33.3.3]) by fmsmga001.fm.intel.com with ESMTP; 08 Nov 2017 04:45:00 -0800 Received: from irsmsx101.ger.corp.intel.com ([169.254.1.22]) by IRSMSX108.ger.corp.intel.com ([169.254.11.167]) with mapi id 14.03.0319.002; Wed, 8 Nov 2017 12:44:59 +0000 From: "Koval, Julia" To: 'GCC Patches' CC: 'Kirill Yukhin' Subject: [PATCH][i386,AVX] Enable VAES support [5/5] Date: Wed, 08 Nov 2017 12:58:00 -0000 Message-ID: <4E89A029A0F8D443B436A5167BA3C53F42ACC70D@IRSMSX101.ger.corp.intel.com> x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTMyZmVlZTQtMGU1ZS00YTcxLWI1NmMtZDdmMTJmOTg5ZWIyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJsY3ZWcDA2NnVJR05adGZEamNUM1JQR3RVbjNoR0x3TFRNNkJESnhvelBLNjBqSjQ5dThURVNMRjdZaEpRXC9OVCJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action Content-Type: multipart/mixed; boundary="_002_4E89A029A0F8D443B436A5167BA3C53F42ACC70DIRSMSX101gercor_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00583.txt.bz2 --_002_4E89A029A0F8D443B436A5167BA3C53F42ACC70DIRSMSX101gercor_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 745 Hi, this patch enables VAESENC instruction from VAES isaset, defined here: = https://software.intel.com/sites/default/files/managed/c5/15/architecture-i= nstruction-set-extensions-programming-reference.pdf Ok for trunk? Thanks, Julia gcc/ * config/i386/i386-builtin.def (__builtin_ia32_vaesenclast_v16qi, __builtin_ia32_vaesenclast_v32qi, __builtin_ia32_vaesenclast_v64qi): New. * config/i386/sse.md (vaesenclast_): New pattern. * config/i386/vaesintrin.h (_mm256_aesenclast_epi128, _mm512_aesenclast_epi128, _mm_aesenclast_epi128): New intrinsics. gcc/testsuite/ * gcc.target/i386/avx512f-aesenclast-2.c: New test. * gcc.target/i386/avx512vl-aesenclast-2.c: Ditto. * gcc.target/i386/avx512fvl-vaes-1.c: Handle new intrinsics. --_002_4E89A029A0F8D443B436A5167BA3C53F42ACC70DIRSMSX101gercor_ Content-Type: application/octet-stream; name="0005-VAESENCLAST.PATCH" Content-Description: 0005-VAESENCLAST.PATCH Content-Disposition: attachment; filename="0005-VAESENCLAST.PATCH"; size=9163; creation-date="Wed, 08 Nov 2017 12:44:48 GMT"; modification-date="Wed, 08 Nov 2017 12:44:48 GMT" Content-Transfer-Encoding: base64 Content-length: 12424 RnJvbSBlNGZhNGY5OTMxYjVjNDJjZjY3OWRhMDY4MmY4ZmU2YmY2OTYwZWU4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAianVsaWEua292YWwi IDxqa292YWxAZ2t0aWNsZWw4MDEuaWdrLmludGVsLmNvbT4KRGF0ZTogTW9u LCAyNyBGZWIgMjAxNyAyMjo0MjoxMyArMDMwMApTdWJqZWN0OiBbUEFUQ0gg NS81XSBWQUVTRU5DTEFTVAoKLS0tCiBnY2MvY29uZmlnL2kzODYvaTM4Ni1i dWlsdGluLmRlZiAgICAgICAgICAgICAgICAgICB8ICAzICsrCiBnY2MvY29u ZmlnL2kzODYvc3NlLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDExICsrKysrCiBnY2MvY29uZmlnL2kzODYvdmFlc2ludHJpbi5oICAgICAg ICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysKIC4uLi9nY2MudGFy Z2V0L2kzODYvYXZ4NTEyZi1hZXNlbmNsYXN0LTIuYyAgICAgICAgIHwgNTIg KysrKysrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvYXZ4NTEyZnZsLXZhZXMtMS5jICAgfCAgNiArKysKIC4uLi9n Y2MudGFyZ2V0L2kzODYvYXZ4NTEydmwtYWVzZW5jbGFzdC0yLmMgICAgICAg IHwgMTcgKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2F2eDUxMmYtYWVzZW5jbGFzdC0yLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdng1MTJ2 bC1hZXNlbmNsYXN0LTIuYwoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4 Ni9pMzg2LWJ1aWx0aW4uZGVmIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtYnVp bHRpbi5kZWYKaW5kZXggODQ2N2MwNC4uN2NmZjBjMiAxMDA2NDQKLS0tIGEv Z2NjL2NvbmZpZy9pMzg2L2kzODYtYnVpbHRpbi5kZWYKKysrIGIvZ2NjL2Nv bmZpZy9pMzg2L2kzODYtYnVpbHRpbi5kZWYKQEAgLTI2MDcsNiArMjYwNyw5 IEBAIEJERVNDIChPUFRJT05fTUFTS19JU0FfVkFFUywgQ09ERV9GT1JfdmFl c2RlY2xhc3RfdjY0cWksICJfX2J1aWx0aW5faWEzMl92YWVzZGVjCiBCREVT QyAoT1BUSU9OX01BU0tfSVNBX1ZBRVMsIENPREVfRk9SX3ZhZXNlbmNfdjE2 cWksICJfX2J1aWx0aW5faWEzMl92YWVzZW5jX3YxNnFpIiwgSVg4Nl9CVUlM VElOX1ZBRVNFTkMxNiwgVU5LTk9XTiwgKGludCkgVjE2UUlfRlRZUEVfVjE2 UUlfVjE2UUkpCiBCREVTQyAoT1BUSU9OX01BU0tfSVNBX1ZBRVMsIENPREVf Rk9SX3ZhZXNlbmNfdjMycWksICJfX2J1aWx0aW5faWEzMl92YWVzZW5jX3Yz MnFpIiwgSVg4Nl9CVUlMVElOX1ZBRVNFTkMzMiwgVU5LTk9XTiwgKGludCkg VjMyUUlfRlRZUEVfVjMyUUlfVjMyUUkpCiBCREVTQyAoT1BUSU9OX01BU0tf SVNBX1ZBRVMsIENPREVfRk9SX3ZhZXNlbmNfdjY0cWksICJfX2J1aWx0aW5f aWEzMl92YWVzZW5jX3Y2NHFpIiwgSVg4Nl9CVUlMVElOX1ZBRVNFTkM2NCwg VU5LTk9XTiwgKGludCkgVjY0UUlfRlRZUEVfVjY0UUlfVjY0UUkpCitCREVT QyAoT1BUSU9OX01BU0tfSVNBX1ZBRVMsIENPREVfRk9SX3ZhZXNlbmNsYXN0 X3YxNnFpLCAiX19idWlsdGluX2lhMzJfdmFlc2VuY2xhc3RfdjE2cWkiLCBJ WDg2X0JVSUxUSU5fVkFFU0VOQ0xBU1QxNiwgVU5LTk9XTiwgKGludCkgVjE2 UUlfRlRZUEVfVjE2UUlfVjE2UUkpCitCREVTQyAoT1BUSU9OX01BU0tfSVNB X1ZBRVMsIENPREVfRk9SX3ZhZXNlbmNsYXN0X3YzMnFpLCAiX19idWlsdGlu X2lhMzJfdmFlc2VuY2xhc3RfdjMycWkiLCBJWDg2X0JVSUxUSU5fVkFFU0VO Q0xBU1QzMiwgVU5LTk9XTiwgKGludCkgVjMyUUlfRlRZUEVfVjMyUUlfVjMy UUkpCitCREVTQyAoT1BUSU9OX01BU0tfSVNBX1ZBRVMsIENPREVfRk9SX3Zh ZXNlbmNsYXN0X3Y2NHFpLCAiX19idWlsdGluX2lhMzJfdmFlc2VuY2xhc3Rf djY0cWkiLCBJWDg2X0JVSUxUSU5fVkFFU0VOQ0xBU1Q2NCwgVU5LTk9XTiwg KGludCkgVjY0UUlfRlRZUEVfVjY0UUlfVjY0UUkpCiAKIEJERVNDX0VORCAo QVJHUzIsIE1QWCkKIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L3Nz ZS5tZCBiL2djYy9jb25maWcvaTM4Ni9zc2UubWQKaW5kZXggNWQ4ZjAwZC4u NWJkN2YyZCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L3NzZS5tZAor KysgYi9nY2MvY29uZmlnL2kzODYvc3NlLm1kCkBAIC0xNjMsNiArMTYzLDcg QEAKICAgVU5TUEVDX1ZBRVNERUMKICAgVU5TUEVDX1ZBRVNERUNMQVNUCiAg IFVOU1BFQ19WQUVTRU5DCisgIFVOU1BFQ19WQUVTRU5DTEFTVAogXSkKIAog KGRlZmluZV9jX2VudW0gInVuc3BlY3YiIFsKQEAgLTIwMDI4LDMgKzIwMDI5 LDEzIEBACiAgICJUQVJHRVRfVkFFUyIKICAgInZhZXNlbmNcdHslMiwgJTEs ICUwfCUwLCAlMSwgJTJ9IgogKQorCisoZGVmaW5lX2luc24gInZhZXNlbmNs YXN0Xzxtb2RlPiIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkxX0FWWDUx MlZMX0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj12IikKKwkgICh1bnNwZWM6 VkkxX0FWWDUxMlZMX0YKKwkgIFsobWF0Y2hfb3BlcmFuZDpWSTFfQVZYNTEy VkxfRiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAidiIpCisJICAgKG1hdGNoX29w ZXJhbmQ6VkkxX0FWWDUxMlZMX0YgMiAidmVjdG9yX29wZXJhbmQiICJ2bSIp XQorCSAgVU5TUEVDX1ZBRVNFTkNMQVNUKSldCisgICJUQVJHRVRfVkFFUyIK KyAgInZhZXNlbmNsYXN0XHR7JTIsICUxLCAlMHwlMCwgJTEsICUyfSIKKykK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni92YWVzaW50cmluLmggYi9n Y2MvY29uZmlnL2kzODYvdmFlc2ludHJpbi5oCmluZGV4IDNiYmZiMzkuLjUx MGEzNmUgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni92YWVzaW50cmlu LmgKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L3ZhZXNpbnRyaW4uaApAQCAtMjks NiArMjksMTQgQEAgX21tMjU2X2Flc2VuY19lcGkxMjggKF9fbTI1NmkgX19B LCBfX20yNTZpIF9fQikKICAgcmV0dXJuIChfX20yNTZpKV9fYnVpbHRpbl9p YTMyX3ZhZXNlbmNfdjMycWkgKChfX3YzMnFpKSBfX0EsIChfX3YzMnFpKSBf X0IpOwogfQogCitleHRlcm4gX19pbmxpbmUgX19tMjU2aQorX19hdHRyaWJ1 dGVfXygoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2Fy dGlmaWNpYWxfXykpCitfbW0yNTZfYWVzZW5jbGFzdF9lcGkxMjggKF9fbTI1 NmkgX19BLCBfX20yNTZpIF9fQikKK3sKKyAgcmV0dXJuIChfX20yNTZpKV9f YnVpbHRpbl9pYTMyX3ZhZXNlbmNsYXN0X3YzMnFpICgoX192MzJxaSkgX19B LAorCQkJCQkJCQkoX192MzJxaSkgX19CKTsKK30KKwogI2lmZGVmIF9fRElT QUJMRV9WQUVTX18KICN1bmRlZiBfX0RJU0FCTEVfVkFFU19fCiAjcHJhZ21h IEdDQyBwb3Bfb3B0aW9ucwpAQCAtNjQsNiArNzIsMTQgQEAgX21tNTEyX2Fl c2VuY19lcGkxMjggKF9fbTUxMmkgX19BLCBfX201MTJpIF9fQikKICAgcmV0 dXJuIChfX201MTJpKV9fYnVpbHRpbl9pYTMyX3ZhZXNlbmNfdjY0cWkgKChf X3Y2NHFpKSBfX0EsIChfX3Y2NHFpKSBfX0IpOwogfQogCitleHRlcm4gX19p bmxpbmUgX19tNTEyaQorX19hdHRyaWJ1dGVfXygoX19nbnVfaW5saW5lX18s IF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCitfbW01MTJf YWVzZW5jbGFzdF9lcGkxMjggKF9fbTUxMmkgX19BLCBfX201MTJpIF9fQikK K3sKKyAgcmV0dXJuIChfX201MTJpKV9fYnVpbHRpbl9pYTMyX3ZhZXNlbmNs YXN0X3Y2NHFpICgoX192NjRxaSkgX19BLAorCQkJCQkJICAgIChfX3Y2NHFp KSBfX0IpOworfQorCiAjaWZkZWYgX19ESVNBQkxFX1ZBRVNGX18KICN1bmRl ZiBfX0RJU0FCTEVfVkFFU0ZfXwogI3ByYWdtYSBHQ0MgcG9wX29wdGlvbnMK QEAgLTk3LDYgKzExMywxNCBAQCBfbW1fYWVzZW5jX2VwaTEyOCAoX19tMTI4 aSBfX0EsIF9fbTEyOGkgX19CKQogICByZXR1cm4gKF9fbTEyOGkpX19idWls dGluX2lhMzJfdmFlc2VuY192MTZxaSAoKF9fdjE2cWkpIF9fQSwgKF9fdjE2 cWkpIF9fQik7CiB9CiAKK2V4dGVybiBfX2lubGluZSBfX20xMjhpCitfX2F0 dHJpYnV0ZV9fKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18s IF9fYXJ0aWZpY2lhbF9fKSkKK19tbV9hZXNlbmNsYXN0X2VwaTEyOCAoX19t MTI4aSBfX0EsIF9fbTEyOGkgX19CKQoreworICByZXR1cm4gKF9fbTEyOGkp X19idWlsdGluX2lhMzJfdmFlc2VuY2xhc3RfdjE2cWkgKChfX3YxNnFpKSBf X0EsCisJCQkJCQkgICAgKF9fdjE2cWkpIF9fQik7Cit9CisKICNpZmRlZiBf X0RJU0FCTEVfVkFFU1ZMX18KICN1bmRlZiBfX0RJU0FCTEVfVkFFU1ZMX18K ICNwcmFnbWEgR0NDIHBvcF9vcHRpb25zCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdng1MTJmLWFlc2VuY2xhc3QtMi5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4NTEyZi1hZXNl bmNsYXN0LTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4wM2QzMzNiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvYXZ4NTEyZi1hZXNlbmNsYXN0LTIuYwpAQCAtMCww ICsxLDUyIEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1PMiAtbWF2eDUxMmYgLW12YWVzIiB9ICovCisvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCBhdng1MTJmIH0gKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGF2eDUxMnZhZXMgfSAqLworCisjZGVm aW5lIEFWWDUxMkYKKworI2RlZmluZSBWQUVTCisjaW5jbHVkZSAiYXZ4NTEy Zi1oZWxwZXIuaCIKKworI2RlZmluZSBTSVpFIChBVlg1MTJGX0xFTiAvIDMy KQorCisjaW5jbHVkZSAiYXZ4NTEyZi1tYXNrLXR5cGUuaCIKKworc3RhdGlj IHZvaWQKK0NBTEMgKHVuc2lnbmVkIGludCAqcikKK3sKKyAgZm9yIChpbnQg aSA9IDA7IGkgPCBTSVpFOyBpKz00KQorICAgIHsKKyAgICAgIHJbaV0gPSAw eGZiY2RhMTE7CisgICAgICByW2kgKyAxXSA9IDB4MjM4ZGQ5M2Y7CisgICAg ICByW2kgKyAyXSA9IDB4NGFkYzYyYzA7CisgICAgICByW2kgKyAzXSA9IDB4 M2VmYmNiODg7CisgICAgfQorfQorCit2b2lkCitURVNUICh2b2lkKQorewor ICBpbnQgaTsKKyAgVU5JT05fVFlQRSAoQVZYNTEyRl9MRU4sIGlfdWQpIHJl czEsIHNyYzEsIHNyYzI7CisgIE1BU0tfVFlQRSBtYXNrID0gTUFTS19WQUxV RTsKKyAgdW5zaWduZWQgaW50IHJlc19yZWZbU0laRV07CisKKyAgZm9yIChp bnQgaSA9IDA7IGkgPCBTSVpFOyBpKz00KQorICAgIHsKKyAgICAgIHNyYzEu YVtpXSA9IDB4NWQ1MzQ3NWQ7CisgICAgICBzcmMxLmFbaSArIDFdID0gMHg2 Mzc0NmY3MjsKKyAgICAgIHNyYzEuYVtpICsgMl0gPSAweDczNzQ1NjY1Owor ICAgICAgc3JjMS5hW2kgKyAzXSA9IDB4N2I1YjU0NjU7CisgICAgICBzcmMy LmFbaV0gPSAweDcyNmY2ZTVkOworICAgICAgc3JjMi5hW2kgKyAxXSA9IDB4 NWI0Nzc1NjU7CisgICAgICBzcmMyLmFbaSArIDJdID0gMHg2ODYxNzkyOTsK KyAgICAgIHNyYzIuYVtpICsgM10gPSAweDQ4NjkyODUzOworICAgIH0KKwor ICBDQUxDIChyZXNfcmVmKTsKKyAgcmVzMS54ID0gSU5UUklOU0lDIChfYWVz ZW5jbGFzdF9lcGkxMjgpIChzcmMyLngsIHNyYzEueCk7CisKKyAgaWYgKFVO SU9OX0NIRUNLIChBVlg1MTJGX0xFTiwgaV91ZCkgKHJlczEsIHJlc19yZWYp KQorICAgIGFib3J0ICgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvYXZ4NTEyZnZsLXZhZXMtMS5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4NTEyZnZsLXZhZXMtMS5jCmlu ZGV4IDRhOGY4NWYuLjE5NTA3YTQgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L2F2eDUxMmZ2bC12YWVzLTEuYworKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdng1MTJmdmwtdmFlcy0x LmMKQEAgLTMsMTQgKzMsMTcgQEAKIC8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyAidmFlc2RlY1xbIFxcdFxdK1xbXlx7XG5cXSolem1t XFswLTlcXStcW15cblxyXSolem1tXFswLTlcXStcW15cblxyXSolem1tXFsw LTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgIDEgfSB9ICovCiAvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZhZXNkZWNsYXN0XFsgXFx0 XF0rXFteXHtcblxdKiV6bW1cWzAtOVxdK1xbXlx7XG5cXSolem1tXFswLTlc XStcW15ce1xuXF0qJXptbVxbMC05XF0rKD86XG58XFsgXFx0XF0rIykiICAx IH0gfSAqLwogLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJ2YWVzZW5jXFsgXFx0XF0rXFteXHtcblxdKiV6bW1cWzAtOVxdK1xbXlxu XHJdKiV6bW1cWzAtOVxdK1xbXlxuXHJdKiV6bW1cWzAtOVxdKyg/OlxufFxb IFxcdFxdKyMpIiAgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyAidmFlc2VuY2xhc3RcWyBcXHRcXStcW15ce1xuXF0q JXptbVxbMC05XF0rXFteXHtcblxdKiV6bW1cWzAtOVxdK1xbXlx7XG5cXSol em1tXFswLTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgIDEgfSB9ICovCiAKIC8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidmFlc2RlY1xb IFxcdFxdK1xbXlx7XG5cXSoleW1tXFswLTlcXStcW15ce1xuXF0qJXltbVxb MC05XF0rXFteXHtcblxdKiV5bW1cWzAtOVxdKyg/OlxufFxbIFxcdFxdKyMp IiAgMSB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAidmFlc2RlY2xhc3RcWyBcXHRcXStcW15ce1xuXF0qJXltbVxbMC05 XF0rXFteXHtcblxdKiV5bW1cWzAtOVxdK1xbXlx7XG5cXSoleW1tXFswLTlc XSsoPzpcbnxcWyBcXHRcXSsjKSIgIDEgfSB9ICovCiAvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZhZXNlbmNcWyBcXHRcXStcW15c e1xuXF0qJXltbVxbMC05XF0rXFteXHtcblxdKiV5bW1cWzAtOVxdK1xbXlx7 XG5cXSoleW1tXFswLTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgIDEgfSB9ICov CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZhZXNl bmNsYXN0XFsgXFx0XF0rXFteXHtcblxdKiV5bW1cWzAtOVxdK1xbXlx7XG5c XSoleW1tXFswLTlcXStcW15ce1xuXF0qJXltbVxbMC05XF0rKD86XG58XFsg XFx0XF0rIykiICAxIH0gfSAqLwogCiAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMgInZhZXNkZWNcWyBcXHRcXStcW15ce1xuXF0qJXht bVxbMC05XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdK1xbXlx7XG5cXSoleG1t XFswLTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgIDEgfSB9ICovCiAvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZhZXNkZWNsYXN0XFsg XFx0XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdK1xbXlx7XG5cXSoleG1tXFsw LTlcXStcW15ce1xuXF0qJXhtbVxbMC05XF0rKD86XG58XFsgXFx0XF0rIyki ICAxIH0gfSAqLwogLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJ2YWVzZW5jXFsgXFx0XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdK1xb Xlx7XG5cXSoleG1tXFswLTlcXStcW15ce1xuXF0qJXhtbVxbMC05XF0rKD86 XG58XFsgXFx0XF0rIykiICAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzICJ2YWVzZW5jbGFzdFxbIFxcdFxdK1xbXlx7 XG5cXSoleG1tXFswLTlcXStcW15ce1xuXF0qJXhtbVxbMC05XF0rXFteXHtc blxdKiV4bW1cWzAtOVxdKyg/OlxufFxbIFxcdFxdKyMpIiAgMSB9IH0gKi8K IAogI2luY2x1ZGUgPGltbWludHJpbi5oPgogCkBAIC0yNCwxMiArMjcsMTUg QEAgYXZ4NTEyZl90ZXN0ICh2b2lkKQogICB4ID0gX21tNTEyX2Flc2RlY19l cGkxMjggKHgsIHkpOwogICB4ID0gX21tNTEyX2Flc2RlY2xhc3RfZXBpMTI4 ICh4LCB5KTsKICAgeCA9IF9tbTUxMl9hZXNlbmNfZXBpMTI4ICh4LCB5KTsK KyAgeCA9IF9tbTUxMl9hZXNlbmNsYXN0X2VwaTEyOCAoeCwgeSk7CiAKICAg eDI1NiA9IF9tbTI1Nl9hZXNkZWNfZXBpMTI4ICh4MjU2LCB5MjU2KTsKICAg eDI1NiA9IF9tbTI1Nl9hZXNkZWNsYXN0X2VwaTEyOCAoeDI1NiwgeTI1Nik7 CiAgIHgyNTYgPSBfbW0yNTZfYWVzZW5jX2VwaTEyOCAoeDI1NiwgeTI1Nik7 CisgIHgyNTYgPSBfbW0yNTZfYWVzZW5jbGFzdF9lcGkxMjggKHgyNTYsIHky NTYpOwogCiAgIHgxMjggPSBfbW1fYWVzZGVjX2VwaTEyOCAoeDEyOCwgeTEy OCk7CiAgIHgxMjggPSBfbW1fYWVzZGVjbGFzdF9lcGkxMjggKHgxMjgsIHkx MjgpOwogICB4MTI4ID0gX21tX2Flc2VuY19lcGkxMjggKHgxMjgsIHkxMjgp OworICB4MTI4ID0gX21tX2Flc2VuY2xhc3RfZXBpMTI4ICh4MTI4LCB5MTI4 KTsKIH0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2F2eDUxMnZsLWFlc2VuY2xhc3QtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvYXZ4NTEydmwtYWVzZW5jbGFzdC0yLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY3OGE2NgotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2 eDUxMnZsLWFlc2VuY2xhc3QtMi5jCkBAIC0wLDAgKzEsMTcgQEAKKy8qIHsg ZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYXZ4NTEy YncgLW1hdng1MTJ2bCAtbXZhZXMiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IGF2eDUxMnZsIH0gKi8KKy8qIHsgZGctcmVxdWly ZS1lZmZlY3RpdmUtdGFyZ2V0IGF2eDUxMmJ3IH0gKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGF2eDUxMnZhZXMgfSAqLworCisjZGVm aW5lIEFWWDUxMlZMCisjZGVmaW5lIEFWWDUxMkZfTEVOIDI1NgorI2RlZmlu ZSBBVlg1MTJGX0xFTl9IQUxGIDEyOAorI2luY2x1ZGUgImF2eDUxMmYtYWVz ZW5jbGFzdC0yLmMiCisKKyN1bmRlZiBBVlg1MTJGX0xFTgorI3VuZGVmIEFW WDUxMkZfTEVOX0hBTEYKKworI2RlZmluZSBBVlg1MTJGX0xFTiAxMjgKKyNk ZWZpbmUgQVZYNTEyRl9MRU5fSEFMRiAxMjgKKyNpbmNsdWRlICJhdng1MTJm LWFlc2VuY2xhc3QtMi5jIgotLSAKMi41LjUKCg== --_002_4E89A029A0F8D443B436A5167BA3C53F42ACC70DIRSMSX101gercor_--