From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/11552 Path: news.gmane.org!.POSTED!not-for-mail From: David Edelsohn Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH] powerpc64le: Add single instruction math functions Date: Wed, 21 Jun 2017 10:53:13 -0400 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="089e082296280f94db0552798790" X-Trace: blaine.gmane.org 1498056810 32492 195.159.176.226 (21 Jun 2017 14:53:30 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 21 Jun 2017 14:53:30 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-11565-gllmg-musl=m.gmane.org@lists.openwall.com Wed Jun 21 16:53:26 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1dNh0X-0008Ao-2u for gllmg-musl@m.gmane.org; Wed, 21 Jun 2017 16:53:25 +0200 Original-Received: (qmail 23614 invoked by uid 550); 21 Jun 2017 14:53:27 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 23572 invoked from network); 21 Jun 2017 14:53:25 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=rtMPUN5NBAtyIqD/Y1QQtjC2FMS5oQq/qM3PdIjDZO0=; b=nxElc6ol8EXU8vc5b6cYfV/YJX9OEf+IerXedu9GHo2OxIvZ66HwObd6pESmUJc4J4 7aznci/YmTRf2OsiuqFkpDzFCHYT6fI6MToR2S+ytkWJrKHR2hx06be45MqkYm6FbxLN XkmW4Y3F11pp4IHjsTtZV4epAX6HuT8uA+97g7mvgqQex/xulWDqH3xrhICJPQls/mt1 IDERDXgd84MNKNGM4A8tKZPAUG0wzySdD0GBqmGKnen73fRBIJoI+91O8H6+MkPVNIF6 jmmfnDembSHzyciqNHM35yMN04z5wzxWuMhJwx3/xs+rFGzbJw+2AhyHZyhnXPnF4m0W bioQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rtMPUN5NBAtyIqD/Y1QQtjC2FMS5oQq/qM3PdIjDZO0=; b=fMkEqZFU02PreLljKfVSC/zGmY2/LLjHl8egoornqwGGPMS3tO6SxtuFoMw+D0t8fG gIuWJFaG0g1AUFYt4pqB1joxPtfHNWbJkxhCmTmbOC2S6Pa2alVjO6d0ItxFpZZ9AX5K g7WLX0ORknFodRaVbQRLQDki83agKesgsXvc4CAHT1weyLqp21u7oYkP3xr6n00zV4/k 51+MVBUBLGjKI137/OIfWL9uxEFHq2bqkbjWj6I/lI0Ws+AMKcNy1bNnEbcpf57RrsW6 YBxiu582Ol02X4jgWDWmNjB6pcmwHP15RfiGUEpLZvhpW91j6NuQKRdS51Qh+kdQEEA1 //Yg== X-Gm-Message-State: AKS2vOwP5Mf8yt1wXrJDomfejBQzm2/bFRbBIGmYQde7WPl3k3DXi2qe 7grxqwFK2NDLGvucSTrGJollSqyuwA== X-Received: by 10.200.14.66 with SMTP id j2mr42668451qti.229.1498056794008; Wed, 21 Jun 2017 07:53:14 -0700 (PDT) Xref: news.gmane.org gmane.linux.lib.musl.general:11552 Archived-At: --089e082296280f94db0552798790 Content-Type: text/plain; charset="UTF-8" The following two patches are a start at single instruction math functions for PowerPC64 architecture. Although PPC64LE Linux and ELFv2 ABI require Power8 as the minimum architecture, I have added guards that fallback to C code for earlier architectures. Thanks, David --089e082296280f94db0552798790 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-single-instruction-math-functions-for-Power8.patch" Content-Disposition: attachment; filename="0001-Add-single-instruction-math-functions-for-Power8.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j474bm8c0 RnJvbSA0ZWIzNGIyM2JhNWM5Y2Q5MzJlMmVlMmZkMjdmYjFmM2E2ZTJmNGIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBFZGVsc29obiA8ZGplLmdjY0BnbWFpbC5jb20+CkRh dGU6IEZyaSwgOSBKdW4gMjAxNyAxNTo0MDo0MCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBB ZGQgc2luZ2xlIGluc3RydWN0aW9uIG1hdGggZnVuY3Rpb25zIGZvciBQb3dlcjgKCi0tLQogc3Jj L21hdGgvcG93ZXJwYzY0L2NlaWwuYyAgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0 L2NlaWxmLmMgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZhYnMuYyAgIHwgIDcg KysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZhYnNmLmMgIHwgIDcgKysrKysrKwogc3JjL21h dGgvcG93ZXJwYzY0L2Zsb29yLmMgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2Zs b29yZi5jIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZtYS5jICAgIHwgIDcgKysr KysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZtYWYuYyAgIHwgIDcgKysrKysrKwogc3JjL21hdGgv cG93ZXJwYzY0L2ZtYXguYyAgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZtYXhm LmMgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZtaW4uYyAgIHwgIDcgKysrKysr Kwogc3JjL21hdGgvcG93ZXJwYzY0L2ZtaW5mLmMgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93 ZXJwYzY0L2xyaW50LmMgIHwgMTAgKysrKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2xyaW50 Zi5jIHwgMTAgKysrKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5kLmMgIHwgIDcgKysr KysrKwogc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5kZi5jIHwgIDcgKysrKysrKwogc3JjL21hdGgv cG93ZXJwYzY0L3NxcnQuYyAgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L3NxcnRm LmMgIHwgIDcgKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jLmMgIHwgIDcgKysrKysr Kwogc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jZi5jIHwgIDcgKysrKysrKwogMjAgZmlsZXMgY2hh bmdlZCwgMTQ2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9wb3dl cnBjNjQvY2VpbC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL21hdGgvcG93ZXJwYzY0L2NlaWxm LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9wb3dlcnBjNjQvZmFicy5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL21hdGgvcG93ZXJwYzY0L2ZhYnNmLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmMvbWF0aC9wb3dlcnBjNjQvZmxvb3IuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9tYXRo L3Bvd2VycGM2NC9mbG9vcmYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9tYXRoL3Bvd2VycGM2 NC9mbWEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9tYXRoL3Bvd2VycGM2NC9mbWFmLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9wb3dlcnBjNjQvZm1heC5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL21hdGgvcG93ZXJwYzY0L2ZtYXhmLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMv bWF0aC9wb3dlcnBjNjQvZm1pbi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL21hdGgvcG93ZXJw YzY0L2ZtaW5mLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9wb3dlcnBjNjQvbHJpbnQu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9tYXRoL3Bvd2VycGM2NC9scmludGYuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy9tYXRoL3Bvd2VycGM2NC9yb3VuZC5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5kZi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL21h dGgvcG93ZXJwYzY0L3NxcnQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9tYXRoL3Bvd2VycGM2 NC9zcXJ0Zi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9wb3dlcnBjNjQvdHJ1bmNmLmMKCmRpZmYgLS1n aXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvY2VpbC5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2NlaWwu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmU2ZDM1Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L2NlaWwuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNs dWRlIDxtYXRoLmg+CisKK2RvdWJsZSBjZWlsKGRvdWJsZSB4KQoreworCV9fYXNtX18gKCJmcmlw ICUwLCAlMSIgOiAiPWQiKHgpIDogImQiKHgpKTsKKwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBh L3NyYy9tYXRoL3Bvd2VycGM2NC9jZWlsZi5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2NlaWxmLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdkNjljNwotLS0gL2Rldi9udWxs CisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9jZWlsZi5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1 ZGUgPG1hdGguaD4KKworZmxvYXQgY2VpbGYoZmxvYXQgeCkKK3sKKwlfX2FzbV9fICgiZnJpcCAl MCwgJTEiIDogIj1mIih4KSA6ICJmIih4KSk7CisJcmV0dXJuIHg7Cit9CmRpZmYgLS1naXQgYS9z cmMvbWF0aC9wb3dlcnBjNjQvZmFicy5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZhYnMuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTIzYzc1Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZhYnMuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxt YXRoLmg+CisKK2RvdWJsZSBmYWJzKGRvdWJsZSB4KQoreworCV9fYXNtX18gKCJmYWJzICUwLCAl MSIgOiAiPWQiKHgpIDogImQiKHgpKTsKKwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9t YXRoL3Bvd2VycGM2NC9mYWJzZi5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZhYnNmLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTllNDU2NAotLS0gL2Rldi9udWxsCisrKyBi L3NyYy9tYXRoL3Bvd2VycGM2NC9mYWJzZi5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1h dGguaD4KKworZmxvYXQgZmFic2YoZmxvYXQgeCkKK3sKKwlfX2FzbV9fICgiZmFicyAlMCwgJTEi IDogIj1mIih4KSA6ICJmIih4KSk7CisJcmV0dXJuIHg7Cit9CmRpZmYgLS1naXQgYS9zcmMvbWF0 aC9wb3dlcnBjNjQvZmxvb3IuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbG9vci5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MGJhNjUKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvbWF0aC9wb3dlcnBjNjQvZmxvb3IuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxtYXRo Lmg+CisKK2RvdWJsZSBmbG9vcihkb3VibGUgeCkKK3sKKwlfX2FzbV9fICgiZnJpbSAlMCwgJTEi IDogIj1kIih4KSA6ICJkIih4KSk7CisJcmV0dXJuIHg7Cit9CmRpZmYgLS1naXQgYS9zcmMvbWF0 aC9wb3dlcnBjNjQvZmxvb3JmLmMgYi9zcmMvbWF0aC9wb3dlcnBjNjQvZmxvb3JmLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRlYTVlZQotLS0gL2Rldi9udWxsCisrKyBi L3NyYy9tYXRoL3Bvd2VycGM2NC9mbG9vcmYuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxt YXRoLmg+CisKK2Zsb2F0IGZsb29yZihmbG9hdCB4KQoreworCV9fYXNtX18gKCJmcmltICUwLCAl MSIgOiAiPWYiKHgpIDogImYiKHgpKTsKKwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9t YXRoL3Bvd2VycGM2NC9mbWEuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWEuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWViZDFhCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj L21hdGgvcG93ZXJwYzY0L2ZtYS5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1hdGguaD4K KworZG91YmxlIGZtYShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB6KQoreworCV9fYXNtX18g KCJmbWFkZCAlMCwgJTEsICUyLCAlMyIgOiAiPWQiKHgpIDogImQiKHgpLCAiZCIoeSksICJkIih6 KSk7CisJcmV0dXJuIHg7Cit9CmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvZm1hZi5j IGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZtYWYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5jNjc4ZmVmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L2Zt YWYuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisKK2Zsb2F0IGZtYWYoZmxv YXQgeCwgZmxvYXQgeSwgZmxvYXQgeikKK3sKKwlfX2FzbV9fICgiZm1hZGRzICUwLCAlMSwgJTIs ICUzIiA6ICI9ZiIoeCkgOiAiZiIoeCksICJmIih5KSwgImYiKHopKTsKKwlyZXR1cm4geDsKK30K ZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWF4LmMgYi9zcmMvbWF0aC9wb3dlcnBj NjQvZm1heC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5YzUwN2UKLS0t IC9kZXYvbnVsbAorKysgYi9zcmMvbWF0aC9wb3dlcnBjNjQvZm1heC5jCkBAIC0wLDAgKzEsNyBA QAorI2luY2x1ZGUgPG1hdGguaD4KKworZG91YmxlIGZtYXgoZG91YmxlIHgsIGRvdWJsZSB5KQor eworCV9fYXNtX18gKCJ4c21heGRwICV4MCwgJXgxLCAleDIiIDogIj13cyIoeCkgOiAid3MiKHgp LCAid3MiKHkpKTsKKwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2 NC9mbWF4Zi5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZtYXhmLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZjJkYmQ0YgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tYXRoL3Bv d2VycGM2NC9mbWF4Zi5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1hdGguaD4KKworZmxv YXQgZm1heGYoZmxvYXQgeCwgZmxvYXQgeSkKK3sKKwlfX2FzbV9fICgieHNtYXhkcCAleDAsICV4 MSwgJXgyIiA6ICI9d3ciKHgpIDogInd3Iih4KSwgInd3Iih5KSk7CisJcmV0dXJuIHg7Cit9CmRp ZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvZm1pbi5jIGIvc3JjL21hdGgvcG93ZXJwYzY0 L2ZtaW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjUwNGQ2Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZtaW4uYwpAQCAtMCwwICsxLDcgQEAK KyNpbmNsdWRlIDxtYXRoLmg+CisKK2RvdWJsZSBmbWluKGRvdWJsZSB4LCBkb3VibGUgeSkKK3sK KwlfX2FzbV9fICgieHNtaW5kcCAleDAsICV4MSwgJXgyIiA6ICI9d3MiKHgpIDogIndzIih4KSwg IndzIih5KSk7CisJcmV0dXJuIHg7Cit9CmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQv Zm1pbmYuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWluZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjRkMTkyNjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbWF0aC9wb3dl cnBjNjQvZm1pbmYuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisKK2Zsb2F0 IGZtaW5mKGZsb2F0IHgsIGZsb2F0IHkpCit7CisJX19hc21fXyAoInhzbWluZHAgJXgwLCAleDEs ICV4MiIgOiAiPXd3Iih4KSA6ICJ3dyIoeCksICJ3dyIoeSkpOworCXJldHVybiB4OworfQpkaWZm IC0tZ2l0IGEvc3JjL21hdGgvcG93ZXJwYzY0L2xyaW50LmMgYi9zcmMvbWF0aC9wb3dlcnBjNjQv bHJpbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTUyNjlkCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L2xyaW50LmMKQEAgLTAsMCArMSwxMCBA QAorI2luY2x1ZGUgPG1hdGguaD4KKworbG9uZyBscmludChkb3VibGUgeCkKK3sKKwlsb25nIG47 CisJX19hc21fXyAoCisJCSJmY3RpZCAlMSwgJTFcbiIKKwkJIm1mdnNyZCAlMCwgJTFcbiIgOiAi PXIiKG4pLCAiK2QiKHgpKTsKKwlyZXR1cm4gbjsKK30KZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bv d2VycGM2NC9scmludGYuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9scmludGYuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGIxYTVlCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj L21hdGgvcG93ZXJwYzY0L2xyaW50Zi5jCkBAIC0wLDAgKzEsMTAgQEAKKyNpbmNsdWRlIDxtYXRo Lmg+CisKK2xvbmcgbHJpbnRmKGZsb2F0IHgpCit7CisJbG9uZyBuOworCV9fYXNtX18gKAorCQki ZmN0aWQgJTEsICUxXG4iCisJCSJtZnZzcmQgJTAsICUxXG4iIDogIj1yIihuKSwgIitmIih4KSk7 CisJcmV0dXJuIG47Cit9CmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvcm91bmQuYyBi L3NyYy9tYXRoL3Bvd2VycGM2NC9yb3VuZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmVhMzk2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbWF0aC9wb3dlcnBjNjQvcm91 bmQuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisKK2RvdWJsZSByb3VuZChk b3VibGUgeCkKK3sKKwlfX2FzbV9fICgiZnJpbiAlMCwgJTEiIDogIj1kIih4KSA6ICJkIih4KSk7 CisJcmV0dXJuIHg7Cit9CmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvcm91bmRmLmMg Yi9zcmMvbWF0aC9wb3dlcnBjNjQvcm91bmRmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMTVjMzQzOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9y b3VuZGYuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisKK2Zsb2F0IHJvdW5k ZihmbG9hdCB4KQoreworCV9fYXNtX18gKCJmcmluICUwLCAlMSIgOiAiPWYiKHgpIDogImYiKHgp KTsKKwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC9zcXJ0LmMg Yi9zcmMvbWF0aC9wb3dlcnBjNjQvc3FydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjEzYmI5OGQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbWF0aC9wb3dlcnBjNjQvc3Fy dC5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1hdGguaD4KKworZG91YmxlIHNxcnQoZG91 YmxlIHgpCit7CisJX19hc21fXyAoImZzcXJ0ICUwLCAlMSIgOiAiPWQiKHgpIDogImQiKHgpKTsK KwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC9zcXJ0Zi5jIGIv c3JjL21hdGgvcG93ZXJwYzY0L3NxcnRmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYjZlY2IxMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9zcXJ0 Zi5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1hdGguaD4KKworZmxvYXQgc3FydGYoZmxv YXQgeCkKK3sKKwlfX2FzbV9fICgiZnNxcnRzICUwLCAlMSIgOiAiPWYiKHgpIDogImYiKHgpKTsK KwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC90cnVuYy5jIGIv c3JjL21hdGgvcG93ZXJwYzY0L3RydW5jLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYWJkMzA0OAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC90cnVu Yy5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1hdGguaD4KKworZG91YmxlIHRydW5jKGRv dWJsZSB4KQoreworCV9fYXNtX18gKCJmcml6ICUwLCAlMSIgOiAiPWQiKHgpIDogImQiKHgpKTsK KwlyZXR1cm4geDsKK30KZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC90cnVuY2YuYyBi L3NyYy9tYXRoL3Bvd2VycGM2NC90cnVuY2YuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4zY2QwZTg0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L3Ry dW5jZi5jCkBAIC0wLDAgKzEsNyBAQAorI2luY2x1ZGUgPG1hdGguaD4KKworZmxvYXQgdHJ1bmNm KGZsb2F0IHgpCit7CisJX19hc21fXyAoImZyaXogJTAsICUxIiA6ICI9ZiIoeCkgOiAiZiIoeCkp OworCXJldHVybiB4OworfQotLSAKMS44LjMuMQoK --089e082296280f94db0552798790 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Add-lround-implementations.patch" Content-Disposition: attachment; filename="0002-Add-lround-implementations.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j474bm8n1 RnJvbSBmMTVlN2Y0MWFjOGM1NTc1MTY1MDMzNDNmODI4NGYyNWU5NTRkZDlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBFZGVsc29obiA8ZGplLmdjY0BnbWFpbC5jb20+CkRh dGU6IFdlZCwgMjEgSnVuIDIwMTcgMTQ6MzI6MzQgKzAwMDAKU3ViamVjdDogW1BBVENIIDIvMl0g QWRkIGxyb3VuZCBpbXBsZW1lbnRhdGlvbnMuIFByb3RlY3QgaW1wbGVtZW50YXRpb25zIHdpdGgK IGZhbGxiYWNrIGZvciBvbGRlciBhcmNoaXRlY3R1cmVzLgoKLS0tCiBzcmMvbWF0aC9wb3dlcnBj NjQvY2VpbC5jICAgIHwgIDggKysrKysrKysKIHNyYy9tYXRoL3Bvd2VycGM2NC9jZWlsZi5jICAg fCAgOCArKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2Zsb29yLmMgICB8ICA4ICsrKysrKysr CiBzcmMvbWF0aC9wb3dlcnBjNjQvZmxvb3JmLmMgIHwgIDggKysrKysrKysKIHNyYy9tYXRoL3Bv d2VycGM2NC9mbWF4LmMgICAgfCAgOCArKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2ZtYXhm LmMgICB8ICA4ICsrKysrKysrCiBzcmMvbWF0aC9wb3dlcnBjNjQvZm1pbi5jICAgIHwgIDggKysr KysrKysKIHNyYy9tYXRoL3Bvd2VycGM2NC9mbWluZi5jICAgfCAgOCArKysrKysrKwogc3JjL21h dGgvcG93ZXJwYzY0L2xyaW50LmMgICB8IDEyICsrKysrKysrKy0tLQogc3JjL21hdGgvcG93ZXJw YzY0L2xyaW50Zi5jICB8IDEyICsrKysrKysrKy0tLQogc3JjL21hdGgvcG93ZXJwYzY0L2xyb3Vu ZC5jICB8IDE4ICsrKysrKysrKysrKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L2xyb3VuZGYu YyB8IDE4ICsrKysrKysrKysrKysrKysrKwogc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5kLmMgICB8 ICA4ICsrKysrKysrCiBzcmMvbWF0aC9wb3dlcnBjNjQvcm91bmRmLmMgIHwgIDggKysrKysrKysK IHNyYy9tYXRoL3Bvd2VycGM2NC90cnVuYy5jICAgfCAgOCArKysrKysrKwogc3JjL21hdGgvcG93 ZXJwYzY0L3RydW5jZi5jICB8ICA4ICsrKysrKysrCiAxNiBmaWxlcyBjaGFuZ2VkLCAxNTAgaW5z ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9w b3dlcnBjNjQvbHJvdW5kLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbWF0aC9wb3dlcnBjNjQv bHJvdW5kZi5jCgpkaWZmIC0tZ2l0IGEvc3JjL21hdGgvcG93ZXJwYzY0L2NlaWwuYyBiL3NyYy9t YXRoL3Bvd2VycGM2NC9jZWlsLmMKaW5kZXggYjJlNmQzNS4uNGIwMTEzMyAxMDA2NDQKLS0tIGEv c3JjL21hdGgvcG93ZXJwYzY0L2NlaWwuYworKysgYi9zcmMvbWF0aC9wb3dlcnBjNjQvY2VpbC5j CkBAIC0xLDcgKzEsMTUgQEAKICNpbmNsdWRlIDxtYXRoLmg+CiAKKyNpZmRlZiBfQVJDSF9QV1I1 WAorCiBkb3VibGUgY2VpbChkb3VibGUgeCkKIHsKIAlfX2FzbV9fICgiZnJpcCAlMCwgJTEiIDog Ij1kIih4KSA6ICJkIih4KSk7CiAJcmV0dXJuIHg7CiB9CisKKyNlbHNlCisKKyNpbmNsdWRlICIu Li9jZWlsLmMiCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL21hdGgvcG93ZXJwYzY0L2NlaWxm LmMgYi9zcmMvbWF0aC9wb3dlcnBjNjQvY2VpbGYuYwppbmRleCA5N2Q2OWM3Li41OWJhMzk2IDEw MDY0NAotLS0gYS9zcmMvbWF0aC9wb3dlcnBjNjQvY2VpbGYuYworKysgYi9zcmMvbWF0aC9wb3dl cnBjNjQvY2VpbGYuYwpAQCAtMSw3ICsxLDE1IEBACiAjaW5jbHVkZSA8bWF0aC5oPgogCisjaWZk ZWYgX0FSQ0hfUFdSNVgKKwogZmxvYXQgY2VpbGYoZmxvYXQgeCkKIHsKIAlfX2FzbV9fICgiZnJp cCAlMCwgJTEiIDogIj1mIih4KSA6ICJmIih4KSk7CiAJcmV0dXJuIHg7CiB9CisKKyNlbHNlCisK KyNpbmNsdWRlICIuLi9jZWlsZi5jIgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bv d2VycGM2NC9mbG9vci5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2Zsb29yLmMKaW5kZXggZDQwYmE2 NS4uNGU2ODA0NCAxMDA2NDQKLS0tIGEvc3JjL21hdGgvcG93ZXJwYzY0L2Zsb29yLmMKKysrIGIv c3JjL21hdGgvcG93ZXJwYzY0L2Zsb29yLmMKQEAgLTEsNyArMSwxNSBAQAogI2luY2x1ZGUgPG1h dGguaD4KIAorI2lmZGVmIF9BUkNIX1BXUjVYCisKIGRvdWJsZSBmbG9vcihkb3VibGUgeCkKIHsK IAlfX2FzbV9fICgiZnJpbSAlMCwgJTEiIDogIj1kIih4KSA6ICJkIih4KSk7CiAJcmV0dXJuIHg7 CiB9CisKKyNlbHNlCisKKyNpbmNsdWRlICIuLi9mbG9vci5jIgorCisjZW5kaWYKZGlmZiAtLWdp dCBhL3NyYy9tYXRoL3Bvd2VycGM2NC9mbG9vcmYuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbG9v cmYuYwppbmRleCAzNGVhNWVlLi5lMTAzMWVmIDEwMDY0NAotLS0gYS9zcmMvbWF0aC9wb3dlcnBj NjQvZmxvb3JmLmMKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L2Zsb29yZi5jCkBAIC0xLDcgKzEs MTUgQEAKICNpbmNsdWRlIDxtYXRoLmg+CiAKKyNpZmRlZiBfQVJDSF9QV1I1WAorCiBmbG9hdCBm bG9vcmYoZmxvYXQgeCkKIHsKIAlfX2FzbV9fICgiZnJpbSAlMCwgJTEiIDogIj1mIih4KSA6ICJm Iih4KSk7CiAJcmV0dXJuIHg7CiB9CisKKyNlbHNlCisKKyNpbmNsdWRlICIuLi9mbG9vcmYuYyIK KworI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvZm1heC5jIGIvc3JjL21h dGgvcG93ZXJwYzY0L2ZtYXguYwppbmRleCBhOWM1MDdlLi45OTJkZjdmIDEwMDY0NAotLS0gYS9z cmMvbWF0aC9wb3dlcnBjNjQvZm1heC5jCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWF4LmMK QEAgLTEsNyArMSwxNSBAQAogI2luY2x1ZGUgPG1hdGguaD4KIAorI2lmZGVmIF9fVlNYX18KKwog ZG91YmxlIGZtYXgoZG91YmxlIHgsIGRvdWJsZSB5KQogewogCV9fYXNtX18gKCJ4c21heGRwICV4 MCwgJXgxLCAleDIiIDogIj13cyIoeCkgOiAid3MiKHgpLCAid3MiKHkpKTsKIAlyZXR1cm4geDsK IH0KKworI2Vsc2UKKworI2luY2x1ZGUgIi4uL2ZtYXguYyIKKworI2VuZGlmCmRpZmYgLS1naXQg YS9zcmMvbWF0aC9wb3dlcnBjNjQvZm1heGYuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWF4Zi5j CmluZGV4IGYyZGJkNGIuLjM0NWEyMzQgMTAwNjQ0Ci0tLSBhL3NyYy9tYXRoL3Bvd2VycGM2NC9m bWF4Zi5jCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWF4Zi5jCkBAIC0xLDcgKzEsMTUgQEAK ICNpbmNsdWRlIDxtYXRoLmg+CiAKKyNpZmRlZiBfX1ZTWF9fCisKIGZsb2F0IGZtYXhmKGZsb2F0 IHgsIGZsb2F0IHkpCiB7CiAJX19hc21fXyAoInhzbWF4ZHAgJXgwLCAleDEsICV4MiIgOiAiPXd3 Iih4KSA6ICJ3dyIoeCksICJ3dyIoeSkpOwogCXJldHVybiB4OwogfQorCisjZWxzZQorCisjaW5j bHVkZSAiLi4vZm1heGYuYyIKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBj NjQvZm1pbi5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L2ZtaW4uYwppbmRleCA2MjUwNGQ2Li5hZGY3 MWJhIDEwMDY0NAotLS0gYS9zcmMvbWF0aC9wb3dlcnBjNjQvZm1pbi5jCisrKyBiL3NyYy9tYXRo L3Bvd2VycGM2NC9mbWluLmMKQEAgLTEsNyArMSwxNSBAQAogI2luY2x1ZGUgPG1hdGguaD4KIAor I2lmZGVmIF9fVlNYX18KKwogZG91YmxlIGZtaW4oZG91YmxlIHgsIGRvdWJsZSB5KQogewogCV9f YXNtX18gKCJ4c21pbmRwICV4MCwgJXgxLCAleDIiIDogIj13cyIoeCkgOiAid3MiKHgpLCAid3Mi KHkpKTsKIAlyZXR1cm4geDsKIH0KKworI2Vsc2UKKworI2luY2x1ZGUgIi4uL2ZtaW4uYyIKKwor I2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dlcnBjNjQvZm1pbmYuYyBiL3NyYy9tYXRo L3Bvd2VycGM2NC9mbWluZi5jCmluZGV4IDRkMTkyNjIuLmZhZjBlNDcgMTAwNjQ0Ci0tLSBhL3Ny Yy9tYXRoL3Bvd2VycGM2NC9mbWluZi5jCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9mbWluZi5j CkBAIC0xLDcgKzEsMTUgQEAKICNpbmNsdWRlIDxtYXRoLmg+CiAKKyNpZmRlZiBfX1ZTWF9fCisK IGZsb2F0IGZtaW5mKGZsb2F0IHgsIGZsb2F0IHkpCiB7CiAJX19hc21fXyAoInhzbWluZHAgJXgw LCAleDEsICV4MiIgOiAiPXd3Iih4KSA6ICJ3dyIoeCksICJ3dyIoeSkpOwogCXJldHVybiB4Owog fQorCisjZWxzZQorCisjaW5jbHVkZSAiLi4vZm1pbmYuYyIKKworI2VuZGlmCmRpZmYgLS1naXQg YS9zcmMvbWF0aC9wb3dlcnBjNjQvbHJpbnQuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9scmludC5j CmluZGV4IDNlNTI2OWQuLjRlNGIyZTAgMTAwNjQ0Ci0tLSBhL3NyYy9tYXRoL3Bvd2VycGM2NC9s cmludC5jCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9scmludC5jCkBAIC0xLDEwICsxLDE2IEBA CiAjaW5jbHVkZSA8bWF0aC5oPgogCisjaWZkZWYgX0FSQ0hfUFdSNVgKKwogbG9uZyBscmludChk b3VibGUgeCkKIHsKIAlsb25nIG47Ci0JX19hc21fXyAoCi0JCSJmY3RpZCAlMSwgJTFcbiIKLQkJ Im1mdnNyZCAlMCwgJTFcbiIgOiAiPXIiKG4pLCAiK2QiKHgpKTsKKwlfX2FzbV9fICgiZmN0aWQg JTAsICUxIiA6ICI9ZCIobikgOiAiZCIoeCkpOwogCXJldHVybiBuOwogfQorCisjZWxzZQorCisj aW5jbHVkZSAiLi4vbHJpbnQuYyIKKworI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvbWF0aC9wb3dl cnBjNjQvbHJpbnRmLmMgYi9zcmMvbWF0aC9wb3dlcnBjNjQvbHJpbnRmLmMKaW5kZXggMmRiMWE1 ZS4uOTA3MGZjMCAxMDA2NDQKLS0tIGEvc3JjL21hdGgvcG93ZXJwYzY0L2xyaW50Zi5jCisrKyBi L3NyYy9tYXRoL3Bvd2VycGM2NC9scmludGYuYwpAQCAtMSwxMCArMSwxNiBAQAogI2luY2x1ZGUg PG1hdGguaD4KIAorI2lmZGVmIF9BUkNIX1BXUjVYCisKIGxvbmcgbHJpbnRmKGZsb2F0IHgpCiB7 CiAJbG9uZyBuOwotCV9fYXNtX18gKAotCQkiZmN0aWQgJTEsICUxXG4iCi0JCSJtZnZzcmQgJTAs ICUxXG4iIDogIj1yIihuKSwgIitmIih4KSk7CisJX19hc21fXyAoImZjdGlkICUwLCAlMSIgOiAi PWQiKG4pIDogImYiKHgpKTsKIAlyZXR1cm4gbjsKIH0KKworI2Vsc2UKKworI2luY2x1ZGUgIi4u L2xyaW50Zi5jIgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC9scm91 bmQuYyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9scm91bmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5lZTRkMTE0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21hdGgvcG93ZXJw YzY0L2xyb3VuZC5jCkBAIC0wLDAgKzEsMTggQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisKKyNpZmRl ZiBfX1ZTWF9fCisKK2xvbmcgbHJvdW5kKGRvdWJsZSB4KQoreworCWxvbmcgbjsKKwlfX2FzbV9f ICgKKwkJInhzcmRwaSAlMSwgJTFcbiIKKwkJImZjdGlkICUwLCAlMVxuIiA6ICI9ZCIobiksICIr ZCIoeCkpOworCXJldHVybiBuOworfQorCisjZWxzZQorCisjaW5jbHVkZSAiLi4vbHJvdW5kLmMi CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL21hdGgvcG93ZXJwYzY0L2xyb3VuZGYuYyBiL3Ny Yy9tYXRoL3Bvd2VycGM2NC9scm91bmRmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMDMzMDk0ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tYXRoL3Bvd2VycGM2NC9scm91 bmRmLmMKQEAgLTAsMCArMSwxOCBAQAorI2luY2x1ZGUgPG1hdGguaD4KKworI2lmZGVmIF9fVlNY X18KKworbG9uZyBscm91bmRmKGZsb2F0IHgpCit7CisJbG9uZyBuOworCV9fYXNtX18gKAorCQki eHNyZHBpICUxLCAlMVxuIgorCQkiZmN0aWQgJTAsICUxXG4iIDogIj1kIihuKSwgIitmIih4KSk7 CisJcmV0dXJuIG47Cit9CisKKyNlbHNlCisKKyNpbmNsdWRlICIuLi9scm91bmRmLmMiCisKKyNl bmRpZgpkaWZmIC0tZ2l0IGEvc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5kLmMgYi9zcmMvbWF0aC9w b3dlcnBjNjQvcm91bmQuYwppbmRleCBlYTM5NmQ5Li40YjkzMThlIDEwMDY0NAotLS0gYS9zcmMv bWF0aC9wb3dlcnBjNjQvcm91bmQuYworKysgYi9zcmMvbWF0aC9wb3dlcnBjNjQvcm91bmQuYwpA QCAtMSw3ICsxLDE1IEBACiAjaW5jbHVkZSA8bWF0aC5oPgogCisjaWZkZWYgX0FSQ0hfUFdSNVgK KwogZG91YmxlIHJvdW5kKGRvdWJsZSB4KQogewogCV9fYXNtX18gKCJmcmluICUwLCAlMSIgOiAi PWQiKHgpIDogImQiKHgpKTsKIAlyZXR1cm4geDsKIH0KKworI2Vsc2UKKworI2luY2x1ZGUgIi4u L3JvdW5kLmMiCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5k Zi5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L3JvdW5kZi5jCmluZGV4IDE1YzM0MzkuLmFlOTNmOTkg MTAwNjQ0Ci0tLSBhL3NyYy9tYXRoL3Bvd2VycGM2NC9yb3VuZGYuYworKysgYi9zcmMvbWF0aC9w b3dlcnBjNjQvcm91bmRmLmMKQEAgLTEsNyArMSwxNSBAQAogI2luY2x1ZGUgPG1hdGguaD4KIAor I2lmZGVmIF9BUkNIX1BXUjVYCisKIGZsb2F0IHJvdW5kZihmbG9hdCB4KQogewogCV9fYXNtX18g KCJmcmluICUwLCAlMSIgOiAiPWYiKHgpIDogImYiKHgpKTsKIAlyZXR1cm4geDsKIH0KKworI2Vs c2UKKworI2luY2x1ZGUgIi4uL3JvdW5kZi5jIgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9t YXRoL3Bvd2VycGM2NC90cnVuYy5jIGIvc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jLmMKaW5kZXgg YWJkMzA0OC4uNTc5MTg1NCAxMDA2NDQKLS0tIGEvc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jLmMK KysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jLmMKQEAgLTEsNyArMSwxNSBAQAogI2luY2x1 ZGUgPG1hdGguaD4KIAorI2lmZGVmIF9BUkNIX1BXUjVYCisKIGRvdWJsZSB0cnVuYyhkb3VibGUg eCkKIHsKIAlfX2FzbV9fICgiZnJpeiAlMCwgJTEiIDogIj1kIih4KSA6ICJkIih4KSk7CiAJcmV0 dXJuIHg7CiB9CisKKyNlbHNlCisKKyNpbmNsdWRlICIuLi90cnVuYy5jIgorCisjZW5kaWYKZGlm ZiAtLWdpdCBhL3NyYy9tYXRoL3Bvd2VycGM2NC90cnVuY2YuYyBiL3NyYy9tYXRoL3Bvd2VycGM2 NC90cnVuY2YuYwppbmRleCAzY2QwZTg0Li45NGU2MzhmIDEwMDY0NAotLS0gYS9zcmMvbWF0aC9w b3dlcnBjNjQvdHJ1bmNmLmMKKysrIGIvc3JjL21hdGgvcG93ZXJwYzY0L3RydW5jZi5jCkBAIC0x LDcgKzEsMTUgQEAKICNpbmNsdWRlIDxtYXRoLmg+CiAKKyNpZmRlZiBfQVJDSF9QV1I1WAorCiBm bG9hdCB0cnVuY2YoZmxvYXQgeCkKIHsKIAlfX2FzbV9fICgiZnJpeiAlMCwgJTEiIDogIj1mIih4 KSA6ICJmIih4KSk7CiAJcmV0dXJuIHg7CiB9CisKKyNlbHNlCisKKyNpbmNsdWRlICIuLi90cnVu Y2YuYyIKKworI2VuZGlmCi0tIAoxLjguMy4xCgo= --089e082296280f94db0552798790--