core: Crack branches that update both CTR and LR
authorPaul Mackerras <paulus@ozlabs.org>
Wed, 11 Nov 2020 11:10:38 +0000 (22:10 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Mon, 18 Jan 2021 22:27:29 +0000 (09:27 +1100)
commita1d7b54f76859e7270c48a56536b901f3c05c641
treecb6a45edbe9bdf65639d8bde05d702d2d363ee1d
parent4c61a71a62e7c217699ff0597ee10cf3bfd18c1d
core: Crack branches that update both CTR and LR

This uses the instruction doubling machinery to convert conditional
branch instructions that update both CTR and LR (e.g., bdnzl, bdnzlrl)
into two instructions, of which the first updates CTR and determines
whether the branch is taken, and the second updates LR and does the
redirect if necessary.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
common.vhdl
decode1.vhdl
decode2.vhdl
execute1.vhdl