forked from OSchip/llvm-project
78 lines
2.9 KiB
ReStructuredText
78 lines
2.9 KiB
ReStructuredText
=============================
|
|
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.
|