PR target/84128
commit14041afe24556efd5845564aa183b6451fd9d6cc
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Feb 2018 16:22:56 +0000 (1 16:22 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Feb 2018 16:22:56 +0000 (1 16:22 +0000)
treeb2ff6a1b62a89a366d263cb5db9007c76bd02373
parent80d652f55ec7edfaaea273a9a932faf46b72f208
PR target/84128
* config/i386/i386.c (release_scratch_register_on_entry): Add new
OFFSET and RELEASE_VIA_POP arguments.  Use SP+OFFSET to restore
the scratch if RELEASE_VIA_POP is false.
(ix86_adjust_stack_and_probe_stack_clash): Un-constify SIZE.
If we have to save a temporary register, decrement SIZE appropriately.
Pass new arguments to release_scratch_register_on_entry.
(ix86_adjust_stack_and_probe): Likewise.
(ix86_emit_probe_stack_range): Pass new arguments to
release_scratch_register_on_entry.

PR target/84128
* gcc.target/i386/pr84128.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257303 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr84128.c [new file with mode: 0644]