23 #ifndef HIP_INCLUDE_HIP_HCC_DETAIL_HIP_LDG_H 24 #define HIP_INCLUDE_HIP_HCC_DETAIL_HIP_LDG_H 26 #if defined(__HCC_OR_HIP_CLANG__) 27 #if __hcc_workweek__ >= 16164 || __HIP_CLANG_ONLY__ 28 #include "hip_vector_types.h" 31 __device__
inline static char __ldg(
const char* ptr) {
return *ptr; }
33 __device__
inline static char2 __ldg(
const char2* ptr) {
return *ptr; }
35 __device__
inline static char4 __ldg(
const char4* ptr) {
return *ptr; }
37 __device__
inline static signed char __ldg(
const signed char* ptr) {
return ptr[0]; }
39 __device__
inline static unsigned char __ldg(
const unsigned char* ptr) {
return ptr[0]; }
42 __device__
inline static short __ldg(
const short* ptr) {
return ptr[0]; }
44 __device__
inline static short2 __ldg(
const short2* ptr) {
return ptr[0]; }
46 __device__
inline static short4 __ldg(
const short4* ptr) {
return ptr[0]; }
48 __device__
inline static unsigned short __ldg(
const unsigned short* ptr) {
return ptr[0]; }
51 __device__
inline static int __ldg(
const int* ptr) {
return ptr[0]; }
53 __device__
inline static int2 __ldg(
const int2* ptr) {
return ptr[0]; }
55 __device__
inline static int4 __ldg(
const int4* ptr) {
return ptr[0]; }
57 __device__
inline static unsigned int __ldg(
const unsigned int* ptr) {
return ptr[0]; }
60 __device__
inline static long __ldg(
const long* ptr) {
return ptr[0]; }
62 __device__
inline static unsigned long __ldg(
const unsigned long* ptr) {
return ptr[0]; }
65 __device__
inline static long long __ldg(
const long long* ptr) {
return ptr[0]; }
69 __device__
inline static unsigned long long __ldg(
const unsigned long long* ptr) {
return ptr[0]; }
72 __device__
inline static uchar2 __ldg(
const uchar2* ptr) {
return ptr[0]; }
74 __device__
inline static uchar4 __ldg(
const uchar4* ptr) {
return ptr[0]; }
77 __device__
inline static ushort2 __ldg(
const ushort2* ptr) {
return ptr[0]; }
80 __device__
inline static uint2 __ldg(
const uint2* ptr) {
return ptr[0]; }
82 __device__
inline static uint4 __ldg(
const uint4* ptr) {
return ptr[0]; }
88 __device__
inline static float __ldg(
const float* ptr) {
return ptr[0]; }
90 __device__
inline static float2 __ldg(
const float2* ptr) {
return ptr[0]; }
92 __device__
inline static float4 __ldg(
const float4* ptr) {
return ptr[0]; }
95 __device__
inline static double __ldg(
const double* ptr) {
return ptr[0]; }
97 __device__
inline static double2 __ldg(
const double2* ptr) {
return ptr[0]; }
99 #endif // __hcc_workweek__ || __HIP_CLANG_ONLY__ 101 #endif // defined(__HCC_OR_HIP_CLANG__) Definition: hip_vector_types.h:1391
Definition: hip_vector_types.h:1390
Definition: hip_vector_types.h:1418
Definition: hip_vector_types.h:1362
Definition: hip_vector_types.h:1369
Definition: hip_vector_types.h:1432
Definition: hip_vector_types.h:1384
Definition: hip_vector_types.h:1356
Definition: hip_vector_types.h:1355
Definition: hip_vector_types.h:1383
Definition: hip_vector_types.h:1426
Definition: hip_vector_types.h:1376
Definition: hip_vector_types.h:1425
Definition: hip_vector_types.h:1411
Definition: hip_vector_types.h:1363
Definition: hip_vector_types.h:1370