[Bug target/66697] Feature request: -mstackrealign and force_align_arg_pointer for x86_64
uros at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Oct 7 17:42:00 GMT 2015
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
More information about the Gcc-bugs
mailing list