nv50/ir: don't optimize shl(mul_hi, a) to mul_hi
authorKarol Herbst <kherbst@redhat.com>
Wed, 26 May 2021 22:24:10 +0000 (00:24 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 27 May 2021 13:32:04 +0000 (13:32 +0000)
Fixes shader_storage_buffer_object.advanced-unsizedArrayLength* CTS tests

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11021>

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

index 3b85151..4e50d95 100644 (file)
@@ -1493,6 +1493,8 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s)
          int muls;
          if (isFloatType(si->dType))
             return false;
+         if (si->subOp)
+            return false;
          if (si->src(1).getImmediate(imm1))
             muls = 1;
          else if (si->src(0).getImmediate(imm1))