On Mon, 28 Jul 2014, Markus Trippelsdorf wrote: > On 2014.07.28 at 10:53 +0200, Jakub Jelinek wrote: > > On Mon, Jul 28, 2014 at 10:44:15AM +0200, Jakub Jelinek wrote: > > > On Mon, Jul 28, 2014 at 09:50:24AM +0200, Richard Biener wrote: > > > > --- gcc/testsuite/gcc.target/i386/pr61801.c (revision 0) > > > > +++ gcc/testsuite/gcc.target/i386/pr61801.c (working copy) > > > > @@ -0,0 +1,22 @@ > > > > +/* { dg-do compile } */ > > > > +/* { dg-options "-Os -fcompare-debug" } */ > > > > + > > > > +int a, b, c; > > > > +void fn1 () > > > > +{ > > > > + int d; > > > > + if (fn2 () && !0) > > > > + { > > > > + b = ( > > > > + { > > > > + int e; > > > > + fn3 (); > > > > + switch (0) > > > > + default: > > > > + asm volatile("" : "=a"(e) : "0"(a), ""(0)); > > > > > > How do we reload ""(0)? I'm surprised that we accept it... > > > > Seems we fail with -fcompare-debug before the fix even with > > "i"(0), so my strong preference would be to use that. > > Yes. It was just Creduce going wild. Feel free to fix.
Like so. Richard. 2014-07-28 Richard Biener <rguent...@suse.de> PR rtl-optimization/61801 * gcc.target/i386/pr61801.c: Fix testcase. Index: gcc/testsuite/gcc.target/i386/pr61801.c =================================================================== --- gcc/testsuite/gcc.target/i386/pr61801.c (revision 213117) +++ gcc/testsuite/gcc.target/i386/pr61801.c (working copy) @@ -13,7 +13,7 @@ void fn1 () fn3 (); switch (0) default: - asm volatile("" : "=a"(e) : "0"(a), ""(0)); + asm volatile("" : "=a"(e) : "0"(a), "i"(0)); e; }); d = b;