@ 260915.5

220113.2.1 · 60e35dd271c06e6d2ae120f9e5a5d29963ada428

msvc - Add matcher_avx2, matcher_avx512bw

reading declarations

msvc/include_ugrep/config.h

@@ -14,6 +14,7 @@  // UGREP options: #define HAVE_AVX2+#define HAVE_AVX512BW #define WITH_COLOR #define WITH_NO_INDENT 

msvc/include_ugrep/matcher_avx2.cpp

new file mode 100644@@ -0,0 +1,10 @@+#if defined(HAVE_AVX2) || defined(HAVE_AVX512BW)++#if !defined(__AVX2__) || defined(__AVX512BW__)+#error matcher_avx2.cpp must be compiled with /arch:avx2.+#endif++#define COMPILE_AVX2+#include "../../lib/matcher.cpp"++#endif // HAVE_AVX2

msvc/include_ugrep/matcher_avx512bw.cpp

new file mode 100644@@ -0,0 +1,10 @@+#if defined(HAVE_AVX512BW)++#if !defined(__AVX512BW__)+#error matcher_avx512bw.cpp must be compiled with /arch:avx512.+#endif++#define COMPILE_AVX512BW+#include "../../lib/matcher.cpp"++#endif // HAVE_AVX512BW

msvc/ugrep.vcxproj

@@ -547,6 +547,34 @@     <ClCompile Include="..\src\ugrep.cpp" />     <ClCompile Include="..\src\vkey.cpp" />     <ClCompile Include="..\src\zopen.c" />+    <ClCompile Include="include_ugrep\matcher_avx2.cpp">+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>+    </ClCompile>+    <ClCompile Include="include_ugrep\matcher_avx512bw.cpp">+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Release|Win32'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Release|Win32'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Debug|Win32'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Release|Win32'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Debug|Win32'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Debug|Win32'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Release|x64'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Release|x64'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Base-Debug|x64'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Release|x64'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Pcre-Debug|x64'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+      <EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Boost-Debug|x64'">AdvancedVectorExtensions512</EnableEnhancedInstructionSet>+    </ClCompile>   </ItemGroup>   <ItemGroup>     <ProjectReference Include="bzip2.vcxproj">

msvc/ugrep.vcxproj.filters

@@ -195,6 +195,12 @@     <ClCompile Include="..\lib\simd_avx512bw.cpp">       <Filter>lib</Filter>     </ClCompile>+    <ClCompile Include="include_ugrep\matcher_avx2.cpp">+      <Filter>lib</Filter>+    </ClCompile>+    <ClCompile Include="include_ugrep\matcher_avx512bw.cpp">+      <Filter>lib</Filter>+    </ClCompile>   </ItemGroup>   <ItemGroup>     <None Include="README.md">