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