aco: allow divergent mbcnt_amd masks
authorRhys Perry <pendingchaos02@gmail.com>
Mon, 14 Dec 2020 13:18:39 +0000 (13:18 +0000)
committerMarge Bot <eric+marge@anholt.net>
Mon, 14 Dec 2020 20:35:21 +0000 (20:35 +0000)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8085>

src/amd/compiler/aco_instruction_selection.cpp

index f7a3305..4fcdad1 100644 (file)
@@ -131,7 +131,7 @@ Temp emit_mbcnt(isel_context *ctx, Temp dst, Operand mask = Operand(), Operand b
 {
    Builder bld(ctx->program, ctx->block);
    assert(mask.isUndefined() || mask.isTemp() || (mask.isFixed() && mask.physReg() == exec));
-   assert(mask.isUndefined() || mask.regClass() == bld.lm);
+   assert(mask.isUndefined() || mask.bytes() == bld.lm.bytes());
 
    if (ctx->program->wave_size == 32) {
       Operand mask_lo = mask.isUndefined() ? Operand(-1u) : mask;