lkml.org 
[lkml]   [2015]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[PATCH] Use -mskip-rax-setup if supported
From
GCC 5 added a compiler option, -mskip-rax-setup, for x86-64.  It skips
setting up the RAX register when SSE is disabled and there are no
variable arguments passed in vector registers. Since kernel doesn't
pass vector registers to functions with variable arguments, this option
can be used to optimize the x86-64 kernel. For kernel 3.17:

text data bss dec hex filename
11455921 2204048 5853184 19513153 129bf41 vmlinux #with -mskip-rax-setup
11480079 2204048 5853184 19537311 12a1d9f vmlinux


--
H.J.
From a759c1a4f6ffa408d49e1959449d6797769b951e Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 17 Dec 2014 18:05:29 -0800
Subject: [PATCH] Use -mskip-rax-setup if supported

GCC 5 added a compiler option, -mskip-rax-setup, for x86-64. It skips
setting up the RAX register when SSE is disabled and there are no
variable arguments passed in vector registers. Since kernel doesn't
pass vector registers to functions with variable arguments, this option
can be used to optimize the x86-64 kernel. For kernel 3.17:

text data bss dec hex filename
11455921 2204048 5853184 19513153 129bf41 vmlinux #with -mskip-rax-setup
11480079 2204048 5853184 19537311 12a1d9f vmlinux

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
arch/x86/Makefile | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 5ba2d9c..40af1ba 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -84,6 +84,9 @@ else
# Use -mpreferred-stack-boundary=3 if supported.
KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)

+ # Use -mskip-rax-setup if supported.
+ KBUILD_CFLAGS += $(call cc-option,-mskip-rax-setup)
+
# FIXME - should be integrated in Makefile.cpu (Makefile_32.cpu)
cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8)
cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
--
1.9.3
\
 
 \ /
  Last update: 2015-04-16 23:41    [W:0.079 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site