Commit 30c5d5d9 authored by Jose Fonseca's avatar Jose Fonseca

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.
parent 6ed726b8
......@@ -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':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment