From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26532 invoked by alias); 7 Jul 2010 08:38:35 -0000 Received: (qmail 26479 invoked by alias); 7 Jul 2010 08:38:22 -0000 Date: Wed, 07 Jul 2010 08:38:00 -0000 Message-ID: <20100707083822.26478.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug debug/44832] [4.6 Regression] -fcompare-debug failure for C++ i386.c In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenther at suse dot de" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg00691.txt.bz2 ------- Comment #12 from rguenther at suse dot de 2010-07-07 08:38 ------- Subject: Re: [4.6 Regression] -fcompare-debug failure for C++ i386.c On Wed, 7 Jul 2010, amylaar at gcc dot gnu dot org wrote: > ------- Comment #11 from amylaar at gcc dot gnu dot org 2010-07-07 02:16 ------- > (In reply to comment #10) > > ;; Function void ix86_expand_vector_init_general(bool, machine_mode, rtx, rtx) > > Compiling the reduced testcase in a subdirectory of the r160832 gcc build > > directory with: > > ../g++ -B.. -da -march=pentiumpro -mtune=generic -m32 t.c --dump-tree-all -g > > -S -fdump-unnumbered > > , I see this in the final dump: > > Hmm, that's actually the same as for r160828; but still, r160828 passes the > -fcompare-debug debug test with the reduced test case, while r160832 fails it. > Running this test with --save-temps and diffing the output shows that somehow > we end up with different tmp_var_id_num values for variables created by > tree-ssa-pre.c: > > --- t.gkd 2010-07-07 03:02:40.831101079 +0100 > +++ t.gk.gkd 2010-07-07 03:02:40.886978157 +0100 > @@ -454,9 +454,9 @@ > (insn:TI# 0 0 t.c:78 (set (reg/f:SI 2 cx [116]) > (mem/s/f:SI (plus:SI (mult:SI (reg/v:SI 0 ax [orig:80 i ] [80]) > (const_int 4 [0x4])) > - (reg/f:SI 3 bx [orig:95 pretmp.21 ] [95])) [ *pretmp.21_81 S4 > A32]))# {*movsi_1} (expr_list:REG_EQUIV (mem/s/f:SI (plus:SI (mult:SI (reg/v:SI > 0 ax [orig:80 i ] [80]) > + (reg/f:SI 3 bx [orig:95 pretmp.21 ] [95])) [ *pretmp.21_82 S4 > A32]))# {*movsi_1} (expr_list:REG_EQUIV (mem/s/f:SI (plus:SI (mult:SI (reg/v:SI > 0 ax [orig:80 i ] [80]) > (const_int 4 [0x4])) > - (reg/f:SI 3 bx [orig:95 pretmp.21 ] [95])) [ *pretmp.21_81 S4 > A32]) > + (reg/f:SI 3 bx [orig:95 pretmp.21 ] [95])) [ *pretmp.21_82 S4 > A32]) > (nil))) > (insn:TI# 0 0 t.c:78 (set (mem/s/f:SI (plus:SI (plus:SI (mult:SI (reg/v:SI 0 > ax [orig:80 i ] [80]) > (const_int 4 [0x4])) Hm, different SSA name versions are not good - that might cause code generation differences. Where do they first differ? Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44832