AVX-512: Fixed encoding of VMOVQ instruction.
[oota-llvm.git] / docs / Extensions.rst
index 062804a9fc74064811cc1705d05e294392844d27..925d7279bfaef13127e51f284d34e751ee4beb02 100644 (file)
@@ -4,7 +4,6 @@ LLVM Extensions
 
 .. contents::
    :local:
-   :depth: 1
 
 .. toctree::
    :hidden:
@@ -15,12 +14,29 @@ Introduction
 This document describes extensions to tools and formats LLVM seeks compatibility
 with.
 
+General Assembly Syntax
+===========================
+
+C99-style Hexadecimal Floating-point Constants
+----------------------------------------------
+
+LLVM's assemblers allow floating-point constants to be written in C99's
+hexadecimal format instead of decimal if desired.
+
+.. code-block:: gas
+
+  .section .data
+  .float 0x1c2.2ap3
+
 Machine-specific Assembly Syntax
 ================================
 
 X86/COFF-Dependent
 ------------------
 
+Relocations
+^^^^^^^^^^^
+
 The following additional relocation type is supported:
 
 **@IMGREL** (AT&T syntax only) generates an image-relative relocation that
@@ -37,3 +53,55 @@ corresponds to the COFF relocation types ``IMAGE_REL_I386_DIR32NB`` (32-bit) or
     .long fun@IMGREL
     .long (fun@imgrel + 0x3F)
     .long $unwind$fun@imgrel
+
+
+``.linkonce`` Directive
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+
+   ``.linkonce [ comdat type [ section identifier ] ]``
+
+Supported COMDAT types:
+
+``discard``
+   Discards duplicate sections with the same COMDAT symbol. This is the default
+   if no type is specified.
+
+``one_only``
+   If the symbol is defined multiple times, the linker issues an error.
+
+``same_size``
+   Duplicates are discarded, but the linker issues an error if any have
+   different sizes.
+
+``same_contents``
+   Duplicates are discarded, but the linker issues an error if any duplicates
+   do not have exactly the same content.
+
+``associative``
+   Links the section if a certain other COMDAT section is linked. This other
+   section is indicated by its section identifier following the comdat type.
+   The following restrictions apply to the associated section:
+
+   1. It must be the name of a section already defined.
+   2. It must differ from the current section.
+   3. It must be a COMDAT section.
+   4. It cannot be another associative COMDAT section.
+
+``largest``
+   Links the largest section from among the duplicates.
+
+``newest``
+   Links the newest section from among the duplicates.
+
+
+.. code-block:: gas
+
+  .section .text$foo
+  .linkonce
+    ...
+
+  .section .xdata$foo
+  .linkonce associative .text$foo
+    ...