Implementation notes: aarch64, jetsontx1, crypto_hash/echo256

Computer: jetsontx1
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: echo256
TimeImplementationCompilerBenchmark dateSUPERCOP version
56147generic/opt64clang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv2018101320180818
56379sphlibclang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv2018101320180818
56415sphlibclang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv2018101320180818
56455sphlibclang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv2018101320180818
59479generic/opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101320180818
59553generic/opt64clang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv2018101320180818
59553generic/opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101320180818
59931generic/opt64clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv2018101320180818
60044sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101320180818
60451sphlib-smallclang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv2018101320180818
60456sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101320180818
60709sphlib-smallclang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv2018101320180818
61921generic/opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101320180818
62419generic/opt32clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv2018101320180818
62518generic/opt32clang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv2018101320180818
64027sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101320180818
64437sphlib-smallclang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv2018101320180818
65242generic/opt32clang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv2018101320180818
66036sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101320180818
67438sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101320180818
69590sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101320180818
70399generic/opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101320180818
71718generic/opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101320180818
75400powerpc/pp32cv2clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv2018101320180818
83937generic/opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101320180818
88343powerpc/pp32cv2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101320180818
89916powerpc/pp32cv2clang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv2018101320180818
91934powerpc/pp32cv2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101320180818
94467powerpc/pp32cv2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101320180818
100326powerpc/pp32cv2clang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv2018101320180818
111332powerpc/pp32cv1clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv2018101320180818
116224powerpc/pp32cv1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101320180818
119393powerpc/pp32cv1clang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv2018101320180818
129001powerpc/pp32cv1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101320180818
137111powerpc/pp32cv1clang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv2018101320180818
137624powerpc/pp32cv1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101320180818

Compiler output

Implementation: crypto_hash/echo256/generic/opt64
Compiler: clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv
echo64.c: echo64.c:501:29: warning: passing 'const unsigned char *' to parameter of type 'BitSequence *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^~
echo64.c: echo64.c:488:46: note: passing argument to parameter 'data' here
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^
echo64.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv generic/opt64
clang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv generic/opt64
clang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv generic/opt64

Compiler output

Implementation: crypto_hash/echo256/ccalik/bitsliced
Compiler: clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from hash.c:18:
hash.c: In file included from /usr/lib/llvm-6.0/lib/clang/6.0.0/include/tmmintrin.h:27:
hash.c: In file included from /usr/lib/llvm-6.0/lib/clang/6.0.0/include/pmmintrin.h:27:
hash.c: In file included from /usr/lib/llvm-6.0/lib/clang/6.0.0/include/emmintrin.h:27:
hash.c: In file included from /usr/lib/llvm-6.0/lib/clang/6.0.0/include/xmmintrin.h:27:
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
hash.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
hash.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang-6.0 -mcpu=cortex-a57 -O2 -fomit-frame-pointer -fwrapv ccalik/bitsliced
clang-6.0 -mcpu=cortex-a57 -O3 -fomit-frame-pointer -fwrapv ccalik/bitsliced
clang-6.0 -mcpu=cortex-a57 -Os -fomit-frame-pointer -fwrapv ccalik/bitsliced

Compiler output

Implementation: crypto_hash/echo256/generic/opt64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
echo64.c: echo64.c: In function 'crypto_hash_echo256_generic_opt64':
echo64.c: echo64.c:501:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^~
echo64.c: echo64.c:488:46: note: expected 'BitSequence *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ~~~~~~~~~~~~~^~~~

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv generic/opt64

Compiler output

Implementation: crypto_hash/echo256/ccalik/bitsliced
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c:18:10: fatal error: tmmintrin.h: No such file or directory
hash.c: #include gt;
hash.c: ^~~~~~~~~~~~~
hash.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ccalik/bitsliced
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ccalik/bitsliced
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ccalik/bitsliced