From 2af32465bfd9db84980891ebeb71ac0275d58a4c Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Fri, 7 Apr 2023 14:52:47 +0100 Subject: [PATCH] add trigonometrics/transcendentals to ls012 opcodes.csv also add some headings --- openpower/sv/rfc/ls012/optable.csv | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/openpower/sv/rfc/ls012/optable.csv b/openpower/sv/rfc/ls012/optable.csv index f256c0568..7c44d6eb6 100644 --- a/openpower/sv/rfc/ls012/optable.csv +++ b/openpower/sv/rfc/ls012/optable.csv @@ -1,32 +1,101 @@ instruction, rfc, priority, bitcost, vectorisable, group, prefixable, page +# Bitmanip LUT2/3 operations. high cost high reward grevlut, TBD, high, 3, yes, TBD, no, sv/bitmanip grevluti, TBD, high, 3, yes, TBD, yes, sv/bitmanip ternlogi, ls007, high, 2, yes, TBD, yes, sv/bitmanip crternlogi, ls007, high, 5, yes, TBD, yes, sv/bitmanip binlut, ls007, high, 6, yes, TBD, no, sv/bitmanip crbinlut, ls007, high, 5, yes, TBD, no, sv/bitmanip +# Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op) fmvis, ls002, high, 5, yes, TBD, no, sv/bitmanip fishmv, ls002, high, 5, yes, TBD, no, sv/bitmanip +# Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish) shadd, ls003, high, 7, yes, TBD, no, sv/bitmanip shadduw, ls003, high, 7, yes, TBD, no, sv/bitmanip +# Audio-Video absdu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes avgadd, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes minmax, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes absaccs, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes absaccu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes +# BMI group bmask, TBD, high, 5, yes, TBD, yes, sv/vector_ops cprop, TBD, high, 5, yes, TBD, yes, sv/vector_ops +# SVP64 Management. setvl, ls008, high, 5, no, EXT0xx, yes, sv/setvl svstep, ls008, high, 5, no, EXT0xx, yes, sv/svstep svremap, ls009, high, 5, no, EXT0xx, yes, sv/remap svshape, ls009, high, 5, no, EXT0xx, yes, sv/remap svshape2, ls009, high, 5, no, EXT0xx, yes, sv/remap svindex, ls009, high, 5, no, EXT0xx, yes, sv/remap +# GPU swizzle mv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle fmv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle +# CR weirds crrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication mfcrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication mtcrrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication mtcrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication crweirder, TBD, high, 9, yes, TBD, no, sv/cr_int_predication mcrfm, , TBD, high, 9, yes, EXT0xx, no, sv/cr_int_predication +# Trigonometric (1-arg) +fsin(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +fcos(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +ftan(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +fasin(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +facos(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fatan(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fsinpi(s), TBD, high, 10, yes, TBD, no, transcendentals +fcospi(s), TBD, high, 10, yes, TBD, no, transcendentals +ftanpi(s), TBD, high, 10, yes, TBD, no, transcendentals +fasinpi(s), TBD, high, 10, yes, EXT2xx, no, transcendentals +facospi(s), TBD, high, 10, yes, EXT2xx, no, transcendentals +fatanpi(s), TBD, high, 10, yes, EXT2xx, no, transcendentals +fsinh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fcosh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +ftanh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fasinh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +facosh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fatanh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +# Transcendentals (1-arg) +frsqrt(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +fcbrt(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +frecip(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +fexp2m1(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +flog2p1(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +fexp2(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +flog2(s), TBD, high, 10, yes, EXT0xx, no, transcendentals +fexpm1(s), TBD, med, 10, yes, TBD, no, transcendentals +flogp1(s), TBD, med, 10, yes, TBD, no, transcendentals +fexp(s), TBD, med, 10, yes, TBD, no, transcendentals +flog(s), TBD, med, 10, yes, TBD, no, transcendentals +fexp10m1(s), TBD, med, 10, yes, TBD, no, transcendentals +flog10p1(s), TBD, med, 10, yes, TBD, no, transcendentals +fexp10(s), TBD, med, 10, yes, TBD, no, transcendentals +flog10(s), TBD, med, 10, yes, TBD, no, transcendentals +# Transcendentals (2-arg) +fatan2(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fatan2pi(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fpow(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fpown(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fpowr(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +frootn(s), TBD, low, 10, yes, EXT2xx, no, transcendentals +fhypot(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmin19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmax19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminc(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxc(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminmagnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxmagnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminmag19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxmag19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminmagnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxmagnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fminmagc(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmaxmagc(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fmod(s), TBD, TBD, 10, yes, TBD, no, transcendentals +fremainder(s), TBD, TBD, 10, yes, TBD, no, transcendentals -- 2.30.2