]> git.proxmox.com Git - mirror_qemu.git/commit
target/xtensa: sort FLIX instruction opcodes
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 30 Jan 2019 03:21:10 +0000 (19:21 -0800)
committerMax Filippov <jcmvbkbc@gmail.com>
Thu, 28 Feb 2019 12:43:15 +0000 (04:43 -0800)
commit20e9fd0fc0634de24ee2763d769e3780e369afdd
treea9d58f7b053dde736db607776c4fa9c771a1821b
parentfa6bc73c8b46782bf07dadcac908405cf19b8ab8
target/xtensa: sort FLIX instruction opcodes

Opcodes in different slots may read and write same resources (registers,
states). In the absence of resource dependency loops it must be possible
to sort opcodes to avoid interference.

Record resources used by each opcode in the bundle. Build opcode
dependency graph and use topological sort to order its nodes. In case of
success translate opcodes in sort order. In case of failure report and
raise invalid opcode exception.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
target/xtensa/cpu.h
target/xtensa/translate.c