User Guide for SPIR-V Target

Introduction

The SPIR-V target provides code generation for the SPIR-V binary format described in the official SPIR-V specification.

Target Triples

For cross-compilation into SPIR-V use option

-target <Architecture><Subarchitecture>-<Vendor>-<OS>-<Environment>

to specify the target triple:

SPIR-V Architectures

Architecture

Description

spirv32

SPIR-V with 32-bit pointer width.

spirv64

SPIR-V with 64-bit pointer width.

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.

SPIR-V Vendors

Vendor

Description

<empty>/unknown

Generic SPIR-V target without any vendor-specific settings.

Operating Systems

OS

Description

<empty>/unknown

Defaults to the OpenCL runtime.

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.