diff --git a/src/amd/compiler/aco_register_allocation.cpp b/src/amd/compiler/aco_register_allocation.cpp index 4841b5eb6f0..985aae4cafd 100644 --- a/src/amd/compiler/aco_register_allocation.cpp +++ b/src/amd/compiler/aco_register_allocation.cpp @@ -2085,7 +2085,7 @@ void register_allocation(Program *program, std::vector& live_out_per_bl adjust_max_used_regs(ctx, definition.regClass(), definition.physReg()); /* check if the target register is blocked */ - if (register_file[definition.physReg().reg()] != 0) { + if (register_file.test(definition.physReg(), definition.bytes())) { /* create parallelcopy pair to move blocking vars */ std::set> vars = collect_vars(ctx, register_file, definition.physReg(), definition.size());