Subject: Re: VAX toolchain update
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Matt Thomas <matt@3am-software.com>
List: tech-toolchain
Date: 10/25/1998 22:18:11
At 09:27 PM 10/25/98 , Jonathan Stone wrote:
>
>
>>I have egcs working but not working right.
>>src/lib/libc/stdlib/strtoq.c @ -O2 gives
>>the wrong results. src/gnu/usr.bin/gawk/ 
>>compiled -O also gives incorrect results.
>
>Werent these reported on other ports? 
>if so, sounds like MI problems.

No idea.

>>src/gnu/usr.bin/groff/groff just segfaults no
>>matter the optimization level.
>
>dunno about this one.

I haven't looked closely at it.  I've been building
with NOMAN until I get things closer.

>>src/gnu/usr.bin/binutils/common/ieee.c
>>won't compile @ -O (this also happens
>>with stock egcs-1.1b and gcc-2.8.1)
>
>Which pass is the compiler dying at? sounds maybe it has a bug doing
>patternmatches for sub-ints of a quad_t. wouldnt suprise me at all if
>it was missing templates for some of those.

Nope.  It's failing to match a casesi because reg:SI 413 is not
reg:SI 411.  Turning on -frerun-loop-opt eliminates the failure.

/tmp/ieee.i: In function `ieee_read_cxx_class':
/tmp/ieee.i:4847: internal error--unrecognizable insn:
(jump_insn 2236 2474 2237 (set (pc)
        (if_then_else (leu (minus:SI (mem:SI (reg:SI 413))
                    (const_int 98))
                (const_int 24))
            (plus:SI (sign_extend:SI (mem:HI (plus:SI (pc)
                            (mult:SI (minus:SI (mem:SI (reg:SI 411))
                                    (const_int 98))
                                (const_int 2)))))
                (label_ref:SI 2237))
            (pc))) -1 (insn_list 2471 (insn_list 2474 (nil)))
    (expr_list:REG_DEAD (reg:SI 413)
        (expr_list:REG_DEAD (reg:SI 411)
            (nil))))
../../../egcs-1.1b/gcc/toplev.c:1360: Internal compiler error in function fatal_insn


>is there an RTL dump from the appropriate pass[es] you need help
>digesting?

I know what's happening.  I don't why the optimizer is 
screwing up.

>>I have made corresponding changes to the
>>the gcc 2.7 toolchain which does produce 
>>the correct code in the above instances
>>but can't make PIC code.
>
>Dont follow this, sorry... what did you change in 2.7+myc1?

I changed vax.md, vax.c, and vax.h to correspond
to what I've done in egcs.  Now when I use -fpic,
it fails to match insn patterns. (However, a
-mhalf-pic (just like -fpic except -k is not passed
to as) works fine.  Weird.
-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Sunnyvale, CA             Disclaimer: I avow all knowledge of this message