From 253afeed1e822965804c0f5503bac057e68f08e8 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Wed, 29 Jun 2016 18:31:45 +0200 Subject: 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. --- tests/tcctest.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests') diff --git a/tests/tcctest.c b/tests/tcctest.c index 41a9a10..9230020 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -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); -- cgit v1.3.1