[Bug target/80969] [8 Regression] ICE in ix86_expand_prologue, at config/i386/i386.c:14606
aldyh at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 13 17:25:00 GMT 2017
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.santos@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.santos@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
More information about the Gcc-bugs
mailing list