This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/81813] New: Inefficient stack pointer adjustment
- From: "jpoimboe at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 11 Aug 2017 02:31:32 +0000
- Subject: [Bug c/81813] New: Inefficient stack pointer adjustment
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81813
Bug ID: 81813
Summary: Inefficient stack pointer adjustment
Product: gcc
Version: 7.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: jpoimboe at redhat dot com
Target Milestone: ---
Created attachment 41968
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41968&action=edit
fs_pin.i
With GCC 7.1, the kernel's object code static analysis tool (objtool) found
this unusual method of adjusting the stack pointer in the kernel:
2cc: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx
2d1: 48 89 cc mov %rcx,%rsp
The value in %rcx was never used afterwards. It would be faster and more
straightforward to just add 8 to %rsp.
To recreate:
gcc -mno-sse -mpreferred-stack-boundary=3 -O2 -c -o fs_pin.o fs_pin.i