Implementation notes: amd64, waldorf, crypto_hash/shavite3512

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_hash
Primitive: shavite3512
TimeImplementationCompilerBenchmark dateSUPERCOP version
92304sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
94384sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
95408sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
97144sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
100504sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
100760sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
104580sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
105944sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
120288low-memgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
127152low-memgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
127360IntelL1Cachegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
134076IntelL1Cachegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
134388sphlib-smallclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
134736IntelL1Cachegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
138788IntelL1Cachegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
143712lower-memgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
145044IntelL1Cacheclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
146096low-memgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
146636sphlibclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
151616low-memgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
153576different-ordergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
154752new-aes-roundgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
154948no-saltgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
155284no-saltgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
157572new-aes-roundgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
158248lower-memgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
162040different-ordergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
162392lower-memgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
162576low-memclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
163408lower-memclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
163740no-saltgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
166860new-aes-roundgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
167576different-ordergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
169376lower-memgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
169424new-aes-roundgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
170588different-ordergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
171564no-saltgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
185148no-saltclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
199932new-aes-roundclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
213776different-orderclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
4786648-bitgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
5538688-bitgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
10218568-bitclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
12515328-bitgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
14202568-bitgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715

Test failure

Implementation: crypto_hash/shavite3512/aes-instruct
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-instruct
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv aes-instruct
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv aes-instruct
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv aes-instruct

Compiler output

Implementation: crypto_hash/shavite3512/8-bit
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
SHAvite3.c: In file included from SHAvite3.c:11:
SHAvite3.c: ./portable.h:109:2: warning: NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!! [-W#warnings]
SHAvite3.c: #warning NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!!
SHAvite3.c: ^
SHAvite3.c: ./portable.h:510:1: warning: '/*' within block comment [-Wcomment]
SHAvite3.c: /* "x++" is passed as an argument, thus increasing x 4 times instead of one */
SHAvite3.c: ^
SHAvite3.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments 8-bit IntelL1Cache different-order low-mem lower-mem new-aes-round no-salt

Compiler output

Implementation: crypto_hash/shavite3512/aes-instruct
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: In file included from hash.c:4:
hash.c: In file included from ./SHA3api_ref.h:13:
hash.c: ./compress.h:140:9: error: invalid operand for instruction
hash.c: asm ("movaps xmm0, [SHAVITE512_PTXT]");
hash.c: ^
hash.c: gt;:1:15: note: instantiated into assembly here
hash.c: movaps xmm0, [SHAVITE512_PTXT]
hash.c: ^~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:4:
hash.c: In file included from ./SHA3api_ref.h:13:
hash.c: ./compress.h:141:9: error: invalid operand for instruction
hash.c: asm ("movaps xmm1, [SHAVITE512_PTXT+16]");
hash.c: ^
hash.c: gt;:1:15: note: instantiated into assembly here
hash.c: movaps xmm1, [SHAVITE512_PTXT+16]
hash.c: ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:4:
hash.c: In file included from ./SHA3api_ref.h:13:
hash.c: ./compress.h:142:9: error: invalid operand for instruction
hash.c: asm ("movaps xmm2, [SHAVITE512_PTXT+32]");
hash.c: ^
hash.c: gt;:1:15: note: instantiated into assembly here
hash.c: movaps xmm2, [SHAVITE512_PTXT+32]
hash.c: ^~~~~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:4:
hash.c: ...

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

Compiler output

Implementation: crypto_hash/shavite3512/8-bit
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
SHAvite3.c: In file included from SHAvite3.c:11:0:
SHAvite3.c: portable.h:109:2: warning: #warning NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!! [-Wcpp]
SHAvite3.c: #warning NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!!
SHAvite3.c: ^

Number of similar (compiler,implementation) pairs: 28, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv 8-bit IntelL1Cache different-order low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv 8-bit IntelL1Cache different-order low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv 8-bit IntelL1Cache different-order low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 8-bit IntelL1Cache different-order low-mem lower-mem new-aes-round no-salt