Implementation notes: amd64, waldorf, crypto_hash/echosp256

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_hash
Primitive: echosp256
TimeImplementationCompilerBenchmark dateSUPERCOP version
68600athlon/athlon64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
68764core2/core2v64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
70300core2/core2v64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
71248athlon/athlon64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
72904core2/core2v64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
74504core2/core2v64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
75004athlon/athlon64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
79160athlon/athlon64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
81344generic/opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
85360generic/opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
86236generic/opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
88380generic/opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
89216pentium/pentium4v64v2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
91352pentium/pentium4v64v1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
92052pentium/pentium4v64v1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
92232pentium/pentium4v64v2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
92604pentium/pentium4v64v1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
92936generic/opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
94044generic/opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
94696pentium/pentium4v64v1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
95312pentium/pentium4v64v2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
96196pentium/pentium4v64v2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
96528generic/opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
103176generic/opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
103828generic/opt32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
106216powerpc/pp32cv2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
125748powerpc/pp32cv2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
129236generic/opt64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
141500powerpc/pp32cv2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
142760powerpc/pp32cv1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
157040powerpc/pp32cv2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
158608powerpc/pp32cv2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
162032powerpc/pp32cv1clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
189948powerpc/pp32cv1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
193408powerpc/pp32cv1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
200540powerpc/pp32cv1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715

Test failure

Implementation: crypto_hash/echosp256/aes/aes64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv aes/aes64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv aes/aes64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv aes/aes64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv aes/aes64

Compiler output

Implementation: crypto_hash/echosp256/generic/opt32
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo32.c: echo32.c:37:4: warning: implicitly declaring library function 'printf' with type 'int (const char *, ...)'
echo32.c: printf ("row %d,col %d :",i,j);
echo32.c: ^
echo32.c: echo32.c:37:4: note: include the header gt; or explicitly provide a declaration for 'printf'
echo32.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments generic/opt32

Compiler output

Implementation: crypto_hash/echosp256/pentium/pentium4v64v1
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo32.s: echo32.c:656:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:656:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:656:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:656:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:657:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:657:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:657:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:657:2: error: invalid instruction mnemonic 'addd'
echo32.s: addd [SHA3_CNT], 1
echo32.s: ^
echo32.s: echo32.c:658:2: error: invalid instruction mnemonic 'addd'
echo32.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments pentium/pentium4v64v1

Compiler output

Implementation: crypto_hash/echosp256/generic/opt64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo64.c: echo64.c:555: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:542: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: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments generic/opt64

Compiler output

Implementation: crypto_hash/echosp256/core2/core2v64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, ah
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, al
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, bl
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, bh
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, al
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, ah
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, bh
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, bl
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments core2/core2v64

Compiler output

Implementation: crypto_hash/echosp256/aes/aes64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo64.s: echo64.c:636:14: error: invalid instruction mnemonic 'noprefix'
echo64.s: .att_syntax noprefix
echo64.s: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aes/aes64

Compiler output

Implementation: crypto_hash/echosp256/athlon/athlon64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, ah
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, al
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, bl
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, bh
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, al
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, ah
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl ebp, bh
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: movzbl esi, bl
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid instruction mnemonic 'movzbl'
echo64.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments athlon/athlon64

Compiler output

Implementation: crypto_hash/echosp256/pentium/pentium4v64v2
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo64.s: echo64.c:735:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:735:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:735:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:735:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:736:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:736:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:736:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:736:2: error: invalid instruction mnemonic 'addd'
echo64.s: addd [SHA3_CNT], 1
echo64.s: ^
echo64.s: echo64.c:737:2: error: invalid instruction mnemonic 'addd'
echo64.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments pentium/pentium4v64v2

Compiler output

Implementation: crypto_hash/echosp256/generic/opt32
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
echo32.c: echo32.c: In function 'PrintState':
echo32.c: echo32.c:37:4: warning: incompatible implicit declaration of built-in function 'printf'
echo32.c: printf ("row %d,col %d :",i,j);
echo32.c: ^
echo32.c: echo32.c:47:2: warning: incompatible implicit declaration of built-in function 'printf'
echo32.c: printf("-----------------------------------\n");
echo32.c: ^

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

Compiler output

Implementation: crypto_hash/echosp256/generic/opt64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
echo64.c: echo64.c: In function 'crypto_hash_echosp256_generic_opt64':
echo64.c: echo64.c:555:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^
echo64.c: echo64.c:542:12: note: expected 'BitSequence *' 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: 4, 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 -O -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv generic/opt64