clang  6.0.0svn
Macros | Functions
__clang_cuda_intrinsics.h File Reference

Go to the source code of this file.

Macros

#define __SM_30_INTRINSICS_H__
 
#define __SM_30_INTRINSICS_HPP__
 
#define __MAKE_SHUFFLES(__FnName, __IntIntrinsic, __FloatIntrinsic, __Mask)
 
#define __SM_32_INTRINSICS_H__
 
#define __SM_32_INTRINSICS_HPP__
 

Functions

 __MAKE_SHUFFLES (__shfl, __nvvm_shfl_idx_i32, __nvvm_shfl_idx_f32, 0x1f)
 
 __MAKE_SHUFFLES (__shfl_up, __nvvm_shfl_up_i32, __nvvm_shfl_up_f32, 0)
 
 __MAKE_SHUFFLES (__shfl_down, __nvvm_shfl_down_i32, __nvvm_shfl_down_f32, 0x1f)
 
 __MAKE_SHUFFLES (__shfl_xor, __nvvm_shfl_bfly_i32, __nvvm_shfl_bfly_f32, 0x1f)
 
__device__ char __ldg (const char *ptr)
 
__device__ short __ldg (const short *ptr)
 
__device__ int __ldg (const int *ptr)
 
__device__ long __ldg (const long *ptr)
 
__device__ long long __ldg (const long long *ptr)
 
__device__ unsigned char __ldg (const unsigned char *ptr)
 
__device__ unsigned short __ldg (const unsigned short *ptr)
 
__device__ unsigned int __ldg (const unsigned int *ptr)
 
__device__ unsigned long __ldg (const unsigned long *ptr)
 
__device__ unsigned long long __ldg (const unsigned long long *ptr)
 
__device__ float __ldg (const float *ptr)
 
__device__ double __ldg (const double *ptr)
 
__device__ char2 __ldg (const char2 *ptr)
 
__device__ char4 __ldg (const char4 *ptr)
 
__device__ short2 __ldg (const short2 *ptr)
 
__device__ short4 __ldg (const short4 *ptr)
 
__device__ int2 __ldg (const int2 *ptr)
 
__device__ int4 __ldg (const int4 *ptr)
 
__device__ longlong2 __ldg (const longlong2 *ptr)
 
__device__ uchar2 __ldg (const uchar2 *ptr)
 
__device__ uchar4 __ldg (const uchar4 *ptr)
 
__device__ ushort2 __ldg (const ushort2 *ptr)
 
__device__ ushort4 __ldg (const ushort4 *ptr)
 
__device__ uint2 __ldg (const uint2 *ptr)
 
__device__ uint4 __ldg (const uint4 *ptr)
 
__device__ ulonglong2 __ldg (const ulonglong2 *ptr)
 
__device__ float2 __ldg (const float2 *ptr)
 
__device__ float4 __ldg (const float4 *ptr)
 
__device__ double2 __ldg (const double2 *ptr)
 
__device__ unsigned __funnelshift_l (unsigned low32, unsigned high32, unsigned shiftWidth)
 
__device__ unsigned __funnelshift_lc (unsigned low32, unsigned high32, unsigned shiftWidth)
 
__device__ unsigned __funnelshift_r (unsigned low32, unsigned high32, unsigned shiftWidth)
 
__device__ unsigned __funnelshift_rc (unsigned low32, unsigned high32, unsigned shiftWidth)
 

Macro Definition Documentation

◆ __MAKE_SHUFFLES

#define __MAKE_SHUFFLES (   __FnName,
  __IntIntrinsic,
  __FloatIntrinsic,
  __Mask 
)

Definition at line 37 of file __clang_cuda_intrinsics.h.

◆ __SM_30_INTRINSICS_H__

#define __SM_30_INTRINSICS_H__

Definition at line 31 of file __clang_cuda_intrinsics.h.

◆ __SM_30_INTRINSICS_HPP__

#define __SM_30_INTRINSICS_HPP__

Definition at line 32 of file __clang_cuda_intrinsics.h.

◆ __SM_32_INTRINSICS_H__

#define __SM_32_INTRINSICS_H__

Definition at line 244 of file __clang_cuda_intrinsics.h.

◆ __SM_32_INTRINSICS_HPP__

#define __SM_32_INTRINSICS_HPP__

Definition at line 245 of file __clang_cuda_intrinsics.h.

Function Documentation

◆ __funnelshift_l()

__device__ unsigned __funnelshift_l ( unsigned  low32,
unsigned  high32,
unsigned  shiftWidth 
)
inline

Definition at line 433 of file __clang_cuda_intrinsics.h.

◆ __funnelshift_lc()

__device__ unsigned __funnelshift_lc ( unsigned  low32,
unsigned  high32,
unsigned  shiftWidth 
)
inline

Definition at line 441 of file __clang_cuda_intrinsics.h.

◆ __funnelshift_r()

__device__ unsigned __funnelshift_r ( unsigned  low32,
unsigned  high32,
unsigned  shiftWidth 
)
inline

Definition at line 449 of file __clang_cuda_intrinsics.h.

◆ __funnelshift_rc()

__device__ unsigned __funnelshift_rc ( unsigned  low32,
unsigned  high32,
unsigned  shiftWidth 
)
inline

Definition at line 457 of file __clang_cuda_intrinsics.h.

◆ __ldg() [1/29]

__device__ char __ldg ( const char *  ptr)
inline

Definition at line 249 of file __clang_cuda_intrinsics.h.

◆ __ldg() [2/29]

__device__ short __ldg ( const short *  ptr)
inline

Definition at line 250 of file __clang_cuda_intrinsics.h.

◆ __ldg() [3/29]

__device__ int __ldg ( const int *  ptr)
inline

Definition at line 251 of file __clang_cuda_intrinsics.h.

◆ __ldg() [4/29]

__device__ long __ldg ( const long *  ptr)
inline

Definition at line 252 of file __clang_cuda_intrinsics.h.

◆ __ldg() [5/29]

__device__ long long __ldg ( const long long *  ptr)
inline

Definition at line 253 of file __clang_cuda_intrinsics.h.

◆ __ldg() [6/29]

__device__ unsigned char __ldg ( const unsigned char *  ptr)
inline

Definition at line 256 of file __clang_cuda_intrinsics.h.

◆ __ldg() [7/29]

__device__ unsigned short __ldg ( const unsigned short *  ptr)
inline

Definition at line 259 of file __clang_cuda_intrinsics.h.

◆ __ldg() [8/29]

__device__ unsigned int __ldg ( const unsigned int *  ptr)
inline

Definition at line 262 of file __clang_cuda_intrinsics.h.

◆ __ldg() [9/29]

__device__ unsigned long __ldg ( const unsigned long *  ptr)
inline

Definition at line 265 of file __clang_cuda_intrinsics.h.

◆ __ldg() [10/29]

__device__ unsigned long long __ldg ( const unsigned long long *  ptr)
inline

Definition at line 268 of file __clang_cuda_intrinsics.h.

◆ __ldg() [11/29]

__device__ float __ldg ( const float *  ptr)
inline

Definition at line 271 of file __clang_cuda_intrinsics.h.

◆ __ldg() [12/29]

__device__ double __ldg ( const double *  ptr)
inline

Definition at line 272 of file __clang_cuda_intrinsics.h.

◆ __ldg() [13/29]

__device__ char2 __ldg ( const char2 *  ptr)
inline

Definition at line 274 of file __clang_cuda_intrinsics.h.

◆ __ldg() [14/29]

__device__ char4 __ldg ( const char4 *  ptr)
inline

Definition at line 285 of file __clang_cuda_intrinsics.h.

◆ __ldg() [15/29]

__device__ short2 __ldg ( const short2 *  ptr)
inline

Definition at line 295 of file __clang_cuda_intrinsics.h.

◆ __ldg() [16/29]

__device__ short4 __ldg ( const short4 *  ptr)
inline

Definition at line 303 of file __clang_cuda_intrinsics.h.

◆ __ldg() [17/29]

__device__ int2 __ldg ( const int2 *  ptr)
inline

Definition at line 313 of file __clang_cuda_intrinsics.h.

◆ __ldg() [18/29]

__device__ int4 __ldg ( const int4 *  ptr)
inline

Definition at line 321 of file __clang_cuda_intrinsics.h.

◆ __ldg() [19/29]

__device__ longlong2 __ldg ( const longlong2 *  ptr)
inline

Definition at line 331 of file __clang_cuda_intrinsics.h.

◆ __ldg() [20/29]

__device__ uchar2 __ldg ( const uchar2 *  ptr)
inline

Definition at line 340 of file __clang_cuda_intrinsics.h.

◆ __ldg() [21/29]

__device__ uchar4 __ldg ( const uchar4 *  ptr)
inline

Definition at line 348 of file __clang_cuda_intrinsics.h.

◆ __ldg() [22/29]

__device__ ushort2 __ldg ( const ushort2 *  ptr)
inline

Definition at line 358 of file __clang_cuda_intrinsics.h.

◆ __ldg() [23/29]

__device__ ushort4 __ldg ( const ushort4 *  ptr)
inline

Definition at line 366 of file __clang_cuda_intrinsics.h.

◆ __ldg() [24/29]

__device__ uint2 __ldg ( const uint2 *  ptr)
inline

Definition at line 376 of file __clang_cuda_intrinsics.h.

◆ __ldg() [25/29]

__device__ uint4 __ldg ( const uint4 *  ptr)
inline

Definition at line 384 of file __clang_cuda_intrinsics.h.

◆ __ldg() [26/29]

__device__ ulonglong2 __ldg ( const ulonglong2 *  ptr)
inline

Definition at line 394 of file __clang_cuda_intrinsics.h.

◆ __ldg() [27/29]

__device__ float2 __ldg ( const float2 *  ptr)
inline

Definition at line 403 of file __clang_cuda_intrinsics.h.

◆ __ldg() [28/29]

__device__ float4 __ldg ( const float4 *  ptr)
inline

Definition at line 411 of file __clang_cuda_intrinsics.h.

◆ __ldg() [29/29]

__device__ double2 __ldg ( const double2 *  ptr)
inline

Definition at line 421 of file __clang_cuda_intrinsics.h.

◆ __MAKE_SHUFFLES() [1/4]

__MAKE_SHUFFLES ( __shfl  ,
__nvvm_shfl_idx_i32  ,
__nvvm_shfl_idx_f32  ,
0x1f   
)

◆ __MAKE_SHUFFLES() [2/4]

__MAKE_SHUFFLES ( __shfl_up  ,
__nvvm_shfl_up_i32  ,
__nvvm_shfl_up_f32  ,
 
)

◆ __MAKE_SHUFFLES() [3/4]

__MAKE_SHUFFLES ( __shfl_down  ,
__nvvm_shfl_down_i32  ,
__nvvm_shfl_down_f32  ,
0x1f   
)

◆ __MAKE_SHUFFLES() [4/4]

__MAKE_SHUFFLES ( __shfl_xor  ,
__nvvm_shfl_bfly_i32  ,
__nvvm_shfl_bfly_f32  ,
0x1f   
)