9#ifndef _HLSL_HLSL_INTRINSICS_H_
10#define _HLSL_HLSL_INTRINSICS_H_
19#define _HLSL_BUILTIN_ALIAS(builtin) \
20 __attribute__((clang_builtin_alias(builtin)))
21#define _HLSL_AVAILABILITY(platform, version) \
22 __attribute__((availability(platform, introduced = version)))
23#define _HLSL_AVAILABILITY_STAGE(platform, version, stage) \
25 availability(platform, introduced = version, environment = stage)))
27#ifdef __HLSL_ENABLE_16_BIT
28#define _HLSL_16BIT_AVAILABILITY(platform, version) \
29 __attribute__((availability(platform, introduced = version)))
30#define _HLSL_16BIT_AVAILABILITY_STAGE(platform, version, stage) \
32 availability(platform, introduced = version, environment = stage)))
34#define _HLSL_16BIT_AVAILABILITY(environment, version)
35#define _HLSL_16BIT_AVAILABILITY_STAGE(environment, version, stage)
46#ifdef __HLSL_ENABLE_16_BIT
52int16_t2
abs(int16_t2);
55int16_t3
abs(int16_t3);
58int16_t4
abs(int16_t4);
118#ifdef __HLSL_ENABLE_16_BIT
146#ifdef __HLSL_ENABLE_16_BIT
258#ifdef __HLSL_ENABLE_16_BIT
370#ifdef __HLSL_ENABLE_16_BIT
398#ifdef __HLSL_ENABLE_16_BIT
477#ifdef __HLSL_ENABLE_16_BIT
480int16_t
clamp(int16_t, int16_t, int16_t);
483int16_t2
clamp(int16_t2, int16_t2, int16_t2);
486int16_t3
clamp(int16_t3, int16_t3, int16_t3);
489int16_t4
clamp(int16_t4, int16_t4, int16_t4);
493uint16_t
clamp(uint16_t, uint16_t, uint16_t);
496uint16_t2
clamp(uint16_t2, uint16_t2, uint16_t2);
499uint16_t3
clamp(uint16_t3, uint16_t3, uint16_t3);
502uint16_t4
clamp(uint16_t4, uint16_t4, uint16_t4);
551double clamp(
double,
double,
double);
597#ifdef __HLSL_ENABLE_16_BIT
639#ifdef __HLSL_ENABLE_16_BIT
642int16_t
dot(int16_t, int16_t);
645int16_t
dot(int16_t2, int16_t2);
648int16_t
dot(int16_t3, int16_t3);
651int16_t
dot(int16_t4, int16_t4);
655uint16_t
dot(uint16_t, uint16_t);
658uint16_t
dot(uint16_t2, uint16_t2);
661uint16_t
dot(uint16_t3, uint16_t3);
664uint16_t
dot(uint16_t4, uint16_t4);
677double dot(
double,
double);
903float lerp(
float,
float,
float);
1065#ifdef __HLSL_ENABLE_16_BIT
1068int16_t
mad(int16_t, int16_t, int16_t);
1071int16_t2
mad(int16_t2, int16_t2, int16_t2);
1074int16_t3
mad(int16_t3, int16_t3, int16_t3);
1077int16_t4
mad(int16_t4, int16_t4, int16_t4);
1081uint16_t
mad(uint16_t, uint16_t, uint16_t);
1084uint16_t2
mad(uint16_t2, uint16_t2, uint16_t2);
1087uint16_t3
mad(uint16_t3, uint16_t3, uint16_t3);
1090uint16_t4
mad(uint16_t4, uint16_t4, uint16_t4);
1130float mad(
float,
float,
float);
1139double mad(
double,
double,
double);
1169#ifdef __HLSL_ENABLE_16_BIT
1172int16_t
max(int16_t, int16_t);
1175int16_t2
max(int16_t2, int16_t2);
1178int16_t3
max(int16_t3, int16_t3);
1181int16_t4
max(int16_t4, int16_t4);
1185uint16_t
max(uint16_t, uint16_t);
1188uint16_t2
max(uint16_t2, uint16_t2);
1191uint16_t3
max(uint16_t3, uint16_t3);
1194uint16_t4
max(uint16_t4, uint16_t4);
1273#ifdef __HLSL_ENABLE_16_BIT
1276int16_t
min(int16_t, int16_t);
1279int16_t2
min(int16_t2, int16_t2);
1282int16_t3
min(int16_t3, int16_t3);
1285int16_t4
min(int16_t4, int16_t4);
1289uint16_t
min(uint16_t, uint16_t);
1292uint16_t2
min(uint16_t2, uint16_t2);
1295uint16_t3
min(uint16_t3, uint16_t3);
1298uint16_t4
min(uint16_t4, uint16_t4);
1426#ifdef __HLSL_ENABLE_16_BIT
1644#ifdef __HLSL_ENABLE_16_BIT
1702#ifdef __HLSL_ENABLE_16_BIT
1730#ifdef __HLSL_ENABLE_16_BIT
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
#define _HLSL_BUILTIN_ALIAS(builtin)
#define _HLSL_AVAILABILITY(platform, version)
#define _HLSL_16BIT_AVAILABILITY(environment, version)
half mad(half, half, half)
vector< uint64_t, 2 > uint64_t2
vector< float, 4 > float4
vector< int64_t, 4 > int64_t4
vector< uint64_t, 3 > uint64_t3
half lerp(half, half, half)
vector< int64_t, 3 > int64_t3
half clamp(half, half, half)
vector< uint64_t, 4 > uint64_t4
vector< double, 3 > double3
vector< float, 2 > float2
vector< float, 3 > float3
vector< int64_t, 2 > int64_t2
vector< double, 4 > double4
vector< double, 2 > double2