[Libre-soc-bugs] [Bug 865] implement vector bitmanip opcodes

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Jun 22 11:29:51 BST 2022


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

Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
    NLnet milestone|---                         |NLNet.2019.10.031.Video
           Assignee|lkcl at lkcl.net               |andrey at technepisteme.xyz
    parent task for|                            |234
  budget allocation|                            |

--- Comment #1 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
andrey can you do carry-prop (cprop) first, as i took a look last
night at the page jacob found
https://en.m.wikipedia.org/wiki/X86_Bit_manipulation_instruction_set#TBM_(Trailing_Bit_Manipulation)

and noticed there are patterns

* pattern 1: x / ~x
* pattern 2: x+1 / x-1 / ~(x+1) / -x
* pattern 3: | / & / ^

and from that it becomes possible to create a suite of instructions
covering every possible combination of those 3 patterns (5 bits)

so i will need time to sort that.

carry-prop, however, is clear and is dead-easy as well: one line
of pseudo-code (ok, 3):

    P = (RA)
    G = (RB)
    RT = ((P|G)+G)^P 

the relevant line from the table on the bitmanip page is this:
https://libre-soc.org/openpower/sv/bitmanip/

NN      RT      RA      RB      0       11      0001 110        Rc      vec
cprop       X-Form

from which you can construct the appropriate XO-Field to go into
minor_22.csv

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


More information about the libre-soc-bugs mailing list