diff --git a/src/freedreno/ir3/tests/disasm.c b/src/freedreno/ir3/tests/disasm.c index 7291aad78de..ccd9abbc01c 100644 --- a/src/freedreno/ir3/tests/disasm.c +++ b/src/freedreno/ir3/tests/disasm.c @@ -505,6 +505,8 @@ static const struct test { INSTR_7XX(e44c0009_00000007, "alias.tex.f32.0 r2.y, c1.w"), /* dEQP-VK.binding_model.shader_access.primary_cmd_buf.storage_image.geometry.single_descriptor.2d_base_mip */ INSTR_7XX(ec5501a0_00000006, "(jp)alias.tex.b32.1 r40.x, (0x6)"), + /* dEQP-VK.subgroups.quad.graphics.subgroupquadbroadcast_i16vec2 */ + INSTR_7XX(e45100a0_00000002, "alias.tex.b16.0 hr40.x, h(0x2)"), INSTR_6XX(ffffffff_ffffffff, "raw 0xFFFFFFFFFFFFFFFF"), /* clang-format on */ diff --git a/src/freedreno/isa/ir3-cat7.xml b/src/freedreno/isa/ir3-cat7.xml index f313a0d8d97..368e09cb218 100644 --- a/src/freedreno/isa/ir3-cat7.xml +++ b/src/freedreno/isa/ir3-cat7.xml @@ -309,7 +309,7 @@ SOFTWARE. - {SY}{SS}{JP}{NAME}.{SCOPE}.{TYPE}{TYPE_SIZE}.{UNK} {DST}, {SRC} + {SY}{SS}{JP}{NAME}.{SCOPE}.{TYPE}{TYPE_SIZE}.{UNK} {DST_HALF}{DST}, {SRC} @@ -348,6 +348,9 @@ SOFTWARE. ({SCOPE_HI} << 1) | {SCOPE_LO} + + {TYPE_SIZE} == 0 + src->srcs[0] (src->srcs[0]->flags & IR3_REG_CONST) ? 1 : ((src->srcs[0]->flags & IR3_REG_IMMED) ? 2 : 0)