summaryrefslogtreecommitdiffstats
path: root/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h')
-rw-r--r--openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h b/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
index bd212ca18cf..bbce9f1c511 100644
--- a/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
+++ b/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
@@ -91,6 +91,12 @@ INLINE __kmpc_impl_lanemask_t __kmpc_impl_lanemask_gt() {
return res;
}
+INLINE uint32_t __kmpc_impl_smid() {
+ uint32_t id;
+ asm("mov.u32 %0, %%smid;" : "=r"(id));
+ return id;
+}
+
INLINE uint32_t __kmpc_impl_ffs(uint32_t x) { return __ffs(x); }
INLINE uint32_t __kmpc_impl_popc(uint32_t x) { return __popc(x); }
OpenPOWER on IntegriCloud