================
@@ -520,6 +520,106 @@ Every processor supports every OS ABI (see 
:ref:`amdgpu-os`) with the following
 
      =========== =============== ============ ===== ================= 
=============== =============== ======================
 
+Generic processors also exist. They group multiple processors into one,
+allowing to build code once and run it on multiple targets at the cost
+of less features being available.
+
+Generic processors are only available on Code Object V6 and up.
+
+  .. table:: AMDGPU Generic Processors
+     :name: amdgpu-generic-processor-table
+
+     ==================== ============== ================= 
=================================
+     Processor             Target        Supported         Target
+                           Triple        Processors        Features
+                           Architecture                    Restrictions
+
+
+
+
+
+
+
+
+     ==================== ============== ================= 
=================================
+     ``gfx9-generic``     ``amdgcn``     - ``gfx900``      - ``v_mad_mix`` 
instructions
+                                         - ``gfx902``        are not available 
on
+                                         - ``gfx904``        ``gfx900``, 
``gfx902``,
+                                         - ``gfx906``        ``gfx909``, 
``gfx90c``
+                                         - ``gfx909``      - ``v_fma_mix`` 
instructions
+                                         - ``gfx90c``        are not available 
on ``gfx904``
+                                                           - sramecc is not 
available on
+                                                             ``gfx906``
+                                                           - The following 
instructions
+                                                             are not available 
on ``gfx906``:
+
+                                                             - ``v_fmac_f32``
+                                                             - ``v_xnor_b32``
+                                                             - 
``v_dot4_i32_i8``
+                                                             - 
``v_dot8_i32_i4``
+                                                             - 
``v_dot2_i32_i16``
+                                                             - 
``v_dot2_u32_u16``
+                                                             - 
``v_dot4_u32_u8``
+                                                             - 
``v_dot8_u32_u4``
+                                                             - 
``v_dot2_f32_f16``
+
+
+     ``gfx10.1-generic``  ``amdgcn``     - ``gfx1010``     - The following 
instructions are
+                                         - ``gfx1011``       not available on 
``gfx1011``
+                                         - ``gfx1012``       and ``gfx1012``
+                                         - ``gfx1013``
+                                                             - 
``v_dot4_i32_i8``
----------------
Pierre-vh wrote:

gfx1010 and gfx1012 are indeed not identical, but gfx1011 and gfx1012 are:
```
def FeatureISAVersion10_1_0 : FeatureSet<
  !listconcat(FeatureISAVersion10_1_Common.Features,
    [])>;

def FeatureISAVersion10_1_2 : FeatureSet<
  !listconcat(FeatureISAVersion10_1_Common.Features,
    [FeatureDot1Insts,
     FeatureDot2Insts,
     FeatureDot5Insts,
     FeatureDot6Insts,
     FeatureDot7Insts,
     FeatureDot10Insts])>;
```



https://github.com/llvm/llvm-project/pull/76955
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to