diff options
author | Taylor Simpson <tsimpson@quicinc.com> | 2021-05-18 16:45:18 -0500 |
---|---|---|
committer | Taylor Simpson <tsimpson@quicinc.com> | 2021-11-03 16:01:29 -0500 |
commit | 144da35776e33a25c7783b6b04ed77e375b1c87c (patch) | |
tree | 7b28ccf529aee8e2ad560c545024f9a971c719ed /target/hexagon/hex_common.py | |
parent | e3d143e98e53a7bc8d76d340a5c471567c342a3f (diff) | |
download | qemu-144da35776e33a25c7783b6b04ed77e375b1c87c.zip qemu-144da35776e33a25c7783b6b04ed77e375b1c87c.tar.gz qemu-144da35776e33a25c7783b6b04ed77e375b1c87c.tar.bz2 |
Hexagon HVX (target/hexagon) semantics generator
Add HVX support to the semantics generator
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Diffstat (limited to 'target/hexagon/hex_common.py')
-rwxr-xr-x | target/hexagon/hex_common.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/target/hexagon/hex_common.py b/target/hexagon/hex_common.py index a84b003..c81aca8 100755 --- a/target/hexagon/hex_common.py +++ b/target/hexagon/hex_common.py @@ -145,6 +145,9 @@ def compute_tag_immediates(tag): ## P predicate register ## R GPR register ## M modifier register +## Q HVX predicate vector +## V HVX vector register +## O HVX new vector register ## regid can be one of the following ## d, e destination register ## dd destination register pair @@ -180,6 +183,9 @@ def is_readwrite(regid): def is_scalar_reg(regtype): return regtype in "RPC" +def is_hvx_reg(regtype): + return regtype in "VQ" + def is_old_val(regtype, regid, tag): return regtype+regid+'V' in semdict[tag] @@ -203,6 +209,13 @@ def need_ea(tag): def skip_qemu_helper(tag): return tag in overrides.keys() +def is_tmp_result(tag): + return ('A_CVI_TMP' in attribdict[tag] or + 'A_CVI_TMP_DST' in attribdict[tag]) + +def is_new_result(tag): + return ('A_CVI_NEW' in attribdict[tag]) + def imm_name(immlett): return "%siV" % immlett |