OSDN Git Service

gm107/ir: make use of MOV32I for all immediates
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Sun, 26 Jun 2016 22:52:46 +0000 (00:52 +0200)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 7 Jul 2016 15:12:31 +0000 (16:12 +0100)
MOV only allows to emit 19-bits immediates. This is similar to the
previous fix I did for IMUL.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
(cherry picked from commit c7fa3c92f8fc9634af966e760a7601922cca43f6)

src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp

index 834f355..65f9468 100644 (file)
@@ -678,8 +678,7 @@ CodeEmitterGM107::emitRAM()
 void
 CodeEmitterGM107::emitMOV()
 {
-   if ( insn->src(0).getFile() != FILE_IMMEDIATE ||
-       (insn->sType != TYPE_F32 && !longIMMD(insn->src(0)))) {
+   if (insn->src(0).getFile() != FILE_IMMEDIATE) {
       switch (insn->src(0).getFile()) {
       case FILE_GPR:
          if (insn->def(0).getFile() == FILE_PREDICATE) {