mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-24 22:30:13 +00:00
[libomptarget][nvptx] Fix build, symbol ordering in target_impl.h
This commit is contained in:
parent
aaa5a5e7ff
commit
89a2bef27a
@ -101,8 +101,6 @@ INLINE __kmpc_impl_lanemask_t __kmpc_impl_lanemask_gt() {
|
||||
return __lanemask_gt();
|
||||
}
|
||||
|
||||
EXTERN bool __kmpc_impl_is_first_active_thread();
|
||||
|
||||
INLINE uint32_t __kmpc_impl_smid() {
|
||||
return __smid();
|
||||
}
|
||||
@ -126,6 +124,8 @@ INLINE __kmpc_impl_lanemask_t __kmpc_impl_activemask() {
|
||||
return __ballot64(1);
|
||||
}
|
||||
|
||||
EXTERN bool __kmpc_impl_is_first_active_thread();
|
||||
|
||||
EXTERN int32_t __kmpc_impl_shfl_sync(__kmpc_impl_lanemask_t, int32_t Var,
|
||||
int32_t SrcLane);
|
||||
|
||||
|
@ -94,15 +94,6 @@ INLINE __kmpc_impl_lanemask_t __kmpc_impl_lanemask_gt() {
|
||||
return res;
|
||||
}
|
||||
|
||||
// Return true if this is the first active thread in the warp.
|
||||
INLINE bool __kmpc_impl_is_first_active_thread() {
|
||||
unsigned long long Mask = __kmpc_impl_activemask();
|
||||
unsigned long long ShNum = WARPSIZE - (GetThreadIdInBlock() % WARPSIZE);
|
||||
unsigned long long Sh = Mask << ShNum;
|
||||
// Truncate Sh to the 32 lower bits
|
||||
return (unsigned)Sh == 0;
|
||||
}
|
||||
|
||||
INLINE uint32_t __kmpc_impl_smid() {
|
||||
uint32_t id;
|
||||
asm("mov.u32 %0, %%smid;" : "=r"(id));
|
||||
@ -142,6 +133,15 @@ INLINE __kmpc_impl_lanemask_t __kmpc_impl_activemask() {
|
||||
#endif
|
||||
}
|
||||
|
||||
// Return true if this is the first active thread in the warp.
|
||||
INLINE bool __kmpc_impl_is_first_active_thread() {
|
||||
unsigned long long Mask = __kmpc_impl_activemask();
|
||||
unsigned long long ShNum = WARPSIZE - (GetThreadIdInBlock() % WARPSIZE);
|
||||
unsigned long long Sh = Mask << ShNum;
|
||||
// Truncate Sh to the 32 lower bits
|
||||
return (unsigned)Sh == 0;
|
||||
}
|
||||
|
||||
// In Cuda 9.0, the *_sync() version takes an extra argument 'mask'.
|
||||
|
||||
INLINE int32_t __kmpc_impl_shfl_sync(__kmpc_impl_lanemask_t Mask, int32_t Var,
|
||||
|
Loading…
Reference in New Issue
Block a user