[Bug target/82499] x86: small stack initial adjustments could use push
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.
[Bug target/82499] x86: small stack initial adjustments could use push
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&action=edit Does it look OK?
[Bug target/82499] x86: small stack initial adjustments could use push
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
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&root=gcc&view=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
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
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&root=gcc&view=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 &cfun->machine->frame. (ix86_can_use_return_insn_p): Don't pass &frame 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