nv50/ir: constant fold OP_SPLIT
authorTobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Fri, 30 Sep 2016 21:50:15 +0000 (23:50 +0200)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 15 Oct 2016 03:23:57 +0000 (23:23 -0400)
commitb7d9677de804375827b3c433027ec2dd32cd1da6
tree64b6762706ba90b0bb08022038042446aaffc657
parent75128d6ffda9745161cb5c7ddd499422ad544d2c
nv50/ir: constant fold OP_SPLIT

Split the source immediate value into new values and move them into the
original defs set by the split. Since we can only have up to 64-bit
immediates, this is largely beneficial for F64 (and, in the future, U64)
operations.

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
[imirkin: always use U32, set newi for foldCount tracking]
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp