From c6b02c097f7657e48a43da7c5f39b7b8baeff040 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Wed, 24 Feb 2021 14:17:55 -0500 Subject: [PATCH] nv50/ir: fix emitting movs from imm to short registers Signed-off-by: Ilia Mirkin Acked-by: Pierre Moreau Part-of: --- src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp index 5143950f430..38a7defac6c 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp @@ -779,12 +779,15 @@ CodeEmitterNV50::emitMOV(const Instruction *i) emitFlagsWr(i); } else if (sf == FILE_IMMEDIATE) { - code[0] = 0x10008001; + code[0] = 0x10000001; code[1] = 0x00000003; emitForm_IMM(i); + + code[0] |= (typeSizeof(i->dType) == 2) ? 0 : 0x00008000; } else { if (i->encSize == 4) { - code[0] = 0x10008000; + code[0] = 0x10000000; + code[0] |= (typeSizeof(i->dType) == 2) ? 0 : 0x00008000; defId(i->def(0), 2); } else { code[0] = 0x10000001;