gk110/ir: fix imad sat/hi flag emission for immediate args
authorIlia Mirkin <imirkin@alum.mit.edu>
Mon, 7 Dec 2015 22:40:36 +0000 (17:40 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Mon, 7 Dec 2015 23:49:28 +0000 (18:49 -0500)
According to nvdisasm both the immediate and non-imm cases use the same
bits. Both of these flags are quite rarely set though.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp

index 4a63eb184bf98171ec6413376acc9f641ef6c9da..b1064bf0a92fc13e93745353091ac9171df80bb8 100644 (file)
@@ -696,14 +696,9 @@ CodeEmitterGK110::emitIMAD(const Instruction *i)
    if (i->sType == TYPE_S32)
       code[1] |= (1 << 19) | (1 << 24);
 
-   if (code[0] & 0x1) {
-      assert(!i->subOp);
-      SAT_(39);
-   } else {
-      if (i->subOp == NV50_IR_SUBOP_MUL_HIGH)
-         code[1] |= 1 << 25;
-      SAT_(35);
-   }
+   if (i->subOp == NV50_IR_SUBOP_MUL_HIGH)
+      code[1] |= 1 << 25;
+   SAT_(35);
 }
 
 void