diff options
Diffstat (limited to 'gas/doc/c-riscv.texi')
-rw-r--r-- | gas/doc/c-riscv.texi | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/gas/doc/c-riscv.texi b/gas/doc/c-riscv.texi index ebff7a6..5614e76 100644 --- a/gas/doc/c-riscv.texi +++ b/gas/doc/c-riscv.texi @@ -178,7 +178,12 @@ instead of just It's not expected that options are changed in this manner during regular use, but there are a handful of esoteric cases like the one above where users need to disable particular features of the assembler for particular code sequences. -The complete list of option arguments is shown below: +However, it's also useful to enable/disable the extensions for some specific +code regions by @samp{.option arch, +-}. This is very common in the ifunc +libraries. We can support functions which are implemented by different +extensions in the same library, but these should not affect any file-level +settings, like the elf architecture attribute. The complete list of option +arguments is shown below: @table @code @item push @@ -210,7 +215,7 @@ Enables or disables the CSR checking. @item arch, @var{+extension[version]} [,...,@var{+extension_n[version_n]}] @itemx arch, @var{-extension} [,...,@var{-extension_n}] -@itemx arch, @var{=ISA} +@itemx arch, @var{ISA} Enables or disables the extensions for specific code region. For example, @samp{.option arch, +m2p0} means add m extension with version 2.0, and @samp{.option arch, -f, -d} means remove extensions, f and d, from the @@ -218,7 +223,7 @@ architecture string. Note that, @samp{.option arch, +c, -c} have the same behavior as @samp{.option rvc, norvc}. However, they are also undesirable sometimes. Besides, @samp{.option arch, -i} is illegal, since we cannot remove the base i extension anytime. If you want to reset the whole ISA -string, you can also use @samp{.option arch, =rv32imac} to overwrite the +string, you can also use @samp{.option arch, rv32imac} to overwrite the previous settings. @end table @@ -673,7 +678,7 @@ with the @samp{.insn} pseudo directive: 15 13 10 7 2 0 @end verbatim -@item CJ type: .insn cj opcode2, symbol +@item CJ type: .insn cj opcode2, func3, symbol @verbatim +-------+-------------------------------+---------+ | func3 | simm11[11|4|9:8|10|6|7|3:1|5] | opcode2 | @@ -740,13 +745,18 @@ extensions supported and provides the location of their publicly-released documentation: @table @r -@item XCvMac -The XCvMac extension provides instructions for multiply-accumulate operations. +@item XCvAlu +The XCvAlu extension provides instructions for general ALU operations. It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} -@item XCvAlu -The XCvAlu extension provides instructions for general ALU operations. +@item XCvBi +The XCvBi extension provides instructions for branch immediate operations. + +It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} + +@item XCvBitmanip +The XCvBitmanip extension provides instructions for bitmanip operations. It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} @@ -755,8 +765,8 @@ The XCvElw extension provides instructions for event load word operations. It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} -@item XCvBi -The XCvBi extension provides instructions for branch immediate operations. +@item XCvMac +The XCvMac extension provides instructions for multiply-accumulate operations. It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} @@ -765,6 +775,11 @@ The XCvMem extension provides instructions for post inc load/store operations. It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} +@item XcvSimd +The XcvSimd extension provides instructions for SIMD operations. + +It is documented in @url{https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html} + @item XTheadBa The XTheadBa extension provides instructions for address calculations. |