[Libre-soc-bugs] [Bug 785] New: Implement gfb* instructions for GF(2^n) instructions
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Mar 21 03:02:40 GMT 2022
https://bugs.libre-soc.org/show_bug.cgi?id=785
Bug ID: 785
Summary: Implement gfb* instructions for GF(2^n) 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
Depends on: 784
Blocks: 782
NLnet milestone: NLnet.2021.02A.CryptoRouter
parent task for 782
budget allocation:
Instructions:
* gfbredpoly # sets reducing polynomial SPR `GFBREDPOLY`
unless this is an immediate op, mtspr is completely sufficient.
* gfbmul RT, RA, RB
* gfbmadd RT, RA, RB, RC
* gfbtmadd twin for fft
* gfbinv rt, ra
input 0 gives result 0 even though that is division by zero,
that's what's needed for AES.
Steps (edit as needed):
* TODO: Instruction Encodings
* TODO: MSR bit to be reserved to indicate Poly SPR in use
(avoids need to save Poly SPR on contextswitch)
* basic adaptable modules (probably in nmutil)
* TODO: module in nmutil
* TODO: unit test
* TODO: formal
* TODO: add encoding of gfb* to SVP64Asm class (as a 32bit op)
* TODO: add gfb* 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
https://bugs.libre-soc.org/show_bug.cgi?id=784
[Bug 784] Implement cl* instructions for carry-less operations
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list