EAX_EDX_RET
: [err] "=r" (err), EAX_EDX_RET(val, low, high)
asm volatile("rdpmc" : EAX_EDX_RET(val, low, high) : "c" (counter));
: EAX_EDX_RET(val, low, high) : "c" (msr));
asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
: EAX_EDX_RET(val, low, high)
: EAX_EDX_RET(val, low, high) : "c" (msr));