This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.0 Status Report
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: GCC 3.0 Status Report
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Tue, 12 Jun 2001 13:30:43 +0100 (BST)
- cc: <gcc at gcc dot gnu dot org>
On Mon, 11 Jun 2001, Mark Mitchell wrote:
> Reload: This is PR2876. Bernd attempted to fix this, but the
> patch broke IRIX. We should try again.
I've looked into this. There's something extremely weird going on in
the mips backend; the reload_outdi pattern generates uninitialized uses
(at least according to the rtl) of regs 64 and 65 (lo/hi). We end up
with a sequence of
(insn/i 213 437 452 (parallel[
(set (reg:DI 66 accum)
(mult:DI (zero_extend:DI (reg:SI 4 a0 [151]))
(zero_extend:DI (reg:SI 2 v0 [152]))))
(clobber (reg:DI 65 lo))
(clobber (reg:DI 64 hi))
] ) 41 {mulsidi3_64bit} (insn_list 211 (insn_list 212 (nil)))
(nil))
(insn 452 213 454 (set (reg:DI 6 a2)
(reg:DI 65 lo)) 154 {movdi_internal2} (nil)
(nil))
It all apparently goes downhill from there.
This needs someone familiar with that target to investigate the mips.md
braindamage.
Bernd