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