HIP: Heterogenous-computing Interface for Portability
|
23 #ifndef HIP_INCLUDE_HIP_AMD_DETAIL_HIP_LDG_H
24 #define HIP_INCLUDE_HIP_AMD_DETAIL_HIP_LDG_H
26 #if __HIP_CLANG_ONLY__
27 #include "hip_vector_types.h"
30 __device__
inline static char __ldg(
const char* ptr) {
return *ptr; }
32 __device__
inline static char2 __ldg(
const char2* ptr) {
return *ptr; }
34 __device__
inline static char4 __ldg(
const char4* ptr) {
return *ptr; }
36 __device__
inline static signed char __ldg(
const signed char* ptr) {
return ptr[0]; }
38 __device__
inline static unsigned char __ldg(
const unsigned char* ptr) {
return ptr[0]; }
41 __device__
inline static short __ldg(
const short* ptr) {
return ptr[0]; }
43 __device__
inline static short2 __ldg(
const short2* ptr) {
return ptr[0]; }
45 __device__
inline static short4 __ldg(
const short4* ptr) {
return ptr[0]; }
47 __device__
inline static unsigned short __ldg(
const unsigned short* ptr) {
return ptr[0]; }
50 __device__
inline static int __ldg(
const int* ptr) {
return ptr[0]; }
52 __device__
inline static int2 __ldg(
const int2* ptr) {
return ptr[0]; }
54 __device__
inline static int4 __ldg(
const int4* ptr) {
return ptr[0]; }
56 __device__
inline static unsigned int __ldg(
const unsigned int* ptr) {
return ptr[0]; }
59 __device__
inline static long __ldg(
const long* ptr) {
return ptr[0]; }
61 __device__
inline static unsigned long __ldg(
const unsigned long* ptr) {
return ptr[0]; }
64 __device__
inline static long long __ldg(
const long long* ptr) {
return ptr[0]; }
68 __device__
inline static unsigned long long __ldg(
const unsigned long long* ptr) {
return ptr[0]; }
71 __device__
inline static uchar2 __ldg(
const uchar2* ptr) {
return ptr[0]; }
73 __device__
inline static uchar4 __ldg(
const uchar4* ptr) {
return ptr[0]; }
76 __device__
inline static ushort2 __ldg(
const ushort2* ptr) {
return ptr[0]; }
79 __device__
inline static uint2 __ldg(
const uint2* ptr) {
return ptr[0]; }
81 __device__
inline static uint4 __ldg(
const uint4* ptr) {
return ptr[0]; }
87 __device__
inline static float __ldg(
const float* ptr) {
return ptr[0]; }
89 __device__
inline static float2 __ldg(
const float2* ptr) {
return ptr[0]; }
91 __device__
inline static float4 __ldg(
const float4* ptr) {
return ptr[0]; }
94 __device__
inline static double __ldg(
const double* ptr) {
return ptr[0]; }
96 __device__
inline static double2 __ldg(
const double2* ptr) {
return ptr[0]; }
98 #endif // __HIP_CLANG_ONLY__
Definition: hip_vector_types.h:1547
Definition: hip_vector_types.h:1568
Definition: hip_vector_types.h:1541
Definition: hip_vector_types.h:1519
Definition: hip_vector_types.h:1513
Definition: hip_vector_types.h:1512
Definition: hip_vector_types.h:1589
Definition: hip_vector_types.h:1583
Definition: hip_vector_types.h:1540
Definition: hip_vector_types.h:1582
Definition: hip_vector_types.h:1527
Definition: hip_vector_types.h:1575
Definition: hip_vector_types.h:1520
Definition: hip_vector_types.h:1526
Definition: hip_vector_types.h:1533
Definition: hip_vector_types.h:1548