[libre-riscv-dev] [Bug 333] investigate why CR pipeline code took 100% CPU and locked up generating ILANG
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Wed May 20 20:39:19 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=333
--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
this is dreadful:
for i in range(4):
comb += cr_out_arr[bf*4 + i].eq(cr_arr[bfa*4 + i])
the computation of the index is done almost a hundred times or more.
32x4 times.
for now it can be done again with a mask (shifted). two masks - one
to shift-extract cr[bfa*4..+4], shift by the *difference* between
bf and bfa then bit-mask in.
dreadful.
we really need to split CR out into its 8 separate CRs. XER's fields
are going to have to be done this way anyway.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list