www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 15121] New: Unneeded stack frame generated

https://issues.dlang.org/show_bug.cgi?id=15121

          Issue ID: 15121
           Summary: Unneeded stack frame generated
           Product: D
           Version: D2
          Hardware: x86_64
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: bugzilla digitalmars.com

The code:

    int test(int x) { return x; }

generates:

        55                      push    RBP
        48 8B EC                mov     RBP,RSP
        48 89 C8                mov     RAX,RCX
        5D                      pop     RBP
        C3                      ret

The stack frame is not necessary, and the 48 REX prefix on the RAX register
move is also unnecessary.

--
Sep 26 2015