nv50/ir: allow OP_SET to merge with OP_SET_AND/etc as well as a neg
This covers the pattern where a KILL_IF is used, which triggers a
comparison of -x to 0. This can usually be folded into the comparison whose
result is being compared to 0, however it may, itself, have already been
combined with another comparison. That shouldn't impact the logic of
this pass however. With this and the & 1.0 change, code like
00000020:
001c0001 80081df4 set b32 $r0 lt f32 $r0 0x3e800000
00000028:
001c0000 201fc000 and b32 $r0 $r0 0x3f800000
00000030:
7f9c001e dd885c00 set $p0 0x1 lt f32 neg $r0 0x0
00000038:
0000003c 19800000 $p0 discard
becomes
00000020:
001c001d b5881df4 set $p0 0x1 lt f32 $r0 0x3e800000
00000028:
0000003c 19800000 $p0 discard
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>