moinakg/pcompress

Build problem: rabin_dedup.c:908 -- unknown type name ‘__m128i’

Closed this issue · 2 comments

Hi there,

pcompress looks amazing! Thanks for all your hard work.

I'm having a problem building it on Arch, however.

This happens:

gcc -c  -O3  -fopenmp -mssse3 -ftree-vectorize -I. -I./lzma -I./lzfx -I./lz4 -I./rabin -I./bsdiff -DNODEFAULT_PROPS -DFILE_OFFSET_BITS=64 -D_REENTRANT -D__USE_SSE_INTRIN__ -D_LZMA_PROB32 -I./lzp  -I./crypto/skein -I./utils -I./crypto/sha2 -I./crypto/scrypt -I./crypto/aes -I./crypto  -I./rabin/global -I./crypto/keccak -I./transpose -I./crypto/blake2  -I./crypto/xsalsa20 -pedantic -Wall -std=gnu99 -fno-strict-aliasing -Wno-unused-but-set-variable -Wno-enum-compare -D__HASH_COMPATIBILITY_  -DNDEBUG   rabin/rabin_dedup.c -o rabin/rabin_dedup.o
rabin/rabin_dedup.c: In function ‘dedupe_compress’:
rabin/rabin_dedup.c:908:8: error: unknown type name ‘__m128i’
        __m128i s;
        ^
rabin/rabin_dedup.c:919:9: warning: implicit declaration of function ‘_mm_loadu_si128’ [-Wimplicit-function-declaration]
         s = _mm_loadu_si128((__m128i *)sc);
         ^
rabin/rabin_dedup.c:919:30: error: ‘__m128i’ undeclared (first use in this function)
         s = _mm_loadu_si128((__m128i *)sc);
                              ^
rabin/rabin_dedup.c:919:30: note: each undeclared identifier is reported only once for each function it appears in
rabin/rabin_dedup.c:919:39: error: expected expression before ‘)’ token
         s = _mm_loadu_si128((__m128i *)sc);
                                       ^
rabin/rabin_dedup.c:920:9: warning: implicit declaration of function ‘_mm_storeu_si128’ [-Wimplicit-function-declaration]
         _mm_storeu_si128((__m128i *)tgt, s);
         ^
rabin/rabin_dedup.c:920:36: error: expected expression before ‘)’ token
         _mm_storeu_si128((__m128i *)tgt, s);
                                    ^
make: *** [rabin/rabin_dedup.o] Error 1

Any ideas?

There was a bug in not properly handling non-SSE4 CPUs. Can you please checkout the latest git and rebuild.

You bet I can!

SUCCESS! Thanks!