OSDN Git Service

gm107/ir: make use of IMUL32I for all immediates
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Sun, 26 Jun 2016 16:42:22 +0000 (18:42 +0200)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 7 Jul 2016 15:12:30 +0000 (16:12 +0100)
IMUL only allows to emit 19-bits immediates. This is similar to
d30768025a2283d4cc57930b784798bf278969da which fixed the same thing
for the GK110 emitter.

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 b84c97587b4a838c32fb7ac4eab31a6ba4f69886)

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

index a43d7b1..834f355 100644 (file)
@@ -1719,7 +1719,7 @@ CodeEmitterGM107::emitIADD()
 void
 CodeEmitterGM107::emitIMUL()
 {
-   if (!longIMMD(insn->src(1))) {
+   if (insn->src(1).getFile() != FILE_IMMEDIATE) {
       switch (insn->src(1).getFile()) {
       case FILE_GPR:
          emitInsn(0x5c380000);