execute: Move popcnt and prty instructions into the logical unit
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 13 Jan 2020 07:13:09 +0000 (18:13 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 14 Jan 2020 11:40:39 +0000 (22:40 +1100)
commit0c714f1be680ed36373be0ee9c15d30a7cc263b6
tree0c5b9b2949529c4d7f3ac160ac603c236d492d87
parentd2ca625b3b9c98de607b2a56f8428c70ab343891
execute: Move popcnt and prty instructions into the logical unit

This implements logic in the logical entity to calculate the results
of the popcnt* and prty* instructions.  We now have one insn_type_t
value for the 3 popcnt variants and one for the two prty variants,
using the length field of the decode_rom_t to distinguish between
them.  The implementations in logical.vhdl using recursive
algorithms rather than the simple functions in ppc_fx_insns.vhdl.

This gives a saving of about 140 slice LUTs on the A7-100 and
improves timing slightly.

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