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



--- Comment #2 from Andreas Schwab <sch...@linux-m68k.org> 2012-10-28 15:30:37 
UTC ---

What exactly did you test?  The bug is clearly present before r192890.  Here is

the diff between r192889 and r192890:



@@ -1663,16 +1663,17 @@ _Z6test01v:

     .cfi_startproc

     .cfi_personality 0,__gxx_personality_v0

     .cfi_lsda 0,.LLSDA2633

-    link.w %fp,#-68

+    link.w %fp,#-72

     .cfi_offset 14, -8

     .cfi_def_cfa 14, 8

     movem.l #12348,-(%sp)

-    .cfi_offset 2, -100

-    .cfi_offset 3, -96

-    .cfi_offset 10, -92

-    .cfi_offset 11, -88

-    .cfi_offset 12, -84

-    .cfi_offset 13, -80

+    .cfi_offset 2, -104

+    .cfi_offset 3, -100

+    .cfi_offset 10, -96

+    .cfi_offset 11, -92

+    .cfi_offset 12, -88

+    .cfi_offset 13, -84

+    lea (%pc, _GLOBAL_OFFSET_TABLE_@GOTPC), %a5

     clr.l -48(%fp)

     clr.l -44(%fp)

     pea 104.w

@@ -1791,22 +1792,22 @@ _Z6test01v:

     jsr _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE

 .LEHE14:

     addq.l #8,%sp

-    move.l -16(%fp),%a5

-    tst.l %a5

+    move.l -16(%fp),%a1

+    tst.l %a1

     jeq .L329

-    lea (4,%a5),%a0

+    lea (4,%a1),%a0

     move.l #_ZL28__gthrw___pthread_key_createPjPFvPvE,%d2

     jeq .L323

     move.l (%a0),%d0

 .L324:

-    move.l %d0,%a1

+    move.l %d0,%d3

     move.l %d0,%d1

     subq.l #1,%d1

     cas.l %d0,%d1,(%a0)

     seq %d1

     tst.b %d1

     jeq .L324

-    move.l %a1,%d0

+    move.l %d3,%d0

     moveq #1,%d1

     cmp.l %d0,%d1

     jeq .L446

@@ -1925,7 +1926,7 @@ _Z6test01v:

     cmp.l %a0,%d1

     jeq .L450

 .L309:

-    movem.l -92(%fp),#15372

+    movem.l -96(%fp),#15372

     unlk %fp

     rts

 .L351:

@@ -2005,30 +2006,32 @@ _Z6test01v:

     sub.l %a0,%a0

     jra .L321

 .L446:

-    move.l (%a5),%a0

-    move.l %a5,-(%sp)

+    move.l (%a1),%a0

+    move.l %a1,-(%sp)

     move.l 8(%a0),%a0

+    move.l %a1,-72(%fp)

     jsr (%a0)

-    lea (8,%a5),%a0

+    move.l -72(%fp),%a1

+    lea (8,%a1),%a0

     addq.l #4,%sp

     tst.l %d2

     jeq .L326

     move.l (%a0),%d0

 .L327:

-    move.l %d0,%a1

+    move.l %d0,%d2

     move.l %d0,%d1

     subq.l #1,%d1

     cas.l %d0,%d1,(%a0)

     seq %d1

     tst.b %d1

     jeq .L327

-    move.l %a1,%d0

+    move.l %d2,%d0

     moveq #1,%d1

     cmp.l %d0,%d1

     jne .L329

 .L452:

-    move.l (%a5),%a0

-    move.l %a5,-(%sp)

+    move.l (%a1),%a0

+    move.l %a1,-(%sp)

     move.l 12(%a0),%a0

     jsr (%a0)

     addq.l #4,%sp

@@ -2056,7 +2059,7 @@ _Z6test01v:

     move.l 12(%a0),%a0

     jsr (%a0)

     addq.l #4,%sp

-    movem.l -92(%fp),#15372

+    movem.l -96(%fp),#15372

     unlk %fp

     rts

 .L449:

@@ -2147,19 +2150,19 @@ _Z6test01v:

     addq.l #1,4(%a2)

     jra .L312

 .L323:

-    move.l 4(%a5),%d0

+    move.l 4(%a1),%d0

     move.l %d0,%d1

     subq.l #1,%d1

-    move.l %d1,4(%a5)

+    move.l %d1,4(%a1)

     moveq #1,%d1

     cmp.l %d0,%d1

     jne .L329

     jra .L446

 .L326:

-    move.l 8(%a5),%d0

+    move.l 8(%a1),%d0

     move.l %d0,%d1

     subq.l #1,%d1

-    move.l %d1,8(%a5)

+    move.l %d1,8(%a1)

     moveq #1,%d1

     cmp.l %d0,%d1

     jne .L329

Reply via email to