From d8d192f3f4e35fb1709740109db3883ebeb864af Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Wed, 20 Dec 2023 16:02:08 +0100 Subject: [PATCH] ir3: Correctly assemble mova1 with (r) on const Signed-off-by: Danylo Piliaiev Part-of: --- src/freedreno/ir3/ir3_parser.y | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/freedreno/ir3/ir3_parser.y b/src/freedreno/ir3/ir3_parser.y index 5ad6bca114a..8b8565e8efe 100644 --- a/src/freedreno/ir3/ir3_parser.y +++ b/src/freedreno/ir3/ir3_parser.y @@ -932,19 +932,23 @@ cat1_movmsk: T_OP_MOVMSK '.' T_W { instr->dsts[0]->wrmask = (1 << num) - 1; } +mova_src: src_reg_or_const_or_rel +| immediate_cat1 +| src_reg_flags immediate_cat1 + cat1_mova1: T_OP_MOVA1 T_A1 ',' { new_instr(OPC_MOV); instr->cat1.src_type = TYPE_U16; instr->cat1.dst_type = TYPE_U16; new_dst((61 << 3) + 2, IR3_REG_HALF); - } cat1_src + } mova_src cat1_mova: T_OP_MOVA T_A0 ',' { new_instr(OPC_MOV); instr->cat1.src_type = TYPE_S16; instr->cat1.dst_type = TYPE_S16; new_dst((61 << 3), IR3_REG_HALF); - } cat1_src + } mova_src cat1_swz: T_OP_SWZ '.' T_CAT1_TYPE_TYPE { parse_type_type(new_instr(OPC_SWZ), $3); } dst_reg ',' dst_reg ',' src_reg ',' src_reg