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/66697] Feature request: -mstackrealign and force_align_arg_pointer for x86_64


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


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