[libre-riscv-dev] [Bug 168] create naturally aligned partition points

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Thu Feb 13 18:09:35 GMT 2020


--- Comment #5 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
okaaay i decoded those tables a bit, into "if" statements:

    if True:          o3 = a0b0[31:24]
    if ~p0:           o3 |= a1b0[23:16]
    if  p0:           o3 |= a1b1[23:16]
    if ~p0&p1:        o3 |= a2b1[15:8]
    if  p0&p1:        o3 |= a2b0[15:8]
    if      p1:       o3 |= a2b2[15:8]
    if ~p0&~p1&~p2:   o3 |= a3b0
    if  p0&~p1&~p2:   o3 |= a3b1
    if      p1&~p2:   o3 |= a3b2
    if          p2:   o3 |= a3b3

that's quite easy to do as a parallel tree of ORs (see the treereduce function
i created which should be moved to nmutil, really)

aNbM is basically matrix[N][M]

is that beginning to look a little clearer?  i'll do the other tables as well

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-riscv-dev mailing list