Re: [PATCH v2] RISC-V: Documnet the list of supported extensions
Pushed to trunk, thanks :) On Fri, Jan 19, 2024 at 5:41 PM juzhe.zh...@rivai.ai wrote: > > LGTM. > > > juzhe.zh...@rivai.ai > > > From: Kito Cheng > Date: 2024-01-19 17:40 > To: gcc-patches; kito.cheng; jim.wilson.gcc; palmer; andrew; jeffreyalaw; > christoph.muellner; juzhe.zhong; rep.dot.nop > CC: Kito Cheng > Subject: [PATCH v2] RISC-V: Documnet the list of supported extensions > Try to list all supported extensions: name, version and few description > for each extension. > > v2 changes: > - Fix several typo. > - Add expantion info for vector crypto extensions. > - Drop zvl8192b, zvl16384b, zvl32768b and zvl65536b. > - Aadd zicntr and zihpm > > gcc/ChangeLog: > > * doc/invoke.texi (RISC-V Options): Add list of supported > extensions. > --- > gcc/doc/invoke.texi | 461 > 1 file changed, 461 insertions(+) > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index c0e513c8f27..313f363f5f2 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -30113,6 +30113,467 @@ syntax @samp{p} or @samp{}, > (e.g.@: @samp{m2p1} or > @samp{m2}). > @end table > +Supported extension are listed below: > +@multitable @columnfractions .10 .10 .80 > +@headitem Extension Name @tab Supported Version @tab Description > +@item i > +@tab 2.0, 2.1 > +@tab Base integer extension. > + > +@item e > +@tab 2.0 > +@tab Reduced base integer extension. > + > +@item g > +@tab - > +@tab General-purpose computing base extension, @samp{g} will expand to > +@samp{i}, @samp{m}, @samp{a}, @samp{f}, @samp{d}, @samp{zicsr} and > +@samp{zifencei}. > + > +@item m > +@tab 2.0 > +@tab Integer multiplication and division extension. > + > +@item a > +@tab 2.0, 2.1 > +@tab Atomic extension. > + > +@item f > +@tab 2.0, 2.2 > +@tab Single-precision floating-point extension. > + > +@item d > +@tab 2.0, 2.2 > +@tab Double-precision floating-point extension. > + > +@item c > +@tab 2.0 > +@tab Compressed extension. > + > +@item h > +@tab 1.0 > +@tab Hypervisor extension. > + > +@item v > +@tab 1.0 > +@tab Vector extension. > + > +@item zicsr > +@tab 2.0 > +@tab Control and status register access extension. > + > +@item zifencei > +@tab 2.0 > +@tab Instruction-fetch fence extension. > + > +@item zicond > +@tab 1.0 > +@tab Integer conditional operations extension. > + > +@item zawrs > +@tab 1.0 > +@tab Wait-on-reservation-set extension. > + > +@item zba > +@tab 1.0 > +@tab Address calculation extension. > + > +@item zbb > +@tab 1.0 > +@tab Basic bit manipulation extension. > + > +@item zbc > +@tab 1.0 > +@tab Carry-less multiplication extension. > + > +@item zbs > +@tab 1.0 > +@tab Single-bit operation extension. > + > +@item zfinx > +@tab 1.0 > +@tab Single-precision floating-point in integer registers extension. > + > +@item zdinx > +@tab 1.0 > +@tab Double-precision floating-point in integer registers extension. > + > +@item zhinx > +@tab 1.0 > +@tab Half-precision floating-point in integer registers extension. > + > +@item zhinxmin > +@tab 1.0 > +@tab Minimal half-precision floating-point in integer registers extension. > + > +@item zbkb > +@tab 1.0 > +@tab Cryptography bit-manipulation extension. > + > +@item zbkc > +@tab 1.0 > +@tab Cryptography carry-less multiply extension. > + > +@item zbkx > +@tab 1.0 > +@tab Cryptography crossbar permutation extension. > + > +@item zkne > +@tab 1.0 > +@tab AES Encryption extension. > + > +@item zknd > +@tab 1.0 > +@tab AES Decryption extension. > + > +@item zknh > +@tab 1.0 > +@tab Hash function extension. > + > +@item zkr > +@tab 1.0 > +@tab Entropy source extension. > + > +@item zksed > +@tab 1.0 > +@tab SM4 block cipher extension. > + > +@item zksh > +@tab 1.0 > +@tab SM3 hash function extension. > + > +@item zkt > +@tab 1.0 > +@tab Data independent execution latency extension. > + > +@item zk > +@tab 1.0 > +@tab Standard scalar cryptography extension. > + > +@item zkn > +@tab 1.0 > +@tab NIST algorithm suite extension. > + > +@item zks > +@tab 1.0 > +@tab ShangMi algorithm suite extension. > + > +@item zihintntl > +@tab 1.0 > +@tab Non-temporal locality hints extension. > + > +@item zihintpause > +@tab 1.0 > +@tab Pause hint extension. > + > +@item zicboz > +@tab 1.0 > +@tab Cache-block zero extension. > + > +@item zicbom > +@tab 1.0 > +@tab Cache-block management extension. > + > +@item zicbop > +@tab 1.0 > +@t
Re: [PATCH v2] RISC-V: Documnet the list of supported extensions
LGTM. juzhe.zh...@rivai.ai From: Kito Cheng Date: 2024-01-19 17:40 To: gcc-patches; kito.cheng; jim.wilson.gcc; palmer; andrew; jeffreyalaw; christoph.muellner; juzhe.zhong; rep.dot.nop CC: Kito Cheng Subject: [PATCH v2] RISC-V: Documnet the list of supported extensions Try to list all supported extensions: name, version and few description for each extension. v2 changes: - Fix several typo. - Add expantion info for vector crypto extensions. - Drop zvl8192b, zvl16384b, zvl32768b and zvl65536b. - Aadd zicntr and zihpm gcc/ChangeLog: * doc/invoke.texi (RISC-V Options): Add list of supported extensions. --- gcc/doc/invoke.texi | 461 1 file changed, 461 insertions(+) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c0e513c8f27..313f363f5f2 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -30113,6 +30113,467 @@ syntax @samp{p} or @samp{}, (e.g.@: @samp{m2p1} or @samp{m2}). @end table +Supported extension are listed below: +@multitable @columnfractions .10 .10 .80 +@headitem Extension Name @tab Supported Version @tab Description +@item i +@tab 2.0, 2.1 +@tab Base integer extension. + +@item e +@tab 2.0 +@tab Reduced base integer extension. + +@item g +@tab - +@tab General-purpose computing base extension, @samp{g} will expand to +@samp{i}, @samp{m}, @samp{a}, @samp{f}, @samp{d}, @samp{zicsr} and +@samp{zifencei}. + +@item m +@tab 2.0 +@tab Integer multiplication and division extension. + +@item a +@tab 2.0, 2.1 +@tab Atomic extension. + +@item f +@tab 2.0, 2.2 +@tab Single-precision floating-point extension. + +@item d +@tab 2.0, 2.2 +@tab Double-precision floating-point extension. + +@item c +@tab 2.0 +@tab Compressed extension. + +@item h +@tab 1.0 +@tab Hypervisor extension. + +@item v +@tab 1.0 +@tab Vector extension. + +@item zicsr +@tab 2.0 +@tab Control and status register access extension. + +@item zifencei +@tab 2.0 +@tab Instruction-fetch fence extension. + +@item zicond +@tab 1.0 +@tab Integer conditional operations extension. + +@item zawrs +@tab 1.0 +@tab Wait-on-reservation-set extension. + +@item zba +@tab 1.0 +@tab Address calculation extension. + +@item zbb +@tab 1.0 +@tab Basic bit manipulation extension. + +@item zbc +@tab 1.0 +@tab Carry-less multiplication extension. + +@item zbs +@tab 1.0 +@tab Single-bit operation extension. + +@item zfinx +@tab 1.0 +@tab Single-precision floating-point in integer registers extension. + +@item zdinx +@tab 1.0 +@tab Double-precision floating-point in integer registers extension. + +@item zhinx +@tab 1.0 +@tab Half-precision floating-point in integer registers extension. + +@item zhinxmin +@tab 1.0 +@tab Minimal half-precision floating-point in integer registers extension. + +@item zbkb +@tab 1.0 +@tab Cryptography bit-manipulation extension. + +@item zbkc +@tab 1.0 +@tab Cryptography carry-less multiply extension. + +@item zbkx +@tab 1.0 +@tab Cryptography crossbar permutation extension. + +@item zkne +@tab 1.0 +@tab AES Encryption extension. + +@item zknd +@tab 1.0 +@tab AES Decryption extension. + +@item zknh +@tab 1.0 +@tab Hash function extension. + +@item zkr +@tab 1.0 +@tab Entropy source extension. + +@item zksed +@tab 1.0 +@tab SM4 block cipher extension. + +@item zksh +@tab 1.0 +@tab SM3 hash function extension. + +@item zkt +@tab 1.0 +@tab Data independent execution latency extension. + +@item zk +@tab 1.0 +@tab Standard scalar cryptography extension. + +@item zkn +@tab 1.0 +@tab NIST algorithm suite extension. + +@item zks +@tab 1.0 +@tab ShangMi algorithm suite extension. + +@item zihintntl +@tab 1.0 +@tab Non-temporal locality hints extension. + +@item zihintpause +@tab 1.0 +@tab Pause hint extension. + +@item zicboz +@tab 1.0 +@tab Cache-block zero extension. + +@item zicbom +@tab 1.0 +@tab Cache-block management extension. + +@item zicbop +@tab 1.0 +@tab Cache-block prefetch extension. + +@item zicntr +@tab 2.0 +@tab Standard extension for base counters and timers. + +@item zihpm +@tab 2.0 +@tab Standard extension for hardware performance counters. + +@item ztso +@tab 1.0 +@tab Total store ordering extension. + +@item zve32x +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve32f +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve64x +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve64f +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve64d +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zvl32b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl64b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl128b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl256b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl512b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl1024b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl2048b +@tab 1.0 +@tab Minimum
[PATCH v2] RISC-V: Documnet the list of supported extensions
Try to list all supported extensions: name, version and few description for each extension. v2 changes: - Fix several typo. - Add expantion info for vector crypto extensions. - Drop zvl8192b, zvl16384b, zvl32768b and zvl65536b. - Aadd zicntr and zihpm gcc/ChangeLog: * doc/invoke.texi (RISC-V Options): Add list of supported extensions. --- gcc/doc/invoke.texi | 461 1 file changed, 461 insertions(+) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c0e513c8f27..313f363f5f2 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -30113,6 +30113,467 @@ syntax @samp{p} or @samp{}, (e.g.@: @samp{m2p1} or @samp{m2}). @end table +Supported extension are listed below: +@multitable @columnfractions .10 .10 .80 +@headitem Extension Name @tab Supported Version @tab Description +@item i +@tab 2.0, 2.1 +@tab Base integer extension. + +@item e +@tab 2.0 +@tab Reduced base integer extension. + +@item g +@tab - +@tab General-purpose computing base extension, @samp{g} will expand to +@samp{i}, @samp{m}, @samp{a}, @samp{f}, @samp{d}, @samp{zicsr} and +@samp{zifencei}. + +@item m +@tab 2.0 +@tab Integer multiplication and division extension. + +@item a +@tab 2.0, 2.1 +@tab Atomic extension. + +@item f +@tab 2.0, 2.2 +@tab Single-precision floating-point extension. + +@item d +@tab 2.0, 2.2 +@tab Double-precision floating-point extension. + +@item c +@tab 2.0 +@tab Compressed extension. + +@item h +@tab 1.0 +@tab Hypervisor extension. + +@item v +@tab 1.0 +@tab Vector extension. + +@item zicsr +@tab 2.0 +@tab Control and status register access extension. + +@item zifencei +@tab 2.0 +@tab Instruction-fetch fence extension. + +@item zicond +@tab 1.0 +@tab Integer conditional operations extension. + +@item zawrs +@tab 1.0 +@tab Wait-on-reservation-set extension. + +@item zba +@tab 1.0 +@tab Address calculation extension. + +@item zbb +@tab 1.0 +@tab Basic bit manipulation extension. + +@item zbc +@tab 1.0 +@tab Carry-less multiplication extension. + +@item zbs +@tab 1.0 +@tab Single-bit operation extension. + +@item zfinx +@tab 1.0 +@tab Single-precision floating-point in integer registers extension. + +@item zdinx +@tab 1.0 +@tab Double-precision floating-point in integer registers extension. + +@item zhinx +@tab 1.0 +@tab Half-precision floating-point in integer registers extension. + +@item zhinxmin +@tab 1.0 +@tab Minimal half-precision floating-point in integer registers extension. + +@item zbkb +@tab 1.0 +@tab Cryptography bit-manipulation extension. + +@item zbkc +@tab 1.0 +@tab Cryptography carry-less multiply extension. + +@item zbkx +@tab 1.0 +@tab Cryptography crossbar permutation extension. + +@item zkne +@tab 1.0 +@tab AES Encryption extension. + +@item zknd +@tab 1.0 +@tab AES Decryption extension. + +@item zknh +@tab 1.0 +@tab Hash function extension. + +@item zkr +@tab 1.0 +@tab Entropy source extension. + +@item zksed +@tab 1.0 +@tab SM4 block cipher extension. + +@item zksh +@tab 1.0 +@tab SM3 hash function extension. + +@item zkt +@tab 1.0 +@tab Data independent execution latency extension. + +@item zk +@tab 1.0 +@tab Standard scalar cryptography extension. + +@item zkn +@tab 1.0 +@tab NIST algorithm suite extension. + +@item zks +@tab 1.0 +@tab ShangMi algorithm suite extension. + +@item zihintntl +@tab 1.0 +@tab Non-temporal locality hints extension. + +@item zihintpause +@tab 1.0 +@tab Pause hint extension. + +@item zicboz +@tab 1.0 +@tab Cache-block zero extension. + +@item zicbom +@tab 1.0 +@tab Cache-block management extension. + +@item zicbop +@tab 1.0 +@tab Cache-block prefetch extension. + +@item zicntr +@tab 2.0 +@tab Standard extension for base counters and timers. + +@item zihpm +@tab 2.0 +@tab Standard extension for hardware performance counters. + +@item ztso +@tab 1.0 +@tab Total store ordering extension. + +@item zve32x +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve32f +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve64x +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve64f +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zve64d +@tab 1.0 +@tab Vector extensions for embedded processors. + +@item zvl32b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl64b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl128b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl256b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl512b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl1024b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl2048b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvl4096b +@tab 1.0 +@tab Minimum vector length standard extensions + +@item zvbb +@tab 1.0 +@tab Vector basic bit-manipulation extension. + +@item zvbc +@tab 1.0 +@tab Vector carryless multiplication extension.