From: Luke Kenneth Casson Leighton Date: Thu, 20 Apr 2023 14:41:47 +0000 (+0100) Subject: add optional subset column to optables.csv ls012 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b6254f12cd335db25363aa59b23799af496017f6;p=libreriscv.git add optional subset column to optables.csv ls012 --- diff --git a/openpower/sv/rfc/ls012/optable.csv b/openpower/sv/rfc/ls012/optable.csv index 885e4cbc2..b102532a6 100644 --- a/openpower/sv/rfc/ls012/optable.csv +++ b/openpower/sv/rfc/ls012/optable.csv @@ -104,48 +104,48 @@ minmax, ls013, high, 10, yes, TBD, no, sv/av_opcodes, 2R1W1w, TBD absaccs, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 3R1W1w, TBD absaccu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 3R1W1w, TBD # BMI group -bmask, TBD, high, 5, yes, TBD, yes, sv/vector_ops, 2R1W1w, TBD -cprop, TBD, high, 5, yes, TBD, yes, sv/vector_ops, 2R1W1w, TBD +bmask, TBD, high, 5, yes, EXT0xx, yes, sv/vector_ops, 2R1W1w, SFFS +cprop, TBD, high, 5, yes, TBD, yes, sv/vector_ops, 2R1W1w, opt # SVP64 Management. -setvl, ls008, high, 5, no, EXT0xx, yes, sv/setvl, 3R2W1w, TBD -svstep, ls008, high, 5, no, EXT0xx, yes, sv/svstep, 1R2W1w, TBD -svremap, ls009, high, 5, no, EXT0xx, yes, sv/remap, 1R1W, TBD -svshape, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, TBD -svshape2, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, TBD -svindex, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, TBD +setvl, ls008, high, 5, no, EXT0xx, yes, sv/setvl, 3R2W1w, SV/E +svstep, ls008, high, 5, no, EXT0xx, yes, sv/svstep, 1R2W1w, SV/E +svremap, ls009, high, 5, no, EXT0xx, yes, sv/remap, 1R1W, SV/D +svshape, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D +svshape2, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D +svindex, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W, SV/D # GPU swizzle -mv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W, TBD -fmv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W, TBD +mv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W, opt +fmv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W, opt # CR weirds -crrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w, TBD -mfcrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w, TBD -mtcrrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w, TBD -mtcrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w, TBD -crweirder, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 2r1w, TBD -mcrfm, TBD, high, 9, yes, EXT0xx, no, sv/cr_int_predication, 2r1w, TBD +crrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w, SV/D +mfcrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w, SV/D +mtcrrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w, SV/D +mtcrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w, SV/D +crweirder, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 2r1w, SV/D +mcrfm, TBD, high, 9, yes, EXT0xx, no, sv/cr_int_predication, 2r1w, SFFS # fclass (Scalar variant of xvtstdcsp) -fptstp(s), TBD, high, 10, yes, EXT0xx, no, sv/fclass, 1R1w, TBD +fptstp(s), TBD, high, 10, yes, EXT0xx, no, sv/fclass, 1R1w, SFFS # INT<->FP mv -fmvfg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD -fcvtfg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD -fcvttg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD -fcvtstg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, TBD +fmvfg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS +fcvtfg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS +fcvttg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS +fcvtstg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w, SFFS # Big-Integer Chained 3-in 2-out (64-bit Carry) -dsld, ls003, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w, TBD -dsrd, ls003, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w, TBD -maddedu, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W, TBD -maddedus, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W, TBD -divmod2du, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W1w, TBD +dsld, ls003, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS +dsrd, ls003, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS +maddedu, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS +maddedus, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W, SFFS +divmod2du, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W1w, SFFS # FP DCT/FFT Butterfly (2/3-in 2-out) -ffadd(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD -ffsub(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD -ffmul(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD -ffdiv(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, TBD -fdmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD -ffmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD -ffmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD -ffnmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD -ffnmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, TBD +ffadd(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt +ffsub(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt +ffmul(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt +ffdiv(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w, opt +fdmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt +ffmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt +ffmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt +ffnmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt +ffnmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w, opt # Trigonometric (1-arg) fsin(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, TBD fcos(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w, TBD @@ -182,28 +182,28 @@ flog10p1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, TBD fexp10(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, TBD flog10(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w, TBD # Transcendentals (2-arg) -fatan2(s), TBD, med, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD -fatan2pi(s), TBD, med, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD -fpow(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD -fpown(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD -fpowr(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD -frootn(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, TBD -fhypot(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmin19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmax19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminmagnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxmagnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminmag19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxmag19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminmagnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxmagnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fminmagc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmaxmagc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fmod(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD -fremainder(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, TBD +fatan2(s), TBD, med, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt +fatan2pi(s), TBD, med, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt +fpow(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt +fpown(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt +fpowr(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt +frootn(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w, opt +fhypot(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, opt +fminnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmin19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmax19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fminnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fminc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fminmagnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxmagnum08(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fminmag19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxmag19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fminmagnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxmagnum19(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fminmagc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmaxmagc(s), ls013, high, 10, yes, TBD, no, transcendentals, 2R1W1w, SFFS +fmod(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, opt +fremainder(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w, opt