This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/9123: [3.2/3.3/3.4 regression ] Internal compiler error in do_SUBST at combine.c:434
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: jason at gcc dot gnu dot org
- Cc: gcc-bugs at gcc dot gnu dot org,khindenburg at cherrynebula dot net,nobody at gcc dot gnu dot org,gcc-gnats at gcc dot gnu dot org
- Date: Fri, 28 Mar 2003 11:17:31 +0100
- Subject: Re: optimization/9123: [3.2/3.3/3.4 regression ] Internal compiler error in do_SUBST at combine.c:434
- References: <20030310223743.28280.qmail@sources.redhat.com>
> Not a c++-specific bug; it's dying because it's trying to substitute
> (unsigned char)-1 for a QI reg, but combine doesn't like that because
> (HOST_WIDE_INT)255 != (HOST_WIDE_INT)-1. Here's a C testcase:
>
> typedef unsigned char T;
> inline T clamp (T in, T min, T max)
> {
> return in <= min ? min : in >= max ? max : in;
> }
> unsigned char f (int i)
> {
> return clamp (i, 0, 255);
> }
On which versions and with which options does this C testcase fail?
--
Eric Botcazou