diff options
author | 2016-09-30 10:48:01 -0400 | |
---|---|---|
committer | 2016-09-30 15:10:48 +0000 | |
commit | 78d5a3bac5cbde50cd12d8b9ab6dd269324b5272 (patch) | |
tree | 45c0aed9c0a299b8a2151b47ce94e218dac00dc9 /cmake/CMakeLists.txt | |
parent | d214d6ae69c1dd9ef49fdce8fac699d00bffcdcd (diff) |
Add an SkOpts target for Haswell+ Intel chips.
Haswell brought a whole slew of handy new instructions for us (AVX2, FMA, BMI1+BMI2) and also feature F16C, which came one generation earlier on Ivybridge. We work with integers often enough that we really want to target AVX2 instead of AVX, and this means it's pretty practical to ask for all those other goodies along with it.
Chrome's GN files and Google3's BUILD file will need an update, before or after this CL.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2840
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I826daf77b5104664c5d31ddaabee347e287b87a2
Reviewed-on: https://skia-review.googlesource.com/2840
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Diffstat (limited to 'cmake/CMakeLists.txt')
-rw-r--r-- | cmake/CMakeLists.txt | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0ed0957f79..73a40eeef1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -134,13 +134,14 @@ file (GLOB_RECURSE ssse3_srcs ../src/*ssse3*.cpp ../src/*SSSE3*.cpp) file (GLOB_RECURSE sse41_srcs ../src/*sse41*.cpp ../src/*SSE41*.cpp) file (GLOB_RECURSE sse42_srcs ../src/*sse42*.cpp ../src/*SSE42*.cpp) file (GLOB_RECURSE avx_srcs ../src/*_avx.cpp) -file (GLOB_RECURSE avx2_srcs ../src/*_avx2.cpp) +file (GLOB_RECURSE hsw_srcs ../src/*_hsw.cpp) if (NOT WIN32) set_source_files_properties(${ssse3_srcs} PROPERTIES COMPILE_FLAGS -mssse3) set_source_files_properties(${sse41_srcs} PROPERTIES COMPILE_FLAGS -msse4.1) set_source_files_properties(${sse42_srcs} PROPERTIES COMPILE_FLAGS -msse4.2) set_source_files_properties(${avx_srcs} PROPERTIES COMPILE_FLAGS -mavx) - set_source_files_properties(${avx2_srcs} PROPERTIES COMPILE_FLAGS -mavx2) + set_source_files_properties(${hsw_srcs} PROPERTIES COMPILE_FLAGS + -mavx2 -mbmi -mbmi2 -mf16c -mfma) endif() # Detect our optional dependencies. |