10#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
11#error "Never use <pconfigintrin.h> directly; include <x86intrin.h> instead."
14#ifndef __PCONFIGINTRIN_H
15#define __PCONFIGINTRIN_H
17#define __PCONFIG_KEY_PROGRAM 0x00000001
19#if __has_extension(gnu_asm)
22#define __DEFAULT_FN_ATTRS \
23 __attribute__((__always_inline__, __nodebug__, __target__("pconfig")))
26_pconfig_u32(
unsigned int __leaf, __SIZE_TYPE__ __d[])
28 unsigned int __result;
30 :
"=a" (__result),
"=b" (__d[0]),
"=c" (__d[1]),
"=d" (__d[2])
31 :
"a" (__leaf),
"b" (__d[0]),
"c" (__d[1]),
"d" (__d[2])
36#undef __DEFAULT_FN_ATTRS
#define __DEFAULT_FN_ATTRS
__asm__("swp %0, %1, [%2]" :"=r"(__v) :"r"(__x), "r"(__p) :"memory")