18:13karolherbst: gnurou: I didn't manage to make the pmu use the nouveau image after secure boot, I've tried that reset thing, but I think I failed
18:13karolherbst: any ideas?
21:59karolherbst: imirkin: by the way, is there anything bad about the two dual issue patches (without the pass)? Those are fine by themselves, even if the effect is rather slim
22:03imirkin_: karolherbst: remind me the patch
22:05imirkin_: karolherbst: sgtm
22:05imirkin_: i can't push them right now, but i'll try to remember tonight
22:05karolherbst: aweomse :)
22:07imirkin_: karolherbst: why does dependsOn check for DefDef?
22:08karolherbst: good question actually. I am sure it won't work for dual issue though, even if defSrc should already catch any possible situation
22:08karolherbst: but well
22:08imirkin_: ok, so i just don't like the name
22:08karolherbst: mul $r1 $r2 $r3; mul $r1 $r4 $r5 shouldn't be dual issueable
22:08karolherbst: even though the first $r1 doesn't matter
22:09imirkin_: i guess dependsOn is OK
22:09imirkin_: i'll add more comments
22:10imirkin_: to make it obvious that it's actually stronger than "depends on"
22:10karolherbst: I see
22:10imirkin_: but also "does not screw with"
22:12karolherbst: I think over the next days I will post my most trivial opt patches as well
22:12karolherbst: stuff like "max(abs(a), 0) to a" and "sub(a, 0) to a"
22:13karolherbst: and I should really improve that one: https://github.com/karolherbst/mesa/commit/367936aeac8811d5da1eb639a72467165feead05
22:14imirkin_: i'd kinda rather you declared war on OP_SUB and removed all usage of it (although actually removing the op will be a pain for various reasons)
22:15karolherbst: OP_SUB is really ugly to deal with :/
22:15karolherbst: there is no sub instruction on nvidia hardware anyway, right?
22:15karolherbst: yeah, we should remove it
22:15imirkin_: it's just nice to do something like the algebraic sub(a, add(a, b)) == b
22:15imirkin_: er, i even got that wrong, but you get the idea
22:16karolherbst: well, neg pases will handle that
22:16imirkin_: i don't know that they will.
22:16imirkin_: but they could :)
22:16karolherbst: mhh maybe you are right
22:17karolherbst: sub(a, add(a,b)) == add(a, neg(add(a,b))) = add(a, add(neg(a), neg(b)))
22:17karolherbst: do we have a pass to opt the latter?
22:18imirkin_: i'm sure we don't
22:18imirkin_: we don't have a lot of algebraic manipulation
22:18karolherbst: the opt would do something like that: search for add chains
22:18karolherbst: and try to match a <-> neg(a) pairs
22:18karolherbst: and remove those
22:19karolherbst: mhh, maybe if I find some time I could try to do that
22:19karolherbst: trello card for that? .D
22:20karolherbst: ohh, I also have my "set,and,cvt to set" opt
22:20karolherbst: no idea why I wrote this one though
22:23karolherbst: imirkin_: do you happen to know why I wrote this one? https://github.com/karolherbst/mesa/commit/d1b911532260c1032a57bec8bfee9fa72e1e6d06
22:24imirkin_: i thought i pushed something like that
22:24karolherbst: I will look
22:24karolherbst: maybe I didn'T wrote it at all
22:25imirkin_: certainly looks similar :p
22:25karolherbst: you wrote it
22:26imirkin_: hakzsam noticed the issue, but wrote a very wrong patch to fix it
22:26karolherbst: I am wondering why I ran into that issue
22:26imirkin_: it'd come out as render corruption