This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.2 branch libstdc++ abi_check.cc bootstrap failure on AIX
- From: Richard Henderson <rth at redhat dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Mark Mitchell <mark at codesourcery dot com>, gcc at gcc dot gnu dot org
- Date: Fri, 25 Oct 2002 15:58:06 -0700
- Subject: Re: GCC 3.2 branch libstdc++ abi_check.cc bootstrap failure on AIX
- References: <109930000.1035487357@warlock.codesourcery.com> <200210252232.SAA26452@makai.watson.ibm.com>
On Fri, Oct 25, 2002 at 06:32:01PM -0400, David Edelsohn wrote:
> Reload 0: reload_in (SI) = (plus:SI (reg/f:SI 1 r1)
> (const_int 520 [0x208]))
> BASE_REGS, RELOAD_FOR_INPUT (opnum = 2)
> reload_in_reg: (plus:SI (reg/f:SI 1 r1)
> (const_int 520 [0x208]))
> reload_reg_rtx: (reg:SI 11 r11)
>
> (insn 1856 16488 16458 (parallel[
> (set (reg:SI 4 r4)
> (mem/s:SI (reg:SI 11 r11) [0 S4 A128]))
> (set (reg:SI 5 r5)
> (mem/s:SI (plus:SI (reg/f:SI 929)
> (const_int 4 [0x4])) [0 S4 A32]))
> (set (reg:SI 6 r6)
> (mem/s:SI (plus:SI (reg/f:SI 929)
> (const_int 8 [0x8])) [0 S4 A64]))
> (set (reg:SI 7 r7)
> (mem/s:SI (plus:SI (reg/f:SI 929)
> (const_int 12 [0xc])) [0 S4 A32]))
> ] ) 322 {*rs6000.md:8737}
Note that there is only one input reload because there is only one
operand visible to reload. It's an unfortunate fact that match_parallel
cannot work with arbitrary instructions before reload.
This was "solved" in the ARM backend by using separate patterns for
2 to 4 input registers.
r~