[Bug target/82499] x86: small stack initial adjustments could use push

2018-04-16 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82499

--- Comment #6 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Mon Apr 16 18:42:57 2018
New Revision: 259408

URL: https://gcc.gnu.org/viewcvs?rev=259408=gcc=rev
Log:
i386: Move struct ix86_frame to machine_function

Make ix86_frame available to i386 code generation.  This is needed to
backport the patch set of -mindirect-branch= to mitigate variant #2 of
the speculative execution vulnerabilities on x86 processors identified
by CVE-2017-5715, aka Spectre.

Backport from mainline
2017-10-13  H.J. Lu  

PR target/82499
* config/i386/i386.h (ix86_red_zone_size): New.

2017-06-01  Bernd Edlinger  

* config/i386/i386.c (ix86_frame): Moved to ...
* config/i386/i386.h (ix86_frame): Here.
(machine_function): Add frame.
* config/i386/i386.c (ix86_compute_frame_layout): Repace the
frame argument with >machine->frame.
(ix86_can_use_return_insn_p): Don't pass  to
ix86_compute_frame_layout.  Copy frame from cfun->machine->frame.
(ix86_can_eliminate): Likewise.
(ix86_expand_prologue): Likewise.
(ix86_expand_epilogue): Likewise.
(ix86_expand_split_stack_prologue): Likewise.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/i386/i386.c
branches/gcc-6-branch/gcc/config/i386/i386.h

[Bug target/82499] x86: small stack initial adjustments could use push

2017-10-13 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82499

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #5 from H.J. Lu  ---
Fixed for GCC 8.

[Bug target/82499] x86: small stack initial adjustments could use push

2017-10-13 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82499

--- Comment #4 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Fri Oct 13 10:04:59 2017
New Revision: 253718

URL: https://gcc.gnu.org/viewcvs?rev=253718=gcc=rev
Log:
i386: Check red zone size in push peephole2

Check red zone size, instead of if red zone is available, in push
peephole2s.

gcc/

PR target/82499
* config/i386/i386.h (ix86_red_zone_size): New.
* config/i386/i386.md (push peephole2s): Replace
"!ix86_using_red_zone ()" with "ix86_red_zone_size == 0".

gcc/testsuite/

PR target/82499
* gcc.target/i386/pr82499-1.c: New file.
* gcc.target/i386/pr82499-2.c: Likewise.
* gcc.target/i386/pr82499-3.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr82499-1.c
trunk/gcc/testsuite/gcc.target/i386/pr82499-2.c
trunk/gcc/testsuite/gcc.target/i386/pr82499-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.h
trunk/gcc/config/i386/i386.md
trunk/gcc/testsuite/ChangeLog

[Bug target/82499] x86: small stack initial adjustments could use push

2017-10-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82499

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
When the other adjacent macros are prefixed with ix86, shouldn't the new one be
too instead of x86?
Should the testcase also use -fno-stack-protector? I think with
-fstack-protector-all one might get also extra stack space.

[Bug target/82499] x86: small stack initial adjustments could use push

2017-10-10 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82499

--- Comment #2 from H.J. Lu  ---
Created attachment 42337
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42337=edit
Does it look OK?

[Bug target/82499] x86: small stack initial adjustments could use push

2017-10-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82499

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Target||x86_64-*-*, i?86-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-10-10
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.