[llvm] 596e7cc - [RISCV][doc] Add note to RISCVUsage about supported atomics ABIs (#103879)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 11 02:04:59 PDT 2024


Author: Alex Bradbury
Date: 2024-09-11T10:04:56+01:00
New Revision: 596e7ccd30655faae9c4f35a1913dc23d08f3857

URL: https://github.com/llvm/llvm-project/commit/596e7ccd30655faae9c4f35a1913dc23d08f3857
DIFF: https://github.com/llvm/llvm-project/commit/596e7ccd30655faae9c4f35a1913dc23d08f3857.diff

LOG: [RISCV][doc] Add note to RISCVUsage about supported atomics ABIs (#103879)

I've tried to avoid giving too much detailed explanation as the psABI docs are the
better source for this.

Added: 
    

Modified: 
    llvm/docs/RISCVUsage.rst

Removed: 
    


################################################################################
diff  --git a/llvm/docs/RISCVUsage.rst b/llvm/docs/RISCVUsage.rst
index 8846b82fcaea59..a15af9adfa945a 100644
--- a/llvm/docs/RISCVUsage.rst
+++ b/llvm/docs/RISCVUsage.rst
@@ -281,6 +281,13 @@ Supported
 ``Za128rs``, ``Za64rs``, ``Zama16b``, ``Zic64b``, ``Ziccamoa``, ``Ziccif``, ``Zicclsm``, ``Ziccrse``, ``Shcounterenvw``, ``Shgatpa``, ``Shtvala``, ``Shvsatpa``, ``Shvstvala``, ``Shvstvecd``, ``Ssccptr``, ``Sscounterenw``, ``Ssstateen``, ``Ssstrict``, ``Sstvala``, ``Sstvecd``, ``Ssu64xl``, ``Svade``, ``Svbare``
   These extensions are defined as part of the `RISC-V Profiles specification <https://github.com/riscv/riscv-profiles/releases/tag/v1.0>`__.  They do not introduce any new features themselves, but instead describe existing hardware features.
 
+Atomics ABIs
+============
+
+At the time of writing there are three atomics mappings (ABIs) `defined for RISC-V <https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version>`__.  As of LLVM 19, LLVM defaults to "A6S", which is compatible with both the original "A6" and the future "A7" ABI. See `the psABI atomics document <https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-atomic.adoc>`__ for more information on these mappings.
+
+Note that although the "A6S" mapping is used, the ELF attribute recording the mapping isn't currently emitted by default due to a bug causing a crash in older versions of binutils when processing files containing this attribute.
+
 Experimental Extensions
 =======================
 


        


More information about the llvm-commits mailing list