This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/28881] New: Improve epilogue code in m68k


m68k_output_function_epilogue uses leaf_function_p.
Consider using (stack_pointer_delta == 0) instead.
A quick experiment shows improvements like so:

-       move.l -8(%fp),%d2
-       move.l -4(%fp),%d3
+       move.l (%sp)+,%d2
+       move.l (%sp)+,%d3
        unlk %fp
        rts

Note that the move.l instruction without a displacement is shorter than the one
with a displacement.


-- 
           Summary: Improve epilogue code in m68k
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: kazu at gcc dot gnu dot org
GCC target triplet: m68k-none-elf


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]