aboutsummaryrefslogtreecommitdiff
path: root/gas/doc/c-riscv.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gas/doc/c-riscv.texi')
-rw-r--r--gas/doc/c-riscv.texi35
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.