diff --git a/src/imagination/pco/pco_internal.h b/src/imagination/pco/pco_internal.h index e800d0c922c..229bb1ef52e 100644 --- a/src/imagination/pco/pco_internal.h +++ b/src/imagination/pco/pco_internal.h @@ -99,9 +99,9 @@ typedef struct PACKED _pco_ref { /** Source/destination modifiers. */ bool oneminus : 1; bool clamp : 1; + bool flr : 1; bool abs : 1; bool neg : 1; - bool flr : 1; enum pco_elem elem : 4; /** .e0.e1.e2.e3 */ enum pco_dtype dtype : 2; /** Reference data-type. */ @@ -1516,17 +1516,17 @@ static inline void pco_ref_xfer_mods(pco_ref *dest, pco_ref *source, bool reset) { dest->oneminus = source->oneminus; dest->clamp = source->clamp; + dest->flr = source->flr; dest->abs = source->abs; dest->neg = source->neg; - dest->flr = source->flr; dest->elem = source->elem; if (reset) { source->oneminus = false; source->clamp = false; + source->flr = false; source->abs = false; source->neg = false; - source->flr = false; source->elem = 0; } } diff --git a/src/imagination/pco/pco_ops.py b/src/imagination/pco/pco_ops.py index 8051dd7ebc2..fcb7176dfe2 100644 --- a/src/imagination/pco/pco_ops.py +++ b/src/imagination/pco/pco_ops.py @@ -110,9 +110,9 @@ PRED = enum_type('pred', [ ]) DRC = enum_type('drc', [ - ('pending', '?'), ('0', '0'), ('1', '1'), + ('pending', '?'), ]) # Ref mods. @@ -137,9 +137,6 @@ OM_EXEC_CND = op_mod_enum('exec_cnd', [ ('e1_z0', 'if(!p0)'), ], print_early=True, unset=True) OM_RPT = op_mod('rpt', BaseType.uint, print_early=True, nzdefault=1, unset=True) -OM_ATOM = op_mod('atom', BaseType.bool, unset=True) -OM_END = op_mod('end', BaseType.bool, unset=True) -OM_OLCHK = op_mod('olchk', BaseType.bool, unset=True) OM_SAT = op_mod('sat', BaseType.bool) OM_LP = op_mod('lp', BaseType.bool) OM_SCALE = op_mod('scale', BaseType.bool) @@ -258,6 +255,9 @@ OM_PCK_FMT = op_mod_enum('pck_fmt', [ 'one', ]) OM_PHASE2END = op_mod('phase2end', BaseType.bool) +OM_ATOM = op_mod('atom', BaseType.bool, unset=True) +OM_OLCHK = op_mod('olchk', BaseType.bool, unset=True) +OM_END = op_mod('end', BaseType.bool, unset=True) # Ops. diff --git a/src/imagination/pco/pco_print.c b/src/imagination/pco/pco_print.c index 5f0db4d4096..ea018e195a4 100644 --- a/src/imagination/pco/pco_print.c +++ b/src/imagination/pco/pco_print.c @@ -192,12 +192,12 @@ static void pco_print_ref_mods(pco_print_state *state, pco_ref ref) pco_printf(state, ".oneminus"); if (ref.clamp) pco_printf(state, ".clamp"); + if (ref.flr) + pco_printf(state, ".flr"); if (ref.abs) pco_printf(state, ".abs"); if (ref.neg) pco_printf(state, ".neg"); - if (ref.flr) - pco_printf(state, ".flr"); u_foreach_bit (e, ref.elem) { pco_printf(state, ".e%u", e);