On 2/11/21 10:50 PM, Alessandro Di Federico via wrote: > From: Paolo Montesel <bab...@rev.ng> > > Move certain helper functions required by code generated by the > idef-parser available outside genptr.c, moving them into macros.h. >
^ OK > This patch also introduces the gen_cancel and gen_fbrev helper which > will be used by idef-parser. No, it doesn't. Probably old comment? Removing it: Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > > Signed-off-by: Alessandro Di Federico <a...@rev.ng> > --- > target/hexagon/genptr.c | 13 ++++++++++--- > target/hexagon/genptr.h | 7 +++++++ > 2 files changed, 17 insertions(+), 3 deletions(-) > > diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c > index 7481f4c1dd..97de669f38 100644 > --- a/target/hexagon/genptr.c > +++ b/target/hexagon/genptr.c > @@ -26,8 +26,15 @@ > #include "translate.h" > #include "macros.h" > #include "gen_tcg.h" > +#include "genptr.h" > > -static inline TCGv gen_read_preg(TCGv pred, uint8_t num) > +TCGv gen_read_reg(TCGv result, int num) > +{ > + tcg_gen_mov_tl(result, hex_gpr[num]); > + return result; > +} > + > +TCGv gen_read_preg(TCGv pred, uint8_t num) > { > tcg_gen_mov_tl(pred, hex_pred[num]); > return pred; > @@ -53,7 +60,7 @@ static inline void gen_log_predicated_reg_write(int rnum, > TCGv val, int slot) > tcg_temp_free(slot_mask); > } > > -static inline void gen_log_reg_write(int rnum, TCGv val) > +void gen_log_reg_write(int rnum, TCGv val) > { > tcg_gen_mov_tl(hex_new_value[rnum], val); > #if HEX_DEBUG > @@ -116,7 +123,7 @@ static void gen_log_reg_write_pair(int rnum, TCGv_i64 val) > #endif > } > > -static inline void gen_log_pred_write(int pnum, TCGv val) > +void gen_log_pred_write(int pnum, TCGv val) > { > TCGv zero = tcg_const_tl(0); > TCGv base_val = tcg_temp_new(); > diff --git a/target/hexagon/genptr.h b/target/hexagon/genptr.h > index c158005d2a..0bfa99b463 100644 > --- a/target/hexagon/genptr.h > +++ b/target/hexagon/genptr.h > @@ -19,7 +19,14 @@ > #define HEXAGON_GENPTR_H > > #include "insn.h" > +#include "tcg/tcg.h" > +#include "translate.h" > > extern const SemanticInsn opcode_genptr[]; > > +TCGv gen_read_reg(TCGv result, int num); > +TCGv gen_read_preg(TCGv pred, uint8_t num); > +void gen_log_reg_write(int rnum, TCGv val); > +void gen_log_pred_write(int pnum, TCGv val); > + > #endif >