September 26, 2015

          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

The code:

    int test(int x) { return x; }


        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.