loadstore1: Eliminate two_dwords variable
authorPaul Mackerras <paulus@ozlabs.org>
Fri, 10 Jul 2020 10:11:15 +0000 (20:11 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 14 Jul 2020 23:45:23 +0000 (09:45 +1000)
commitb2ba024a4885f026200bdfb6ef804ed0f9dd72ca
treed46403371c19783fcba7460cb1ed716d7cf2619a
parent9160e29c56b3ae4da4b4b8e6abef04c95dd75f20
loadstore1: Eliminate two_dwords variable

The computation of two_dwords from r.second_bytes has shown up as
part of a critical path at times.  Instead we add a 'last_dword'
flag to the reg_stage_t record which tells us more directly
whether a valid flag coming in from dcache means that the
instruction is done, thereby shortening the path to the busy output
back to execute1.

This also simplifies some of the trim_ctl logic.  The two_dwords = 0
case could never have use_second(i) = 1 for any of the bytes being
transferred, so "not use_second(i)" is always 1.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
loadstore1.vhdl