Uses __asm__ instead of asm keyword to prevent from troubles during compilation.
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
This commit is contained in:
parent
6674459a57
commit
d65d57d06e
1 changed files with 7 additions and 7 deletions
|
@ -62,13 +62,13 @@ extern "C" {
|
||||||
x ^= x >> 4;
|
x ^= x >> 4;
|
||||||
return BIT(0x6996, x & 0xf);
|
return BIT(0x6996, x & 0xf);
|
||||||
#else
|
#else
|
||||||
asm("movl %1, %%eax\n"
|
__asm__("movl %1, %%eax\n"
|
||||||
"mov %%ax, %%cx\n"
|
"mov %%ax, %%cx\n"
|
||||||
"shrl $0x10, %%eax\n"
|
"shrl $0x10, %%eax\n"
|
||||||
"xor %%ax, %%cx\n"
|
"xor %%ax, %%cx\n"
|
||||||
"xor %%ch, %%cl\n"
|
"xor %%ch, %%cl\n"
|
||||||
"setpo %%al\n"
|
"setpo %%al\n"
|
||||||
"movzx %%al, %0\n": "=r"(x) : "r"(x): "eax", "ecx");
|
"movzx %%al, %0\n": "=r"(x) : "r"(x): "eax", "ecx");
|
||||||
return x;
|
return x;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue