mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
bb4bf3f608
Our performance gtests indicate anywhere from 10-20% reduction in execution time based on the SSE2 version. Where it fell in the range depended on the platform, but presumably that is related to the hardware selected by treeherder. llvm-mca suggested it should be closer to 20% on modern hardware (skylake). Differential Revision: https://phabricator.services.mozilla.com/D55642 --HG-- extra : moz-landing-system : lando
67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
EXPORTS += [
|
|
'qcms.h',
|
|
'qcmstypes.h',
|
|
]
|
|
|
|
SOURCES += [
|
|
'chain.c',
|
|
'iccread.c',
|
|
'matrix.c',
|
|
'transform.cpp',
|
|
'transform_util.c',
|
|
]
|
|
|
|
FINAL_LIBRARY = 'xul'
|
|
|
|
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
|
CFLAGS += ['-Wno-missing-field-initializers']
|
|
|
|
use_sse1 = False
|
|
use_sse2 = False
|
|
use_neon = False
|
|
use_altivec = False
|
|
if CONFIG['INTEL_ARCHITECTURE']:
|
|
use_sse2 = True
|
|
if CONFIG['CC_TYPE'] == 'clang-cl':
|
|
if CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['CPU_ARCH'] != 'x86_64':
|
|
use_sse1 = True
|
|
else:
|
|
use_sse1 = True
|
|
elif CONFIG['CPU_ARCH'] == 'aarch64' or CONFIG['BUILD_ARM_NEON']:
|
|
use_neon = True
|
|
elif CONFIG['HAVE_ALTIVEC']:
|
|
use_altivec = True
|
|
|
|
if use_sse1:
|
|
SOURCES += ['transform-sse1.cpp']
|
|
SOURCES['transform-sse1.cpp'].flags += CONFIG['SSE_FLAGS']
|
|
|
|
if use_sse2:
|
|
SOURCES += [
|
|
'transform-avx.cpp',
|
|
'transform-sse2.cpp'
|
|
]
|
|
SOURCES['transform-avx.cpp'].flags += ['-mavx']
|
|
SOURCES['transform-sse2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
|
|
|
if use_neon:
|
|
SOURCES += ['transform-neon.cpp']
|
|
SOURCES['transform-neon.cpp'].flags += CONFIG['NEON_FLAGS']
|
|
|
|
if use_altivec:
|
|
SOURCES += ['transform-altivec.cpp']
|
|
SOURCES['transform-altivec.cpp'].flags += ['-maltivec']
|
|
|
|
include('/tools/fuzzing/libfuzzer-config.mozbuild')
|
|
|
|
if CONFIG['FUZZING_INTERFACES']:
|
|
TEST_DIRS += [
|
|
'fuzztest'
|
|
]
|