The idef-parser skips the change-of-flow (COF) instructions, so add overrides
**** Changes in v2 **** Add a new generator for analyze_<tag> instructions. Pouplate the DisasContext ahead of generating code. **** Changes in v3 **** Cleanup of analysis code Added test updates enabled by new toolchain container **** Changes in v4 **** Additional patch for bug fix Remove pkt_has_store_s1 from runtime state with dealloc-return patch New patches to utilize new analyzer to improve predicated instructions Taylor Simpson (13): Hexagon (target/hexagon) Add overrides for jumpr31 instructions Hexagon (target/hexagon) Add overrides for callr Hexagon (target/hexagon) Add overrides for endloop1/endloop01 Hexagon (target/hexagon) Add overrides for dealloc-return instructions Hexagon (target/hexagon) Analyze packet before generating TCG Hexagon (target/hexagon) Analyze packet for HVX Hexagon (tests/tcg/hexagon) Update preg_alias.c Hexagon (tests/tcg/hexagon) Remove __builtin from scatter_gather Hexagon (tests/tcg/hexagon) Enable HVX tests Hexagon (target/hexagon) Change subtract from zero to change sign Hexagon (target/hexagon) Remove gen_log_predicated_reg_write[_pair] Hexagon (target/hexagon) Reduce manipulation of slot_cancelled Hexagon (target/hexagon) Improve code gen for predicated HVX instructions target/hexagon/cpu.h | 6 +- target/hexagon/gen_tcg.h | 78 ++- target/hexagon/gen_tcg_hvx.h | 17 +- target/hexagon/macros.h | 14 +- target/hexagon/op_helper.h | 1 - target/hexagon/translate.h | 76 +-- target/hexagon/genptr.c | 307 +++++++----- target/hexagon/idef-parser/parser-helpers.c | 12 +- target/hexagon/op_helper.c | 96 +--- target/hexagon/translate.c | 271 ++++++----- tests/tcg/hexagon/fpstuff.c | 31 +- tests/tcg/hexagon/preg_alias.c | 10 +- tests/tcg/hexagon/scatter_gather.c | 513 +++++++++++--------- target/hexagon/README | 38 +- target/hexagon/gen_analyze_funcs.py | 235 +++++++++ target/hexagon/gen_tcg_funcs.py | 128 ++--- target/hexagon/idef-parser/idef-parser.lex | 4 +- target/hexagon/idef-parser/idef-parser.y | 7 +- target/hexagon/meson.build | 11 +- tests/tcg/hexagon/Makefile.target | 13 +- 20 files changed, 1098 insertions(+), 770 deletions(-) create mode 100755 target/hexagon/gen_analyze_funcs.py -- 2.17.1