Mesa (master): scons: Re-enable SSE on MinGW.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Sun Sep 5 09:18:03 UTC 2010
Module: Mesa
Branch: master
Commit: 30c5d5d9d866749f55730117011f18f3f217b6d5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=30c5d5d9d866749f55730117011f18f3f217b6d5
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Sep 2 13:44:29 2010 +0100
scons: Re-enable SSE on MinGW.
It seems to be working correctly with gcc 4.4, and enabling it allows to
test some of the llvmpipe instrinsics on Windows.
---
scons/gallium.py | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/scons/gallium.py b/scons/gallium.py
index d9a5fe0..f5de471 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -271,24 +271,24 @@ def generate(env):
ccflags += [
'-m32',
#'-march=pentium4',
- #'-mfpmath=sse',
]
- if platform != 'windows':
- # XXX: -mstackrealign causes stack corruption on MinGW. Ditto
- # for -mincoming-stack-boundary=2. Still enable it on other
- # platforms for now, but we can't rely on it for cross platform
- # code. We have to use __attribute__((force_align_arg_pointer))
- # instead.
+ if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.2'):
+ # NOTE: We need to ensure stack is realigned given that we
+ # produce shared objects, and have no control over the stack
+ # alignment policy of the application. Therefore we need
+ # -mstackrealign ore -mincoming-stack-boundary=2.
+ #
+ # XXX: We could have SSE without -mstackrealign if we always used
+ # __attribute__((force_align_arg_pointer)), but that's not
+ # always the case.
ccflags += [
+ '-mstackrealign', # ensure stack is aligned
'-mmmx', '-msse', '-msse2', # enable SIMD intrinsics
+ #'-mfpmath=sse',
]
if platform in ['windows', 'darwin']:
# Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
ccflags += ['-fno-common']
- if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.2'):
- ccflags += [
- '-mstackrealign', # ensure stack is aligned
- ]
if env['machine'] == 'x86_64':
ccflags += ['-m64']
if platform == 'darwin':
More information about the mesa-commit
mailing list