From 49b2fbe2f0246e6b62c7be64e5c5d61bbd0420fa Mon Sep 17 00:00:00 2001 From: Job Noorman Date: Thu, 1 Feb 2024 14:51:18 +0100 Subject: [PATCH] ir3: remove comp1/2 from cat0 Just take the component values from the source registers. Signed-off-by: Job Noorman Part-of: --- src/freedreno/ir3/ir3.h | 1 - src/freedreno/ir3/ir3_parser.y | 10 +++++----- src/freedreno/isa/ir3-cat0.xml | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/freedreno/ir3/ir3.h b/src/freedreno/ir3/ir3.h index 141036f5d85..ed633132277 100644 --- a/src/freedreno/ir3/ir3.h +++ b/src/freedreno/ir3/ir3.h @@ -360,7 +360,6 @@ struct ir3_instruction { union { struct { char inv1, inv2; - char comp1, comp2; int immed; struct ir3_block *target; const char *target_label; diff --git a/src/freedreno/ir3/ir3_parser.y b/src/freedreno/ir3/ir3_parser.y index 3a18f8674d9..eb3732be9fa 100644 --- a/src/freedreno/ir3/ir3_parser.y +++ b/src/freedreno/ir3/ir3_parser.y @@ -704,7 +704,7 @@ static void print_token(FILE *file, int type, YYSTYPE value) %type integer offset %type flut_immed %type float -%type src dst const +%type src dst const cat0_src1 cat0_src2 %type cat1_opc %type cat2_opc_1src cat2_opc_2src_cnd cat2_opc_2src %type cat3_opc @@ -845,11 +845,11 @@ instr: iflags cat0_instr label: T_IDENTIFIER ':' { new_label($1); } -cat0_src1: '!' T_P0 { instr->cat0.inv1 = true; instr->cat0.comp1 = $2 >> 1; } -| T_P0 { instr->cat0.comp1 = $1 >> 1; } +cat0_src1: '!' T_P0 { instr->cat0.inv1 = true; $$ = new_src((62 << 3) + $2, 0); } +| T_P0 { $$ = new_src((62 << 3) + $1, 0); } -cat0_src2: '!' T_P0 { instr->cat0.inv2 = true; instr->cat0.comp2 = $2 >> 1; } -| T_P0 { instr->cat0.comp2 = $1 >> 1; } +cat0_src2: '!' T_P0 { instr->cat0.inv2 = true; $$ = new_src((62 << 3) + $2, 0); } +| T_P0 { $$ = new_src((62 << 3) + $1, 0); } cat0_immed: '#' integer { instr->cat0.immed = $2; } | '#' T_IDENTIFIER { ralloc_steal(instr, (void *)$2); instr->cat0.target_label = $2; } diff --git a/src/freedreno/isa/ir3-cat0.xml b/src/freedreno/isa/ir3-cat0.xml index c54ff076a5e..03bf7f37759 100644 --- a/src/freedreno/isa/ir3-cat0.xml +++ b/src/freedreno/isa/ir3-cat0.xml @@ -45,8 +45,8 @@ SOFTWARE. 000 src->cat0.immed - src->cat0.comp1 - src->cat0.comp2 + reg_comp(src->srcs[0]) + reg_comp(src->srcs[1]) src->cat0.inv1 src->cat0.inv2 !!(src->flags & IR3_INSTR_EQ)