[Libre-soc-bugs] [Bug 1157] Implement poly1305

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Oct 13 15:37:53 BST 2023


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

--- Comment #31 from Sadoon Albader <sadoon at albader.co> ---
My current brainstorming for the initial h[x]+= block:

1- store 0xfffff... (twice) and 0x3ffff... in three registers (p0,p1,p2)
2- store h0, h1, and h2 in 3 registers
3- split t0 and t1 into 3 registers:
    t0_s = t0
    t1_s = t0 >> 44 | t1 << 20
    t2_s = t1 >> 24 | hibit (this might be wrong, need to check)
4- setvl 3? 9?
5- the final run should be something like this:

   h_s[x] += t[x]_s & p[x]

Which is perfectly doable in two or a few more SVP64 lines if I'm now
understanding things correctly.

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


More information about the libre-soc-bugs mailing list