r225600 - Basic: The asm constraint '+#r' isn't valid, reject it

David Majnemer david.majnemer at gmail.com
Tue Jan 13 21:14:55 PST 2015


Sorry about the breakage, fixed with r225942.

On Tue, Jan 13, 2015 at 7:48 PM, Hal Finkel <hfinkel at anl.gov> wrote:

> David, Saleem,
>
> Perhaps you (or anyone reading this) can provide some insight. trunk
> recently stopped being able to compile tramp3d-v4 on my PPC64/Linux box,
> with this error:
>
> test-suite/MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.cpp:51974:3:
> error: invalid input constraint
>       'i#*X' in asm
>   feclearexcept((FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW |
> FE_INVALID));
>   ^
> /usr/include/bits/fenvinline.h:56:11: note: expanded from macro
> 'feclearexcept'
>                            : : "i#*X"(__builtin_ffs (__excepts)));
>     \
>                                ^
>
> The full macro definition is:
>
> /* Inline definition for feclearexcept.  */
> # define feclearexcept(__excepts) \
>   ((__builtin_constant_p (__excepts)
>     \
>     && ((__excepts) & ((__excepts)-1)) == 0
>    \
>     && (__excepts) != FE_INVALID)
>    \
>    ? ((__excepts) != 0
>     \
>       ? (__extension__ ({ __asm__ __volatile__
>     \
>                           ("mtfsb0 %s0"
>    \
>                            : : "i#*X"(__builtin_ffs (__excepts)));
>     \
>                           0; }))
>     \
>       : 0)
>     \
>    : (feclearexcept) (__excepts))
>
>
> Any idea why?
>
> Thanks in advance,
> Hal
>
> ----- Original Message -----
> > From: "David Majnemer" <david.majnemer at gmail.com>
> > To: cfe-commits at cs.uiuc.edu
> > Sent: Sunday, January 11, 2015 2:52:38 AM
> > Subject: r225600 - Basic: The asm constraint '+#r' isn't valid, reject it
> >
> > Author: majnemer
> > Date: Sun Jan 11 02:52:38 2015
> > New Revision: 225600
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=225600&view=rev
> > Log:
> > Basic: The asm constraint '+#r' isn't valid, reject it
> >
> > Modified:
> >     cfe/trunk/lib/Basic/TargetInfo.cpp
> >     cfe/trunk/test/Sema/asm.c
> >
> > Modified: cfe/trunk/lib/Basic/TargetInfo.cpp
> > URL:
> >
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/TargetInfo.cpp?rev=225600&r1=225599&r2=225600&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Basic/TargetInfo.cpp (original)
> > +++ cfe/trunk/lib/Basic/TargetInfo.cpp Sun Jan 11 02:52:38 2015
> > @@ -486,9 +486,13 @@ bool TargetInfo::validateOutputConstrain
> >        if (Name[1] == '=' || Name[1] == '+')
> >          Name++;
> >        break;
> > +    case '#': // Ignore as constraint.
> > +      while (Name[1] && Name[1] != ',')
> > +        Name++;
> > +      if (Name[1] != ',')
> > +        return false;
> >      case '?': // Disparage slightly code.
> >      case '!': // Disparage severely.
> > -    case '#': // Ignore as constraint.
> >      case '*': // Ignore for choosing register preferences.
> >        break;  // Pass them.
> >      }
> >
> > Modified: cfe/trunk/test/Sema/asm.c
> > URL:
> >
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/asm.c?rev=225600&r1=225599&r2=225600&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/test/Sema/asm.c (original)
> > +++ cfe/trunk/test/Sema/asm.c Sun Jan 11 02:52:38 2015
> > @@ -177,3 +177,9 @@ void fn2() {
> >   __asm__(""
> >            : "+&m"(l)); // expected-error {{invalid output constraint
> >            '+&m' in asm}}
> >  }
> > +
> > +void fn3() {
> > +  int l;
> > + __asm__(""
> > +          : "+#r"(l)); // expected-error {{invalid output constraint
> > '+#r' in asm}}
> > +}
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
>
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150113/7e0f6dd1/attachment.html>


More information about the cfe-commits mailing list