From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27052 invoked by alias); 17 Dec 2010 00:14:10 -0000 Received: (qmail 27014 invoked by uid 22791); 17 Dec 2010 00:14:07 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_05,RCVD_IN_DNSWL_NONE,TW_DB X-Spam-Check-By: sourceware.org Received: from va3ehsobe004.messaging.microsoft.com (HELO VA3EHSOBE004.bigfish.com) (216.32.180.14) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 17 Dec 2010 00:13:59 +0000 Received: from mail39-va3-R.bigfish.com (10.7.14.249) by VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id 14.1.225.8; Fri, 17 Dec 2010 00:13:57 +0000 Received: from mail39-va3 (localhost.localdomain [127.0.0.1]) by mail39-va3-R.bigfish.com (Postfix) with ESMTP id 1FAF318D07BD; Fri, 17 Dec 2010 00:13:57 +0000 (UTC) X-SpamScore: -11 X-BigFish: VPS-11(zz4015L9371Pzz1202hzz8275dhz32i668h34h61h) X-Spam-TCS-SCL: 0:0 X-Forefront-Antispam-Report: KIP:(null);UIP:(null);IPVD:NLI;H:ausb3twp01.amd.com;RD:none;EFVD:NLI Received: from mail39-va3 (localhost.localdomain [127.0.0.1]) by mail39-va3 (MessageSwitch) id 1292544836720519_1115; Fri, 17 Dec 2010 00:13:56 +0000 (UTC) Received: from VA3EHSMHS005.bigfish.com (unknown [10.7.14.235]) by mail39-va3.bigfish.com (Postfix) with ESMTP id A73B51568050; Fri, 17 Dec 2010 00:13:56 +0000 (UTC) Received: from ausb3twp01.amd.com (163.181.249.108) by VA3EHSMHS005.bigfish.com (10.7.99.15) with Microsoft SMTP Server id 14.1.225.8; Fri, 17 Dec 2010 00:13:55 +0000 X-M-MSG: Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com [163.181.249.73]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by ausb3twp01.amd.com (Tumbleweed MailGate 3.7.2) with ESMTP id 239211028A73; Thu, 16 Dec 2010 18:13:51 -0600 (CST) Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com (163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.106.1; Thu, 16 Dec 2010 18:15:56 -0600 Received: from SAUSEXMBP01.amd.com ([163.181.3.198]) by sausexhtp01.amd.com ([163.181.3.165]) with mapi; Thu, 16 Dec 2010 18:13:52 -0600 From: "Fang, Changpeng" To: Zdenek Dvorak CC: Richard Guenther , Xinliang David Li , "gcc-patches@gcc.gnu.org" Date: Fri, 17 Dec 2010 03:53:00 -0000 Subject: RE: [PATCH, Loop optimizer]: Add logic to disable certain loop optimizations on pre-/post-loops Message-ID: References: <20101214075629.GA10020@kam.mff.cuni.cz> <20101214210552.GA19633@kam.mff.cuni.cz> <20101215092220.GA9872@kam.mff.cuni.cz> ,<20101216184722.GA5801@kam.mff.cuni.cz> In-Reply-To: <20101216184722.GA5801@kam.mff.cuni.cz> Content-Type: multipart/mixed; boundary="_003_D4C76825A6780047854A11E93CDE84D004C1768411SAUSEXMBP01am_" MIME-Version: 1.0 X-OriginatorOrg: amd.com 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 X-SW-Source: 2010-12/txt/msg01348.txt.bz2 --_003_D4C76825A6780047854A11E93CDE84D004C1768411SAUSEXMBP01am_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 1170 Hi, Based on previous discussions, I modified the patch as such. If a loop is marked as non-rolling, optimize_loop_for_size_p returns TRUE and optimize_loop_for_speed_p returns FALSE. All users of these two=20 functions will be affected. After applying the modified patch, pb05 compilation time decreases 29%, bin= ary size decreases 20%, while a small (0.5%) performance increase was found whi= ch may be just noise. Modified patch passed bootstrapping and gcc regression tests on x86_64-unkn= own-linux-gnu. Is it OK to commit to trunk? Thanks, Changpeng ________________________________________ From: Zdenek Dvorak [rakdver@kam.mff.cuni.cz] Sent: Thursday, December 16, 2010 12:47 PM To: Fang, Changpeng Cc: Richard Guenther; Xinliang David Li; gcc-patches@gcc.gnu.org Subject: Re: [PATCH, Loop optimizer]: Add logic to disable certain loop opt= imizations on pre-/post-loops Hi, > For prefetching of prologue or epilogue loops, we have two choices (1) pr= efetching not > not unrolling, (2) not prefetching. Which one do you prefer? it is better not to prefetch (the current placement of prefetches is not go= od for non-rolling loops), Zdenek --_003_D4C76825A6780047854A11E93CDE84D004C1768411SAUSEXMBP01am_ Content-Type: text/plain; name="polyhedron1.txt" Content-Description: polyhedron1.txt Content-Disposition: attachment; filename="polyhedron1.txt"; size=2986; creation-date="Thu, 16 Dec 2010 18:03:34 GMT"; modification-date="Thu, 16 Dec 2010 18:03:34 GMT" Content-Transfer-Encoding: base64 Content-length: 4051 Q29tcGFyaXNvbiBvZiBQb2x5aGVkcm9uICgyMDA1KSBDb21waWxlIFRpbWUs IEJpbmFyeSBTaXplIGFuZCBQZXJmb3JtYW5jZSBBZnRlciBBcHBseWluZyB0 aGUgTk9OLVJPTExJTkcgTWFya2luZyBQYXRjaAoKZ2ZvcnRyYW4gLU9mYXN0 IC1mdW5yb2xsLWxvb3BzIC1tYXJjaD1hbWRmYW0xMCAlbi5mOTAgLW8gJW4K ICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0JCQkJCQkJ Cnx8CSAgICAgICAgIHwgIEJlZm9yZSBQYXRjaAkJICAgICB8ICBBZnRlciBQ YXRjaAkJCSAgfCBDaGFuZ2VzICAgICAgICAgICAgICAgICAgICAgICB8fAp8 fD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PXx8CQkKfHwgIEJlbmNo bWFyayAgICB8ICBDb21waWxlICAgIEJpbmFyeSBTaXplICBSdW4gVGltZSB8 ICBDb21waWxlICAgQmluYXJ5IFNpemUJUnVuIFRpbWUgIHwgQ29tcGlsZSAg QmluYXJ5ICAgUGVyZm9ybWFuY2UgfHwKfHwgICAgICAgIE5hbWUgICB8ICBU aW1lIChzKSAgIChieXRlcykJICAgKHMpICAgICAgIHwJVGltZShzKQkgICAg KGJ5dGVzKQkgKHNlY3MpCSAgfCBUaW1lICglKSBTaXplKCUpCSglKSAgICAg ICB8fAp8fD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PXx8Cnx8ICAg ICAgICAgIGFjICAgfCAgICAzLjM2ICAgICAgIDQxOTc2CSAgICAxMy4yNiAg ICB8CSAgMi41MgkgICAgIDM0NDI0CTEzLjIxCSAgfCAgLTI1LjAwICAgLTE3 Ljk5CTAuMzgJICB8fAp8fCAgICAgIGFlcm1vZCAgIHwgIDEwMy40NSAgICAg MTQxMjIyMQkgICAgNDQuMzYgICAgfAkgODYuNTUJICAgMTI2ODg2MQk0My4w OAkgIHwgIC0xNi4zNCAgIC0xMC4xNQkyLjk3CSAgfHwKfHwgICAgICAgICBh aXIgICB8ICAgIDYuMTEgICAgICAgNzUxODYJICAgIDExLjczICAgIHwJICA1 LjcyCSAgICAgNzEwOTAgICAgICAxMS41NgkgIHwgICAtNi4zOCAgICAtNS40 NQkxLjQ3CSAgfHwKfHwgICAgY2FwYWNpdGEgICB8ICAgIDYuODMgICAgICAg OTEyNTcJICAgIDg4LjQwICAgIHwJICA0LjcwCSAgICAgNzQ1ODUgICAgICA4 OC4wMQkgIHwgIC0zMS4xOSAgIC0xOC4yNwkwLjQ0CSAgfHwKfHwgICAgIGNo YW5uZWwgICB8ICAgIDIuMTQgICAgICAgMzk5ODQJICAgICA2LjY1ICAgIHwJ ICAxLjg0CSAgICAgMzU4ODgJIDYuNjkJICB8ICAtMTQuMDIgICAtMTAuMjQg ICAtMC42MAkgIHx8Cnx8ICAgICAgIGRvZHVjICAgfCAgIDEyLjc4ICAgICAg MTk4NjI0CSAgICAzOC41OSAgICB8CSAxMi4yMAkgICAgMTg2MzM2CTM4LjE4 CSAgfCAgIC00LjU0ICAgIC02LjE5CTEuMDcJICB8fAp8fCAgICAgZmF0aWd1 ZSAgIHwgICAgOS4xMSAgICAgIDExMDAwOAkgICAgMTAuMTUgICAgfAkgIDUu OTMJICAgICA5MjQ3MgkxMC4xMgkgIHwgIC0zNC45MSAgIC0xNS45NAkwLjMw CSAgfHwKfHwgICAgIGdhc19keW4gICB8ICAgMTUuNjkgICAgICAxNDk3MjYJ ICAgICA3LjE0ICAgIHwJICA4LjQ1CSAgICAxMDkzNDIJIDYuOTYJICB8ICAt NDYuMTQgICAtMjYuOTcJMi41OQkgIHx8Cnx8ICAgICAgaW5kdWN0ICAgfCAg IDEwLjk4ICAgICAgMTkxODAwCSAgICAyMC42NiAgICB8CSAxMC42MgkgICAg MTg4MTY4CTIwLjYxCSAgfCAgIC0zLjI4ICAgIC0xLjg5CTAuMjQJICB8fAp8 fCAgICAgICBsaW5wayAgIHwgICAgMi4yNyAgICAgICA0NjA3MwkgICAgMTku MDMgICAgfAkgIDEuNjgJICAgICAzMzQwMQkxOS4wMwkgIHwgIC0yNS45OSAg IC0yNy41MAkwLjAwCSAgfHwKfHwgICAgICAgIG1kYnggICB8ICAgIDUuNjMg ICAgICAxMDM3MzEJICAgIDIxLjQxICAgIHwJICA0LjI0CSAgICAgODMyNTEJ MjEuMzMJICB8ICAtMjQuNjkgICAtMTkuNzQJMC4zOAkgIHx8Cnx8ICAgICAg ICAgIG5mICAgfCAgIDE0LjE4ICAgICAgMTE4NDUxCSAgICAyMi44OCAgICB8 CSAgNS41NQkgICAgIDYwNDk5CTIzLjE0CSAgfCAgLTYwLjg2ICAgLTQ4Ljky ICAgLTEuMTIJICB8fAp8fCAgICAgcHJvdGVpbiAgIHwgICAzNC4yMCAgICAg IDE3NzcwMAkgICAgNDcuMDQgICAgfAkgMTkuMTYJICAgIDEzNTAxMgk0Ni45 NAkgIHwgIC00My45OCAgIC0yNC4wMgkwLjIxCSAgfHwKfHwgICAgICBybmZs b3cgICB8ICAgNDIuMTMgICAgICAyODM2NDUJICAgIDQwLjMwICAgIHwJIDIw LjkyCSAgICAxNzg0NzcJNDAuNjUJICB8ICAtNTAuMzQgICAtMzcuMDggICAt MC44NgkgIHx8Cnx8ICAgIHRlc3RfZnB1ICAgfCAgIDMwLjE3ICAgICAgMjUy MDgwCSAgICAxNC40NiAgICB8CSAxNC40NAkgICAgMTQ5MTM2CTE0LjMyCSAg fCAgLTUyLjE0ICAgLTQwLjg0CTAuOTgJICB8fAp8fCAgICAgICAgdGZmdCAg IHwgICAgMS41MCAgICAgICAzMjQ1MAkgICAgIDcuNzEgICAgfAkgIDEuMTIJ ICAgICAyNjU0NgkgNy42NwkgIHwgIC0yNS4zMyAgIC0xOC4xOQkwLjUyCSAg fHwKfHw9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT18fAp8fCAgICAg ICBhdmVyYWdlICAgfAkJCSAgICAxOS41NyAgICB8CQkJCTE5LjQ2CSAgfCAg LTI5LjA3ICAgLTIwLjU5CTAuNTYJICB8fAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cg== --_003_D4C76825A6780047854A11E93CDE84D004C1768411SAUSEXMBP01am_ Content-Type: text/x-patch; name="0001-Don-t-perform-certain-loop-optimizations-on-pre-post.patch" Content-Description: 0001-Don-t-perform-certain-loop-optimizations-on-pre-post.patch Content-Disposition: attachment; filename="0001-Don-t-perform-certain-loop-optimizations-on-pre-post.patch"; size=6190; creation-date="Thu, 16 Dec 2010 18:04:12 GMT"; modification-date="Thu, 16 Dec 2010 18:04:12 GMT" Content-Transfer-Encoding: base64 Content-length: 8394 RnJvbSBjZDhiODViYmExYjM5ZTEwODIzNWY0NGQ5ZDA3OTE4MTc5ZmYzZDc5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFuZ3BlbmcgRmFu ZyA8Y2hmYW5nQGhvdWdodG9uLihub25lKT4KRGF0ZTogTW9uLCAxMyBEZWMg MjAxMCAxMjowMTo0OSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIERvbid0IHBl cmZvcm0gY2VydGFpbiBsb29wIG9wdGltaXphdGlvbnMgb24gcHJlL3Bvc3Qg bG9vcHMKCgkqIGJhc2ljLWJsb2NrLmggKGJiX2ZsYWdzKTogQWRkIGEgbmV3 IGZsYWcgQkJfSEVBREVSX09GX05PTlJPTExJTkdfTE9PUC4KCSogY2ZnLmMg KGNsZWFyX2JiX2ZsYWdzKTogS2VlcCBCQl9IRUFERVJfT0ZfTk9OUk9MTElO RyBtYXJrZXIuCgkqIGNmZ2xvb3AuaCAobWFya19ub25fcm9sbGluZ19sb29w KTogTmV3IGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgoJICAobm9uX3JvbGxpbmdf bG9vcF9wKTogTmV3IGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgoJKiBwcmVkaWN0 LmMgKG9wdGltaXplX2xvb3BfZm9yX3NpemVfcCk6IFJldHVybiB0cnVlIGlm IHRoZSBsb29wIHdhcyBtYXJrZWQKCSAgTk9OLVJPTExJTkcuICAob3B0aW1p emVfbG9vcF9mb3Jfc3BlZWRfcCk6IFJldHVybiBmYWxzZSBpZiB0aGUgbG9v cCB3YXMKCSAgbWFya2VkIE5PTi1ST0xMSU5HLgoJKiB0cmVlLXNzYS1sb29w LW1hbmlwLmMgKHRyZWVfdHJhbnNmb3JtX2FuZF91bnJvbGxfbG9vcCk6IE1h cmsgdGhlCgkgIG5vbi1yb2xsaW5nIGxvb3AuCgkqIHRyZWUtc3NhLWxvb3At bml0ZXIuYyAobWFya19ub25fcm9sbGluZ19sb29wKTogSW1wbGVtZW50IHRo ZSBuZXcKCSAgZnVuY3Rpb24uICAobm9uX3JvbGxpbmdfbG9vcF9wKTogSW1w bGVtZW50IHRoZSBuZXcgZnVuY3Rpb24uCgkqIHRyZWUtdmVjdC1sb29wLW1h bmlwLmMgKHZlY3RfZG9fcGVlbGluZ19mb3JfbG9vcF9ib3VuZCk6IE1hcmsg dGhlCgkgIG5vbi1yb2xsaW5nIGxvb3AuICAodmVjdF9kb19wZWVsaW5nX2Zv cl9hbGlnbm1lbnQpOiBNYXJrIHRoZSBub24tcm9sbGluZwoJICBsb29wLgot LS0KIGdjYy9iYXNpYy1ibG9jay5oICAgICAgICAgIHwgICAgNiArKysrKy0K IGdjYy9jZmcuYyAgICAgICAgICAgICAgICAgIHwgICAgNyArKysrLS0tCiBn Y2MvY2ZnbG9vcC5oICAgICAgICAgICAgICB8ICAgIDIgKysKIGdjYy9wcmVk aWN0LmMgICAgICAgICAgICAgIHwgICAgNiArKysrKysKIGdjYy90cmVlLXNz YS1sb29wLW1hbmlwLmMgIHwgICAgMyArKysKIGdjYy90cmVlLXNzYS1sb29w LW5pdGVyLmMgIHwgICAyMCArKysrKysrKysrKysrKysrKysrKwogZ2NjL3Ry ZWUtdmVjdC1sb29wLW1hbmlwLmMgfCAgICA4ICsrKysrKysrCiA3IGZpbGVz IGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZ2NjL2Jhc2ljLWJsb2NrLmggYi9nY2MvYmFzaWMtYmxv Y2suaAppbmRleCBiZTBhMWQxLi44NTA0NzJkIDEwMDY0NAotLS0gYS9nY2Mv YmFzaWMtYmxvY2suaAorKysgYi9nY2MvYmFzaWMtYmxvY2suaApAQCAtMjQ1 LDcgKzI0NSwxMSBAQCBlbnVtIGJiX2ZsYWdzCiAKICAgLyogU2V0IG9uIGJs b2NrcyB0aGF0IGNhbm5vdCBiZSB0aHJlYWRlZCB0aHJvdWdoLgogICAgICBP bmx5IHVzZWQgaW4gY2ZnY2xlYW51cC5jLiAgKi8KLSAgQkJfTk9OVEhSRUFE QUJMRV9CTE9DSyA9IDEgPDwgMTEKKyAgQkJfTk9OVEhSRUFEQUJMRV9CTE9D SyA9IDEgPDwgMTEsCisKKyAgLyogU2V0IG9uIGJsb2NrcyB0aGF0IGFyZSBo ZWFkZXJzIG9mIG5vbi1yb2xsaW5nIGxvb3BzLiAgKi8KKyAgQkJfSEVBREVS X09GX05PTlJPTExJTkdfTE9PUCA9IDEgPDwgMTIKKwogfTsKIAogLyogRHVt bXkgZmxhZyBmb3IgY29udmVuaWVuY2UgaW4gdGhlIGhvdC9jb2xkIHBhcnRp dGlvbmluZyBjb2RlLiAgKi8KZGlmZiAtLWdpdCBhL2djYy9jZmcuYyBiL2dj Yy9jZmcuYwppbmRleCBjOGVmNzk5Li5lNTlhNjM3IDEwMDY0NAotLS0gYS9n Y2MvY2ZnLmMKKysrIGIvZ2NjL2NmZy5jCkBAIC00MjUsOCArNDI1LDggQEAg cmVkaXJlY3RfZWRnZV9wcmVkIChlZGdlIGUsIGJhc2ljX2Jsb2NrIG5ld19w cmVkKQogICBjb25uZWN0X3NyYyAoZSk7CiB9CiAKLS8qIENsZWFyIGFsbCBi YXNpYyBibG9jayBmbGFncywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHBhcnRp dGlvbmluZyBhbmQKLSAgIHNldGptcF90YXJnZXQuICAqLworLyogQ2xlYXIg YWxsIGJhc2ljIGJsb2NrIGZsYWdzLCB3aXRoIHRoZSBleGNlcHRpb24gb2Yg cGFydGl0aW9uaW5nLAorICAgc2V0am1wX3RhcmdldCwgYW5kIHRoZSBub24t cm9sbGluZyBsb29wIG1hcmtlci4gICovCiB2b2lkCiBjbGVhcl9iYl9mbGFn cyAodm9pZCkKIHsKQEAgLTQzNCw3ICs0MzQsOCBAQCBjbGVhcl9iYl9mbGFn cyAodm9pZCkKIAogICBGT1JfQkJfQkVUV0VFTiAoYmIsIEVOVFJZX0JMT0NL X1BUUiwgTlVMTCwgbmV4dF9iYikKICAgICBiYi0+ZmxhZ3MgPSAoQkJfUEFS VElUSU9OIChiYikKLQkJIHwgKGJiLT5mbGFncyAmIChCQl9ESVNBQkxFX1ND SEVEVUxFICsgQkJfUlRMICsgQkJfTk9OX0xPQ0FMX0dPVE9fVEFSR0VUKSkp OworCQkgfCAoYmItPmZsYWdzICYgKEJCX0RJU0FCTEVfU0NIRURVTEUgKyBC Ql9SVEwgKyBCQl9OT05fTE9DQUxfR09UT19UQVJHRVQKKwkJCQkgKyBCQl9I RUFERVJfT0ZfTk9OUk9MTElOR19MT09QKSkpOwogfQogDAogLyogQ2hlY2sg dGhlIGNvbnNpc3RlbmN5IG9mIHByb2ZpbGUgaW5mb3JtYXRpb24uICBXZSBj YW4ndCBkbyB0aGF0CmRpZmYgLS1naXQgYS9nY2MvY2ZnbG9vcC5oIGIvZ2Nj L2NmZ2xvb3AuaAppbmRleCBiZjI2MTRlLi5lODU2YTc4IDEwMDY0NAotLS0g YS9nY2MvY2ZnbG9vcC5oCisrKyBiL2djYy9jZmdsb29wLmgKQEAgLTI3OSw2 ICsyNzksOCBAQCBleHRlcm4gcnR4IGRvbG9vcF9jb25kaXRpb25fZ2V0IChy dHgpOwogdm9pZCBlc3RpbWF0ZV9udW1iZXJzX29mX2l0ZXJhdGlvbnNfbG9v cCAoc3RydWN0IGxvb3AgKiwgYm9vbCk7CiBIT1NUX1dJREVfSU5UIGVzdGlt YXRlZF9sb29wX2l0ZXJhdGlvbnNfaW50IChzdHJ1Y3QgbG9vcCAqLCBib29s KTsKIGJvb2wgZXN0aW1hdGVkX2xvb3BfaXRlcmF0aW9ucyAoc3RydWN0IGxv b3AgKiwgYm9vbCwgZG91YmxlX2ludCAqKTsKK3ZvaWQgbWFya19ub25fcm9s bGluZ19sb29wIChzdHJ1Y3QgbG9vcCAqKTsKK2Jvb2wgbm9uX3JvbGxpbmdf bG9vcF9wIChzdHJ1Y3QgbG9vcCAqKTsKIAogLyogTG9vcCBtYW5pcHVsYXRp b24uICAqLwogZXh0ZXJuIGJvb2wgY2FuX2R1cGxpY2F0ZV9sb29wX3AgKGNv bnN0IHN0cnVjdCBsb29wICpsb29wKTsKZGlmZiAtLWdpdCBhL2djYy9wcmVk aWN0LmMgYi9nY2MvcHJlZGljdC5jCmluZGV4IGM2OTE5OTAuLmJmNzI5Zjgg MTAwNjQ0Ci0tLSBhL2djYy9wcmVkaWN0LmMKKysrIGIvZ2NjL3ByZWRpY3Qu YwpAQCAtMjc5LDYgKzI3OSw5IEBAIG9wdGltaXplX2luc25fZm9yX3NwZWVk X3AgKHZvaWQpCiBib29sCiBvcHRpbWl6ZV9sb29wX2Zvcl9zaXplX3AgKHN0 cnVjdCBsb29wICpsb29wKQogeworICAvKiBMb29wcyBtYXJrZWQgTk9OLVJP TExJTkcgYXJlIG5vdCBsaWtlbHkgdG8gYmUgaG90LiAgKi8KKyAgaWYgKG5v bl9yb2xsaW5nX2xvb3BfcCAobG9vcCkpCisgICAgcmV0dXJuIHRydWU7CiAg IHJldHVybiBvcHRpbWl6ZV9iYl9mb3Jfc2l6ZV9wIChsb29wLT5oZWFkZXIp OwogfQogCkBAIC0yODcsNiArMjkwLDkgQEAgb3B0aW1pemVfbG9vcF9mb3Jf c2l6ZV9wIChzdHJ1Y3QgbG9vcCAqbG9vcCkKIGJvb2wKIG9wdGltaXplX2xv b3BfZm9yX3NwZWVkX3AgKHN0cnVjdCBsb29wICpsb29wKQogeworICAvKiBM b29wcyBtYXJrZWQgTk9OLVJPTExJTkcgYXJlIG5vdCBsaWtlbHkgdG8gYmUg aG90LiAgKi8KKyAgaWYgKG5vbl9yb2xsaW5nX2xvb3BfcCAobG9vcCkpCisg ICAgcmV0dXJuIGZhbHNlOwogICByZXR1cm4gb3B0aW1pemVfYmJfZm9yX3Nw ZWVkX3AgKGxvb3AtPmhlYWRlcik7CiB9CiAKZGlmZiAtLWdpdCBhL2djYy90 cmVlLXNzYS1sb29wLW1hbmlwLmMgYi9nY2MvdHJlZS1zc2EtbG9vcC1tYW5p cC5jCmluZGV4IDg3YjJjMGQuLmJjOTc3YmIgMTAwNjQ0Ci0tLSBhL2djYy90 cmVlLXNzYS1sb29wLW1hbmlwLmMKKysrIGIvZ2NjL3RyZWUtc3NhLWxvb3At bWFuaXAuYwpAQCAtOTMxLDYgKzkzMSw5IEBAIHRyZWVfdHJhbnNmb3JtX2Fu ZF91bnJvbGxfbG9vcCAoc3RydWN0IGxvb3AgKmxvb3AsIHVuc2lnbmVkIGZh Y3RvciwKICAgZ2NjX2Fzc2VydCAobmV3X2xvb3AgIT0gTlVMTCk7CiAgIHVw ZGF0ZV9zc2EgKFRPRE9fdXBkYXRlX3NzYSk7CiAKKyAgLyogTkVXX0xPT1Ag aXMgYSBub24tcm9sbGluZyBsb29wLiAgKi8KKyAgbWFya19ub25fcm9sbGlu Z19sb29wIChuZXdfbG9vcCk7CisKICAgLyogRGV0ZXJtaW5lIHRoZSBwcm9i YWJpbGl0eSBvZiB0aGUgZXhpdCBlZGdlIG9mIHRoZSB1bnJvbGxlZCBsb29w LiAgKi8KICAgbmV3X2VzdF9uaXRlciA9IGVzdF9uaXRlciAvIGZhY3RvcjsK IApkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtc3NhLWxvb3Atbml0ZXIuYyBiL2dj Yy90cmVlLXNzYS1sb29wLW5pdGVyLmMKaW5kZXggZWU4NWY2Zi4uMWUyZTRi MiAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLWxvb3Atbml0ZXIuYworKysg Yi9nY2MvdHJlZS1zc2EtbG9vcC1uaXRlci5jCkBAIC0zMDExLDYgKzMwMTEs MjYgQEAgZXN0aW1hdGVfbnVtYmVyc19vZl9pdGVyYXRpb25zIChib29sIHVz ZV91bmRlZmluZWRfcCkKICAgZm9sZF91bmRlZmVyX2FuZF9pZ25vcmVfb3Zl cmZsb3dfd2FybmluZ3MgKCk7CiB9CiAKKy8qIE1hcmsgTE9PUCBhcyBhIG5v bi1yb2xsaW5nIGxvb3AuICAqLworCit2b2lkCittYXJrX25vbl9yb2xsaW5n X2xvb3AgKHN0cnVjdCBsb29wICpsb29wKQoreworICBnY2NfYXNzZXJ0IChs b29wICYmIGxvb3AtPmhlYWRlcik7CisgIGxvb3AtPmhlYWRlci0+ZmxhZ3Mg fD0gQkJfSEVBREVSX09GX05PTlJPTExJTkdfTE9PUDsKK30KKworLyogUmV0 dXJuIHRydWUgaWYgTE9PUCBpcyBhIG5vbi1yb2xsaW5nIGxvb3AuICAqLwor Citib29sCitub25fcm9sbGluZ19sb29wX3AgKHN0cnVjdCBsb29wICpsb29w KQoreworICBpbnQgbWFza2VkX2ZsYWdzOworICBnY2NfYXNzZXJ0IChsb29w ICYmIGxvb3AtPmhlYWRlcik7CisgIG1hc2tlZF9mbGFncyA9IChsb29wLT5o ZWFkZXItPmZsYWdzICYgQkJfSEVBREVSX09GX05PTlJPTExJTkdfTE9PUCk7 CisgIHJldHVybiAobWFza2VkX2ZsYWdzICE9IDApOworfQorCiAvKiBSZXR1 cm5zIHRydWUgaWYgc3RhdGVtZW50IFMxIGRvbWluYXRlcyBzdGF0ZW1lbnQg UzIuICAqLwogCiBib29sCmRpZmYgLS1naXQgYS9nY2MvdHJlZS12ZWN0LWxv b3AtbWFuaXAuYyBiL2djYy90cmVlLXZlY3QtbG9vcC1tYW5pcC5jCmluZGV4 IDZlY2QzMDQuLjIxNmRlNzggMTAwNjQ0Ci0tLSBhL2djYy90cmVlLXZlY3Qt bG9vcC1tYW5pcC5jCisrKyBiL2djYy90cmVlLXZlY3QtbG9vcC1tYW5pcC5j CkBAIC0xOTM4LDYgKzE5MzgsMTAgQEAgdmVjdF9kb19wZWVsaW5nX2Zvcl9s b29wX2JvdW5kIChsb29wX3ZlY19pbmZvIGxvb3BfdmluZm8sIHRyZWUgKnJh dGlvLAogCQkJCQkgICAgY29uZF9leHByLCBjb25kX2V4cHJfc3RtdF9saXN0 KTsKICAgZ2NjX2Fzc2VydCAobmV3X2xvb3ApOwogICBnY2NfYXNzZXJ0IChs b29wX251bSA9PSBsb29wLT5udW0pOworICAKKyAgLyogTkVXX0xPT1AgaXMg YSBub24tcm9sbGluZyBsb29wLiAgKi8KKyAgbWFya19ub25fcm9sbGluZ19s b29wIChuZXdfbG9vcCk7CisKICNpZmRlZiBFTkFCTEVfQ0hFQ0tJTkcKICAg c2xwZWVsX3ZlcmlmeV9jZmdfYWZ0ZXJfcGVlbGluZyAobG9vcCwgbmV3X2xv b3ApOwogI2VuZGlmCkBAIC0yMTkxLDYgKzIxOTUsMTAgQEAgdmVjdF9kb19w ZWVsaW5nX2Zvcl9hbGlnbm1lbnQgKGxvb3BfdmVjX2luZm8gbG9vcF92aW5m bykKIAkJCQkgICB0aCwgdHJ1ZSwgTlVMTF9UUkVFLCBOVUxMKTsKIAogICBn Y2NfYXNzZXJ0IChuZXdfbG9vcCk7CisKKyAgLyogTkVXX0xPT1AgaXMgYSBu b24tcm9sbGluZyBsb29wLiAgKi8KKyAgbWFya19ub25fcm9sbGluZ19sb29w IChuZXdfbG9vcCk7CisgIAogI2lmZGVmIEVOQUJMRV9DSEVDS0lORwogICBz bHBlZWxfdmVyaWZ5X2NmZ19hZnRlcl9wZWVsaW5nIChuZXdfbG9vcCwgbG9v cCk7CiAjZW5kaWYKLS0gCjEuNi4zLjMKCg== --_003_D4C76825A6780047854A11E93CDE84D004C1768411SAUSEXMBP01am_--