This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Reloads broken on VAX. (after sunday)
- From: Richard Henderson <rth at redhat dot com>
- To: Dave Miller <davem at redhat dot com>
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 2 Oct 2002 18:07:58 -0700
- Subject: Re: Reloads broken on VAX. (after sunday)
- References: <5.1.1.6.2.20021001230356.033b1560@3am-software.com>
Dave, I suspect this is yours. Are you _really_ sure you
want to be using true_regnum and not reg_or_subregno?
r~
On Tue, Oct 01, 2002 at 11:42:24PM -0700, Matt Thomas wrote:
> When compiling libf2c/libI77/backspace.c, the following two insn's are
> incorrectly merged.
>
> (insn 3 523 4 0 0x0 (set (reg/v/f:SI 22)
> (mem/f:SI (plus:SI (reg/f:SI 12 %ap)
> (const_int 4 [0x4])) [5 a+0 S4 A32])) 16 {movsi} (nil)
> (expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 12 %ap)
> (const_int 4 [0x4])) [5 a+0 S4 A32])
> (nil)))
>
> (insn 13 12 14 0 0x484455ac (set (reg:SI 153)
> (mem/s:SI (plus:SI (reg/v/f:SI 22)
> (const_int 4 [0x4])) [4 <variable>.aunit+0 S4 A32])) 16
> {movsi}
>
> Get merged to (in postreload):
>
> (insn 13 12 14 0 0x484455ac (set (reg:SI 1 %r1 [153])
> (mem/s:SI (plus:SI (mem/f:SI (plus:SI (reg/f:SI 12 %ap)
> (const_int 4 [0x4])) [5 a+0 S4 A32])
> (const_int 4 [0x4])) [4 <variable>.aunit+0 S4 A32])) 16
> {movsi}
>
> Now this was never given to GO_IF_LEGITIMATE_ADDRESS to approve but was
> given to print_operand_address (which died on it). This is not related to
> the VAX ELF changes since I've been running with them.
>
> I see similar breakage compiling unwind-dw2.c:
>
> (plus:SI (mem:SI (plus:SI (reg/f:SI 13 %fp)
> (const_int -24 [0xffffffe8])) [28 unused_rs S4 A8])
> (const_int 136 [0x88]))
> /export/toolchain/gcc/gcc/unwind-dw2.c: In function `execute_cfa_program':
> /export/toolchain/gcc/gcc/unwind-dw2.c:892: internal compiler error: in
> print_operand_address, at config/vax/vax.c:357
>
> gcc version 3.3 20020929 (experimental) was working properly
> gcc version 3.3 20021001 (experimental) is broken.
>
> --
> Matt Thomas Internet: matt@3am-software.com
> 3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt/
> Cupertino, CA Disclaimer: I avow all knowledge of this message
>