diff --git a/.pick_status.json b/.pick_status.json index 1d18fe5f4bb..67af5c8bd32 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -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 diff --git a/src/amd/compiler/tests/test_assembler.cpp b/src/amd/compiler/tests/test_assembler.cpp index 78903734c87..cb975e33c7c 100644 --- a/src/amd/compiler/tests/test_assembler.cpp +++ b/src/amd/compiler/tests/test_assembler.cpp @@ -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(); diff --git a/src/amd/compiler/tests/test_isel.cpp b/src/amd/compiler/tests/test_isel.cpp index 074821d9ddb..5ec3e1703a8 100644 --- a/src/amd/compiler/tests/test_isel.cpp +++ b/src/amd/compiler/tests/test_isel.cpp @@ -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));