[Libre-soc-isa] [Bug 966] create shift-and-add instruction

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Nov 2 00:06:43 GMT 2022


https://bugs.libre-soc.org/show_bug.cgi?id=966

--- Comment #9 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #8)
> In the meeting today I pointed out that we probably also want shaddsw since
> C likes to use int for array indexing.
> 
> shaddsw:
> RT = RA + ((uint64_t)(int32_t)RB << (sh + 1))

mmm.... if added as "L", a 5th operand (shaddw RT, RA, RB, sh, L)
it reduces the number of new instructions added.

   if L = 1 then      n <- EXTS(RB[32:63)
   else               n <- [0]*32 || RB[32:63)

pseudoaliases will need to be created as well.
and yet another encoding Form. sigh.

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


More information about the Libre-SOC-ISA mailing list