x86-asm: Accept 'q' modifier

In inline extended asm '%q1' refers to the 64bit register of operand 1.
This commit is contained in:
Michael Matz
2016-12-15 17:47:06 +01:00
parent 8531de319a
commit d5d881d9e9
2 changed files with 12 additions and 1 deletions
+11
View File
@@ -2584,6 +2584,17 @@ unsigned long mconstraint_test(struct struct1231 *r)
return ret + a[0];
}
#ifdef __x86_64__
int fls64(unsigned long long x)
{
int bitpos = -1;
asm("bsrq %1,%q0"
: "+r" (bitpos)
: "rm" (x));
return bitpos + 1;
}
#endif
unsigned int set;
void asm_test(void)