Implementation notes: amd64, sand, crypto_kem/mceliece8192128

Computer: sand
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: mceliece8192128

Compiler output

Implementation: crypto_kem/mceliece8192128/avx
Compiler: cc
benes.c: In file included from benes.c:1:
benes.c: In file included from ./util.h:4:
benes.c: ./vec256.h:27:9: error: index for __builtin_shufflevector must be a constant integer
benes.c: return _mm256_extractf128_si256(a, i);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/clang/5.0.1/include/avxintrin.h:4855:12: note: expanded from macro '_mm256_extractf128_si256'
benes.c: (__m128i)__builtin_shufflevector( \
benes.c: ^
benes.c: In file included from benes.c:1:
benes.c: In file included from ./util.h:4:
benes.c: ./vec256.h:27:9: error: returning 'void' from a function with incompatible result type 'vec128' (aka '__m128i')
benes.c: return _mm256_extractf128_si256(a, i);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/clang/5.0.1/include/avxintrin.h:4854:40: note: expanded from macro '_mm256_extractf128_si256'
benes.c: #define _mm256_extractf128_si256(V, M) __extension__ ({ \
benes.c: ^~~~~~~~~~~~~~~~~~
benes.c: 2 errors generated.

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
cc avx
clang -O3 -fomit-frame-pointer -Qunused-arguments avx
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx

Compiler output

Implementation: crypto_kem/mceliece8192128/sse
Compiler: cc
decrypt.c: In file included from decrypt.c:5:
decrypt.c: ./vec128.h:28:9: error: always_inline function '_mm_testz_si128' requires target feature 'ssse3', but would be inlined into function 'vec128_testz' that is compiled without support for 'ssse3'
decrypt.c: return _mm_testz_si128(a, a);
decrypt.c: ^
decrypt.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
cc sse
clang -O3 -fomit-frame-pointer -Qunused-arguments sse
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse

Compiler output

Implementation: crypto_kem/mceliece8192128/ref
Compiler: cc
operations.c: In file included from operations.c:3:
operations.c: ./crypto_hash.h:1:10: fatal error: 'libkeccak.a.headers/KeccakSpongeWidth1600.h' file not found
operations.c: #include <libkeccak.a.headers/KeccakSpongeWidth1600.h>
operations.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
operations.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
cc ref
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref sse
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref sse
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_kem/mceliece8192128/sse
Compiler: gcc
benes.c: In file included from util.h:4,
benes.c: from benes.c:1:
benes.c: vec128.h:7:23: error: smmintrin.h: No such file or directory
benes.c: In file included from util.h:4,
benes.c: from benes.c:1:
benes.c: vec128.h:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128'
benes.c: vec128.h:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_set1_16b'
benes.c: vec128.h:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_setzero'
benes.c: vec128.h:21: error: expected ')' before 'a'
benes.c: vec128.h:26: error: expected ')' before 'a'
benes.c: vec128.h:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_and'
benes.c: vec128.h:36: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_xor'
benes.c: vec128.h:41: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_or'
benes.c: vec128.h:46: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_sll_2x'
benes.c: vec128.h:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_srl_2x'
benes.c: vec128.h:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_set2x'
benes.c: vec128.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_unpack_low'
benes.c: vec128.h:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_unpack_high'
benes.c: vec128.h:71: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_setbits'
benes.c: vec128.h:76: error: expected ')' before '*' token
benes.c: vec128.h:84: error: expected ')' before '*' token
benes.c: vec128.h:92: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_or_reduce'
benes.c: vec128.h:104: error: expected ')' before '*' token
benes.c: vec128.h:105: error: expected ')' before '*' token
benes.c: vec128.h:106: error: expected ')' before '*' token
benes.c: ...

Number of similar (compiler,implementation) pairs: 66, namely:
CompilerImplementations
gcc sse
gcc -O2 -fomit-frame-pointer sse
gcc -O3 -fomit-frame-pointer sse
gcc -O -fomit-frame-pointer sse
gcc -Os -fomit-frame-pointer sse
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops sse
gcc -funroll-loops -O2 -fomit-frame-pointer sse
gcc -funroll-loops -O3 -fomit-frame-pointer sse
gcc -funroll-loops -O -fomit-frame-pointer sse
gcc -funroll-loops -Os -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sse
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer sse
gcc -m64 -O2 -fomit-frame-pointer sse
gcc -m64 -O3 -fomit-frame-pointer sse
gcc -m64 -O -fomit-frame-pointer sse
gcc -m64 -Os -fomit-frame-pointer sse
gcc -m64 -march=k8 -O2 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O3 -fomit-frame-pointer sse
gcc -m64 -march=k8 -O -fomit-frame-pointer sse
gcc -m64 -march=k8 -Os -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer sse
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer sse
gcc -m64 -march=nocona -O2 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O3 -fomit-frame-pointer sse
gcc -m64 -march=nocona -O -fomit-frame-pointer sse
gcc -m64 -march=nocona -Os -fomit-frame-pointer sse
gcc -march=k8 -O2 -fomit-frame-pointer sse
gcc -march=k8 -O3 -fomit-frame-pointer sse
gcc -march=k8 -O -fomit-frame-pointer sse
gcc -march=k8 -Os -fomit-frame-pointer sse
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv sse
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv sse
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv sse
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv sse
gcc -march=nocona -O2 -fomit-frame-pointer sse
gcc -march=nocona -O3 -fomit-frame-pointer sse
gcc -march=nocona -O -fomit-frame-pointer sse
gcc -march=nocona -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_kem/mceliece8192128/avx
Compiler: gcc
benes.c: In file included from vec256.h:4,
benes.c: from util.h:4,
benes.c: from benes.c:1:
benes.c: vec128.h:7:23: error: smmintrin.h: No such file or directory
benes.c: In file included from vec256.h:4,
benes.c: from util.h:4,
benes.c: from benes.c:1:
benes.c: vec128.h:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128'
benes.c: vec128.h:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_set1_16b'
benes.c: vec128.h:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_setzero'
benes.c: vec128.h:21: error: expected ')' before 'a'
benes.c: vec128.h:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_and'
benes.c: vec128.h:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_xor'
benes.c: vec128.h:36: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_or'
benes.c: vec128.h:41: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_sll_2x'
benes.c: vec128.h:46: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_srl_2x'
benes.c: vec128.h:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_set2x'
benes.c: vec128.h:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_unpack_low'
benes.c: vec128.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_unpack_high'
benes.c: vec128.h:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_setbits'
benes.c: vec128.h:71: error: expected ')' before '*' token
benes.c: vec128.h:79: error: expected ')' before '*' token
benes.c: vec128.h:87: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vec128_or_reduce'
benes.c: vec128.h:99: error: expected ')' before '*' token
benes.c: vec128.h:100: error: expected ')' before '*' token
benes.c: ...

Number of similar (compiler,implementation) pairs: 66, namely:
CompilerImplementations
gcc avx
gcc -O2 -fomit-frame-pointer avx
gcc -O3 -fomit-frame-pointer avx
gcc -O -fomit-frame-pointer avx
gcc -Os -fomit-frame-pointer avx
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx
gcc -fno-schedule-insns -O -fomit-frame-pointer avx
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx
gcc -funroll-loops avx
gcc -funroll-loops -O2 -fomit-frame-pointer avx
gcc -funroll-loops -O3 -fomit-frame-pointer avx
gcc -funroll-loops -O -fomit-frame-pointer avx
gcc -funroll-loops -Os -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx
gcc -m64 -O2 -fomit-frame-pointer avx
gcc -m64 -O3 -fomit-frame-pointer avx
gcc -m64 -O -fomit-frame-pointer avx
gcc -m64 -Os -fomit-frame-pointer avx
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx
gcc -m64 -march=k8 -O -fomit-frame-pointer avx
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx
gcc -m64 -march=nocona -O -fomit-frame-pointer avx
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx
gcc -march=k8 -O2 -fomit-frame-pointer avx
gcc -march=k8 -O3 -fomit-frame-pointer avx
gcc -march=k8 -O -fomit-frame-pointer avx
gcc -march=k8 -Os -fomit-frame-pointer avx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx
gcc -march=nocona -O2 -fomit-frame-pointer avx
gcc -march=nocona -O3 -fomit-frame-pointer avx
gcc -march=nocona -O -fomit-frame-pointer avx
gcc -march=nocona -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/mceliece8192128/ref
Compiler: gcc
operations.c: In file included from operations.c:3:
operations.c: crypto_hash.h:1:55: error: libkeccak.a.headers/KeccakSpongeWidth1600.h: No such file or directory

Number of similar (compiler,implementation) pairs: 66, namely:
CompilerImplementations
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref