aco/tests: fix assembler/isel tests with LLVM 23

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: 26.0
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
(cherry picked from commit e2ebcba11b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40752>
This commit is contained in:
Rhys Perry 2026-03-19 16:12:44 +00:00 committed by Eric Engestrom
parent 4f859cf584
commit 123322b8ae
3 changed files with 22 additions and 13 deletions

View file

@ -5314,7 +5314,7 @@
"description": "aco/tests: fix assembler/isel tests with LLVM 23",
"nominated": true,
"nomination_type": 4,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -1064,20 +1064,23 @@ BEGIN_TEST(assembler.exp)
Operand op_m0(bld.tmp(s1));
op_m0.setFixed(m0);
//~gfx11>> exp mrt3 v1, v0, v3, v2 ; f800003f 02030001
//~gfx12>> export mrt3 v1, v0, v3, v2 ; f800003f 02030001
//! mrt3: @match_func(mrt3)
fprintf(output, "mrt3: mrt3%s\n", LLVM_VERSION_MAJOR >= 23 ? "," : "");
//~gfx11>> exp @mrt3 v1, v0, v3, v2 ; f800003f 02030001
//~gfx12>> export @mrt3 v1, v0, v3, v2 ; f800003f 02030001
bld.exp(aco_opcode::exp, op[1], op[0], op[3], op[2], 0xf, 3);
//~gfx11! exp mrt3 v1, off, v0, off ; f8000035 80008001
//~gfx12! export mrt3 v1, off, v0, off ; f8000035 80008001
//~gfx11! exp @mrt3 v1, off, v0, off ; f8000035 80008001
//~gfx12! export @mrt3 v1, off, v0, off ; f8000035 80008001
bld.exp(aco_opcode::exp, op[1], Operand(v1), op[0], Operand(v1), 0x5, 3);
//~gfx11! exp mrt3 v1, v0, v3, v2 done ; f800083f 02030001
//~gfx12! export mrt3 v1, v0, v3, v2 done ; f800083f 02030001
//~gfx11! exp @mrt3 v1, v0, v3, v2 done ; f800083f 02030001
//~gfx12! export @mrt3 v1, v0, v3, v2 done ; f800083f 02030001
bld.exp(aco_opcode::exp, op[1], op[0], op[3], op[2], 0xf, 3, false, true);
//~gfx11! exp mrt3 v1, v0, v3, v2 row_en ; f800203f 02030001
//~gfx12! export mrt3 v1, v0, v3, v2 row_en ; f800203f 02030001
//~gfx11! exp @mrt3 v1, v0, v3, v2 row_en ; f800203f 02030001
//~gfx12! export @mrt3 v1, v0, v3, v2 row_en ; f800203f 02030001
bld.exp(aco_opcode::exp, op[1], op[0], op[3], op[2], op_m0, 0xf, 3)->exp().row_en = true;
finish_assembler_test();

View file

@ -172,11 +172,14 @@ BEGIN_TEST(isel.discard_early_exit.mrtz)
}
);
//! mrtz: @match_func(mrtz)
fprintf(output, "mrtz: mrtz%s\n", LLVM_VERSION_MAJOR >= 23 ? "," : "");
/* On GFX11, the discard early exit must use mrtz if the shader exports only depth. */
//>> exp mrtz v#_, off, off, off done ; $_ $_
//>> exp @mrtz v#_, off, off, off done ; $_ $_
//! s_endpgm ; $_
//! BB1:
//! exp mrtz off, off, off, off done ; $_ $_
//! exp @mrtz off, off, off, off done ; $_ $_
//! s_endpgm ; $_
PipelineBuilder pbld(get_vk_device(GFX11));
@ -197,11 +200,14 @@ BEGIN_TEST(isel.discard_early_exit.mrt0)
}
);
//! mrt0: @match_func(mrt0)
fprintf(output, "mrt0: mrt0%s\n", LLVM_VERSION_MAJOR >= 23 ? "," : "");
/* On GFX11, the discard early exit must use mrt0 if the shader exports color. */
//>> exp mrt0 v#x, v#x, v#x, v#x done ; $_ $_
//>> exp @mrt0 v#x, v#x, v#x, v#x done ; $_ $_
//! s_endpgm ; $_
//! BB1:
//! exp mrt0 off, off, off, off done ; $_ $_
//! exp @mrt0 off, off, off, off done ; $_ $_
//! s_endpgm ; $_
PipelineBuilder pbld(get_vk_device(GFX11));