https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80969

--- Comment #6 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Author: aldyh
Date: Wed Sep 13 17:25:11 2017
New Revision: 252554

URL: https://gcc.gnu.org/viewcvs?rev=252554&root=gcc&view=rev
Log:
PR target/80969 - Fix ICE with -mabi=ms -mavx512f, reduce wasted space when
realigning stack.

2017-08-23  Daniel Santos  <daniel.san...@pobox.com>

        * config/i386/i386.h (ix86_frame::stack_realign_allocate_offset):
        Remove field.
        (ix86_frame::stack_realign_allocate): New field.
        (struct machine_frame_state): Modify comments.
        (machine_frame_state::sp_realigned_fp_end): New field.
        * config/i386/i386.c (ix86_compute_frame_layout): Rework stack frame
        layout calculation.
        (sp_valid_at): Add assertion to assure no attempt to access invalid
        offset of a realigned stack.
        (fp_valid_at): Likewise.
        (choose_baseaddr): Modify comments.
        (ix86_emit_outlined_ms2sysv_save): Adjust to changes in
        ix86_expand_prologue.
        (ix86_expand_prologue): Modify stack realignment and allocation.
        (ix86_expand_epilogue): Modify comments.
        * doc/sourcebuild.texi: Add documentation for target selectors avx2,
        avx2_runtime, avx512f, and avx512f_runtime.

2017-08-23  Daniel Santos  <daniel.san...@pobox.com>

        * gcc.target/i386/pr80969-1.c: New testcase.
        * gcc.target/i386/pr80969-2a.c: Likewise.
        * gcc.target/i386/pr80969-2.c: Likewise.
        * gcc.target/i386/pr80969-3.c: Likewise.
        * gcc.target/i386/pr80969-4a.c: Likewise.
        * gcc.target/i386/pr80969-4b.c: Likewise.
        * gcc.target/i386/pr80969-4.c: Likewise.
        * gcc.target/i386/pr80969-4.h: New header common to pr80969-4*.c
        * lib/target-supports.exp (check_avx512_os_support_available,
        check_avx512f_hw_available, check_effective_target_avx512f_runtime):
        New proceedures for target avx512f and avx512f_runtime selectors.
        (check_avx2_hw_available): Fix breakage due NULL being undefined.

Added:
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-1.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-2.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-2a.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-3.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-4.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-4.h
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-4a.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr80969-4b.c
Modified:
    branches/range-gen2/gcc/ChangeLog
    branches/range-gen2/gcc/config/i386/i386.c
    branches/range-gen2/gcc/config/i386/i386.h
    branches/range-gen2/gcc/doc/sourcebuild.texi
    branches/range-gen2/gcc/testsuite/ChangeLog
    branches/range-gen2/gcc/testsuite/lib/target-supports.exp

Reply via email to