From: Karol Herbst Subject: [PATCH v5 2/5] nv50/ir: implement mad post ra folding for nvc0+ Date: Sun, 26 Mar 2017 21:45:58 +0200 Message-ID: <20170326194601.608-3-karolherbst@gmail.com> References: <20170326194601.608-1-karolherbst@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170326194601.608-1-karolherbst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org Y2hhbmdlcyBmb3IgR3B1VGVzdCAvdGVzdD1waXhtYXJrX3BpYW5vIC9iZW5jaG1hcmsgL25vX3Nj b3JlYm94IC9tc2FhPTAKL2JlbmNobWFya19kdXJhdGlvbl9tcz02MDAwMCAvd2lkdGg9MTAyNCAv aGVpZ2h0PTY0MDoKCnNjb3JlOiAxMDI2IC0+IDEwNDUKCmNoYW5nZXMgZm9yIHNoYWRlci1kYjoK dG90YWwgaW5zdHJ1Y3Rpb25zIGluIHNoYXJlZCBwcm9ncmFtcyA6IDM5NDMzMzUgLT4gMzkzNDky NSAoLTAuMjElKQp0b3RhbCBncHJzIHVzZWQgaW4gc2hhcmVkIHByb2dyYW1zICAgIDogNDgxNTYz IC0+IDQ4MTU2MyAoMC4wMCUpCnRvdGFsIGxvY2FsIHVzZWQgaW4gc2hhcmVkIHByb2dyYW1zICAg OiAyNzQ2OSAtPiAyNzQ2OSAoMC4wMCUpCnRvdGFsIGJ5dGVzIHVzZWQgaW4gc2hhcmVkIHByb2dy YW1zICAgOiAzNjEzOTM4NCAtPiAzNjA2MTg4OCAoLTAuMjElKQoKICAgICAgICAgICAgICAgIGxv Y2FsICAgICAgICBncHIgICAgICAgaW5zdCAgICAgIGJ5dGVzCiAgICBoZWxwZWQgICAgICAgICAg IDAgICAgICAgICAgIDAgICAgICAgIDM1ODcgICAgICAgIDM1ODcKICAgICAgaHVydCAgICAgICAg ICAgMCAgICAgICAgICAgMCAgICAgICAgICAgMCAgICAgICAgICAgMAoKdjI6IHJlbW92ZWQgVE9E TwogICAgcmVvcmRlcmQgdG8gc2hvdyBjaGFuZ2VzIHdpdGhvdXQgUkEgbW9kaWZpY2F0aW9uCiAg ICByZW1vdmVkIHN0YWxlIGRlYnVnZ2luZyBwcmludCgpIGNhbGwKdjM6IHJlbW92ZSBwcmVkaWNh dGUgY2hlY2tzCiAgICBlbmFibGUgb25seSBmb3IgZ2YxMDAgSVNBCgpTaWduZWQtb2ZmLWJ5OiBL YXJvbCBIZXJic3QgPGthcm9saGVyYnN0QGdtYWlsLmNvbT4KLS0tCiAuLi4vZHJpdmVycy9ub3V2 ZWF1L2NvZGVnZW4vbnY1MF9pcl9wZWVwaG9sZS5jcHAgICB8IDUxICsrKysrKysrKysrKysrKysr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2RyaXZlcnMvbm91dmVhdS9jb2RlZ2VuL252NTBfaXJf cGVlcGhvbGUuY3BwIGIvc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9p cl9wZWVwaG9sZS5jcHAKaW5kZXggYWY1YThjN2ZmZC4uNTQyNDMyMmIyNCAxMDA2NDQKLS0tIGEv c3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9wZWVwaG9sZS5jcHAK KysrIGIvc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9wZWVwaG9s ZS5jcHAKQEAgLTMxOTQsNyArMzE5NCw4IEBAIGNsYXNzIFBvc3RSYUxvYWRQcm9wYWdhdGlvbiA6 IHB1YmxpYyBQYXNzCiBwcml2YXRlOgogICAgdmlydHVhbCBib29sIHZpc2l0KEluc3RydWN0aW9u ICopOwogCi0gICB2b2lkIGhhbmRsZU1BRChJbnN0cnVjdGlvbiAqKTsKKyAgIHZvaWQgaGFuZGxl TUFEZm9yTlY1MChJbnN0cnVjdGlvbiAqKTsKKyAgIHZvaWQgaGFuZGxlTUFEZm9yTlZDMChJbnN0 cnVjdGlvbiAqKTsKIH07CiAKIHN0YXRpYyBib29sCkBAIC0zMjA5LDcgKzMyMTAsNyBAQCBwb3N0 X3JhX2RlYWQoSW5zdHJ1Y3Rpb24gKmkpCiAvLyBGb2xkIEltbWVkaWF0ZSBpbnRvIE1BRDsgbXVz dCBiZSBkb25lIGFmdGVyIHJlZ2lzdGVyIGFsbG9jYXRpb24gZHVlIHRvCiAvLyBjb25zdHJhaW50 IFNEU1QgPT0gU1NSQzIKIHZvaWQKLVBvc3RSYUxvYWRQcm9wYWdhdGlvbjo6aGFuZGxlTUFEKElu c3RydWN0aW9uICppKQorUG9zdFJhTG9hZFByb3BhZ2F0aW9uOjpoYW5kbGVNQURmb3JOVjUwKElu c3RydWN0aW9uICppKQogewogICAgaWYgKGktPmRlZigwKS5nZXRGaWxlKCkgIT0gRklMRV9HUFIg fHwKICAgICAgICBpLT5zcmMoMCkuZ2V0RmlsZSgpICE9IEZJTEVfR1BSIHx8CkBAIC0zMjYyLDEy ICszMjYzLDU0IEBAIFBvc3RSYUxvYWRQcm9wYWdhdGlvbjo6aGFuZGxlTUFEKEluc3RydWN0aW9u ICppKQogICAgfQogfQogCit2b2lkCitQb3N0UmFMb2FkUHJvcGFnYXRpb246OmhhbmRsZU1BRGZv ck5WQzAoSW5zdHJ1Y3Rpb24gKmkpCit7CisgICBpZiAoaS0+ZGVmKDApLmdldEZpbGUoKSAhPSBG SUxFX0dQUiB8fAorICAgICAgIGktPnNyYygwKS5nZXRGaWxlKCkgIT0gRklMRV9HUFIgfHwKKyAg ICAgICBpLT5zcmMoMSkuZ2V0RmlsZSgpICE9IEZJTEVfR1BSIHx8CisgICAgICAgaS0+c3JjKDIp LmdldEZpbGUoKSAhPSBGSUxFX0dQUiB8fAorICAgICAgIGktPmdldERlZigwKS0+cmVnLmRhdGEu aWQgIT0gaS0+Z2V0U3JjKDIpLT5yZWcuZGF0YS5pZCkKKyAgICAgIHJldHVybjsKKworICAgLy8g VE9ETzogZ20xMDcgY2FuIGFsc28gZG8gdGhpcyBmb3IgUzMyLCBtYXliZSBvdGhlciBjaGlwc2V0 cyBhcyB3ZWxsCisgICBpZiAoaS0+ZFR5cGUgIT0gVFlQRV9GMzIpCisgICAgICByZXR1cm47CisK KyAgIGlmICgoaS0+c3JjKDIpLm1vZCB8IE1vZGlmaWVyKE5WNTBfSVJfTU9EX05FRykpICE9IE1v ZGlmaWVyKE5WNTBfSVJfTU9EX05FRykpCisgICAgICByZXR1cm47CisKKyAgIEltbWVkaWF0ZVZh bHVlIHZhbDsKKyAgIGludCBzOworCisgICBpZiAoaS0+c3JjKDApLmdldEltbWVkaWF0ZSh2YWwp KQorICAgICAgcyA9IDE7CisgICBlbHNlIGlmIChpLT5zcmMoMSkuZ2V0SW1tZWRpYXRlKHZhbCkp CisgICAgICBzID0gMDsKKyAgIGVsc2UKKyAgICAgIHJldHVybjsKKworICAgaWYgKChpLT5zcmMo cykubW9kIHwgTW9kaWZpZXIoTlY1MF9JUl9NT0RfTkVHKSkgIT0gTW9kaWZpZXIoTlY1MF9JUl9N T0RfTkVHKSkKKyAgICAgIHJldHVybjsKKworICAgaWYgKHMgPT0gMSkKKyAgICAgIGktPnN3YXBT b3VyY2VzKDAsIDEpOworCisgICBJbnN0cnVjdGlvbiAqaW1tID0gaS0+Z2V0U3JjKDEpLT5nZXRJ bnNuKCk7CisgICBpLT5zZXRTcmMoMSwgaW1tLT5nZXRTcmMoMCkpOworICAgaWYgKHBvc3RfcmFf ZGVhZChpbW0pKQorICAgICAgZGVsZXRlX0luc3RydWN0aW9uKHByb2csIGltbSk7Cit9CisKIGJv b2wKIFBvc3RSYUxvYWRQcm9wYWdhdGlvbjo6dmlzaXQoSW5zdHJ1Y3Rpb24gKmkpCiB7CiAgICBz d2l0Y2ggKGktPm9wKSB7CiAgICBjYXNlIE9QX01BRDoKLSAgICAgIGhhbmRsZU1BRChpKTsKKyAg ICAgIGlmIChwcm9nLT5nZXRUYXJnZXQoKS0+Z2V0Q2hpcHNldCgpIDwgMHhjMCkKKyAgICAgICAg IGhhbmRsZU1BRGZvck5WNTAoaSk7CisgICAgICBlbHNlCisgICAgICAgICBoYW5kbGVNQURmb3JO VkMwKGkpOwogICAgICAgYnJlYWs7CiAgICBkZWZhdWx0OgogICAgICAgYnJlYWs7CkBAIC0zNjk3 LDcgKzM3NDAsNyBAQCBib29sCiBQcm9ncmFtOjpvcHRpbWl6ZVBvc3RSQShpbnQgbGV2ZWwpCiB7 CiAgICBSVU5fUEFTUygyLCBGbGF0dGVuaW5nUGFzcywgcnVuKTsKLSAgIGlmIChnZXRUYXJnZXQo KS0+Z2V0Q2hpcHNldCgpIDwgMHhjMCkKKyAgIGlmIChnZXRUYXJnZXQoKS0+Z2V0Q2hpcHNldCgp IDwgTlZJU0FfR0syMEFfQ0hJUFNFVCkKICAgICAgIFJVTl9QQVNTKDIsIFBvc3RSYUxvYWRQcm9w YWdhdGlvbiwgcnVuKTsKIAogICAgcmV0dXJuIHRydWU7Ci0tIAoyLjEyLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0 Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQo=