Skip to content

Instantly share code, notes, and snippets.

@ilovezfs
Created March 8, 2016 18:04
Show Gist options
  • Save ilovezfs/867f9df96dc5b054cc99 to your computer and use it in GitHub Desktop.
Save ilovezfs/867f9df96dc5b054cc99 to your computer and use it in GitHub Desktop.
hyperscan and Skylake
bash-3.2$ brew install --build-from-source --HEAD -dv hyperscan
/usr/local/Library/brew.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/hyperscan.rb
/usr/local/Library/brew.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/boost.rb
/usr/local/Library/brew.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/ragel.rb
/usr/local/Library/brew.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/cmake.rb
/usr/local/Library/brew.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/sphinx-doc.rb
/usr/local/Library/brew.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/icu4c.rb
/usr/local/Library/Homebrew/build.rb (Formulary::FromPathLoader): loading /usr/local/Library/Formula/hyperscan.rb
/usr/local/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/boost.rb
/usr/local/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/ragel.rb
/usr/local/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/cmake.rb
/usr/local/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/sphinx-doc.rb
/usr/local/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /usr/local/Library/Formula/git.rb
==> Cloning https://github.com/01org/hyperscan.git
Updating /Library/Caches/Homebrew/hyperscan--git
git config remote.origin.url https://github.com/01org/hyperscan.git
git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master
git fetch origin
==> Checking out branch master
git checkout -f master --
Already on 'master'
Your branch is up-to-date with 'origin/master'.
git reset --hard origin/master
HEAD is now at 0e5c4cb Merge branch develop into master
==> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/hyperscan/HEAD -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /usr/local/Library/ENV/4.3/clang
-- Check for working C compiler: /usr/local/Library/ENV/4.3/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/Library/ENV/4.3/clang++
-- Check for working CXX compiler: /usr/local/Library/ENV/4.3/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test ARCH_64_BIT
-- Performing Test ARCH_64_BIT - Success
-- Performing Test ARCH_32_BIT
-- Performing Test ARCH_32_BIT - Failed
-- Build type RELEASE
-- Boost version: 1.60.0
-- Found PythonInterp: /usr/bin/python (found version "2.7.10")
-- Building for current host CPU
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file intrin.h
-- Looking for include file intrin.h - not found
-- Looking for C++ include intrin.h
-- Looking for C++ include intrin.h - not found
-- Looking for include file tmmintrin.h
-- Looking for include file tmmintrin.h - not found
-- Looking for include file x86intrin.h
-- Looking for include file x86intrin.h - found
-- Looking for C++ include x86intrin.h
-- Looking for C++ include x86intrin.h - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for _aligned_malloc
-- Looking for _aligned_malloc - not found
-- Performing Test HAS_C_HIDDEN
-- Performing Test HAS_C_HIDDEN - Success
-- Performing Test HAS_CXX_HIDDEN
-- Performing Test HAS_CXX_HIDDEN - Success
-- Performing Test HAVE_CC_BUILTIN_ASSUME_ALIGNED
-- Performing Test HAVE_CC_BUILTIN_ASSUME_ALIGNED - Success
-- Performing Test HAVE_CXX_BUILTIN_ASSUME_ALIGNED
-- Performing Test HAVE_CXX_BUILTIN_ASSUME_ALIGNED - Success
-- Performing Test C_FLAG_Wvla
-- Performing Test C_FLAG_Wvla - Success
-- Performing Test C_FLAG_Wpointer_arith
-- Performing Test C_FLAG_Wpointer_arith - Success
-- Performing Test C_FLAG_Wstrict_prototypes
-- Performing Test C_FLAG_Wstrict_prototypes - Success
-- Performing Test C_FLAG_Wmissing_prototypes
-- Performing Test C_FLAG_Wmissing_prototypes - Success
-- Performing Test CXX_FLAG_Wvla
-- Performing Test CXX_FLAG_Wvla - Success
-- Performing Test CXX_FLAG_Wpointer_arith
-- Performing Test CXX_FLAG_Wpointer_arith - Success
-- Performing Test CC_SELF_ASSIGN
-- Performing Test CC_SELF_ASSIGN - Success
-- Performing Test CXX_SELF_ASSIGN
-- Performing Test CXX_SELF_ASSIGN - Success
-- Performing Test CC_PAREN_EQUALITY
-- Performing Test CC_PAREN_EQUALITY - Success
-- Performing Test CXX_UNUSED_CONST_VAR
-- Performing Test CXX_UNUSED_CONST_VAR - Success
-- Performing Test CXX_WEAK_VTABLES
-- Performing Test CXX_WEAK_VTABLES - Success
-- Performing Test CXX_MISSING_DECLARATIONS
-- Performing Test CXX_MISSING_DECLARATIONS - Success
-- Performing Test CXX_WUNUSED_VARIABLE
-- Performing Test CXX_WUNUSED_VARIABLE - Success
-- Doxygen not found, unable to generate API reference
-- Sphinx not found, unable to generate developer reference
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/hyperscan20160308-37150-9e11vj/build
==> xcrun make install
/usr/local/Cellar/cmake/3.4.1/bin/cmake -H/tmp/hyperscan20160308-37150-9e11vj -B/tmp/hyperscan20160308-37150-9e11vj/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_progress_start /tmp/hyperscan20160308-37150-9e11vj/build/CMakeFiles /tmp/hyperscan20160308-37150-9e11vj/build/CMakeFiles/progress.marks
/Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/Makefile2 all
/Library/Developer/CommandLineTools/usr/bin/make -f src/fdr/CMakeFiles/autogen_teddy_compiler.dir/build.make src/fdr/CMakeFiles/autogen_teddy_compiler.dir/depend
cd /tmp/hyperscan20160308-37150-9e11vj/build && /usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/hyperscan20160308-37150-9e11vj /tmp/hyperscan20160308-37150-9e11vj/src/fdr /tmp/hyperscan20160308-37150-9e11vj/build /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/CMakeFiles/autogen_teddy_compiler.dir/DependInfo.cmake --color=
Scanning dependencies of target autogen_teddy_compiler
/Library/Developer/CommandLineTools/usr/bin/make -f src/fdr/CMakeFiles/autogen_teddy_compiler.dir/build.make src/fdr/CMakeFiles/autogen_teddy_compiler.dir/build
[ 1%] AUTOGEN teddy_autogen_compiler.cpp
cd /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr && /usr/bin/python /tmp/hyperscan20160308-37150-9e11vj/src/fdr/autogen.py teddy_compiler > /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen_compiler.cpp
[ 1%] Built target autogen_teddy_compiler
/Library/Developer/CommandLineTools/usr/bin/make -f src/fdr/CMakeFiles/autogen_runtime.dir/build.make src/fdr/CMakeFiles/autogen_runtime.dir/depend
cd /tmp/hyperscan20160308-37150-9e11vj/build && /usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/hyperscan20160308-37150-9e11vj /tmp/hyperscan20160308-37150-9e11vj/src/fdr /tmp/hyperscan20160308-37150-9e11vj/build /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/CMakeFiles/autogen_runtime.dir/DependInfo.cmake --color=
Scanning dependencies of target autogen_runtime
/Library/Developer/CommandLineTools/usr/bin/make -f src/fdr/CMakeFiles/autogen_runtime.dir/build.make src/fdr/CMakeFiles/autogen_runtime.dir/build
[ 1%] AUTOGEN fdr_autogen.c
cd /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr && /usr/bin/python /tmp/hyperscan20160308-37150-9e11vj/src/fdr/autogen.py runtime > /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/fdr_autogen.c
[ 1%] Built target autogen_runtime
/Library/Developer/CommandLineTools/usr/bin/make -f src/fdr/CMakeFiles/autogen_teddy_runtime.dir/build.make src/fdr/CMakeFiles/autogen_teddy_runtime.dir/depend
cd /tmp/hyperscan20160308-37150-9e11vj/build && /usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/hyperscan20160308-37150-9e11vj /tmp/hyperscan20160308-37150-9e11vj/src/fdr /tmp/hyperscan20160308-37150-9e11vj/build /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/CMakeFiles/autogen_teddy_runtime.dir/DependInfo.cmake --color=
Scanning dependencies of target autogen_teddy_runtime
/Library/Developer/CommandLineTools/usr/bin/make -f src/fdr/CMakeFiles/autogen_teddy_runtime.dir/build.make src/fdr/CMakeFiles/autogen_teddy_runtime.dir/build
[ 1%] AUTOGEN teddy_autogen.c
cd /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr && /usr/bin/python /tmp/hyperscan20160308-37150-9e11vj/src/fdr/autogen.py teddy_runtime > /tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c
[ 1%] Built target autogen_teddy_runtime
/Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/hs_exec.dir/build.make CMakeFiles/hs_exec.dir/depend
cd /tmp/hyperscan20160308-37150-9e11vj/build && /usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/hyperscan20160308-37150-9e11vj /tmp/hyperscan20160308-37150-9e11vj /tmp/hyperscan20160308-37150-9e11vj/build /tmp/hyperscan20160308-37150-9e11vj/build /tmp/hyperscan20160308-37150-9e11vj/build/CMakeFiles/hs_exec.dir/DependInfo.cmake --color=
Scanning dependencies of target hs_exec
/Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/hs_exec.dir/build.make CMakeFiles/hs_exec.dir/build
[ 2%] Building C object CMakeFiles/hs_exec.dir/src/alloc.c.o
/usr/local/Library/ENV/4.3/clang -I/tmp/hyperscan20160308-37150-9e11vj/build -I/tmp/hyperscan20160308-37150-9e11vj -I/tmp/hyperscan20160308-37150-9e11vj/src -isystem /tmp/hyperscan20160308-37150-9e11vj/include -isystem /usr/local/include -I/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr -O3 -std=c99 -Wall -Wextra -Wshadow -Wcast-qual -Werror -march=native -mtune=native -fvisibility=hidden -Wvla -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-self-assign -Wno-parentheses-equality -DNDEBUG -o CMakeFiles/hs_exec.dir/src/alloc.c.o -c /tmp/hyperscan20160308-37150-9e11vj/src/alloc.c
[ 2%] Building C object CMakeFiles/hs_exec.dir/src/runtime.c.o
/usr/local/Library/ENV/4.3/clang -I/tmp/hyperscan20160308-37150-9e11vj/build -I/tmp/hyperscan20160308-37150-9e11vj -I/tmp/hyperscan20160308-37150-9e11vj/src -isystem /tmp/hyperscan20160308-37150-9e11vj/include -isystem /usr/local/include -I/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr -O3 -std=c99 -Wall -Wextra -Wshadow -Wcast-qual -Werror -march=native -mtune=native -fvisibility=hidden -Wvla -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-self-assign -Wno-parentheses-equality -DNDEBUG -o CMakeFiles/hs_exec.dir/src/runtime.c.o -c /tmp/hyperscan20160308-37150-9e11vj/src/runtime.c
[ 3%] Building C object CMakeFiles/hs_exec.dir/src/fdr/fdr.c.o
/usr/local/Library/ENV/4.3/clang -I/tmp/hyperscan20160308-37150-9e11vj/build -I/tmp/hyperscan20160308-37150-9e11vj -I/tmp/hyperscan20160308-37150-9e11vj/src -isystem /tmp/hyperscan20160308-37150-9e11vj/include -isystem /usr/local/include -I/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr -O3 -std=c99 -Wall -Wextra -Wshadow -Wcast-qual -Werror -march=native -mtune=native -fvisibility=hidden -Wvla -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-self-assign -Wno-parentheses-equality -DNDEBUG -o CMakeFiles/hs_exec.dir/src/fdr/fdr.c.o -c /tmp/hyperscan20160308-37150-9e11vj/src/fdr/fdr.c
[ 3%] Building C object CMakeFiles/hs_exec.dir/src/fdr/teddy.c.o
/usr/local/Library/ENV/4.3/clang -I/tmp/hyperscan20160308-37150-9e11vj/build -I/tmp/hyperscan20160308-37150-9e11vj -I/tmp/hyperscan20160308-37150-9e11vj/src -isystem /tmp/hyperscan20160308-37150-9e11vj/include -isystem /usr/local/include -I/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr -O3 -std=c99 -Wall -Wextra -Wshadow -Wcast-qual -Werror -march=native -mtune=native -fvisibility=hidden -Wvla -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-self-assign -Wno-parentheses-equality -DNDEBUG -o CMakeFiles/hs_exec.dir/src/fdr/teddy.c.o -c /tmp/hyperscan20160308-37150-9e11vj/src/fdr/teddy.c
In file included from /tmp/hyperscan20160308-37150-9e11vj/src/fdr/teddy.c:31:
/tmp/hyperscan20160308-37150-9e11vj/src/util/simd_utils_ssse3.h:37:2: error: SSSE3 instructions must be enabled
#error SSSE3 instructions must be enabled
^
/tmp/hyperscan20160308-37150-9e11vj/src/util/simd_utils_ssse3.h:73:14: error: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
result = _mm_shuffle_epi8(a, b);
^
/tmp/hyperscan20160308-37150-9e11vj/src/util/simd_utils_ssse3.h:73:12: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
result = _mm_shuffle_epi8(a, b);
^ ~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/hyperscan20160308-37150-9e11vj/src/fdr/teddy.c:244:
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:14490:27: error: implicit declaration of function '_mm_alignr_epi8' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^
/tmp/hyperscan20160308-37150-9e11vj/src/util/simd_utils_ssse3.h:57:31: note: expanded from macro 'palignr'
#define palignr(r, l, offset) _mm_alignr_epi8(r, l, offset)
^
In file included from /tmp/hyperscan20160308-37150-9e11vj/src/fdr/teddy.c:244:
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:14490:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:14617:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:14754:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:14877:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_1_1 = palignr(res_1_1, res_0_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:15003:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:15198:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:15367:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:15546:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:15711:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_1_1 = palignr(res_1_1, res_0_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:15879:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:16121:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:16126:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_2 = palignr(res_0_2, res_old_2, 16-2);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:16254:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:16259:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_2 = palignr(res_0_2, res_old_2, 16-2);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyperscan20160308-37150-9e11vj/build/src/fdr/teddy_autogen.c:16397:25: error: assigning to 'm128' (aka '__m128i') from incompatible type 'int'
res_shifted_0_1 = palignr(res_0_1, res_old_1, 16-1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/hs_exec.dir/src/fdr/teddy.c.o] Error 1
make[1]: *** [CMakeFiles/hs_exec.dir/all] Error 2
make: *** [all] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment