[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
Mon Oct 12 16:30:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66697
--- Comment #28 from uros at gcc dot gnu.org ---
Author: uros
Date: Mon Oct 12 16:29:37 2015
New Revision: 228728
URL: https://gcc.gnu.org/viewcvs?rev=228728&root=gcc&view=rev
Log:
Backport from mainline
2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_compute_frame_layout): Round up the
SSE register save area to 16 bytes only if the incoming stack
boundary is no less than 16 bytes.
Backport from mainline
2015-10-07 Uros Bizjak <ubizjak@gmail.com>
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:
Backport from mainline
2015-10-07 Uros Bizjak <ubizjak@gmail.com>
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:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/i386/i386.c
branches/gcc-5-branch/gcc/config/i386/i386.h
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/20060512-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/20060512-2.c
More information about the Gcc-bugs
mailing list