mbox series

[v3,0/3] Hexagon (target/hexagon) Only pass env to generated helper when needed

Message ID 20240214042726.19290-1-ltaylorsimpson@gmail.com (mailing list archive)
Headers show
Series Hexagon (target/hexagon) Only pass env to generated helper when needed | expand

Message

Taylor Simpson Feb. 14, 2024, 4:27 a.m. UTC
Currently, we pass env to every generated helper.  When the semantics of
the instruction only depend on the arguments, this is unnecessary and
adds extra overhead to the helper call.

**** Changes in v3 ****
Update copyright year to 2024
Mark Reviewed-by/Tested-by: Anton Johansson <anjo@rev.ng>

**** Changes in v2 ****
- Separate patches to pass P0 and SP explicitly to helpers that need it
- Add the TCG_CALL_NO_RWG_SE flag to any non-HVX helpers that
  don't get ptr to env


Taylor Simpson (3):
  Hexagon (target/hexagon) Pass P0 explicitly to helpers that need it
  Hexagon (target/hexagon) Pass SP explicitly to helpers that need it
  Hexagon (target/hexagon) Only pass env to generated helper when needed

 target/hexagon/gen_tcg.h            |  5 +++-
 target/hexagon/macros.h             |  6 ++--
 target/hexagon/attribs_def.h.inc    |  3 +-
 target/hexagon/gen_helper_protos.py | 12 ++++++--
 target/hexagon/hex_common.py        | 46 +++++++++++++++++++++++++----
 5 files changed, 59 insertions(+), 13 deletions(-)