https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78962
Bug ID: 78962 Summary: i386: Missed optimization: unaligned SSE movs with force_align_arg_pointer Product: gcc Version: 5.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: daniel.santos at pobox dot com Target Milestone: --- void b (void); /* Normal System V function. */ __attribute__((ms_abi, force_align_arg_pointer)) void a (void) { b (); } When using __attribute__((force_align_arg_pointer)) on 64-bit code, the stack pointer is re-aligned, but SSE movs in pro/epilogues to save/restore clobbers caused by the Microsoft ABI function calling a System V function are emitted unaligned. I posted a patchset for this problem here https://gcc.gnu.org/ml/gcc-patches/2016-12/msg01924.html. Uros advised to resubmit when the next stage 1 rolls around, so filing a bug for now.