From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8542 invoked by alias); 25 Oct 2002 21:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 8505 invoked by uid 71); 25 Oct 2002 21:56:01 -0000 Resent-Date: 25 Oct 2002 21:56:01 -0000 Resent-Message-ID: <20021025215601.8503.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, dje@watson.ibm.com Received: (qmail 7427 invoked by uid 61); 25 Oct 2002 21:48:11 -0000 Message-Id: <20021025214811.7426.qmail@sources.redhat.com> Date: Fri, 25 Oct 2002 14:56:00 -0000 From: dje@watson.ibm.com Reply-To: dje@watson.ibm.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: bootstrap/8362: hard reg not substituted for all pseudos on PowerPC X-SW-Source: 2002-10/txt/msg01039.txt.bz2 List-Id: >Number: 8362 >Category: bootstrap >Synopsis: hard reg not substituted for all pseudos on PowerPC >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Oct 25 14:56:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: dje@watson.ibm.com >Release: gcc version 3.2.1 20021024 (prerelease) >Organization: >Environment: powerpc-ibm-aix.4.3.3.0 >Description: AIX bootstrap on the 3.2 branch ICEs while building libstdc++-v3 abi_check.cc with -mcpu=power option. The failure turns out to be more general and more serious because I can reproduce it with a PowerPC compiler using the string instructions, not POWER-specific instructions. The ICE is in reload1.c:reload_combine_note_use() testing that a REG is a hard register and not still a pseudo. greg dump file shows: Reloads for insn # 1856 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 16488 1853 1856 (set (reg:SI 11 r11) (plus:SI (reg/f:SI 1 r1) (const_int 520 [0x208]))) 36 {*addsi3_internal1} (nil) (nil)) (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} (insn_list:REG_DEP_OUTPUT 1843 (insn_list:REG_ DEP_OUTPUT 1846 (insn_list 1842 (insn_list:REG_DEP_ANTI 1849 (nil))))) (nil)) r11 only was substituted for the pseudo in one location, not the multiple locations in the instruction. >How-To-Repeat: cd powerpc-ibm-aix4.3.3.0/libstdc++-v3/testsuite gcc -mstring -O2 -c abi_check.cc >Fix: >Release-Note: >Audit-Trail: >Unformatted: