Implementation notes: mipso32, h1mips, crypto_hash/hamsi

Computer: h1mips
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20140622
Operation: crypto_hash
Primitive: hamsi

Compiler output

Implementation: crypto_hash/hamsi/sphlib
Compiler: cc
hamsi.c: hamsi.c:111:26: error: hamsi_helper.c: No such file or directory
hamsi.c: hamsi.c: In function 'hamsi_small':
hamsi.c: hamsi.c:336: error: 'INPUT_SMALL' undeclared (first use in this function)
hamsi.c: hamsi.c:336: error: (Each undeclared identifier is reported only once
hamsi.c: hamsi.c:336: error: for each function it appears in.)
hamsi.c: hamsi.c: In function 'hamsi_small_final':
hamsi.c: hamsi.c:351: error: 'INPUT_SMALL' undeclared (first use in this function)
hamsi.c: hamsi.c: In function 'hamsi_big':
hamsi.c: hamsi.c:638: error: 'INPUT_BIG' undeclared (first use in this function)
hamsi.c: hamsi.c: In function 'hamsi_big_final':
hamsi.c: hamsi.c:654: error: 'INPUT_BIG' undeclared (first use in this function)

Number of similar (compiler,implementation) pairs: 54, namely:
CompilerImplementations
cc sphlib sphlib-small
gcc sphlib sphlib-small
gcc -O2 -fomit-frame-pointer sphlib sphlib-small
gcc -O3 -fomit-frame-pointer sphlib sphlib-small
gcc -O -fomit-frame-pointer sphlib sphlib-small
gcc -Os -fomit-frame-pointer sphlib sphlib-small
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sphlib sphlib-small
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sphlib sphlib-small
gcc -fno-schedule-insns -O -fomit-frame-pointer sphlib sphlib-small
gcc -fno-schedule-insns -Os -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops sphlib sphlib-small
gcc -funroll-loops -O2 -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -O3 -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -O -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -Os -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -mabi=32 -O -fomit-frame-pointer sphlib sphlib-small
gcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer sphlib sphlib-small
gcc -mabi=32 -O2 -fomit-frame-pointer sphlib sphlib-small
gcc -mabi=32 -O3 -fomit-frame-pointer sphlib sphlib-small
gcc -mabi=32 -O -fomit-frame-pointer sphlib sphlib-small
gcc -mabi=32 -Os -fomit-frame-pointer sphlib sphlib-small

Compiler output

Implementation: crypto_hash/hamsi/simd-2
Compiler: cc
hamsi.c: hamsi.c:1:23: error: emmintrin.h: No such file or directory
hamsi.c: hamsi.c: In function 'Init':
hamsi.c: hamsi.c:244: error: '__m128i' undeclared (first use in this function)
hamsi.c: hamsi.c:244: error: (Each undeclared identifier is reported only once
hamsi.c: hamsi.c:244: error: for each function it appears in.)
hamsi.c: hamsi.c:244: error: expected ';' before 'c0'
hamsi.c: hamsi.c:252: error: 'c0' undeclared (first use in this function)
hamsi.c: hamsi.c:252: error: expected expression before ')' token
hamsi.c: hamsi.c:252: error: 'c1' undeclared (first use in this function)
hamsi.c: hamsi.c:252: error: expected expression before ')' token
hamsi.c: hamsi.c:253: error: expected expression before ')' token
hamsi.c: hamsi.c:253: error: expected expression before ')' token
hamsi.c: hamsi.c: In function 'Update':
hamsi.c: hamsi.c:273: error: '__m128i' undeclared (first use in this function)
hamsi.c: hamsi.c:273: error: expected ';' before 'c0'
hamsi.c: hamsi.c:275: error: 'c0' undeclared (first use in this function)
hamsi.c: hamsi.c:275: error: expected expression before ')' token
hamsi.c: hamsi.c:275: error: 'c1' undeclared (first use in this function)
hamsi.c: hamsi.c:275: error: expected expression before ')' token
hamsi.c: hamsi.c:284: error: expected ';' before 's0'
hamsi.c: hamsi.c:284: error: 's0' undeclared (first use in this function)
hamsi.c: hamsi.c:284: error: 's1' undeclared (first use in this function)
hamsi.c: hamsi.c:284: error: expected expression before ')' token
hamsi.c: hamsi.c:284: error: expected expression before ')' token
hamsi.c: hamsi.c:284: error: expected expression before ')' token
hamsi.c: ...

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc simd-2
gcc simd-2
gcc -O2 -fomit-frame-pointer simd-2
gcc -O3 -fomit-frame-pointer simd-2
gcc -O -fomit-frame-pointer simd-2
gcc -Os -fomit-frame-pointer simd-2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer simd-2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer simd-2
gcc -fno-schedule-insns -O -fomit-frame-pointer simd-2
gcc -fno-schedule-insns -Os -fomit-frame-pointer simd-2
gcc -funroll-loops simd-2
gcc -funroll-loops -O2 -fomit-frame-pointer simd-2
gcc -funroll-loops -O3 -fomit-frame-pointer simd-2
gcc -funroll-loops -O -fomit-frame-pointer simd-2
gcc -funroll-loops -Os -fomit-frame-pointer simd-2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer simd-2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer simd-2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer simd-2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer simd-2
gcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer simd-2
gcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer simd-2
gcc -funroll-loops -mabi=32 -O -fomit-frame-pointer simd-2
gcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer simd-2
gcc -mabi=32 -O2 -fomit-frame-pointer simd-2
gcc -mabi=32 -O3 -fomit-frame-pointer simd-2
gcc -mabi=32 -O -fomit-frame-pointer simd-2
gcc -mabi=32 -Os -fomit-frame-pointer simd-2

Compiler output

Implementation: crypto_hash/hamsi/simd-1
Compiler: cc
hamsi.c: hamsi.c:1:23: error: emmintrin.h: No such file or directory
hamsi.c: hamsi.c: In function 'Init':
hamsi.c: hamsi.c:247: error: '__m128i' undeclared (first use in this function)
hamsi.c: hamsi.c:247: error: (Each undeclared identifier is reported only once
hamsi.c: hamsi.c:247: error: for each function it appears in.)
hamsi.c: hamsi.c:247: error: expected ';' before 'c0'
hamsi.c: hamsi.c:255: error: 'c0' undeclared (first use in this function)
hamsi.c: hamsi.c:255: error: expected expression before ')' token
hamsi.c: hamsi.c:255: error: 'c1' undeclared (first use in this function)
hamsi.c: hamsi.c:255: error: expected expression before ')' token
hamsi.c: hamsi.c:256: error: expected expression before ')' token
hamsi.c: hamsi.c:256: error: expected expression before ')' token
hamsi.c: hamsi.c: In function 'Update':
hamsi.c: hamsi.c:276: error: '__m128i' undeclared (first use in this function)
hamsi.c: hamsi.c:276: error: expected ';' before 'c0'
hamsi.c: hamsi.c:278: error: 'c0' undeclared (first use in this function)
hamsi.c: hamsi.c:278: error: expected expression before ')' token
hamsi.c: hamsi.c:278: error: 'c1' undeclared (first use in this function)
hamsi.c: hamsi.c:278: error: expected expression before ')' token
hamsi.c: hamsi.c:287: error: expected ';' before 's0'
hamsi.c: hamsi.c:287: error: 's0' undeclared (first use in this function)
hamsi.c: hamsi.c:287: error: 's1' undeclared (first use in this function)
hamsi.c: hamsi.c:287: error: expected expression before ')' token
hamsi.c: hamsi.c:287: error: expected expression before ')' token
hamsi.c: hamsi.c:287: error: expected expression before ')' token
hamsi.c: ...

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc simd-1
gcc simd-1
gcc -O2 -fomit-frame-pointer simd-1
gcc -O3 -fomit-frame-pointer simd-1
gcc -O -fomit-frame-pointer simd-1
gcc -Os -fomit-frame-pointer simd-1
gcc -fno-schedule-insns -O2 -fomit-frame-pointer simd-1
gcc -fno-schedule-insns -O3 -fomit-frame-pointer simd-1
gcc -fno-schedule-insns -O -fomit-frame-pointer simd-1
gcc -fno-schedule-insns -Os -fomit-frame-pointer simd-1
gcc -funroll-loops simd-1
gcc -funroll-loops -O2 -fomit-frame-pointer simd-1
gcc -funroll-loops -O3 -fomit-frame-pointer simd-1
gcc -funroll-loops -O -fomit-frame-pointer simd-1
gcc -funroll-loops -Os -fomit-frame-pointer simd-1
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer simd-1
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer simd-1
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer simd-1
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer simd-1
gcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer simd-1
gcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer simd-1
gcc -funroll-loops -mabi=32 -O -fomit-frame-pointer simd-1
gcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer simd-1
gcc -mabi=32 -O2 -fomit-frame-pointer simd-1
gcc -mabi=32 -O3 -fomit-frame-pointer simd-1
gcc -mabi=32 -O -fomit-frame-pointer simd-1
gcc -mabi=32 -Os -fomit-frame-pointer simd-1

Compiler output

Implementation: crypto_hash/hamsi/simd-2
Compiler: clang -O3 -fomit-frame-pointer
hamsi.c: clang: warning: unknown platform, assuming -mfloat-abi=soft
hamsi.c: In file included from hamsi.c:1:
hamsi.c: /usr/lib/clang/1.1/include/emmintrin.h:28:2: error: #error "SSE2 instruction set not enabled"
hamsi.c: #error "SSE2 instruction set not enabled"
hamsi.c: ^
hamsi.c: hamsi.c:244:3: error: use of undeclared identifier '__m128i'
hamsi.c: __m128i c0, c1;
hamsi.c: ^
hamsi.c: hamsi.c:252:3: error: use of undeclared identifier 'c0'
hamsi.c: load_cv(iv256);
hamsi.c: ^
hamsi.c: hamsi.c:175:5: note: instantiated from:
hamsi.c: c0 = _mm_load_si128((__m128i*)(cv + 0)); \
hamsi.c: ^
hamsi.c: hamsi.c:252:3: error: use of undeclared identifier 'c1'
hamsi.c: load_cv(iv256);
hamsi.c: ^
hamsi.c: hamsi.c:176:5: note: instantiated from:
hamsi.c: c1 = _mm_load_si128((__m128i*)(cv + 4)); \
hamsi.c: ^
hamsi.c: hamsi.c:253:3: warning: implicit declaration of function '_mm_store_si128' is invalid in C99 [-Wimplicit-function-declaration]
hamsi.c: save_cv(state->gt;cv);
hamsi.c: ^
hamsi.c: hamsi.c:235:5: note: instantiated from:
hamsi.c: _mm_store_si128((__m128i*)(cv + 0), c0); \
hamsi.c: ...

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fomit-frame-pointer simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer simd-2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-2
clang -O3 -fwrapv -march=native -fomit-frame-pointer simd-2
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer simd-2
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer simd-2
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer simd-2
clang -O3 -fwrapv -mavx -fomit-frame-pointer simd-2
clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer simd-2

Compiler output

Implementation: crypto_hash/hamsi/simd-1
Compiler: clang -O3 -fomit-frame-pointer
hamsi.c: clang: warning: unknown platform, assuming -mfloat-abi=soft
hamsi.c: In file included from hamsi.c:1:
hamsi.c: /usr/lib/clang/1.1/include/emmintrin.h:28:2: error: #error "SSE2 instruction set not enabled"
hamsi.c: #error "SSE2 instruction set not enabled"
hamsi.c: ^
hamsi.c: hamsi.c:247:3: error: use of undeclared identifier '__m128i'
hamsi.c: __m128i c0, c1;
hamsi.c: ^
hamsi.c: hamsi.c:255:3: error: use of undeclared identifier 'c0'
hamsi.c: load_cv(iv256);
hamsi.c: ^
hamsi.c: hamsi.c:178:5: note: instantiated from:
hamsi.c: c0 = _mm_load_si128((__m128i*)(cv + 0)); \
hamsi.c: ^
hamsi.c: hamsi.c:255:3: error: use of undeclared identifier 'c1'
hamsi.c: load_cv(iv256);
hamsi.c: ^
hamsi.c: hamsi.c:179:5: note: instantiated from:
hamsi.c: c1 = _mm_load_si128((__m128i*)(cv + 4)); \
hamsi.c: ^
hamsi.c: hamsi.c:256:3: warning: implicit declaration of function '_mm_store_si128' is invalid in C99 [-Wimplicit-function-declaration]
hamsi.c: save_cv(state->gt;cv);
hamsi.c: ^
hamsi.c: hamsi.c:238:5: note: instantiated from:
hamsi.c: _mm_store_si128((__m128i*)(cv + 0), c0); \
hamsi.c: ...

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fomit-frame-pointer simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer simd-1
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive simd-1
clang -O3 -fwrapv -march=native -fomit-frame-pointer simd-1
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer simd-1
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer simd-1
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer simd-1
clang -O3 -fwrapv -mavx -fomit-frame-pointer simd-1
clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer simd-1

Compiler output

Implementation: crypto_hash/hamsi/sphlib
Compiler: clang -O3 -fomit-frame-pointer
hamsi.c: clang: warning: unknown platform, assuming -mfloat-abi=soft
hamsi.c: hamsi.c:111:10: fatal error: 'hamsi_helper.c' file not found
hamsi.c: #include "hamsi_helper.c"
hamsi.c: ^
hamsi.c: 1 diagnostic generated.

Number of similar (compiler,implementation) pairs: 30, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive sphlib sphlib-small
clang -O3 -fwrapv -march=native -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -mavx -fomit-frame-pointer sphlib sphlib-small
clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer sphlib sphlib-small