diff options
author | Ilia Mirkin <[email protected]> | 2015-12-18 12:25:53 +0000 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2015-12-18 12:26:21 +0000 |
commit | c18d27b72082da9abd50931c3b0364125740e103 (patch) | |
tree | a4800ade52b742b793c17a2d8e1f2d41308574ec /src | |
parent | b33f0095574a02538ddf19f8505731f9605d339b (diff) |
gk110/ir: fix imul hi emission with limm arg
The elemental demo hits this case.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "11.0 11.1" <[email protected]>
(cherry picked from commit db072d20867426958153279575dfdc2049b5f595)
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index 8f1542959c9..37e33c93d76 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -575,8 +575,8 @@ CodeEmitterGK110::emitIMUL(const Instruction *i) if (isLIMM(i->src(1), TYPE_S32)) { emitForm_L(i, 0x280, 2, Modifier(0)); - assert(i->subOp != NV50_IR_SUBOP_MUL_HIGH); - + if (i->subOp == NV50_IR_SUBOP_MUL_HIGH) + code[1] |= 1 << 24; if (i->sType == TYPE_S32) code[1] |= 3 << 25; } else { |