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



Richard Biener <rguenth at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |ASSIGNED

   Last reconfirmed|                            |2013-05-03

          Component|tree-optimization           |middle-end

         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org

                   |gnu.org                     |

   Target Milestone|---                         |4.9.0

     Ever Confirmed|0                           |1



--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-05-03 
09:08:31 UTC ---

Confirmed also on x86_64:



TestSyscall:

.LFB38:

        .cfi_startproc

        pushl   %edi

        .cfi_def_cfa_offset 8

        .cfi_offset 7, -8

        movl    $g_expected_regs, %edi

        pushl   %esi

        .cfi_def_cfa_offset 12

        .cfi_offset 6, -12

        subl    $65636, %esp

        .cfi_def_cfa_offset 65648

        leal    28(%esp), %esi

        movl    %esi, (%esp)

        movl    $0, 4(%esp)

        call    RegsFillTestValues

        leal    65632(%esp), %eax

        movl    %esi, (%esp)

        movl    %eax, 80(%esp)

        movl    $ContinueAfterSyscall, 88(%esp)

        call    RegsApplySandboxConstraints

        movl    $17, %ecx

        rep movsl

        movl    $g_expected_regs, (%esp)

        call    RegsUnsetNonCalleeSavedRegisters

        movl    g_expected_regs+60, %eax

        movl    %eax, g_expected_regs+4

        movl    g_expected_regs+52, %eax

        movl    %eax, g_expected_regs

        .cfi_endproc

.LFE38:

        .size   TestSyscall, .-TestSyscall

        .p2align 4,,15



It's because we have



  <bb 4>:

  g_expected_regs = call_regs;

  RegsUnsetNonCalleeSavedRegisters (&g_expected_regs);



  <bb 5>:

  _22 = g_expected_regs.prog_ctr;

  g_expected_regs.r1 = _22;

  _23 = g_expected_regs.stack_ptr;

  g_expected_regs.r0 = _23;

  __builtin_unreachable ();



which appears first in t.i.034t.local-pure-const1.



Weird.

Reply via email to