This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: sparc-sun-solaris2.8 bootstrap failure
Hi Rainer,
> > Sorry about this breakage. Do you happen to know which source file is
> > miscompiled? I have a remote access to sparc-sun-solaris2.8. If I
>
> Unfortunately not: I've just run a regular regression hunt (complicated by
> the fact that the stage1 cc1 is ok) to identify the culprit.
Here is some update. find_many_sub_basic_blocks() in cfgbuild.c gets
miscompiled. The minimized testcase is
int
foo (int arg)
{
return (arg & 1) ? 2 : 1;
}
The combiner outputs
(set (reg:SI 111)
(and:SI (reg:SI 24 %i0 [ arg ])
(const_int 1)))
(set (reg:SI 113)
(const_int 2 [0x2]))
(set (reg/i:SI 24 %i0 [ <result> ])
(minus:SI (reg:SI 113)
(reg:SI 111)))
Note that the result is flipped. When the function is supposed to
return 2, it return 1, and vice versa.
Kazu Hirata