decode: Push mtspr/mfspr register decoding down into execute1
authorPaul Mackerras <paulus@ozlabs.org>
Sat, 28 Sep 2019 04:43:46 +0000 (14:43 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 1 Oct 2019 05:22:22 +0000 (15:22 +1000)
commitc9e92483b80f2e204b986a032bbf80c4ce87e394
tree6beaa38f19466354900c295f71f9c8209a2de77e
parent3e6f656a9054417326073d62bbd1abc9e782b428
decode: Push mtspr/mfspr register decoding down into execute1

Instead of doing mfctr, mflr, mftb, mtctr, mtlr as separate ops,
just pass down mfspr and mtspr ops with the spr number and let
execute1 decode which SPR we're addressing.  This will help reduce
the number of instruction bits decode1 needs to look at.

In fact we now pass down the whole instruction from decode2 to
execute1.  We will need more bits of the instruction in future,
and the tools should just optimize away any that we don't end
up using.  Since the 'aa' bit was just a copy of an instruction
bit, we can now remove it from the record.

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