powturbo / TurboBench

Compression Benchmark
332 stars 35 forks source link

Compile failed on MacBook Pro (M1) #41

Closed psyduffy closed 1 year ago

psyduffy commented 1 year ago

I got Error message as follow when make project:

In file included from lzham_codec_devel/lzhamdecomp/lzham_core.h:296:
lzham_codec_devel/lzhamdecomp/lzham_platform.h:27:25: error: unrecognized instruction mnemonic
   __asm__ __volatile__("pause");
                        ^
<inline asm>:1:2: note: instantiated into assembly here
        pause
        ^....

Then I modified the makefile, set "LZHAM=0" and try again:

Error message as follow:

Turbo-Range-Coder/include_/sse_neon.h:232:85: error: invalid conversion between vector type 'uint64x2_t' (vector of 2 'uint64_t' values) and 'uint8x8_t' (vector of 8 'uint8_t' values) of different size
static ALWAYS_INLINE uint64_t  mm_movemask4_epu8(__m128i v) { return vgetq_lane_u64((uint64x2_t)vshrn_n_u16((uint8x16_t)v, 4), 0); } //uint8x16_t
powturbo commented 1 year ago

Turbo-Range-Coder have been updated. Please use the latest version

psyduffy commented 1 year ago

Very Thankful.

Use "make NCODEC2=1" and It works.

but use "make" still get error message:

In file included from lzham_codec_devel/lzhamcomp/lzham_match_accel.cpp:3:
In file included from lzham_codec_devel/lzhamdecomp/lzham_core.h:296:
lzham_codec_devel/lzhamdecomp/lzham_platform.h:27:25: error: unrecognized instruction mnemonic
   __asm__ __volatile__("pause");
                        ^
<inline asm>:1:2: note: instantiated into assembly here
        pause
        ^
In file included from lzham_codec_devel/lzhamcomp/lzham_match_accel.cpp:3:
powturbo commented 1 year ago

lzham isn't compatible with ARM. You can disable it in the makefile