From: lkcl Date: Fri, 7 Apr 2023 20:36:23 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls012_v1~88 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=306bbdafc2cf77af8a160ec7ff915a79ba74aecf;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls012.mdwn b/openpower/sv/rfc/ls012.mdwn index b3315f451..1ee99d542 100644 --- a/openpower/sv/rfc/ls012.mdwn +++ b/openpower/sv/rfc/ls012.mdwn @@ -14,5 +14,26 @@ of a borderline Vectoriseable Defined Word is `mv.swizzle` which only really becomes high-priority for Vector GPU and HPC Workloads, but has less merit as a Scalar-only operation. +Instruction count guide and approximate priority order: + +* 6 - SVP64 Management [[ls008]] [[ls009]] [[ls010]] +* 5 - CR weirds +* 4 - INT<->FP mv [[ls006]] +* 19 - GPR LD/ST-PostIncrement-Update (saves hugely in hot-loops) [[ls011]] +* ~12 - FPR LD/ST-PostIncrement-Update (ditto) [[ls011]] +* 2 - Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op) [[ls002]] +* 5 - Big-Integer Chained 3-in 2-out (64-bit Carry) +* 6 - Bitmanip LUT2/3 operations. high cost high reward +* 1 - fclass (Scalar variant of xvtstdcsp) +* 5 - Audio-Video +* 2 - Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish) +* 2 - BMI group +* 2 - GPU swizzle +* 9 - FP DCT/FFT Butterfly (2/3-in 2-out) +* ~9 Integer DCT/FFT Butterfly +* 18 - Trigonometric (1-arg) +* 15 - Transcendentals (1-arg) +* 25 - Transcendentals (2-arg) + [[!inline pages="openpower/sv/rfc/ls012/areas.mdwn" raw=yes ]]