diff --git a/src/amd/compiler/aco_print_asm.cpp b/src/amd/compiler/aco_print_asm.cpp index 691be619415..be3616ff3d9 100644 --- a/src/amd/compiler/aco_print_asm.cpp +++ b/src/amd/compiler/aco_print_asm.cpp @@ -42,7 +42,9 @@ void print_block_markers(FILE* output, Program* program, const std::vector& referenced_blocks, unsigned* next_block, unsigned pos) { - while (*next_block < program->blocks.size() && pos == program->blocks[*next_block].offset) { + while (*next_block < program->blocks.size() && pos >= program->blocks[*next_block].offset) { + assert(pos == program->blocks[*next_block].offset || + program->blocks[*next_block].instructions.empty()); if (referenced_blocks[*next_block]) fprintf(output, "BB%u:\n", *next_block); (*next_block)++;