[Libre-soc-bugs] [Bug 786] New: Implement gfp* instructions for GF(p) instructions
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Mar 21 03:15:37 GMT 2022
https://bugs.libre-soc.org/show_bug.cgi?id=786
Bug ID: 786
Summary: Implement gfp* instructions for GF(p) instructions
Product: Libre-SOC's second ASIC
Version: unspecified
Hardware: PC
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: source code
Assignee: programmerjake at gmail.com
Reporter: programmerjake at gmail.com
CC: libre-soc-bugs at lists.libre-soc.org,
programmerjake at gmail.com
Blocks: 782
NLnet milestone: NLnet.2021.02A.CryptoRouter
parent task for 782
budget allocation:
First: TODO: decide if we want to implement these.
TODO: decide if we want to limit ourselves to GF(p) for prime p or change these
instructions to work for all modular arithmetic (modulus isn't required to be
prime). If we want the instructions to work for all modular arithmetic, then
they should probably be named mod* rather than gfp*.
Instructions:
* gfpadd, gfpsub
* gfpmul
* gfpinv (decide what div by 0 does -- decide what non-invertable inputs do
(only happens for composite moduli))
* gcd (maybe -- other output of gfpinv's algorithm, we have the hardware, why
not use it?)
* gfpmadd, gfpmsub, gfpmsubr (sub reversed)
* gfpmaddsubr (for fft)
Steps (edit as needed):
* TODO: Instruction Encodings
* basic adaptable modules (probably in nmutil)
* TODO: module in nmutil
* TODO: unit test
* TODO: formal
* TODO: add encoding of gfp* to SVP64Asm class (as a 32bit op)
* TODO: add gfp* to TBD pipe(s)
* TODO: fu unit tests
* TODO: fu formal
Referenced Bugs:
https://bugs.libre-soc.org/show_bug.cgi?id=782
[Bug 782] add galois field bitmanip instructions
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list