------- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-09 09:21 -------
Confirmed.  We move parameter initialization after the call...

  this->D.2090._vptr.Base = &_ZTV7Derived[2];
  __comp_ctor  (&foo, &this->D.2090);

@@ -59,11 +59,11 @@
        movq    %rbx, %rsi
        subq    $16, %rsp
 .LCFI1:
-       movq    $_ZTV7Derived+16, (%rdi)
        leaq    15(%rsp), %rdi
 .LEHB0:
        call    _ZN3FooC1ER4Base
 .LEHE0:
+       movq    $_ZTV7Derived+16, (%rbx)
        addq    $16, %rsp
        popq    %rbx
        ret


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|c++                         |rtl-optimization
     Ever Confirmed|0                           |1
           Keywords|                            |wrong-code
   Last reconfirmed|0000-00-00 00:00:00         |2008-05-09 09:21:23
               date|                            |
            Summary|wrong code with  -O2 -fgcse-|[4.4 Regression] wrong code
                   |sm                          |with  -O2 -fgcse-sm
   Target Milestone|---                         |4.4.0


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

Reply via email to