Bitcoin Core
22.99.0
P2P Digital Currency
src
compat
cpuid.h
Go to the documentation of this file.
1
// Copyright (c) 2017-2019 The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#ifndef BITCOIN_COMPAT_CPUID_H
6
#define BITCOIN_COMPAT_CPUID_H
7
8
#if defined(__x86_64__) || defined(__amd64__) || defined(__i386__)
9
#define HAVE_GETCPUID
10
11
#include <
cpuid.h
>
12
13
// We can't use cpuid.h's __get_cpuid as it does not support subleafs.
14
void
static
inline
GetCPUID(uint32_t leaf, uint32_t subleaf, uint32_t& a, uint32_t& b, uint32_t& c, uint32_t& d)
15
{
16
#ifdef __GNUC__
17
__cpuid_count(leaf, subleaf, a, b, c, d);
18
#else
19
__asm__ (
"cpuid"
:
"=a"
(a),
"=b"
(b),
"=c"
(c),
"=d"
(d) :
"0"
(leaf),
"2"
(subleaf));
20
#endif
21
}
22
23
#endif // defined(__x86_64__) || defined(__amd64__) || defined(__i386__)
24
#endif // BITCOIN_COMPAT_CPUID_H
cpuid.h
Generated on Fri Feb 18 2022 20:03:15 for Bitcoin Core by
1.8.17