From b8a3ca2f5e23ad80d7b789377bdfb6af300e023d Mon Sep 17 00:00:00 2001 From: lkcl Date: Wed, 9 Mar 2022 23:40:17 +0000 Subject: [PATCH] --- openpower/sv/bitmanip.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/openpower/sv/bitmanip.mdwn b/openpower/sv/bitmanip.mdwn index 6b3277bb3..3ed51ae91 100644 --- a/openpower/sv/bitmanip.mdwn +++ b/openpower/sv/bitmanip.mdwn @@ -736,6 +736,21 @@ uint_xlen_t clmulr(uint_xlen_t RA, uint_xlen_t RB) return x; } ``` +## carryless Twin Butterfly (Tukey-Cooley) Mul-add-sub + +used in combination with SV FFT REMAP to perform +a full NTT in-place. possible by having 3-in 2-out, +to avoid the need for a temp register. RS is written +to as well as RT. + + clfmadd RT,RA,RC,RB (Rc=0) + clfmadd. RT,RA,RC,RB (Rc=1) + +Pseudo-code: + + RT <- CLMUL(RA, RC) ^ RB + RS <- CLMUL(RA, RC) ^ RB + # bitmatrix -- 2.30.2