Bug 536725 - Disable SSE1 code on Windows x64 r=jmuizelaar

This commit is contained in:
Makoto Kato 2010-02-01 17:43:21 +09:00
parent 164c34b003
commit 49b6a5ee05
2 changed files with 8 additions and 1 deletions

View File

@ -16,6 +16,9 @@ EXPORTS = qcms.h qcmstypes.h
CSRCS = iccread.c transform.c
ifeq (86,$(findstring 86,$(OS_TEST)))
ifeq ($(OS_ARCH)_$(OS_TEST),WINNT_x86_64)
CSRCS += transform-sse2.c
else
CSRCS += transform-sse2.c transform-sse1.c
ifdef GNU_CC
SSE1_FLAGS=-msse
@ -37,6 +40,7 @@ else
endif
endif
endif
endif
FORCE_STATIC_LIB = 1
# This library is used by other shared libs

View File

@ -1226,13 +1226,16 @@ qcms_transform* qcms_transform_create(
else
transform->transform_fn = qcms_transform_data_rgba_out_lut_sse2;
#if !(defined(_MSC_VER) && defined(_M_AMD64))
/* Microsoft Compiler for x64 doesn't support MMX.
* SSE code uses MMX so that we disable on x64 */
} else
if (sse_version_available() >= 1) {
if (in_type == QCMS_DATA_RGB_8)
transform->transform_fn = qcms_transform_data_rgb_out_lut_sse1;
else
transform->transform_fn = qcms_transform_data_rgba_out_lut_sse1;
#endif
} else
#endif
{