diff options
author | Ilia Mirkin <[email protected]> | 2016-01-18 23:55:19 -0500 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-01-20 19:37:34 -0500 |
commit | 73c9ca754487fa5f39122119e1588e13ffcf5f47 (patch) | |
tree | 08bc588a8b086276997dbb411aae911e7894c5f0 /src/gallium | |
parent | 71a489633b1bdd8492e22fe15bb9a57e30fa4ccd (diff) |
gm107/ir: add carry emission to LOP and IADD
Signed-off-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp index 465319af5ce..1fa0eb6da6d 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp @@ -1554,11 +1554,13 @@ CodeEmitterGM107::emitLOP() break; } emitPRED (0x30); + emitX (0x2b); emitField(0x29, 2, lop); emitINV (0x28, insn->src(1)); emitINV (0x27, insn->src(0)); } else { emitInsn (0x04000000); + emitX (0x39); emitINV (0x38, insn->src(1)); emitINV (0x37, insn->src(0)); emitField(0x35, 2, lop); @@ -1626,9 +1628,11 @@ CodeEmitterGM107::emitIADD() emitNEG(0x31, insn->src(0)); emitNEG(0x30, insn->src(1)); emitCC (0x2f); + emitX (0x2b); } else { emitInsn(0x1c000000); emitSAT (0x36); + emitX (0x35); emitCC (0x34); emitIMMD(0x14, 32, insn->src(1)); } |