summaryrefslogtreecommitdiff
path: root/src/nouveau
diff options
context:
space:
mode:
authorPierre Moreau <dev@pmoreau.org>2021-04-19 19:04:11 +0200
committerMarge Bot <emma+marge@anholt.net>2022-08-23 18:29:44 +0000
commit81828284b2787d868da2a3cd1de5fabf77780387 (patch)
tree57de0953c8edf57ae381095ad6eadaa1632849a4 /src/nouveau
parentf360086c301e1672c2b7c297a61c4caaa16a8fd7 (diff)
downloadmesa-81828284b2787d868da2a3cd1de5fabf77780387.tar.gz
nv50/ir: Handle non-32-bit values when cst folding SPLIT
Reviewed-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Pierre Moreau <dev@pmoreau.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711>
Diffstat (limited to 'src/nouveau')
-rw-r--r--src/nouveau/codegen/nv50_ir_peephole.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nouveau/codegen/nv50_ir_peephole.cpp b/src/nouveau/codegen/nv50_ir_peephole.cpp
index a2a33d2e434..4da3aa0d31b 100644
--- a/src/nouveau/codegen/nv50_ir_peephole.cpp
+++ b/src/nouveau/codegen/nv50_ir_peephole.cpp
@@ -1070,7 +1070,8 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s)
Value *def = i->getDef(d);
assert(def->reg.size == size);
- newi = bld.mkMov(def, bld.mkImm((uint32_t)(val & mask)), TYPE_U32);
+ newi = bld.mkMov(def, bld.mkImm((uint32_t)(val & mask)),
+ typeOfSize(size));
val >>= bitsize;
}
delete_Instruction(prog, i);