Intel® Implicit SPMD Program Compiler (Intel® ISPC)  1.13.0
Enumerations | Functions
target_enums.h File Reference

Define enums describing target platform. More...

#include <string>
#include <vector>
Include dependency graph for target_enums.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  TargetOS {
  TargetOS::windows, TargetOS::linux, TargetOS::custom_linux, TargetOS::freebsd,
  TargetOS::macos, TargetOS::android, TargetOS::ios, TargetOS::ps4,
  TargetOS::web, TargetOS::error
}
 
enum  Arch {
  Arch::none, Arch::x86, Arch::x86_64, Arch::arm,
  Arch::aarch64, Arch::wasm32, Arch::error
}
 
enum  ISPCTarget {
  ISPCTarget::none, ISPCTarget::host, ISPCTarget::sse2_i32x4, ISPCTarget::sse2_i32x8,
  ISPCTarget::sse4_i8x16, ISPCTarget::sse4_i16x8, ISPCTarget::sse4_i32x4, ISPCTarget::sse4_i32x8,
  ISPCTarget::avx1_i32x4, ISPCTarget::avx1_i32x8, ISPCTarget::avx1_i32x16, ISPCTarget::avx1_i64x4,
  ISPCTarget::avx2_i32x4, ISPCTarget::avx2_i32x8, ISPCTarget::avx2_i32x16, ISPCTarget::avx2_i64x4,
  ISPCTarget::avx512knl_i32x16, ISPCTarget::avx512skx_i32x8, ISPCTarget::avx512skx_i32x16, ISPCTarget::generic_1,
  ISPCTarget::generic_4, ISPCTarget::generic_8, ISPCTarget::generic_16, ISPCTarget::generic_32,
  ISPCTarget::generic_64, ISPCTarget::neon_i8x16, ISPCTarget::neon_i16x8, ISPCTarget::neon_i32x4,
  ISPCTarget::neon_i32x8, ISPCTarget::wasm_i32x4, ISPCTarget::error
}
 

Functions

TargetOS ParseOS (std::string os)
 
std::string OSToString (TargetOS os)
 
std::string OSToLowerString (TargetOS os)
 
TargetOS GetHostOS ()
 
Arch ParseArch (std::string arch)
 
std::string ArchToString (Arch arch)
 
ISPCTarget ParseISPCTarget (std::string target)
 
std::pair< std::vector< ISPCTarget >, std::string > ParseISPCTargets (const char *target)
 
std::string ISPCTargetToString (ISPCTarget target)
 
bool ISPCTargetIsX86 (ISPCTarget target)
 
bool ISPCTargetIsGeneric (ISPCTarget target)
 
bool ISPCTargetIsNeon (ISPCTarget target)
 
bool ISPCTargetIsWasm (ISPCTarget target)
 

Detailed Description

Define enums describing target platform.

Definition in file target_enums.h.

Enumeration Type Documentation

◆ Arch

enum Arch
strong
Enumerator
none 
x86 
x86_64 
arm 
aarch64 
wasm32 
error 

Definition at line 50 of file target_enums.h.

◆ ISPCTarget

enum ISPCTarget
strong
Enumerator
none 
host 
sse2_i32x4 
sse2_i32x8 
sse4_i8x16 
sse4_i16x8 
sse4_i32x4 
sse4_i32x8 
avx1_i32x4 
avx1_i32x8 
avx1_i32x16 
avx1_i64x4 
avx2_i32x4 
avx2_i32x8 
avx2_i32x16 
avx2_i64x4 
avx512knl_i32x16 
avx512skx_i32x8 
avx512skx_i32x16 
generic_1 
generic_4 
generic_8 
generic_16 
generic_32 
generic_64 
neon_i8x16 
neon_i16x8 
neon_i32x4 
neon_i32x8 
wasm_i32x4 
error 

Definition at line 55 of file target_enums.h.

◆ TargetOS

enum TargetOS
strong
Enumerator
windows 
linux 
custom_linux 
freebsd 
macos 
android 
ios 
ps4 
web 
error 

Definition at line 43 of file target_enums.h.

Function Documentation

◆ ArchToString()

std::string ArchToString ( Arch  arch)

◆ GetHostOS()

TargetOS GetHostOS ( )

Definition at line 390 of file target_enums.cpp.

References error, freebsd, linux, macos, and windows.

Referenced by Globals::Globals().

◆ ISPCTargetIsGeneric()

bool ISPCTargetIsGeneric ( ISPCTarget  target)

Definition at line 276 of file target_enums.cpp.

References generic_1, generic_16, generic_32, generic_4, generic_64, and generic_8.

Referenced by Module::CompileAndOutput().

◆ ISPCTargetIsNeon()

bool ISPCTargetIsNeon ( ISPCTarget  target)

Definition at line 290 of file target_enums.cpp.

References neon_i16x8, neon_i32x4, neon_i32x8, and neon_i8x16.

Referenced by Target::Target().

◆ ISPCTargetIsWasm()

bool ISPCTargetIsWasm ( ISPCTarget  target)

Definition at line 302 of file target_enums.cpp.

References wasm_i32x4.

◆ ISPCTargetIsX86()

bool ISPCTargetIsX86 ( ISPCTarget  target)

◆ ISPCTargetToString()

std::string ISPCTargetToString ( ISPCTarget  target)

◆ OSToLowerString()

std::string OSToLowerString ( TargetOS  os)

Definition at line 364 of file target_enums.cpp.

References android, custom_linux, error, freebsd, ios, linux, macos, ps4, UNREACHABLE, web, and windows.

Referenced by TargetLibRegistry::getSupportedOSes().

◆ OSToString()

std::string OSToString ( TargetOS  os)

◆ ParseArch()

Arch ParseArch ( std::string  arch)

Definition at line 45 of file target_enums.cpp.

References aarch64, arm, error, wasm32, x86, and x86_64.

Referenced by main().

◆ ParseISPCTarget()

ISPCTarget ParseISPCTarget ( std::string  target)

◆ ParseISPCTargets()

std::pair<std::vector<ISPCTarget>, std::string> ParseISPCTargets ( const char *  target)

Definition at line 156 of file target_enums.cpp.

References error, and ParseISPCTarget().

Referenced by main().

◆ ParseOS()

TargetOS ParseOS ( std::string  os)