Implementation notes: amd64, par, crypto_hash/echo512

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hash
Primitive: echo512
TimeImplementationCompilerBenchmark dateSUPERCOP version
56740aes/aes64gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
56740aes/aes64gcc -march=native -mcpu=native -O22016121420161026
56760aes/aes64gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
56760aes/aes64gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
56780aes/aes64gcc -march=native -mcpu=native -Os2016121420161026
56820aes/aes64gcc -march=native -mcpu=native -O32016121420161026
162140pentium/pentium4v64v2gcc -march=native -mcpu=native -O22016121420161026
162160pentium/pentium4v64v2gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
162180pentium/pentium4v64v2gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
162240pentium/pentium4v64v2gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
162580pentium/pentium4v64v2gcc -march=native -mcpu=native -O32016121420161026
162620pentium/pentium4v64v2gcc -march=native -mcpu=native -Os2016121420161026
164740sphlibgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
165320sphlibgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
165380sphlibgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
168120pentium/pentium4v64v1gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
169040pentium/pentium4v64v1gcc -march=native -mcpu=native -O32016121420161026
169120pentium/pentium4v64v1gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
169460pentium/pentium4v64v1gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
170460pentium/pentium4v64v1gcc -march=native -mcpu=native -Os2016121420161026
170640sphlib-smallgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
171360pentium/pentium4v64v1gcc -march=native -mcpu=native -O22016121420161026
172620sphlibgcc -march=native -mcpu=native -O32016121420161026
173220generic/opt64gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
173500sphlibgcc -march=native -mcpu=native -O22016121420161026
174800sphlib-smallgcc -march=native -mcpu=native -O32016121420161026
175060generic/opt64gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
175160generic/opt64gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
181080generic/opt64gcc -march=native -mcpu=native -O32016121420161026
181140generic/opt64gcc -march=native -mcpu=native -O22016121420161026
187800sphlib-smallgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
189340sphlibgcc -march=native -mcpu=native -Os2016121420161026
191260generic/opt32gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
192040sphlib-smallgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
192300generic/opt32gcc -march=native -mcpu=native -O22016121420161026
193720generic/opt32gcc -march=native -mcpu=native -O32016121420161026
193880generic/opt32gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
193960sphlib-smallgcc -march=native -mcpu=native -Os2016121420161026
194880generic/opt32gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
198860sphlib-smallgcc -march=native -mcpu=native -O22016121420161026
220480generic/opt64gcc -march=native -mcpu=native -Os2016121420161026
226140generic/opt32gcc -march=native -mcpu=native -Os2016121420161026
242200powerpc/pp32cv2gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
250400powerpc/pp32cv2gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
252080powerpc/pp32cv2gcc -march=native -mcpu=native -O32016121420161026
272800powerpc/pp32cv2gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
276980powerpc/pp32cv2gcc -march=native -mcpu=native -Os2016121420161026
299180ccalik/bitslicedgcc -march=native -mcpu=native -Os2016121420161026
303560ccalik/bitslicedgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
305040ccalik/bitslicedgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
306960powerpc/pp32cv2gcc -march=native -mcpu=native -O22016121420161026
309920ccalik/bitslicedgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
309940ccalik/bitslicedgcc -march=native -mcpu=native -O32016121420161026
317820ccalik/bitslicedgcc -march=native -mcpu=native -O22016121420161026
338540powerpc/pp32cv1gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
345020powerpc/pp32cv1gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
349480powerpc/pp32cv1gcc -march=native -mcpu=native -O32016121420161026
391100powerpc/pp32cv1gcc -march=native -mcpu=native -O22016121420161026
394400powerpc/pp32cv1gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
405220powerpc/pp32cv1gcc -march=native -mcpu=native -Os2016121420161026
644160ccalik/vpermgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
644460ccalik/aesnigcc -funroll-loops -march=native -mcpu=native -O22016121420161026
652900ccalik/aesnigcc -march=native -mcpu=native -O22016121420161026
653740ccalik/aesnigcc -march=native -mcpu=native -O32016121420161026
653760ccalik/aesnigcc -march=native -mcpu=native -Os2016121420161026
653860ccalik/vpermgcc -march=native -mcpu=native -Os2016121420161026
653960ccalik/vpermgcc -march=native -mcpu=native -O32016121420161026
655100ccalik/vpermgcc -march=native -mcpu=native -O22016121420161026
655140ccalik/aesnigcc -funroll-loops -march=native -mcpu=native -O32016121420161026
655360ccalik/vpermgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
659720ccalik/aesnigcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
659740ccalik/vpermgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026

Compiler output

Implementation: crypto_hash/echo512/sphlib
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 sphlib sphlib-small
gcc -funroll-loops -march=native -mcpu=native -O3 sphlib sphlib-small
gcc -funroll-loops -march=native -mcpu=native -Os sphlib sphlib-small
gcc -march=native -mcpu=native -O2 sphlib sphlib-small
gcc -march=native -mcpu=native -O3 sphlib sphlib-small
gcc -march=native -mcpu=native -Os sphlib sphlib-small

Compiler output

Implementation: crypto_hash/echo512/generic/opt32
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo32.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 generic/opt32 powerpc/pp32cv1 powerpc/pp32cv2
gcc -funroll-loops -march=native -mcpu=native -O3 generic/opt32 powerpc/pp32cv1 powerpc/pp32cv2
gcc -funroll-loops -march=native -mcpu=native -Os generic/opt32 powerpc/pp32cv1 powerpc/pp32cv2
gcc -march=native -mcpu=native -O2 generic/opt32 powerpc/pp32cv1 powerpc/pp32cv2
gcc -march=native -mcpu=native -O3 generic/opt32 powerpc/pp32cv1 powerpc/pp32cv2
gcc -march=native -mcpu=native -Os generic/opt32 powerpc/pp32cv1 powerpc/pp32cv2

Compiler output

Implementation: crypto_hash/echo512/pentium/pentium4v64v1
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo32.s: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 pentium/pentium4v64v1
gcc -funroll-loops -march=native -mcpu=native -O3 pentium/pentium4v64v1
gcc -funroll-loops -march=native -mcpu=native -Os pentium/pentium4v64v1
gcc -march=native -mcpu=native -O2 pentium/pentium4v64v1
gcc -march=native -mcpu=native -O3 pentium/pentium4v64v1
gcc -march=native -mcpu=native -Os pentium/pentium4v64v1

Compiler output

Implementation: crypto_hash/echo512/generic/opt64
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo64.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
echo64.c: echo64.c: In function 'crypto_hash_echo512_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:12: 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: ^~~~
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 generic/opt64
gcc -funroll-loops -march=native -mcpu=native -O3 generic/opt64
gcc -funroll-loops -march=native -mcpu=native -Os generic/opt64
gcc -march=native -mcpu=native -O2 generic/opt64
gcc -march=native -mcpu=native -O3 generic/opt64
gcc -march=native -mcpu=native -Os generic/opt64

Compiler output

Implementation: crypto_hash/echo512/core2/core2v64
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo64.s: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
echo64.s: echo64.c: Assembler messages:
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,ah'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,al'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,bl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,bh'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,al'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,ah'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,bh'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,bl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,ah'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,al'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,bl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,bh'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,al'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,ah'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,bl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,bh'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,dl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,dh'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,ch'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,cl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,cl'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl esi,ch'
echo64.s: echo64.c:473: Error: no such instruction: `movzbl ebp,dh'
echo64.s: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 core2/core2v64
gcc -funroll-loops -march=native -mcpu=native -O3 core2/core2v64
gcc -funroll-loops -march=native -mcpu=native -Os core2/core2v64
gcc -march=native -mcpu=native -O2 core2/core2v64
gcc -march=native -mcpu=native -O3 core2/core2v64
gcc -march=native -mcpu=native -Os core2/core2v64

Compiler output

Implementation: crypto_hash/echo512/athlon/athlon64
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo64.s: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
echo64.s: echo64.c: Assembler messages:
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,ah'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,al'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,bl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,bh'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,al'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,ah'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,bh'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,bl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,ah'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,al'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,bl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,bh'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,al'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,ah'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,bl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,bh'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,dl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,dh'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,ch'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,cl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,cl'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl esi,ch'
echo64.s: echo64.c:519: Error: no such instruction: `movzbl ebp,dh'
echo64.s: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 athlon/athlon64
gcc -funroll-loops -march=native -mcpu=native -O3 athlon/athlon64
gcc -funroll-loops -march=native -mcpu=native -Os athlon/athlon64
gcc -march=native -mcpu=native -O2 athlon/athlon64
gcc -march=native -mcpu=native -O3 athlon/athlon64
gcc -march=native -mcpu=native -Os athlon/athlon64

Compiler output

Implementation: crypto_hash/echo512/aes/aes64
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
echo64.s: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 aes/aes64 pentium/pentium4v64v2
gcc -funroll-loops -march=native -mcpu=native -O3 aes/aes64 pentium/pentium4v64v2
gcc -funroll-loops -march=native -mcpu=native -Os aes/aes64 pentium/pentium4v64v2
gcc -march=native -mcpu=native -O2 aes/aes64 pentium/pentium4v64v2
gcc -march=native -mcpu=native -O3 aes/aes64 pentium/pentium4v64v2
gcc -march=native -mcpu=native -Os aes/aes64 pentium/pentium4v64v2

Compiler output

Implementation: crypto_hash/echo512/ccalik/aesni
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
hash.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 ccalik/aesni ccalik/bitsliced ccalik/vperm
gcc -funroll-loops -march=native -mcpu=native -O3 ccalik/aesni ccalik/bitsliced ccalik/vperm
gcc -funroll-loops -march=native -mcpu=native -Os ccalik/aesni ccalik/bitsliced ccalik/vperm
gcc -march=native -mcpu=native -O2 ccalik/aesni ccalik/bitsliced ccalik/vperm
gcc -march=native -mcpu=native -O3 ccalik/aesni ccalik/bitsliced ccalik/vperm
gcc -march=native -mcpu=native -Os ccalik/aesni ccalik/bitsliced ccalik/vperm