From 0916821ddfbbeb90eb25c09b975e655074907766 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Thu, 21 Apr 2022 10:13:54 +0100 Subject: [PATCH] page-shuffle. biginteger appendix renamed to discussion. --- openpower/sv/biginteger.mdwn | 18 ++++++++---------- .../{appendix.mdwn => discussion.mdwn} | 0 openpower/sv/bitmanip/appendix.mdwn | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-) rename openpower/sv/biginteger/{appendix.mdwn => discussion.mdwn} (100%) diff --git a/openpower/sv/biginteger.mdwn b/openpower/sv/biginteger.mdwn index 73c853f18..168db13a0 100644 --- a/openpower/sv/biginteger.mdwn +++ b/openpower/sv/biginteger.mdwn @@ -4,6 +4,8 @@ **DRAFT STATUS** 19apr2021 +(see [[discussion]] page for notes) + BigNum arithmetic is extremely common especially in cryptography, where for example RSA relies on arithmetic of 2048 or 4096 bits in length. The primary operations are add, multiply and divide @@ -20,13 +22,12 @@ Dynamic SIMD ALUs for maximum performance and effectiveness. # Analysis -Covered in [[biginteger/analysis]] the summary is that standard `adde` is sufficient -for SVP64 Vectorisation of big-integer addition (and subfe for -subtraction) but that big-integer multiply and divide -require two extra 3-in 2-out instructions, similar to Intel's `mulx`, -to be efficient. Macro-op Fusion and back-end massively-wide SIMD ALUs -may be deployed in a fashion that is hidden from the user, behind a -consistent, stable ISA API. +Covered in [[biginteger/analysis]] the summary is that standard `adde` +is sufficient for SVP64 Vectorisation of big-integer addition (and subfe +for subtraction) but that big-integer multiply and divide require two +extra 3-in 2-out instructions, similar to Intel's `mulx`, to be efficient. +Macro-op Fusion and back-end massively-wide SIMD ALUs may be deployed in a +fashion that is hidden from the user, behind a consistent, stable ISA API. # Instructions @@ -98,6 +99,3 @@ The differences here to `maddhdu` are that `maddhdu` stores the upper half in RT, where `madded` stores the upper half in RS. There is no equivalent to `maddld` because `maddld` performs sign-extension on RC. -# Appendix - -see [[appendix]] diff --git a/openpower/sv/biginteger/appendix.mdwn b/openpower/sv/biginteger/discussion.mdwn similarity index 100% rename from openpower/sv/biginteger/appendix.mdwn rename to openpower/sv/biginteger/discussion.mdwn diff --git a/openpower/sv/bitmanip/appendix.mdwn b/openpower/sv/bitmanip/appendix.mdwn index 65e151734..c0af38229 100644 --- a/openpower/sv/bitmanip/appendix.mdwn +++ b/openpower/sv/bitmanip/appendix.mdwn @@ -1,4 +1,4 @@ # biginteger -moved to [[openpower/sv/biginteger/appendix]] +moved to [[openpower/sv/biginteger/discussion]] -- 2.30.2