Implementation notes: amd64, floodyberry, crypto_hash/echosp512

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: echosp512
TimeImplementationCompilerBenchmark dateSUPERCOP version
59450core2/core2v64gcc -m64 -O2 -fomit-frame-pointer2014050720140505
59450core2/core2v64icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
59463core2/core2v64icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
59475core2/core2v64gcc -m64 -O3 -fomit-frame-pointer2014050720140505
59475core2/core2v64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
59500core2/core2v64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
71088athlon/athlon64gcc -m64 -O3 -fomit-frame-pointer2014050720140505
71200athlon/athlon64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
71513athlon/athlon64gcc -m64 -O2 -fomit-frame-pointer2014050720140505
71625athlon/athlon64icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
71737athlon/athlon64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
71775athlon/athlon64icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
76138generic/opt64icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
78188generic/opt64icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
86237pentium/pentium4v64v2gcc -m64 -O3 -fomit-frame-pointer2014050720140505
86262pentium/pentium4v64v2gcc -m64 -O2 -fomit-frame-pointer2014050720140505
86275pentium/pentium4v64v1gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
86275pentium/pentium4v64v1gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
86275pentium/pentium4v64v2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
86288pentium/pentium4v64v1gcc -m64 -O2 -fomit-frame-pointer2014050720140505
86325pentium/pentium4v64v2icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
86337pentium/pentium4v64v2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
86338pentium/pentium4v64v2icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
86375pentium/pentium4v64v1gcc -m64 -O3 -fomit-frame-pointer2014050720140505
86412pentium/pentium4v64v1icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
86512pentium/pentium4v64v1icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
92338generic/opt64gcc -m64 -O3 -fomit-frame-pointer2014050720140505
92500generic/opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
93625generic/opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
93713generic/opt32icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
93737generic/opt64gcc -m64 -O2 -fomit-frame-pointer2014050720140505
94862generic/opt32clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
95037generic/opt32icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
98087generic/opt32clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
102625powerpc/pp32cv2clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
102975generic/opt32gcc -m64 -O3 -fomit-frame-pointer2014050720140505
103788generic/opt32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
104600generic/opt32gcc -m64 -O2 -fomit-frame-pointer2014050720140505
104812generic/opt32gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
114637powerpc/pp32cv2icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
125500powerpc/pp32cv2clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
127000generic/opt64clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
127650generic/opt64clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
127750powerpc/pp32cv2icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
131800powerpc/pp32cv2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
135937powerpc/pp32cv2gcc -m64 -O3 -fomit-frame-pointer2014050720140505
136612powerpc/pp32cv2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
140463powerpc/pp32cv2gcc -m64 -O2 -fomit-frame-pointer2014050720140505
148113powerpc/pp32cv1clang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
164762powerpc/pp32cv1gcc -m64 -O3 -fomit-frame-pointer2014050720140505
166063powerpc/pp32cv1gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
167900powerpc/pp32cv1icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
168438powerpc/pp32cv1clang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
170350powerpc/pp32cv1icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
177113powerpc/pp32cv1gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
178150powerpc/pp32cv1gcc -m64 -O2 -fomit-frame-pointer2014050720140505

Test failure

Implementation: crypto_hash/echosp512/aes/aes64
Compiler: gcc -m64 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer aes/aes64
gcc -m64 -O3 -fomit-frame-pointer aes/aes64
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer aes/aes64
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer aes/aes64
icc -m64 -O1 -static -xHost -fomit-frame-pointer aes/aes64
icc -m64 -O3 -static -xHost -fomit-frame-pointer aes/aes64

Compiler output

Implementation: crypto_hash/echosp512/generic/opt32
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
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: please include the header gt; or explicitly provide a declaration for 'printf'
echo32.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer generic/opt32
clang -O3 -march=native -m64 -fomit-frame-pointer generic/opt32

Compiler output

Implementation: crypto_hash/echosp512/pentium/pentium4v64v1
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
echo32.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
echo32.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
echo32.s: clang: warning: argument unused during compilation: '-I .'
echo32.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
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: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer pentium/pentium4v64v1
clang -O3 -march=native -m64 -fomit-frame-pointer pentium/pentium4v64v1

Compiler output

Implementation: crypto_hash/echosp512/generic/opt64
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
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: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer generic/opt64
clang -O3 -march=native -m64 -fomit-frame-pointer generic/opt64

Compiler output

Implementation: crypto_hash/echosp512/core2/core2v64
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
echo64.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
echo64.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
echo64.s: clang: warning: argument unused during compilation: '-I .'
echo64.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl ebp, ah
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl esi, al
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl ebp, bl
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl esi, bh
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl ebp, al
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl esi, ah
echo64.s: ^
echo64.s: echo64.c:635:2: error: invalid operand for instruction
echo64.s: movzbl ebp, bh
echo64.s: ^
echo64.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer core2/core2v64
clang -O3 -march=native -m64 -fomit-frame-pointer core2/core2v64

Compiler output

Implementation: crypto_hash/echosp512/aes/aes64
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
echo64.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
echo64.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
echo64.s: clang: warning: argument unused during compilation: '-I .'
echo64.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
echo64.s: echo64.c:636:14: error: invalid instruction mnemonic 'noprefix'
echo64.s: .att_syntax noprefix
echo64.s: ^~~~~~~~

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer aes/aes64
clang -O3 -march=native -m64 -fomit-frame-pointer aes/aes64

Compiler output

Implementation: crypto_hash/echosp512/athlon/athlon64
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
echo64.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
echo64.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
echo64.s: clang: warning: argument unused during compilation: '-I .'
echo64.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl ebp, ah
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl esi, al
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl ebp, bl
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl esi, bh
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl ebp, al
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl esi, ah
echo64.s: ^
echo64.s: echo64.c:729:2: error: invalid operand for instruction
echo64.s: movzbl ebp, bh
echo64.s: ^
echo64.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer athlon/athlon64
clang -O3 -march=native -m64 -fomit-frame-pointer athlon/athlon64

Compiler output

Implementation: crypto_hash/echosp512/pentium/pentium4v64v2
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
echo64.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
echo64.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
echo64.s: clang: warning: argument unused during compilation: '-I .'
echo64.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
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: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer pentium/pentium4v64v2
clang -O3 -march=native -m64 -fomit-frame-pointer pentium/pentium4v64v2

Compiler output

Implementation: crypto_hash/echosp512/generic/opt32
Compiler: gcc -m64 -O2 -fomit-frame-pointer
echo32.c: echo32.c: In function 'PrintState':
echo32.c: echo32.c:37:4: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
echo32.c: echo32.c:47:2: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]

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

Compiler output

Implementation: crypto_hash/echosp512/generic/opt64
Compiler: gcc -m64 -O2 -fomit-frame-pointer
echo64.c: echo64.c: In function 'crypto_hash_echosp512_generic_opt64':
echo64.c: echo64.c:555:3: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [enabled by default]
echo64.c: echo64.c:542:12: note: expected 'BitSequence *' but argument is of type 'const unsigned char *'

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

Compiler output

Implementation: crypto_hash/echosp512/generic/opt64
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
echo64.c: echo64.c(555): warning #2330: argument of type "const unsigned char *" is incompatible with parameter of type "BitSequence={unsigned char} *" (dropping qualifiers)
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^
echo64.c:

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -m64 -O1 -static -xHost -fomit-frame-pointer generic/opt64
icc -m64 -O3 -static -xHost -fomit-frame-pointer generic/opt64