This is the mail archive of the gcc-bugs@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: New trunk breakage on mips-sgi-irix6.2 stage1 compiling libgcc2


On May  3, 2001, "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> wrote:

>> 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
>> 
>> Re-installed 2001-01-09's patch:
>> * 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.

The culprit is definitely this one (actually, it just exposes
pre-existing bugs, but who cares? :-)

Unfortunately, I don't have access to an IRIX box at the moment, and
I'm about to take off for tonight, so I won't be able to do much about
it in the next 24 hours :-(

If you have a bit of spare time and would like to help, the trick to
solve this problem is generally to go after GEN_INT expressions in the
.md, .c and .h files and see if they could possibly be generating RTL
CONST_INTs that are not valid sign-extensions within the mode of the
operation in which they're used, and introduce a trunc_int_for_mode()
to make sure it's a sign-extension.  Don't worry about peepholes or
values used only for output; expands and splits are the places in
which you'll find problems.

I've just posted two patches that fix problems related with
sign-extension of CONST_INTs in the middle end; perhaps they might
help mips too?

-- 
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]