diff --git a/openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip b/openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip --- a/openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip +++ b/openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip @@ -40,9 +40,13 @@ DEVICE double __kmpc_impl_get_wtick() { return ((double)1E-9); } -EXTERN uint64_t __clock64(); DEVICE double __kmpc_impl_get_wtime() { - return ((double)1.0 / 745000000.0) * __clock64(); +#if __AMDGCN__ > 800 + uint64_t t = __builtin_amdgcn_s_memrealtime(); +#else + uint64_t t = __builtin_amdgcn_s_memtime(); +#endif + return ((double)1.0 / 745000000.0) * t; } // Warp vote function