Implementation notes: amd64, par, crypto_hash/echo256

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hash
Primitive: echo256
TimeImplementationCompilerBenchmark dateSUPERCOP version
31860aes/aes64gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
31880aes/aes64gcc -march=native -mcpu=native -O22016121420161026
31880aes/aes64gcc -march=native -mcpu=native -O32016121420161026
31900aes/aes64gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
31900aes/aes64gcc -march=native -mcpu=native -Os2016121420161026
31920aes/aes64gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
38260ccalik/aesnigcc -funroll-loops -march=native -mcpu=native -O22016121420161026
39000ccalik/aesnigcc -march=native -mcpu=native -Os2016121420161026
39700ccalik/aesnigcc -funroll-loops -march=native -mcpu=native -O32016121420161026
39860ccalik/aesnigcc -march=native -mcpu=native -O22016121420161026
40320ccalik/aesnigcc -march=native -mcpu=native -O32016121420161026
41640ccalik/aesnigcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
89800pentium/pentium4v64v2gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
89800pentium/pentium4v64v2gcc -march=native -mcpu=native -Os2016121420161026
89980pentium/pentium4v64v2gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
90240pentium/pentium4v64v2gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
90300pentium/pentium4v64v2gcc -march=native -mcpu=native -O32016121420161026
90620pentium/pentium4v64v2gcc -march=native -mcpu=native -O22016121420161026
91840sphlibgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
92040sphlibgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
92300sphlibgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
93200pentium/pentium4v64v1gcc -march=native -mcpu=native -Os2016121420161026
93240pentium/pentium4v64v1gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
93420pentium/pentium4v64v1gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
94040pentium/pentium4v64v1gcc -march=native -mcpu=native -O32016121420161026
94980pentium/pentium4v64v1gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
95140pentium/pentium4v64v1gcc -march=native -mcpu=native -O22016121420161026
95300sphlib-smallgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
96220generic/opt64gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
96920sphlib-smallgcc -march=native -mcpu=native -O32016121420161026
97160sphlibgcc -march=native -mcpu=native -O32016121420161026
97680generic/opt64gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
97800generic/opt64gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
97860sphlibgcc -march=native -mcpu=native -O22016121420161026
101000generic/opt64gcc -march=native -mcpu=native -O22016121420161026
101340generic/opt64gcc -march=native -mcpu=native -O32016121420161026
104420sphlibgcc -march=native -mcpu=native -Os2016121420161026
104820sphlib-smallgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
107400sphlib-smallgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
107560generic/opt32gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
108140generic/opt32gcc -march=native -mcpu=native -O32016121420161026
108340sphlib-smallgcc -march=native -mcpu=native -Os2016121420161026
109280generic/opt32gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
109820generic/opt32gcc -march=native -mcpu=native -O22016121420161026
109880generic/opt32gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
110560sphlib-smallgcc -march=native -mcpu=native -O22016121420161026
123660generic/opt64gcc -march=native -mcpu=native -Os2016121420161026
129000generic/opt32gcc -march=native -mcpu=native -Os2016121420161026
137120powerpc/pp32cv2gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
144620powerpc/pp32cv2gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
145120powerpc/pp32cv2gcc -march=native -mcpu=native -O32016121420161026
162220powerpc/pp32cv2gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
166340powerpc/pp32cv2gcc -march=native -mcpu=native -Os2016121420161026
166880ccalik/bitslicedgcc -march=native -mcpu=native -Os2016121420161026
168940ccalik/bitslicedgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
169680ccalik/bitslicedgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
172560ccalik/bitslicedgcc -march=native -mcpu=native -O32016121420161026
172640ccalik/bitslicedgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
176920ccalik/bitslicedgcc -march=native -mcpu=native -O22016121420161026
182380powerpc/pp32cv2gcc -march=native -mcpu=native -O22016121420161026
191780powerpc/pp32cv1gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
195660powerpc/pp32cv1gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
199640powerpc/pp32cv1gcc -march=native -mcpu=native -O32016121420161026
229020powerpc/pp32cv1gcc -march=native -mcpu=native -O22016121420161026
229820powerpc/pp32cv1gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
234080powerpc/pp32cv1gcc -march=native -mcpu=native -Os2016121420161026
358540ccalik/vpermgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
363160ccalik/vpermgcc -march=native -mcpu=native -O22016121420161026
363860ccalik/vpermgcc -march=native -mcpu=native -O32016121420161026
364000ccalik/vpermgcc -march=native -mcpu=native -Os2016121420161026
364280ccalik/vpermgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
367520ccalik/vpermgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026

Compiler output

Implementation: crypto_hash/echo256/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/echo256/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/echo256/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/echo256/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_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: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/echo256/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/echo256/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/echo256/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/echo256/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