nvc0/ir: Properly handle a "split form" of predicate destination
authorBoyan Ding <boyan.j.ding@gmail.com>
Mon, 10 Apr 2017 14:55:58 +0000 (22:55 +0800)
committerIlia Mirkin <imirkin@alum.mit.edu>
Thu, 13 Apr 2017 06:24:47 +0000 (02:24 -0400)
commitd941ef38292dd86469a792c8359e0fc8c4fa154c
treece771f0772abcf989d6b546a09a13ab42914ef51
parent854554c314e556c158b0e2aa3911a43f58fd6d34
nvc0/ir: Properly handle a "split form" of predicate destination

GF100's ISA encoding has a weird form of predicate destination where its
3 bits are split across whole the instruction. Use a dedicated setPDSTL
function instead of original defId which is incorrect in this case.

v2: (Ilia Mirkin)
Change API of setPDSTL() to handle cases of no output
Fix setting of the highest bit in setPDSTL()

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp