From: Ilia Mirkin Date: Tue, 19 Jan 2016 10:37:24 +0000 (-0500) Subject: nv50/ir: 64-bit splitting fixes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=daa0fd7843dfc3f2f209a1b755df01f4dbc8122f;p=mesa.git nv50/ir: 64-bit splitting fixes Take reading shader outputs into account, and use setFlagsDef for the carry since we rely on having i->flagsDef being set. Signed-off-by: Ilia Mirkin --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp index 1bf7240e131..f58cf97646e 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp @@ -615,6 +615,7 @@ BuildUtil::split64BitOpPostRA(Function *fn, Instruction *i, case FILE_MEMORY_CONST: case FILE_MEMORY_SHARED: case FILE_SHADER_INPUT: + case FILE_SHADER_OUTPUT: hi->getSrc(s)->reg.data.offset += 4; break; default: @@ -625,7 +626,7 @@ BuildUtil::split64BitOpPostRA(Function *fn, Instruction *i, } } if (srcNr == 2) { - lo->setDef(1, carry); + lo->setFlagsDef(1, carry); hi->setFlagsSrc(hi->srcCount(), carry); } return hi;