]> git.proxmox.com Git - mirror_qemu.git/commit
Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions)
authorTaylor Simpson <ltaylorsimpson@gmail.com>
Mon, 15 Jan 2024 22:14:42 +0000 (15:14 -0700)
committerBrian Cain <bcain@quicinc.com>
Mon, 22 Jan 2024 06:02:40 +0000 (22:02 -0800)
commitf6c01009b5846b1e7c56b4be3413924d87a7bbea
tree1e6a19a0d909717eab5cb9d581205ef97dae74ef
parent1547a2d3394d7ec87350ab8ca4022d5e0f20db01
Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions)

Section 10.3 of the Hexagon V73 Programmer's Reference Manual

A duplex is encoded as a 32-bit instruction with bits [15:14] set to 00.
The sub-instructions that comprise a duplex are encoded as 13-bit fields
in the duplex.

Create a decoder for each subinstruction class (a, l1, l2, s1, s2).

Extend gen_trans_funcs.py to handle all instructions rather than
filter by instruction class.

There is a g_assert_not_reached() in decode_insns() in decode.c to
verify we never try to use the old decoder on 16-bit instructions.

Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20240115221443.365287-3-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
target/hexagon/README
target/hexagon/decode.c
target/hexagon/gen_decodetree.py
target/hexagon/gen_trans_funcs.py
target/hexagon/meson.build