https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66697
--- Comment #25 from uros at gcc dot gnu.org --- Author: uros Date: Wed Oct 7 17:42:09 2015 New Revision: 228577 URL: https://gcc.gnu.org/viewcvs?rev=228577&root=gcc&view=rev Log: PR target/66697 * config/i386/i386.c (ix86_option_override_internal): Always use 8-byte minimum stack boundary in 64-bit mode. (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY. (ix86_emit_save_reg_using_mov): Support unaligned SSE store. Add a REG_CFA_EXPRESSION note if needed. (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load. (ix86_handle_force_align_arg_pointer_attribute): New. (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check. (ix86_attribute_table): Set ix86_force_align_arg_pointer_string with ix86_handle_force_align_arg_pointer_attribute. * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD. testsuite/ChangeLog: PR target/66697 * gcc.target/i386/20060512-1.c: Remove ia32 requirement. (PUSH, POP): New defines. (sse2_test): Use PUSH and POP to misalign runtime stack. * gcc.target/i386/20060512-2.c: Remove ia32 requirement. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/i386/20060512-1.c trunk/gcc/testsuite/gcc.target/i386/20060512-2.c