Bitcoin Core currently only support to using RDRAND / RDSEED instruction on x86 architecture when requiring to generate a ultra high quality random numbers. For example, a private key.
https://github.com/bitcoin/bitcoin/blob/master/src/random.h
https://github.com/bitcoin/bitcoin/blob/master/src/random.cpp

ARM later added two new similar instructions as well, RNDR (similar to RDRAND) / RNDRRS (similar to RDSEED).
https://developer.arm.com/documentation/ddi0601/2022-12/AArch64-Registers/RNDR--Random-Number
https://developer.arm.com/documentation/ddi0601/2022-12/AArch64-Registers/RNDRRS--Reseeded-Random-Number

OpenSSL also had a similar feature request on last year. (Implemented)
https://github.com/openssl/openssl/issues/15627
https://github.com/openssl/openssl/pull/15361
https://github.com/openssl/openssl/blob/master/providers/implementations/rands/seeding/rand_cpu_arm64.c

I hope this feature is also available on Bitcoin Core as Bitcoin Core also can using on ARM machine (E.g. A Mac computer using Apple silicon, Raspberry Pi...).
{
    
    
#if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))
    return __rdtsc();
#elif !defined(_MSC_VER) && defined(__i386__)
    uint64_t r = 0;
    __asm__ volatile ("rdtsc" : "=A"(r)); 
    return r;
#elif !defined(_MSC_VER) && (defined(__x86_64__) || defined(__amd64__))
    uint64_t r1 = 0, r2 = 0;
    __asm__ volatile ("rdtsc" : "=a"(r1), "=d"(r2)); 
    return (r2 << 32) | r1;
#else
    
    return std::chrono::high_resolution_clock::now().time_since_epoch().count();
#endif
}
#ifdef HAVE_GETCPUID
static bool g_rdrand_supported = false;
static bool g_rdseed_supported = false;
static constexpr uint32_t CPUID_F1_ECX_RDRAND = 0x40000000;
static constexpr uint32_t CPUID_F7_EBX_RDSEED = 0x00040000;
#ifdef bit_RDRND
static_assert(CPUID_F1_ECX_RDRAND == bit_RDRND, "Unexpected value for bit_RDRND");
#endif
#ifdef bit_RDSEED
static_assert(CPUID_F7_EBX_RDSEED == bit_RDSEED, "Unexpected value for bit_RDSEED");
#endif
static void InitHardwareRand()