================
@@ -105,6 +108,113 @@ to specify the target triple:
      *<empty>*    Default.
      ============ 
==============================================================
 
+.. _amdgpu-subarch-compatibility:
+
+Subarchitecture Compatibility
+-----------------------------
+
+For the ``amdgpu`` architecture the ISA version is encoded in the
+triple's *SubArch* component. Every unique ISA has its own *minor
+subarch* (for example ``amdgpu9.00`` for ``gfx900``). ``amdgcn`` is a
+legacy alias of ``amdgpu`` (see :ref:`amdgpu-architecture-table`)
+which does not support subarches.
+
+Minor subarches are grouped into *major subarches* that name a family
+of largely compatible ISA versions (for example ``amdgpu9``). A major
+subarch corresponds to a :ref:`generic processor
+<amdgpu-generic-processor-table>` when one exists for that family; the
+remaining major subarches are placeholders for families that do not
+yet have a generic target for code generation.
+
+Two subarches are considered *compatible* when:
+
+* they are identical, or
+* one of them is the major subarch of the family that the other belongs to.
+
+In particular, two distinct *minor* subarches are never compatible
+with each other, even within the same family (for example
+``amdgpu9.00`` and ``amdgpu9.06`` are not compatible). A minor subarch
+is only compatible with its own major subarch, and a major subarch is
+compatible with itself and every minor subarch it covers. A triple
+with no subarch (``amdgpu``) is treated as compatible with anything,
+as a backwards-compatibility allowance. When linking modules with
+compatible-but-unequal subarches, the more specific (minor) subarch is
+selected for the merged module.
+
+The following table lists each major subarch and the minor subarches it covers.
+The *Default Generic Processor* column gives the generic processor that a major
----------------
ro-i wrote:

in the `amdgpu-major-subarch-table` table below, you named the column "Default 
Processor" without "Generic". (Having the "Generic" might be more clear, ig)

https://github.com/llvm/llvm-project/pull/206480
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to