------- 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

Reply via email to