inline-asm/4823: [3.2/3.3/3.4 regression] gcc reports internal compiler error on legal code
Jan Hubicka
jh@suse.cz
Mon Mar 24 23:16:00 GMT 2003
The following reply was made to PR inline-asm/4823; it has been noted by GNATS.
From: Jan Hubicka <jh@suse.cz>
To: Steven Bosscher <s.bosscher@student.tudelft.nl>
Cc: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
rudd@cyberoptics.com, gcc-prs@gcc.gnu.org, rodrigc@gcc.gnu.org,
jh@suse.cz
Subject: Re: inline-asm/4823: [3.2/3.3/3.4 regression] gcc reports internal compiler error on legal code
Date: Mon, 24 Mar 2003 23:38:02 +0100
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4823
>
> For Wolfgang's smaller testcase:
>
> ---------------------------------
> void
> f (void)
> {
> double result;
> asm volatile (
> " faddp %0, %1 \n\t"
> : "=&t" (result)
> : "u" (result),
> "0" (result)
> : "%st", "%st(1)", "%st(2)", "%st(3)",
> "%st(4)", "%st(5)", "%st(6)", "%st(7)"
> );
> }
> ------------------------
>
> we now don't crash. Instead we bail out with an error.
>
> # gcc-3.3 -c 4823.c
> 4823.c: In function `f':
> 4823.c:5: error: output constraint 0 cannot be specified together with
> "st" clobber
> 4823.c:8: confused by earlier errors, bailing out
> # gcc-3.3 -c 4823.c -O
> 4823.c: In function `f':
> 4823.c:5: error: output constraint 0 cannot be specified together with
> "st" clobber
> 4823.c:8: confused by earlier errors, bailing out
> # gcc-3.3 -c 4823.c -O2
> 4823.c: In function `f':
> 4823.c:5: error: output constraint 0 cannot be specified together with
> "st" clobber
> 4823.c:8: confused by earlier errors, bailing out
>
> Honza, is this the correct behavior?
Hmm, not really "confused by earlier errors, bailing out" means that
compiler segfaulted. It is different failure - the reg-stack is not
really good at dealing with missformed asm constrains. I believe I've
sent a patch some time ago for similar problem, will try to dig it out,
but probably next week - this week is bit too hectic for me.
Honza
>
> Greetz
> Steven
>
More information about the Gcc-prs
mailing list