This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/52650] [4.8 Regression] FAIL: gcc.dg/torture/pr51106-2.c * (internal compiler error)


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52650

--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2012-03-21 15:51:23 UTC ---
> and with #if 1 they fail?  As they are wrong-code regressions on
> an architecture I have no access to, can you see what is the issue here?

Right.  I've compared assembler output for

FAIL: gcc.dg/torture/20090618-1.c  -O1  execution test

which aborts with the #if 1 code:

> diff -u 285{,.orig}/gcc/testsuite/gcc/20090618-1.s
--- 285/gcc/testsuite/gcc/20090618-1.s  2012-03-21 16:38:25.780827400 +0100
+++ 285.orig/gcc/testsuite/gcc/20090618-1.s     2012-03-21 16:38:13.525278500
+0100
@@ -6,10 +6,7 @@
        .proc   04
 foo:
        add     %sp, -96, %sp
-       st      %g0, [%sp+92]
-       mov     1, %g1
-       st      %g1, [%sp+88]
-       mov     1, %o0
+       ld      [%sp+88], %o0
        jmp     %o7+8
         sub    %sp, -96, %sp
        .size   foo, .-foo

As you can see, the i = 0, j = 1 initializations are lost completely,
and the ld insn reads from an uninitialized stack slot.

    Rainer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]