aco/tests: add test for GFX10 0x3f bug

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/6212>
This commit is contained in:
Rhys Perry 2020-08-05 14:53:17 +01:00 committed by Marge Bot
parent fe2dc41258
commit ae6330d955
2 changed files with 20 additions and 1 deletions

View File

@ -548,7 +548,7 @@ formats = [("pseudo", [Format.PSEUDO], 'Pseudo_instruction', list(itertools.prod
("branch", [Format.PSEUDO_BRANCH], 'Pseudo_branch_instruction', itertools.product([1], [0, 1])),
("barrier", [Format.PSEUDO_BARRIER], 'Pseudo_barrier_instruction', [(0, 0)]),
("reduction", [Format.PSEUDO_REDUCTION], 'Pseudo_reduction_instruction', [(3, 2)]),
("vop1", [Format.VOP1], 'VOP1_instruction', [(1, 1), (2, 2)]),
("vop1", [Format.VOP1], 'VOP1_instruction', [(0, 0), (1, 1), (2, 2)]),
("vop2", [Format.VOP2], 'VOP2_instruction', itertools.product([1, 2], [2, 3])),
("vop2_sdwa", [Format.VOP2, Format.SDWA], 'SDWA_instruction', itertools.product([1, 2], [2, 3])),
("vopc", [Format.VOPC], 'VOPC_instruction', itertools.product([1, 2], [2])),

View File

@ -39,3 +39,22 @@ BEGIN_TEST(assembler.s_memtime)
finish_assembler_test();
}
END_TEST
BEGIN_TEST(assembler.branch_3f)
if (!setup_cs(NULL, (chip_class)GFX10))
return;
//! BB0:
//! s_branch BB1 ; bf820040
//! s_nop 0 ; bf800000
bld.sopp(aco_opcode::s_branch, Definition(PhysReg(0), s2), 1);
for (unsigned i = 0; i < 0x3f; i++)
bld.vop1(aco_opcode::v_nop);
bld.reset(program->create_and_insert_block());
program->blocks[1].linear_preds.push_back(0u);
finish_assembler_test();
END_TEST