Move *_sse/*_avx2 files to vs directory

+ removed unsupported ARCH = /arch:SSE2 from makefile.vs
 + removed vsimple.obj from icbench.exe target (it's part of lib)
 + added icapp.exe target to makefile.vs
 + fixed compilation error in plugins.cc (type cast error)
 + updated .gitignore to ignore build output files
This commit is contained in:
Pavel P
2019-09-07 12:16:32 -07:00
parent 18e985d2e0
commit 355f582c19
15 changed files with 59 additions and 48 deletions

3
.gitignore vendored
View File

@ -1,3 +1,6 @@
.vs/
msvc.build/
*.vcxproj.user
*.obj
*.exe
*.lib

View File

@ -16,16 +16,17 @@ LIB_LIB = libic.lib
LIB_DLL = ic.dll
LIB_IMP = ic.lib
OBJS = bitpack.obj bitunpack.obj vp4c.obj vp4d.obj transpose.obj bitutil.obj fp.obj vsimple.obj vint.obj
OBJS = bitpack.obj bitunpack.obj bitutil.obj vp4c.obj vp4d.obj transpose.obj fp.obj trlec.obj trled.obj vint.obj vsimple.obj vsimple.obj
OBJS_SSE = vs\bitpack_sse.obj vs\bitunpack_sse.obj vs\vp4c_sse.obj vs\vp4d_sse.obj vs\transpose_sse.obj
OBJS_AVX2 = vs\bitpack_avx2.obj vs\bitunpack_avx2.obj vs\vp4c_avx2.obj vs\vp4d_avx2.obj vs\transpose_avx2.obj
!if "$(NSIMD)" == "1"
CFLAGS = $(CFLAGS) /DNSIMD
!else
OBJS = $(OBJS) transpose_sse.obj bitpack_sse.obj bitunpack_sse.obj vp4c_sse.obj vp4d_sse.obj
OBJS = $(OBJS) $(OBJS_SSE)
CFLAGS = $(CFLAGS) /D__SSE__ /D__SSE2__ /D__SSE3__ /D__SSSE3__ /D__SSE4_1__ /D__SSE4_2__ /DUSE_SSE
ARCH = /arch:SSE2
!if "$(AVX2)" == "1"
OBJS = $(OBJS) bitpack_avx2.obj bitunpack_avx2.obj transpose_avx2.obj vp4c_avx2.obj vp4d_avx2.obj
OBJS = $(OBJS) $(OBJS_AVX2)
CFLAGS = $(CFLAGS) /D__AVX2__ /DUSE_AVX2
ARCH = /arch:AVX2
!endif
@ -45,7 +46,7 @@ CFLAGS = $(CFLAGS) /DBLOSC
DLL_OBJS = $(OBJS:.obj=.dllobj)
all: $(LIB_LIB) icbench.exe
all: $(LIB_LIB) icbench.exe icapp.exe
#$(LIB_DLL) $(LIB_IMP)
@ -67,8 +68,11 @@ $(LIB_DLL): $(DLL_OBJS)
$(LIB_IMP): $(LIB_DLL)
icbench.exe: icbench.obj vs/getopt.obj plugins.obj eliasfano.obj vsimple.obj $(LIB_LIB)
icbench.exe: icbench.obj vs\getopt.obj plugins.obj eliasfano.obj $(LIB_LIB)
$(LD) $(LDFLAGS) -out:$@ $**
icapp.exe: icapp.obj vs\getopt.obj plugins.obj eliasfano.obj $(LIB_LIB)
$(LD) $(LDFLAGS) -out:$@ $**
clean:
-del *.dll *.exe *.exp *.obj *.dllobj *.lib *.manifest 2>nul
-del *.obj vs\*.obj *.dll *.exe *.exp *.dllobj *.lib *.manifest 2>nul

View File

@ -708,7 +708,7 @@ unsigned char *coddecomp(unsigned char *in, unsigned _n, unsigned char *_out, in
#if C_TURBOPFOR256
case TB_FOR256V: vbxget32(in, x); b = *in++;return bitfunpack256v32( in, n, out, x, b);
case TB_PF256V : __builtin_prefetch(in+256);return n == 256?p4dec256v32(in, n, out):p4dec32(in, n, out);
case TB_PF256V : __builtin_prefetch((char*)in+256);return n == 256?p4dec256v32(in, n, out):p4dec32(in, n, out);
case TB_PFN256V : return in+p4ndec256v32(in, n, out);
case TB_BP256V: if(b < 0) b = *in++; return n != 256?bitunpack32(in, n, out, b):bitunpack256v32(in, n, out, b);
case TB_BPN256V: return in+bitnunpack256v32(in, n, out);

View File

@ -95,6 +95,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/w24003 /w24005 /w24028 /w24047 /w24090 /w24133 /w24146 /w24333 /w24789 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -111,6 +112,7 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/w24003 /w24005 /w24028 /w24047 /w24090 /w24133 /w24146 /w24333 /w24789 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -130,6 +132,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/w24003 /w24005 /w24028 /w24047 /w24090 /w24133 /w24146 /w24333 /w24789 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -151,6 +154,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/w24003 /w24005 /w24028 /w24047 /w24090 /w24133 /w24146 /w24333 /w24789 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -161,26 +165,26 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\bitpack.c" />
<ClCompile Include="..\..\bitpack_avx2.c" />
<ClCompile Include="..\..\bitpack_sse.c" />
<ClCompile Include="..\..\bitunpack.c" />
<ClCompile Include="..\..\bitunpack_avx2.c" />
<ClCompile Include="..\..\bitunpack_sse.c" />
<ClCompile Include="..\..\bitutil.c" />
<ClCompile Include="..\..\fp.c" />
<ClCompile Include="..\..\transpose.c" />
<ClCompile Include="..\..\transpose_avx2.c" />
<ClCompile Include="..\..\transpose_sse.c" />
<ClCompile Include="..\..\trlec.c" />
<ClCompile Include="..\..\trled.c" />
<ClCompile Include="..\..\vint.c" />
<ClCompile Include="..\..\vp4c.c" />
<ClCompile Include="..\..\vp4c_avx2.c" />
<ClCompile Include="..\..\vp4c_sse.c" />
<ClCompile Include="..\..\vp4d.c" />
<ClCompile Include="..\..\vp4d_avx2.c" />
<ClCompile Include="..\..\vp4d_sse.c" />
<ClCompile Include="..\..\vsimple.c" />
<ClCompile Include="..\bitpack_avx2.c" />
<ClCompile Include="..\bitpack_sse.c" />
<ClCompile Include="..\bitunpack_avx2.c" />
<ClCompile Include="..\bitunpack_sse.c" />
<ClCompile Include="..\transpose_avx2.c" />
<ClCompile Include="..\transpose_sse.c" />
<ClCompile Include="..\vp4c_avx2.c" />
<ClCompile Include="..\vp4c_sse.c" />
<ClCompile Include="..\vp4d_avx2.c" />
<ClCompile Include="..\vp4d_sse.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\bitpack.h" />

View File

@ -38,42 +38,42 @@
<ClCompile Include="..\..\vsimple.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\bitpack_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\bitpack_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\bitunpack_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\bitunpack_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\transpose_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\transpose_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\vp4c_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\vp4c_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\vp4d_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\vp4d_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\trlec.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\trled.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\bitpack_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\bitpack_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\bitunpack_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\bitunpack_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\transpose_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\transpose_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\vp4c_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\vp4c_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\vp4d_avx2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\vp4d_sse.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\bitpack.h">