From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Klausmann Subject: Re: [PATCH 4/4] nv50/ir: allow OP_SET to merge with OP_SET_AND/etc as well as a neg Date: Sat, 9 May 2015 22:04:43 +0200 Message-ID: <554E685B.1040602@mni.thm.de> References: <1431149707-7159-1-git-send-email-imirkin@alum.mit.edu> <1431149707-7159-4-git-send-email-imirkin@alum.mit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1431149707-7159-4-git-send-email-imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ilia Mirkin Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org CgpPbiAwOS4wNS4yMDE1IDA3OjM1LCBJbGlhIE1pcmtpbiB3cm90ZToKPiBUaGlzIGNvdmVycyB0 aGUgcGF0dGVybiB3aGVyZSBhIEtJTExfSUYgaXMgdXNlZCwgd2hpY2ggdHJpZ2dlcnMgYQo+IGNv bXBhcmlzb24gb2YgLXggdG8gMC4gVGhpcyBjYW4gdXN1YWxseSBiZSBmb2xkZWQgaW50byB0aGUg Y29tcGFyaXNvbiB3aG9zZQo+IHJlc3VsdCBpcyBiZWluZyBjb21wYXJlZCB0byAwLCBob3dldmVy IGl0IG1heSwgaXRzZWxmLCBoYXZlIGFscmVhZHkgYmVlbgo+IGNvbWJpbmVkIHdpdGggYW5vdGhl ciBjb21wYXJpc29uLiBUaGF0IHNob3VsZG4ndCBpbXBhY3QgdGhlIGxvZ2ljIG9mCj4gdGhpcyBw YXNzIGhvd2V2ZXIuIFdpdGggdGhpcyBhbmQgdGhlICYgMS4wIGNoYW5nZSwgY29kZSBsaWtlCj4K PiAwMDAwMDAyMDogMDAxYzAwMDEgODAwODFkZjQgICAgIHNldCBiMzIgJHIwIGx0IGYzMiAkcjAg MHgzZTgwMDAwMAo+IDAwMDAwMDI4OiAwMDFjMDAwMCAyMDFmYzAwMCAgICAgYW5kIGIzMiAkcjAg JHIwIDB4M2Y4MDAwMDAKPiAwMDAwMDAzMDogN2Y5YzAwMWUgZGQ4ODVjMDAgICAgIHNldCAkcDAg MHgxIGx0IGYzMiBuZWcgJHIwIDB4MAo+IDAwMDAwMDM4OiAwMDAwMDAzYyAxOTgwMDAwMCAgICAg JHAwIGRpc2NhcmQKPgo+IGJlY29tZXMKPgo+IDAwMDAwMDIwOiAwMDFjMDAxZCBiNTg4MWRmNCAg ICAgc2V0ICRwMCAweDEgbHQgZjMyICRyMCAweDNlODAwMDAwCj4gMDAwMDAwMjg6IDAwMDAwMDNj IDE5ODAwMDAwICAgICAkcDAgZGlzY2FyZAo+Cj4gU2lnbmVkLW9mZi1ieTogSWxpYSBNaXJraW4g PGltaXJraW5AYWx1bS5taXQuZWR1Pgo+IC0tLQo+ICAgLi4uL2RyaXZlcnMvbm91dmVhdS9jb2Rl Z2VuL252NTBfaXJfcGVlcGhvbGUuY3BwICAgfCA1MSArKysrKysrKysrKysrKy0tLS0tLS0tCj4g ICAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCj4KPiBk aWZmIC0tZ2l0IGEvc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9w ZWVwaG9sZS5jcHAgYi9zcmMvZ2FsbGl1bS9kcml2ZXJzL25vdXZlYXUvY29kZWdlbi9udjUwX2ly X3BlZXBob2xlLmNwcAo+IGluZGV4IGQ4YWYxOWEuLjQzYTJmZTkgMTAwNjQ0Cj4gLS0tIGEvc3Jj L2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9wZWVwaG9sZS5jcHAKPiAr KysgYi9zcmMvZ2FsbGl1bS9kcml2ZXJzL25vdXZlYXUvY29kZWdlbi9udjUwX2lyX3BlZXBob2xl LmNwcAo+IEBAIC0yNzgsNyArMjc4LDYgQEAgcHJpdmF0ZToKPiAgIAo+ICAgICAgdm9pZCB0cnlD b2xsYXBzZUNoYWluZWRNVUxzKEluc3RydWN0aW9uICosIGNvbnN0IGludCBzLCBJbW1lZGlhdGVW YWx1ZSYpOwo+ICAgCj4gLSAgIC8vIFRHU0kgJ3RydWUnIGlzIGNvbnZlcnRlZCB0byAtMSBieSBG MkkoTkVHKFNFVCkpLCB0cmFjayBiYWNrIHRvIFNFVAo+ICAgICAgQ21wSW5zdHJ1Y3Rpb24gKmZp bmRPcmlnaW5Gb3JUZXN0V2l0aFplcm8oVmFsdWUgKik7Cj4gICAKPiAgICAgIHVuc2lnbmVkIGlu dCBmb2xkQ291bnQ7Cj4gQEAgLTMzNywxNiArMzM2LDEwIEBAIENvbnN0YW50Rm9sZGluZzo6Zmlu ZE9yaWdpbkZvclRlc3RXaXRoWmVybyhWYWx1ZSAqdmFsdWUpCj4gICAgICAgICByZXR1cm4gTlVM TDsKPiAgICAgIEluc3RydWN0aW9uICppbnNuID0gdmFsdWUtPmdldEluc24oKTsKPiAgIAo+IC0g ICB3aGlsZSAoaW5zbiAmJiBpbnNuLT5vcCAhPSBPUF9TRVQpIHsKPiArICAgd2hpbGUgKGluc24g JiYgaW5zbi0+b3AgIT0gT1BfU0VUICYmIGluc24tPm9wICE9IE9QX1NFVF9BTkQgJiYKPiArICAg ICAgICAgIGluc24tPm9wICE9IE9QX1NFVF9PUiAmJiBpbnNuLT5vcCAhPSBPUF9TRVRfWE9SKSB7 Cj4gICAgICAgICBJbnN0cnVjdGlvbiAqbmV4dCA9IE5VTEw7Cj4gICAgICAgICBzd2l0Y2ggKGlu c24tPm9wKSB7Cj4gLSAgICAgIGNhc2UgT1BfTkVHOgo+IC0gICAgICBjYXNlIE9QX0FCUzoKPiAt ICAgICAgY2FzZSBPUF9DVlQ6Cj4gLSAgICAgICAgIG5leHQgPSBpbnNuLT5nZXRTcmMoMCktPmdl dEluc24oKTsKPiAtICAgICAgICAgaWYgKGluc24tPnNUeXBlICE9IG5leHQtPmRUeXBlKQo+IC0g ICAgICAgICAgICByZXR1cm4gTlVMTDsKPiAtICAgICAgICAgYnJlYWs7Cj4gICAgICAgICBjYXNl IE9QX01PVjoKPiAgICAgICAgICAgIG5leHQgPSBpbnNuLT5nZXRTcmMoMCktPmdldEluc24oKTsK PiAgICAgICAgICAgIGJyZWFrOwo+IEBAIC05NDYsMjkgKzkzOSw1MSBAQCBDb25zdGFudEZvbGRp bmc6Om9wbmQoSW5zdHJ1Y3Rpb24gKmksIEltbWVkaWF0ZVZhbHVlICZpbW0wLCBpbnQgcykKPiAg IAo+ICAgICAgY2FzZSBPUF9TRVQ6IC8vIFRPRE86IFNFVF9BTkQsT1IsWE9SCgpkZWxldGUgdGhp cyBjb21tZW50PyEKCj4gICAgICB7Cj4gKyAgICAgIC8qIFRoaXMgb3B0aW1pemVzIHRoZSBjYXNl IHdoZXJlIHRoZSBvdXRwdXQgb2YgYSBzZXQgaXMgYmVpbmcgY29tcGFyZWQKPiArICAgICAgICog dG8gemVyby4gU2luY2UgdGhlIHNldCBjYW4gb25seSBwcm9kdWNlIDAvLTEgKGludCkgb3IgMC8x IChmbG9hdCksIHdlCj4gKyAgICAgICAqIGNhbiBiZSBhIGxvdCBjbGV2ZXJlciBpbiBvdXIgY29t cGFyaXNvbi4KPiArICAgICAgICovCj4gICAgICAgICBDbXBJbnN0cnVjdGlvbiAqc2kgPSBmaW5k T3JpZ2luRm9yVGVzdFdpdGhaZXJvKGktPmdldFNyYyh0KSk7Cj4gICAgICAgICBDb25kQ29kZSBj YywgY2NaOwo+IC0gICAgICBpZiAoaS0+c3JjKHQpLm1vZCAhPSBNb2RpZmllcigwKSkKPiAtICAg ICAgICAgcmV0dXJuOwo+IC0gICAgICBpZiAoaW1tMC5yZWcuZGF0YS51MzIgIT0gMCB8fCAhc2kg fHwgc2ktPm9wICE9IE9QX1NFVCkKPiArICAgICAgaWYgKGltbTAucmVnLmRhdGEudTMyICE9IDAg fHwgIXNpKQo+ICAgICAgICAgICAgcmV0dXJuOwo+ICAgICAgICAgY2MgPSBzaS0+c2V0Q29uZDsK PiAgICAgICAgIGNjWiA9IChDb25kQ29kZSkoKHVuc2lnbmVkIGludClpLT5hc0NtcCgpLT5zZXRD b25kICYgfkNDX1UpOwo+ICsgICAgICAvLyBXZSBkbyBldmVyeXRoaW5nIGFzc3VtaW5nIHZhciAo Y21wKSAwLCByZXZlcnNlIHRoZSBjb25kaXRpb24gaWYgMCBpcwo+ICsgICAgICAvLyBmaXJzdC4K PiAgICAgICAgIGlmIChzID09IDApCj4gICAgICAgICAgICBjY1ogPSByZXZlcnNlQ29uZENvZGUo Y2NaKTsKPiArICAgICAgLy8gSWYgdGhlcmUgaXMgYSBuZWdhdGl2ZSBtb2RpZmllciwgd2UgbmVl ZCB0byB1bmRvIHRoYXQsIGJ5IGZsaXBwaW5nCj4gKyAgICAgIC8vIHRoZSBjb21wYXJpc29uIHRv IHplcm8uCj4gKyAgICAgIGlmIChpLT5zcmModCkubW9kLm5lZygpKQo+ICsgICAgICAgICBjY1og PSByZXZlcnNlQ29uZENvZGUoY2NaKTsKPiArICAgICAgLy8gSWYgdGhpcyBpcyBhIHNpZ25lZCBj b21wYXJpc29uLCB3ZSBleHBlY3QgdGhlIGlucHV0IHRvIGJlIGEgcmVndWxhcgo+ICsgICAgICAv LyBib29sZWFuLCBpLmUuIDAvLTEuIEhvd2V2ZXIgdGhlIHJlc3Qgb2YgdGhlIGxvZ2ljIGFzc3Vt ZXMgdGhhdCB0cnVlCj4gKyAgICAgIC8vIGlzIHBvc2l0aXZlLCBzbyBqdXN0IGZsaXAgdGhlIHNp Z24uCj4gKyAgICAgIGlmIChpLT5zVHlwZSA9PSBUWVBFX1MzMikgewo+ICsgICAgICAgICBhc3Nl cnQoIWlzRmxvYXRUeXBlKHNpLT5kVHlwZSkpOwo+ICsgICAgICAgICBjY1ogPSByZXZlcnNlQ29u ZENvZGUoY2NaKTsKPiArICAgICAgfQoKY2FuIGJvdGggdGhpcyBhbmQgdGhlIHByZXZpb3VzIGNv bmRpdGlvbiBldmFsdWF0ZSB0byB0cnVlPyBpZiB5ZXMsIHRoaXMgCmRvdWJsZS1mbGlwcyBjY1ou Li4KCj4gICAgICAgICBzd2l0Y2ggKGNjWikgewo+IC0gICAgICBjYXNlIENDX0xUOiBjYyA9IEND X0ZMOyBicmVhazsKPiAtICAgICAgY2FzZSBDQ19HRTogY2MgPSBDQ19UUjsgYnJlYWs7Cj4gLSAg ICAgIGNhc2UgQ0NfRVE6IGNjID0gaW52ZXJzZUNvbmRDb2RlKGNjKTsgYnJlYWs7Cj4gLSAgICAg IGNhc2UgQ0NfTEU6IGNjID0gaW52ZXJzZUNvbmRDb2RlKGNjKTsgYnJlYWs7Cj4gLSAgICAgIGNh c2UgQ0NfR1Q6IGJyZWFrOwo+IC0gICAgICBjYXNlIENDX05FOiBicmVhazsKPiArICAgICAgY2Fz ZSBDQ19MVDogY2MgPSBDQ19GTDsgYnJlYWs7IC8vIGJvb2wgPCAwIC0tIHRoaXMgaXMgbmV2ZXIg dHJ1ZQo+ICsgICAgICBjYXNlIENDX0dFOiBjYyA9IENDX1RSOyBicmVhazsgLy8gYm9vbCA+PSAw IC0tIHRoaXMgaXMgYWx3YXlzIHRydWUKPiArICAgICAgY2FzZSBDQ19FUTogY2MgPSBpbnZlcnNl Q29uZENvZGUoY2MpOyBicmVhazsgLy8gYm9vbCA9PSAwIC0tICFib29sCj4gKyAgICAgIGNhc2Ug Q0NfTEU6IGNjID0gaW52ZXJzZUNvbmRDb2RlKGNjKTsgYnJlYWs7IC8vIGJvb2wgPD0gMCAtLSAh Ym9vbAo+ICsgICAgICBjYXNlIENDX0dUOiBicmVhazsgLy8gYm9vbCA+IDAgLS0gYm9vbAo+ICsg ICAgICBjYXNlIENDX05FOiBicmVhazsgLy8gYm9vbCAhPSAwIC0tIGJvb2wKPiAgICAgICAgIGRl ZmF1bHQ6Cj4gICAgICAgICAgICByZXR1cm47Cj4gICAgICAgICB9Cj4gKwo+ICsgICAgICAvLyBV cGRhdGUgdGhlIGNvbmRpdGlvbiBvZiB0aGlzIFNFVCB0byBiZSBpZGVudGljYWwgdG8gdGhlIG9y aWdpbiBzZXQsCj4gKyAgICAgIC8vIGJ1dCB3aXRoIHRoZSB1cGRhdGVkIGNvbmRpdGlvbiBjb2Rl LiBUaGUgb3JpZ2luYWwgU0VUIHNob3VsZCBnZXQKPiArICAgICAgLy8gRENFJ2QsIGlkZWFsbHku Cj4gKyAgICAgIGktPm9wID0gc2ktPm9wOwo+ICAgICAgICAgaS0+YXNDbXAoKS0+c2V0Q29uZCA9 IGNjOwo+ICAgICAgICAgaS0+c2V0U3JjKDAsIHNpLT5zcmMoMCkpOwo+ICAgICAgICAgaS0+c2V0 U3JjKDEsIHNpLT5zcmMoMSkpOwo+ICsgICAgICBpZiAoc2ktPnNyY0V4aXN0cygyKSkKPiArICAg ICAgICAgaS0+c2V0U3JjKDIsIHNpLT5zcmMoMikpOwo+ICAgICAgICAgaS0+c1R5cGUgPSBzaS0+ c1R5cGU7Cj4gICAgICB9Cj4gICAgICAgICBicmVhazsKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9ub3V2ZWF1Cg==