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 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 | 3 ++ target/hexagon/macros.h | 4 +-- target/hexagon/attribs_def.h.inc | 1 + target/hexagon/gen_helper_protos.py | 10 ++++++- target/hexagon/hex_common.py | 44 +++++++++++++++++++++++++---- 5 files changed, 54 insertions(+), 8 deletions(-) -- 2.34.1