This is the mail archive of the gcc-regression@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]

Re: GCC build failed with your patch on 2001-01-09T11:35:00Z.


On Jan  9, 2001, "GCC regression checker" <geoffk@cygnus.com> wrote:

> /sloth/delay/tbox/cvs-gcc/gcc/libiberty/cp-demangle.c:1657: Could not split insn
> (insn 514 259 515 (set (reg:SI 9 r9 [168])
>         (const_int 2863267840 [0xaaaa0000])) 282 {*movsi_internal1} (nil)
>     (nil))
> /sloth/delay/tbox/cvs-gcc/gcc/libiberty/cp-demangle.c:1657: Internal compiler error in final_scan_insn, at final.c:2986

This is certainly caused by:

> +2001-01-09  Alexandre Oliva  <aoliva@redhat.com>

> +	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
> +	if it's wider than long and the target's long is wider than the
> +	host's.

But it appears to me that the bug is in rs6000.h.  For a start, 
CONST_OK_FOR_LETTER_P(VALUE, 'L') assumes right-shift does
sign-extension; that's not necessarily true.

Second, it assumes VALUE must be signed 32-bit value, but, in this
case, it isn't.  I haven't investigated where this value comes from,
so I can't tell whether it is correct for it to be a positive 64-bit
value or if it should have been sign-extended.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me

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