mbox series

[v4,00/13] Hexagon: COF overrides, new generator, test/bug update

Message ID 20230125024215.10430-1-tsimpson@quicinc.com (mailing list archive)
Headers show
Series Hexagon: COF overrides, new generator, test/bug update | expand

Message

Taylor Simpson Jan. 25, 2023, 2:42 a.m. UTC
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