This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]