diff --git a/src/freedreno/ir3/tests/disasm.c b/src/freedreno/ir3/tests/disasm.c index c5758f73f23..0506c8cd225 100644 --- a/src/freedreno/ir3/tests/disasm.c +++ b/src/freedreno/ir3/tests/disasm.c @@ -484,7 +484,18 @@ static const struct test { static void add_generated_tests(struct u_vector *all_tests, void *ctx) { + /* stib.b/ldib.b OFFSET_LO aliases what other instructions use for opcode */ + for (int offset = 1; offset < 0x1f; offset++) { + char *stib = ralloc_asprintf( + ctx, "stib.b.untyped.1d.u32.4.imm.base0 r2.y, r5.z+%u, 4", offset); + *(struct test *)u_vector_add(all_tests) = (struct test)INSTR_6XX_RAW( + 0xc026080916e77100ull + ((uint64_t)offset << 54), stib); + char *ldib = ralloc_asprintf( + ctx, "ldib.b.untyped.1d.u32.4.imm.base0 r0.z, r0.y+%u, 0", offset); + *(struct test *)u_vector_add(all_tests) = (struct test)INSTR_6XX_RAW( + 0xc026000201e1b100ull + ((uint64_t)offset << 54), ldib); + } } static void diff --git a/src/freedreno/isa/ir3-cat6.xml b/src/freedreno/isa/ir3-cat6.xml index 0e331cf62e9..33336a9b4da 100644 --- a/src/freedreno/isa/ir3-cat6.xml +++ b/src/freedreno/isa/ir3-cat6.xml @@ -220,7 +220,7 @@ SOFTWARE. - x + 0 00011 @@ -380,7 +380,7 @@ SOFTWARE. 0 - xxxxxxxx + 00000000 11 @@ -482,7 +482,7 @@ SOFTWARE. x xxxxx - xxxxxxxxx + 000000000 1 xxxxx @@ -544,9 +544,7 @@ SOFTWARE. x xx - xxxxxxxx - x - x + 0000000000 xxxxxxxx 0