From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id E293A3858D33 for ; Thu, 27 Apr 2023 14:30:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E293A3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-63b620188aeso9927192b3a.0 for ; Thu, 27 Apr 2023 07:30:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682605801; x=1685197801; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=spzf4aOFOX+gpGEPnr760t+7y1W+jYGiMFWtMl9TpsI=; b=Z4KzXA+q4INP+8gh8loco570yiXCWvxnINwXtBS1Ms3Am9mfGLBUmSRgMvyvw1cxzZ jQgn0KZJXbG7MM+ZBtuIVGiC6sFwNcnMWVGTSEJOyR1GH0W7GyHHLRx/EIXUPdHVt8Tf aND5u9ZNLm+3ZWR2P7YuEDzDaHKAPvmW63+aVa8WVOVCIy2M9Wj3h7f/dCTSgq9axV0W tLU7fGWVIM3oayApoSaCpEmLhuSO7S6Ogk1sue4E156/UUW8qDSRLLD6TF+toJITJ7NO 8owJEVV8Y9lrZAwZIa8onsxnaDdogQFGATk670LkaQIFrdLr8BmwGWo7BV7tdnZt5JGg Y7yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682605801; x=1685197801; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=spzf4aOFOX+gpGEPnr760t+7y1W+jYGiMFWtMl9TpsI=; b=Enmiy3uNBMCzyycj0o5rIkulufb2eShTVZVbiWKEID+2lZjQ9Hl8XkUtgDps5tDcwp 4tLU9oiJqAZi9fnAyiYwwXF8hebh+Zo5Dxj9yyafXUR/g1JdAw3JTX+A64qMKuqtka3z 5hrSwBbvu5cD5thK9lE0KPJ7S9HNaiyNYCGUGmzDfkN3PeVLE3ZjqX3hLpsTAF8xB2ny WYllgj+dEC71rAU0qoGgyVgJPAmOZIc8IR1BWRr76jFrl/KEHKzkvMsol4oVPsceWgah QN5KIYlx3aKDoHCxQcpoiCbyJpxWBINqNVJXY9YDIW27tKoWGu8qbnHpf3sZc1PNxlKK bMJw== X-Gm-Message-State: AC+VfDwzauNV+m8C2dQFYlcSObfI8QEpw7P3tbCcR7oqVnNWGIUAJ2i+ FsGII7Mzq+tBIPK0PxXng5iNA3mWuuXm4DmzVLAtzjWhVfQ= X-Google-Smtp-Source: ACHHUZ7brUDSvIvCdgxy3crJ6BsaXeAVmEdISfQmQgV3grMu+MJWGK126ynMyJPqxyIKVqgid2bpGmBU6W3Ftyso23M= X-Received: by 2002:a17:902:db04:b0:1a6:d46b:dfb5 with SMTP id m4-20020a170902db0400b001a6d46bdfb5mr2158437plx.26.1682605801320; Thu, 27 Apr 2023 07:30:01 -0700 (PDT) MIME-Version: 1.0 From: Karen Sargsyan Date: Thu, 27 Apr 2023 18:29:24 +0400 Message-ID: Subject: RISC-V: Added support clmul[r,h] instructions for Zbc extension. To: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="00000000000016542705fa5231c0" X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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: --00000000000016542705fa5231c0 Content-Type: multipart/alternative; boundary="00000000000016542605fa5231be" --00000000000016542605fa5231be Content-Type: text/plain; charset="UTF-8" clmul[h] instructions were added only for the ZBKC extension. This patch includes them in the ZBC extension too. Besides, added support of 'clmulr' instructions for ZBC extension. gcc/ChangeLog: * config/riscv/bitmanip.md: Added clmulr instruction. * config/riscv/riscv-builtins.cc (AVAIL): Add new. * config/riscv/riscv.md: (UNSPEC_CLMULR): Add new unspec type. * config/riscv/riscv-cmo.def: Added built-in function for clmulr. * config/riscv/crypto.md: Move clmul[h] instructions to bitmanip.md. * config/riscv/riscv-scalar-crypto.def: Move clmul[h] built-in functions to riscv-cmo.def. gcc/testsuite/ChangeLog: * gcc.target/riscv/zbc32.c: New test. * gcc.target/riscv/zbc64.c: New test. --00000000000016542605fa5231be-- --00000000000016542705fa5231c0 Content-Type: text/x-patch; charset="US-ASCII"; name="clmul_zbc.patch" Content-Disposition: attachment; filename="clmul_zbc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgz7w5fo0 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYml0bWFuaXAubWQgYi9n Y2MvY29uZmlnL3Jpc2N2L2JpdG1hbmlwLm1kCmluZGV4IDQ0YWQzNTBjNzQ3 Li4xMGZmYjJkM2Y1MSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9i aXRtYW5pcC5tZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2JpdG1hbmlwLm1k CkBAIC02OTYsMyArNjk2LDMyIEBACiAgICBvcGVyYW5kc1s4XSA9IEdFTl9J TlQgKHNldGJpdCk7CiAgICBvcGVyYW5kc1s5XSA9IEdFTl9JTlQgKGNsZWFy Yml0KTsKIH0pCisKKzs7IFpCS0Mgb3IgWkJDIGV4dGVuc2lvbgorKGRlZmlu ZV9pbnNuICJyaXNjdl9jbG11bF88bW9kZT4iCisgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1yIikKKyAgICAgICAg KHVuc3BlYzpYIFsobWF0Y2hfb3BlcmFuZDpYIDEgInJlZ2lzdGVyX29wZXJh bmQiICJyIikKKyAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlgg MiAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKV0KKyAgICAgICAgICAgICAgICAg IFVOU1BFQ19DTE1VTCkpXQorICAiVEFSR0VUX1pCS0MgfHwgVEFSR0VUX1pC QyIKKyAgImNsbXVsXHQlMCwlMSwlMiIKKyAgWyhzZXRfYXR0ciAidHlwZSIg ImJpdG1hbmlwIildKQorCisoZGVmaW5lX2luc24gInJpc2N2X2NsbXVsaF88 bW9kZT4iCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlggMCAicmVnaXN0ZXJf b3BlcmFuZCIgIj1yIikKKyAgICAgICAgKHVuc3BlYzpYIFsobWF0Y2hfb3Bl cmFuZDpYIDEgInJlZ2lzdGVyX29wZXJhbmQiICJyIikKKyAgICAgICAgICAg ICAgICAgIChtYXRjaF9vcGVyYW5kOlggMiAicmVnaXN0ZXJfb3BlcmFuZCIg InIiKV0KKyAgICAgICAgICAgICAgICAgIFVOU1BFQ19DTE1VTEgpKV0KKyAg IlRBUkdFVF9aQktDIHx8IFRBUkdFVF9aQkMiCisgICJjbG11bGhcdCUwLCUx LCUyIgorICBbKHNldF9hdHRyICJ0eXBlIiAiYml0bWFuaXAiKV0pCisKKzs7 IFpCQyBleHRlbnNpb24KKyhkZWZpbmVfaW5zbiAicmlzY3ZfY2xtdWxyXzxt b2RlPiIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6WCAwICJyZWdpc3Rlcl9v cGVyYW5kIiAiPXIiKQorICAgICAgICAodW5zcGVjOlggWyhtYXRjaF9vcGVy YW5kOlggMSAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKQorICAgICAgICAgICAg ICAgICAgKG1hdGNoX29wZXJhbmQ6WCAyICJyZWdpc3Rlcl9vcGVyYW5kIiAi ciIpXQorICAgICAgICAgICAgICAgICAgVU5TUEVDX0NMTVVMUikpXQorICAi VEFSR0VUX1pCQyIKKyAgImNsbXVsclx0JTAsJTEsJTIiCisgIFsoc2V0X2F0 dHIgInR5cGUiICJiaXRtYW5pcCIpXSkKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvcmlzY3YvY3J5cHRvLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9jcnlwdG8u bWQKaW5kZXggNzc3YWE1MjkwMDUuLmU0YjdmMDE5MGRmIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL3Jpc2N2L2NyeXB0by5tZAorKysgYi9nY2MvY29uZmln L3Jpc2N2L2NyeXB0by5tZApAQCAtMjYsMTAgKzI2LDYgQEAKICAgICBVTlNQ RUNfUEFDS0gKICAgICBVTlNQRUNfUEFDS1cKIAotICAgIDs7IFpia2MgdW5z cGVjcwotICAgIFVOU1BFQ19DTE1VTAotICAgIFVOU1BFQ19DTE1VTEgKLQog ICAgIDs7IFpia3ggdW5zcGVjcwogICAgIFVOU1BFQ19YUEVSTTgKICAgICBV TlNQRUNfWFBFUk00CkBAIC0xMjYsMjYgKzEyMiw2IEBACiAgICJwYWNrd1x0 JTAsJTEsJTIiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJjcnlwdG8iKV0pCiAK LTs7IFpCS0MgZXh0ZW5zaW9uCi0KLShkZWZpbmVfaW5zbiAicmlzY3ZfY2xt dWxfPG1vZGU+IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpYIDAgInJlZ2lz dGVyX29wZXJhbmQiICI9ciIpCi0gICAgICAgICh1bnNwZWM6WCBbKG1hdGNo X29wZXJhbmQ6WCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpCi0gICAgICAg ICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpYIDIgInJlZ2lzdGVyX29wZXJh bmQiICJyIildCi0gICAgICAgICAgICAgICAgICBVTlNQRUNfQ0xNVUwpKV0K LSAgIlRBUkdFVF9aQktDIgotICAiY2xtdWxcdCUwLCUxLCUyIgotICBbKHNl dF9hdHRyICJ0eXBlIiAiY3J5cHRvIildKQotCi0oZGVmaW5lX2luc24gInJp c2N2X2NsbXVsaF88bW9kZT4iCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlgg MCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1yIikKLSAgICAgICAgKHVuc3BlYzpY IFsobWF0Y2hfb3BlcmFuZDpYIDEgInJlZ2lzdGVyX29wZXJhbmQiICJyIikK LSAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlggMiAicmVnaXN0 ZXJfb3BlcmFuZCIgInIiKV0KLSAgICAgICAgICAgICAgICAgIFVOU1BFQ19D TE1VTEgpKV0KLSAgIlRBUkdFVF9aQktDIgotICAiY2xtdWxoXHQlMCwlMSwl MiIKLSAgWyhzZXRfYXR0ciAidHlwZSIgImNyeXB0byIpXSkKLQogOzsgWkJL WCBleHRlbnNpb24KIAogKGRlZmluZV9pbnNuICJyaXNjdl94cGVybTRfPG1v ZGU+IgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1idWls dGlucy5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtYnVpbHRpbnMuY2MK aW5kZXggYjFjNGI3NTQ3ZDcuLjc5NjgxZDc1OTYyIDEwMDY0NAotLS0gYS9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWJ1aWx0aW5zLmNjCisrKyBiL2djYy9j b25maWcvcmlzY3YvcmlzY3YtYnVpbHRpbnMuY2MKQEAgLTEwNSw4ICsxMDUs NiBAQCBBVkFJTCAocHJlZmV0Y2hpMzIsIFRBUkdFVF9aSUNCT1AgJiYgIVRB UkdFVF82NEJJVCkKIEFWQUlMIChwcmVmZXRjaGk2NCwgVEFSR0VUX1pJQ0JP UCAmJiBUQVJHRVRfNjRCSVQpCiBBVkFJTCAoY3J5cHRvX3pia2IzMiwgVEFS R0VUX1pCS0IgJiYgIVRBUkdFVF82NEJJVCkKIEFWQUlMIChjcnlwdG9femJr YjY0LCBUQVJHRVRfWkJLQiAmJiBUQVJHRVRfNjRCSVQpCi1BVkFJTCAoY3J5 cHRvX3pia2MzMiwgVEFSR0VUX1pCS0MgJiYgIVRBUkdFVF82NEJJVCkKLUFW QUlMIChjcnlwdG9femJrYzY0LCBUQVJHRVRfWkJLQyAmJiBUQVJHRVRfNjRC SVQpCiBBVkFJTCAoY3J5cHRvX3pia3gzMiwgVEFSR0VUX1pCS1ggJiYgIVRB UkdFVF82NEJJVCkKIEFWQUlMIChjcnlwdG9femJreDY0LCBUQVJHRVRfWkJL WCAmJiBUQVJHRVRfNjRCSVQpCiBBVkFJTCAoY3J5cHRvX3prbmQzMiwgVEFS R0VUX1pLTkQgJiYgIVRBUkdFVF82NEJJVCkKQEAgLTEyMCw2ICsxMTgsMTAg QEAgQVZBSUwgKGNyeXB0b196a3NoMzIsIFRBUkdFVF9aS1NIICYmICFUQVJH RVRfNjRCSVQpCiBBVkFJTCAoY3J5cHRvX3prc2g2NCwgVEFSR0VUX1pLU0gg JiYgVEFSR0VUXzY0QklUKQogQVZBSUwgKGNyeXB0b196a3NlZDMyLCBUQVJH RVRfWktTRUQgJiYgIVRBUkdFVF82NEJJVCkKIEFWQUlMIChjcnlwdG9femtz ZWQ2NCwgVEFSR0VUX1pLU0VEICYmIFRBUkdFVF82NEJJVCkKK0FWQUlMIChj bG11bF96YmtjMzJfb3JfemJjMzIsIChUQVJHRVRfWkJLQyB8fCBUQVJHRVRf WkJDKSAmJiAhVEFSR0VUXzY0QklUKQorQVZBSUwgKGNsbXVsX3pia2M2NF9v cl96YmM2NCwgKFRBUkdFVF9aQktDIHx8IFRBUkdFVF9aQkMpICYmIFRBUkdF VF82NEJJVCkKK0FWQUlMIChjbG11bHJfemJjMzIsIFRBUkdFVF9aQkMgJiYg IVRBUkdFVF82NEJJVCkKK0FWQUlMIChjbG11bHJfemJjNjQsIFRBUkdFVF9a QkMgJiYgVEFSR0VUXzY0QklUKQogQVZBSUwgKGFsd2F5cywgICAgICghMCkp CiAKIC8qIENvbnN0cnVjdCBhIHJpc2N2X2J1aWx0aW5fZGVzY3JpcHRpb24g ZnJvbSB0aGUgZ2l2ZW4gYXJndW1lbnRzLgpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi1jbW8uZGVmIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1jbW8uZGVmCmluZGV4IDlmZTUwOTRjZTFhLi5iOTIwNDRkYzZmZiAx MDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jbW8uZGVmCisr KyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtY21vLmRlZgpAQCAtMTUsMyAr MTUsMTMgQEAgUklTQ1ZfQlVJTFRJTiAoemVyb19kaSwgInppY2Jvel9jYm9f emVybyIsIFJJU0NWX0JVSUxUSU5fRElSRUNUX05PX1RBUkdFVCwgUklTQ1YK IC8vIHppY2JvcAogUklTQ1ZfQlVJTFRJTiAocHJlZmV0Y2hpX3NpLCAiemlj Ym9wX2Nib19wcmVmZXRjaGkiLCBSSVNDVl9CVUlMVElOX0RJUkVDVCwgUklT Q1ZfU0lfRlRZUEVfU0ksIHByZWZldGNoaTMyKSwKIFJJU0NWX0JVSUxUSU4g KHByZWZldGNoaV9kaSwgInppY2JvcF9jYm9fcHJlZmV0Y2hpIiwgUklTQ1Zf QlVJTFRJTl9ESVJFQ1QsIFJJU0NWX0RJX0ZUWVBFX0RJLCBwcmVmZXRjaGk2 NCksCisKKy8vIHpia2Mgb3IgemJjCitSSVNDVl9CVUlMVElOIChjbG11bF9z aSwgImNsbXVsIiwgUklTQ1ZfQlVJTFRJTl9ESVJFQ1QsIFJJU0NWX1NJX0ZU WVBFX1NJX1NJLCBjbG11bF96YmtjMzJfb3JfemJjMzIpLAorUklTQ1ZfQlVJ TFRJTiAoY2xtdWxfZGksICJjbG11bCIsIFJJU0NWX0JVSUxUSU5fRElSRUNU LCBSSVNDVl9ESV9GVFlQRV9ESV9ESSwgY2xtdWxfemJrYzY0X29yX3piYzY0 KSwKK1JJU0NWX0JVSUxUSU4gKGNsbXVsaF9zaSwgImNsbXVsaCIsIFJJU0NW X0JVSUxUSU5fRElSRUNULCBSSVNDVl9TSV9GVFlQRV9TSV9TSSwgY2xtdWxf emJrYzMyX29yX3piYzMyKSwKK1JJU0NWX0JVSUxUSU4gKGNsbXVsaF9kaSwg ImNsbXVsaCIsIFJJU0NWX0JVSUxUSU5fRElSRUNULCBSSVNDVl9ESV9GVFlQ RV9ESV9ESSwgY2xtdWxfemJrYzY0X29yX3piYzY0KSwKKworLy8gemJjCitS SVNDVl9CVUlMVElOIChjbG11bHJfc2ksICJjbG11bHIiLCBSSVNDVl9CVUlM VElOX0RJUkVDVCwgUklTQ1ZfU0lfRlRZUEVfU0lfU0ksIGNsbXVscl96YmMz MiksCitSSVNDVl9CVUlMVElOIChjbG11bHJfZGksICJjbG11bHIiLCBSSVND Vl9CVUlMVElOX0RJUkVDVCwgUklTQ1ZfRElfRlRZUEVfRElfREksIGNsbXVs cl96YmM2NCksCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXNjYWxhci1jcnlwdG8uZGVmIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1z Y2FsYXItY3J5cHRvLmRlZgppbmRleCAxMzk3OTNjNjM2MC4uYzJjYWVkNTE1 MWQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc2NhbGFy LWNyeXB0by5kZWYKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1zY2Fs YXItY3J5cHRvLmRlZgpAQCAtMzIsMTIgKzMyLDYgQEAgUklTQ1ZfQlVJTFRJ TiAodW56aXAsICJ1bnppcCIsIFJJU0NWX0JVSUxUSU5fRElSRUNULCBSSVND Vl9TSV9GVFlQRV9TSSwgY3J5cHRvX3oKIFJJU0NWX0JVSUxUSU4gKGJyZXY4 X3NpLCAiYnJldjgiLCBSSVNDVl9CVUlMVElOX0RJUkVDVCwgUklTQ1ZfU0lf RlRZUEVfU0ksIGNyeXB0b196YmtiMzIpLAogUklTQ1ZfQlVJTFRJTiAoYnJl djhfZGksICJicmV2OCIsIFJJU0NWX0JVSUxUSU5fRElSRUNULCBSSVNDVl9E SV9GVFlQRV9ESSwgY3J5cHRvX3pia2I2NCksCiAKLS8vIFpCS0MKLVJJU0NW X0JVSUxUSU4gKGNsbXVsX3NpLCAiY2xtdWwiLCBSSVNDVl9CVUlMVElOX0RJ UkVDVCwgUklTQ1ZfU0lfRlRZUEVfU0lfU0ksIGNyeXB0b196YmtjMzIpLAot UklTQ1ZfQlVJTFRJTiAoY2xtdWxfZGksICJjbG11bCIsIFJJU0NWX0JVSUxU SU5fRElSRUNULCBSSVNDVl9ESV9GVFlQRV9ESV9ESSwgY3J5cHRvX3pia2M2 NCksCi1SSVNDVl9CVUlMVElOIChjbG11bGhfc2ksICJjbG11bGgiLCBSSVND Vl9CVUlMVElOX0RJUkVDVCwgUklTQ1ZfU0lfRlRZUEVfU0lfU0ksIGNyeXB0 b196YmtjMzIpLAotUklTQ1ZfQlVJTFRJTiAoY2xtdWxoX2RpLCAiY2xtdWxo IiwgUklTQ1ZfQlVJTFRJTl9ESVJFQ1QsIFJJU0NWX0RJX0ZUWVBFX0RJX0RJ LCBjcnlwdG9femJrYzY0KSwKLQogLy8gWkJLWAogUklTQ1ZfQlVJTFRJTiAo eHBlcm00X3NpLCAieHBlcm00IiwgUklTQ1ZfQlVJTFRJTl9ESVJFQ1QsIFJJ U0NWX1NJX0ZUWVBFX1NJX1NJLCBjcnlwdG9femJreDMyKSwKIFJJU0NWX0JV SUxUSU4gKHhwZXJtNF9kaSwgInhwZXJtNCIsIFJJU0NWX0JVSUxUSU5fRElS RUNULCBSSVNDVl9ESV9GVFlQRV9ESV9ESSwgY3J5cHRvX3pia3g2NCksCmRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5tZAppbmRleCAwYzY5NDA3YWMwOS4uZGM3NThi MTVkZDEgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQK KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZApAQCAtNjUsNiArNjUs MTEgQEAKIAogICA7OyBPUi1DT01CSU5FCiAgIFVOU1BFQ19PUkNfQgorCisg IDs7IFpiYyB1bnNwZWNzCisgIFVOU1BFQ19DTE1VTAorICBVTlNQRUNfQ0xN VUxICisgIFVOU1BFQ19DTE1VTFIKIF0pCiAKIChkZWZpbmVfY19lbnVtICJ1 bnNwZWN2IiBbCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvemJjMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi96YmMzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi4wODcwNWM0YTY4NwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96YmMzMi5jCkBAIC0wLDAgKzEs MjMgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1PMiAtbWFyY2g9cnYzMmdjX3piYyAtbWFiaT1pbHAzMiIgfSAqLwor LyogeyBkZy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICItZyIgIi1mbHRvIn0g fSAqLworI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4KKworaW50MzJfdCBmb28x KGludDMyX3QgcnMxLCBpbnQzMl90IHJzMikKK3sKKyAgICByZXR1cm4gX19i dWlsdGluX3Jpc2N2X2NsbXVsKHJzMSwgcnMyKTsKK30KKworaW50MzJfdCBm b28yKGludDMyX3QgcnMxLCBpbnQzMl90IHJzMikKK3sKKyAgICByZXR1cm4g X19idWlsdGluX3Jpc2N2X2NsbXVsaChyczEsIHJzMik7Cit9CisKK2ludDMy X3QgZm9vMyhpbnQzMl90IHJzMSwgaW50MzJfdCByczIpCit7CisgICAgcmV0 dXJuIF9fYnVpbHRpbl9yaXNjdl9jbG11bHIocnMxLCByczIpOworfQorCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImNsbXVsXHQi IDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMgImNsbXVsaCIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyAiY2xtdWxyIiAxIH0gfSAqLwpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3piYzY0LmMgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemJjNjQuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTE5ZjQyYjI4ODMKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvemJjNjQuYwpAQCAtMCwwICsxLDIzIEBACisvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIgLW1hcmNoPXJ2NjRnY196 YmMgLW1hYmk9bHA2NCIgfSAqLworLyogeyBkZy1za2lwLWlmICIiIHsgKi0q LSogfSB7ICItZyIgIi1mbHRvIn0gfSAqLworI2luY2x1ZGUgPHN0ZGludC1n Y2MuaD4KKworaW50NjRfdCBmb28xKGludDY0X3QgcnMxLCBpbnQ2NF90IHJz MikKK3sKKyAgICByZXR1cm4gX19idWlsdGluX3Jpc2N2X2NsbXVsKHJzMSwg cnMyKTsKK30KKworaW50NjRfdCBmb28yKGludDY0X3QgcnMxLCBpbnQ2NF90 IHJzMikKK3sKKyAgICByZXR1cm4gX19idWlsdGluX3Jpc2N2X2NsbXVsaChy czEsIHJzMik7Cit9CisKK2ludDY0X3QgZm9vMyhpbnQ2NF90IHJzMSwgaW50 NjRfdCByczIpCit7CisgICAgcmV0dXJuIF9fYnVpbHRpbl9yaXNjdl9jbG11 bHIocnMxLCByczIpOworfQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMgImNsbXVsXHQiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImNsbXVsaCIgMSB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiY2xtdWxyIiAx IH0gfSAqLwo= --00000000000016542705fa5231c0--