// Copyright 2020, NVIDIA CORPORATION. All rights reserved.

// <random> includes, via this file, some SSE3 intrinsics headers.  When
// nvcc and nvc++ are not in complete agreement about the signatures of the
// builtins for intrinsics, that can result in compilation errors (or even
// internal compiler errors) when nvc++ is the host compiler for nvcc.
//
// <bits/opt_random.h> is an entirely optional file, providing an explicit
// specialization of a template function that uses SSE3 intrinsics for
// performance.  When it is suspected that nvcc and nvc++ are out of sync,
// turn this file into a no-op.

#if defined(__PGLLVM__) && (!defined(__NVCC_HOST__) || __CUDACC_VER_MAJOR >= 11)
  #include_next <bits/opt_random.h>
#endif
