inline asm: Accept 'p' constraint and 'P' template mod

'p' is conservatively the same as 'r' and 'P' as template
modifier can be ignored in TCC.
This commit is contained in:
Michael Matz
2016-12-15 17:47:07 +01:00
parent 63e3ff7cca
commit 253afeed1e
3 changed files with 15 additions and 1 deletions
+9
View File
@@ -2600,6 +2600,14 @@ int fls64(unsigned long long x)
}
#endif
void other_constraints_test(void)
{
unsigned long ret;
int var;
__asm__ volatile ("movq %P1,%0" : "=r" (ret) : "p" (&var));
printf ("oc1: %d\n", ret == (unsigned long)&var);
}
unsigned int set;
void asm_test(void)
@@ -2633,6 +2641,7 @@ void asm_test(void)
s1.b = 43;
printf("mconstraint: %d", mconstraint_test(&s2));
printf(" %d %d\n", s1.a, s1.b);
other_constraints_test();
set = 0xff;
sigdelset1(&set, 2);
sigaddset1(&set, 16);