30 #if !__CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__
33 __device__ __attribute__((
const)) _Float16 __ocml_ceil_f16(_Float16);
34 __device__ _Float16 __ocml_cos_f16(_Float16);
35 __device__ __attribute__((pure)) _Float16 __ocml_exp_f16(_Float16);
36 __device__ __attribute__((pure)) _Float16 __ocml_exp10_f16(_Float16);
37 __device__ __attribute__((pure)) _Float16 __ocml_exp2_f16(_Float16);
38 __device__ __attribute__((const)) _Float16 __ocml_floor_f16(_Float16);
39 __device__ __attribute__((const))
40 _Float16 __ocml_fma_f16(_Float16, _Float16, _Float16);
41 __device__ __attribute__((const)) _Float16 __ocml_fabs_f16(_Float16);
42 __device__ __attribute__((const))
int __ocml_isinf_f16(_Float16);
43 __device__ __attribute__((const))
int __ocml_isnan_f16(_Float16);
44 __device__ __attribute__((pure)) _Float16 __ocml_log_f16(_Float16);
45 __device__ __attribute__((pure)) _Float16 __ocml_log10_f16(_Float16);
46 __device__ __attribute__((pure)) _Float16 __ocml_log2_f16(_Float16);
47 __device__ __attribute__((pure)) _Float16 __ocml_pown_f16(_Float16,
int);
48 __device__ __attribute__((const)) _Float16 __llvm_amdgcn_rcp_f16(_Float16);
49 __device__ __attribute__((const)) _Float16 __ocml_rint_f16(_Float16);
50 __device__ __attribute__((const)) _Float16 __ocml_rsqrt_f16(_Float16);
51 __device__ _Float16 __ocml_sin_f16(_Float16);
52 __device__ __attribute__((const)) _Float16 __ocml_sqrt_f16(_Float16);
53 __device__ __attribute__((const)) _Float16 __ocml_trunc_f16(_Float16);
55 typedef _Float16 __2f16 __attribute__((ext_vector_type(2)));
56 typedef
short __2i16 __attribute__((ext_vector_type(2)));
58 #if __HIP_CLANG_ONLY__
59 __device__ __attribute__((
const)) float __ockl_fdot2(__2f16 a, __2f16 b,
float c,
bool s);
62 __device__ __attribute__((
const)) __2f16 __ocml_ceil_2f16(__2f16);
63 __device__ __attribute__((const)) __2f16 __ocml_fabs_2f16(__2f16);
64 __device__ __2f16 __ocml_cos_2f16(__2f16);
65 __device__ __attribute__((pure)) __2f16 __ocml_exp_2f16(__2f16);
66 __device__ __attribute__((pure)) __2f16 __ocml_exp10_2f16(__2f16);
67 __device__ __attribute__((pure)) __2f16 __ocml_exp2_2f16(__2f16);
68 __device__ __attribute__((const)) __2f16 __ocml_floor_2f16(__2f16);
69 __device__ __attribute__((const)) __2f16 __ocml_fma_2f16(__2f16, __2f16, __2f16);
70 __device__ __attribute__((const)) __2i16 __ocml_isinf_2f16(__2f16);
71 __device__ __attribute__((const)) __2i16 __ocml_isnan_2f16(__2f16);
72 __device__ __attribute__((pure)) __2f16 __ocml_log_2f16(__2f16);
73 __device__ __attribute__((pure)) __2f16 __ocml_log10_2f16(__2f16);
74 __device__ __attribute__((pure)) __2f16 __ocml_log2_2f16(__2f16);
76 __2f16 __llvm_amdgcn_rcp_2f16(__2f16 x)
78 return __2f16{__llvm_amdgcn_rcp_f16(x.x), __llvm_amdgcn_rcp_f16(x.y)};
80 __device__ __attribute__((
const)) __2f16 __ocml_rint_2f16(__2f16);
81 __device__ __attribute__((const)) __2f16 __ocml_rsqrt_2f16(__2f16);
82 __device__ __2f16 __ocml_sin_2f16(__2f16);
83 __device__ __attribute__((const)) __2f16 __ocml_sqrt_2f16(__2f16);
84 __device__ __attribute__((const)) __2f16 __ocml_trunc_2f16(__2f16);
86 #endif // !__CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__