[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