[Libre-soc-isa] [Bug 937] instructions for bigint shift and prefix-code encode
    bugzilla-daemon at libre-soc.org 
    bugzilla-daemon at libre-soc.org
       
    Sun Sep 25 22:14:17 BST 2022
    
    
  
https://bugs.libre-soc.org/show_bug.cgi?id=937
--- Comment #1 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
with the shift-up placing zeros into the LSBs if RC>0
can you explain clearly why the following alteration
is not correct for pcdec?
    elif RC < 0:
        v <<= -RC
        return u64(v>>64)  # return hi 64-bits
    else:
        v >>= RC
        return u64(v)  # return low 64-bits
this will be fun
    for i in range(len(out)):
        out[i] = dshrsd(inp[i + offset + 1], inp[i + offset], shift)
it will need to be an overwrite (RT-as-source) in order to get it into
RM-1P-2S1D as dshrshd RT,RA,RB so that EXTRA3 may be used.  as 3-in 1-out
RT,RA,RB,RC there is no room for EXTRA3 it would be EXTRA2 which cannot
handle odd vector regnums except through svoffset
the only thing is, reverse-gear needed on dshlsd to avoid overwrite.
which is fine.
RT,RA,RB would be X-Form which would reduce opcode pressure greatly.
prefix-sum btw is doable with mapreduce using the right offsets of
RT RA and RB (1 different) probably RT=RA+1
-- 
You are receiving this mail because:
You are on the CC list for the bug.
    
    
More information about the Libre-SOC-ISA
mailing list