summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorKarol Herbst <[email protected]>2018-02-23 22:51:05 +0100
committerKarol Herbst <[email protected]>2018-02-24 18:48:13 +0100
commitf0b39779a09de67d3576ae864bffee903523c69e (patch)
treea6261256e722d77c6be8f32aaf2bd50c32b4e496 /src/gallium
parentafd8fd0656a8eb3a2ce892381387aad3c6b0a78f (diff)
nvir: dont optimize mad with subops to shladd
Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
index 0bbf21312fe..48cf74950df 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
@@ -1055,7 +1055,8 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s)
} else
if (s == 1 && !imm0.isNegative() && imm0.isPow2() &&
!isFloatType(i->dType) &&
- target->isOpSupported(OP_SHLADD, i->dType)) {
+ target->isOpSupported(OP_SHLADD, i->dType) &&
+ !i->subOp) {
i->op = OP_SHLADD;
imm0.applyLog2();
i->setSrc(1, new_ImmediateValue(prog, imm0.reg.data.u32));