============================= User Guide for SPIR-V Target ============================= .. contents:: :local: .. toctree:: :hidden: Introduction ============ The SPIR-V target provides code generation for the SPIR-V binary format described in `the official SPIR-V specification <https://www.khronos.org/registry/SPIR-V/>`_. .. _spirv-target-triples: Target Triples ============== For cross-compilation into SPIR-V use option ``-target <Architecture><Subarchitecture>-<Vendor>-<OS>-<Environment>`` to specify the target triple: .. table:: SPIR-V Architectures ============ ============================================================== Architecture Description ============ ============================================================== ``spirv32`` SPIR-V with 32-bit pointer width. ``spirv64`` SPIR-V with 64-bit pointer width. ============ ============================================================== .. table:: SPIR-V Subarchitectures =============== ============================================================== Subarchitecture Description =============== ============================================================== *<empty>* SPIR-V version deduced by tools based on the compiled input. ``v1.0`` SPIR-V version 1.0. ``v1.1`` SPIR-V version 1.1. ``v1.2`` SPIR-V version 1.2. ``v1.3`` SPIR-V version 1.3. ``v1.4`` SPIR-V version 1.4. ``v1.5`` SPIR-V version 1.5. =============== ============================================================== .. table:: SPIR-V Vendors ===================== ============================================================== Vendor Description ===================== ============================================================== *<empty>*/``unknown`` Generic SPIR-V target without any vendor-specific settings. ===================== ============================================================== .. table:: Operating Systems ===================== ============================================================ OS Description ===================== ============================================================ *<empty>*/``unknown`` Defaults to the OpenCL runtime. ===================== ============================================================ .. table:: SPIR-V Environments ===================== ============================================================== Environment Description ===================== ============================================================== *<empty>*/``unknown`` Defaults to the OpenCL environment. ===================== ============================================================== Example: ``-target spirv64v1.0`` can be used to compile for SPIR-V version 1.0 with 64-bit pointer width.