From: Matheus Tavares Bernardino <[email protected]>
Table that records which CPU revision introduced or removed each opcode Co-authored-by: Brian Cain <[email protected]> Co-authored-by: Taylor Simpson <[email protected]> Signed-off-by: Brian Cain <[email protected]> Signed-off-by: Taylor Simpson <[email protected]> --- target/hexagon/tag_rev_info.c.inc | 61 +++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 target/hexagon/tag_rev_info.c.inc diff --git a/target/hexagon/tag_rev_info.c.inc b/target/hexagon/tag_rev_info.c.inc new file mode 100644 index 0000000000..ed7fb68aaf --- /dev/null +++ b/target/hexagon/tag_rev_info.c.inc @@ -0,0 +1,61 @@ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef HEXAGON_TAG_ARCH_TABLE_H +#define HEXAGON_TAG_ARCH_TABLE_H + +struct tag_rev_info { int introduced, removed; }; + +static const struct tag_rev_info tag_rev_info[XX_LAST_OPCODE] = { + [A7_clip] = { .introduced = 0x67, .removed = 0x0 }, + [A7_croundd_ri] = { .introduced = 0x67, .removed = 0x0 }, + [A7_croundd_rr] = { .introduced = 0x67, .removed = 0x0 }, + [A7_vclip] = { .introduced = 0x67, .removed = 0x0 }, + [F2_dfmax] = { .introduced = 0x67, .removed = 0x0 }, + [F2_dfmin] = { .introduced = 0x67, .removed = 0x0 }, + [F2_dfmpyfix] = { .introduced = 0x67, .removed = 0x0 }, + [F2_dfmpyhh] = { .introduced = 0x67, .removed = 0x0 }, + [F2_dfmpylh] = { .introduced = 0x67, .removed = 0x0 }, + [F2_dfmpyll] = { .introduced = 0x67, .removed = 0x0 }, + [J2_callrh] = { .introduced = 0x73, .removed = 0x0 }, + [J2_jumprh] = { .introduced = 0x73, .removed = 0x0 }, + [L2_loadw_aq] = { .introduced = 0x68, .removed = 0x0 }, + [L4_loadd_aq] = { .introduced = 0x68, .removed = 0x0 }, + [M7_dcmpyiw] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyiw_acc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyiwc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyiwc_acc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyrw] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyrw_acc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyrwc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_dcmpyrwc_acc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyiw] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyiw_rnd] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyiwc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyiwc_rnd] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyrw] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyrw_rnd] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyrwc] = { .introduced = 0x67, .removed = 0x0 }, + [M7_wcmpyrwc_rnd] = { .introduced = 0x67, .removed = 0x0 }, + [R6_release_at_vi] = { .introduced = 0x68, .removed = 0x0 }, + [R6_release_st_vi] = { .introduced = 0x68, .removed = 0x0 }, + [S2_storew_rl_at_vi] = { .introduced = 0x68, .removed = 0x0 }, + [S2_storew_rl_st_vi] = { .introduced = 0x68, .removed = 0x0 }, + [S4_stored_rl_at_vi] = { .introduced = 0x68, .removed = 0x0 }, + [S4_stored_rl_st_vi] = { .introduced = 0x68, .removed = 0x0 }, + [V6_v6mpyhubs10] = { .introduced = 0x68, .removed = 0x0 }, + [V6_v6mpyhubs10_vxx] = { .introduced = 0x68, .removed = 0x0 }, + [V6_v6mpyvubs10] = { .introduced = 0x68, .removed = 0x0 }, + [V6_v6mpyvubs10_vxx] = { .introduced = 0x68, .removed = 0x0 }, + [V6_vasrvuhubrndsat] = { .introduced = 0x69, .removed = 0x0 }, + [V6_vasrvuhubsat] = { .introduced = 0x69, .removed = 0x0 }, + [V6_vasrvwuhrndsat] = { .introduced = 0x69, .removed = 0x0 }, + [V6_vasrvwuhsat] = { .introduced = 0x69, .removed = 0x0 }, + [V6_vassign_tmp] = { .introduced = 0x69, .removed = 0x0 }, + [V6_vcombine_tmp] = { .introduced = 0x69, .removed = 0x0 }, + [V6_vmpyuhvs] = { .introduced = 0x69, .removed = 0x0 }, +}; + +#endif /* HEXAGON_TAG_ARCH_TABLE_H */ -- 2.43.0
