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;

Reply via email to