1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-30 11:36:08 +02:00

Fix bug inadvertently introduced in a1c4c4efb5

This commit is contained in:
Samuel Neves 2020-02-13 16:08:07 +00:00
parent 207915a751
commit 421a21abd8

View File

@ -95,8 +95,7 @@ static uint64_t xgetbv() {
static void cpuid(uint32_t out[4], uint32_t id) { static void cpuid(uint32_t out[4], uint32_t id) {
#if defined(_MSC_VER) #if defined(_MSC_VER)
__cpuid((int *)out, id); __cpuid((int *)out, id);
#else #elif defined(__i386__) || defined(_M_IX86)
#if defined(__i386__) || defined(_M_IX86)
__asm__ __volatile__("movl %%ebx, %1\n" __asm__ __volatile__("movl %%ebx, %1\n"
"cpuid\n" "cpuid\n"
"xchgl %1, %%ebx\n" "xchgl %1, %%ebx\n"
@ -107,18 +106,21 @@ static void cpuid(uint32_t out[4], uint32_t id) {
: "=a"(out[0]), "=b"(out[1]), "=c"(out[2]), "=d"(out[3]) : "=a"(out[0]), "=b"(out[1]), "=c"(out[2]), "=d"(out[3])
: "a"(id)); : "a"(id));
#endif #endif
#endif
} }
static void cpuidex(uint32_t out[4], uint32_t id, uint32_t sid) { static void cpuidex(uint32_t out[4], uint32_t id, uint32_t sid) {
#if defined(_MSC_VER) #if defined(_MSC_VER)
__cpuidex((int *)out, id, sid); __cpuidex((int *)out, id, sid);
#else #elif defined(__i386__) || defined(_M_IX86)
__asm__ __volatile__("movl %%ebx, %1\n" __asm__ __volatile__("movl %%ebx, %1\n"
"cpuid\n" "cpuid\n"
"xchgl %1, %%ebx\n" "xchgl %1, %%ebx\n"
: "=a"(out[0]), "=r"(out[1]), "=c"(out[2]), "=d"(out[3]) : "=a"(out[0]), "=r"(out[1]), "=c"(out[2]), "=d"(out[3])
: "a"(id), "c"(sid)); : "a"(id), "c"(sid));
#else
__asm__ __volatile__("cpuid\n"
: "=a"(out[0]), "=b"(out[1]), "=c"(out[2]), "=d"(out[3])
: "a"(id), "c"(sid));
#endif #endif
} }