Implementation notes: amd64, sliver, crypto_core/aes256decrypt

Computer: sliver
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160731
Operation: crypto_core
Primitive: aes256decrypt
TimeImplementationCompilerBenchmark dateSUPERCOP version
414dolbeau/aesenc-intclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
1818dolbeau/std-4rt-nodkclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
1986dolbeau/std-2rt-nodkclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
2106dolbeau/std-1rt-nodkclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
3336opensslgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072420160718
3402opensslgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072420160718
3504opensslgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072420160718
3516opensslclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
3726opensslgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072420160718
1735848refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072420160718
1947228refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
2737974refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072420160718
2958102refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072420160718
3140958refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072420160718

Checksum failure

Implementation: crypto_core/aes256decrypt/dolbeau/std-1rt-nodk
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
a0976d722cd8ae5ba9d82a9d9ace2c8517b75dccd1f3ca529b4f7cce9ae3ad8e
Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk dolbeau/std-2rt-nodk dolbeau/std-4rt-nodk
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk dolbeau/std-2rt-nodk dolbeau/std-4rt-nodk
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk dolbeau/std-2rt-nodk dolbeau/std-4rt-nodk
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk dolbeau/std-2rt-nodk dolbeau/std-4rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/aesenc-int
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
core.c: core.c:13:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
core.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/local/bin/../lib/clang/3.5/include/emmintrin.h:1069:32: note: passing argument to parameter '__p' here
core.c: _mm_loadu_si128(__m128i const *__p)
core.c: ^
core.c: core.c:14:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
core.c: __m128i key1 = _mm_loadu_si128((const unsigned int *)(key+16));
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/local/bin/../lib/clang/3.5/include/emmintrin.h:1069:32: note: passing argument to parameter '__p' here
core.c: _mm_loadu_si128(__m128i const *__p)
core.c: ^
core.c: 2 warnings generated.
try.c: /tmp/try-anything-146889.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-3fcc82.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

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

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-1rt-nodk
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-044414.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-746ad5.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

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

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-2rt-nodk
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-10d83f.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-8afa21.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/std-2rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/ref
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-644c9e.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-17d545.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

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

Compiler output

Implementation: crypto_core/aes256decrypt/openssl
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-9373f1.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-2b60dd.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

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

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-4rt-nodk
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-dca2ca.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-5560b4.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/std-4rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/aesenc-int
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
core.c: core.c:9:23: error: immintrin.h: No such file or directory
core.c: core.c:12: error: expected declaration specifiers or '...' before '__m128i'
core.c: core.c: In function 'aes256ni_setkey_encrypt':
core.c: core.c:13: error: '__m128i' undeclared (first use in this function)
core.c: core.c:13: error: (Each undeclared identifier is reported only once
core.c: core.c:13: error: for each function it appears in.)
core.c: core.c:13: error: expected ';' before 'key0'
core.c: core.c:14: error: expected ';' before 'key1'
core.c: core.c:15: error: expected ';' before 'temp0'
core.c: core.c:18: error: 'rkeys' undeclared (first use in this function)
core.c: core.c:18: error: 'key0' undeclared (first use in this function)
core.c: core.c:19: error: 'temp0' undeclared (first use in this function)
core.c: core.c:20: error: 'temp2' undeclared (first use in this function)
core.c: core.c:20: error: 'key1' undeclared (first use in this function)
core.c: core.c:43: error: 'temp1' undeclared (first use in this function)
core.c: core.c:43: error: 'temp4' undeclared (first use in this function)
core.c: core.c: At top level:
core.c: core.c:65: error: expected declaration specifiers or '...' before '__m128i'
core.c: core.c: In function 'aes256ni_setkey_decrypt':
core.c: core.c:66: error: '__m128i' undeclared (first use in this function)
core.c: core.c:66: error: expected ';' before 'tkeys'
core.c: core.c:68: error: 'tkeys' undeclared (first use in this function)
core.c: core.c:68: error: too many arguments to function 'aes256ni_setkey_encrypt'
core.c: core.c:69: error: 'rkeys' undeclared (first use in this function)
core.c: core.c: At top level:
core.c: ...

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

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-1rt-nodk
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc6Wldso.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-4rt-nodk
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccOq1ptK.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/std-4rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-2rt-nodk
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccPbRZCS.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/std-2rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/openssl
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccThqfYO.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccisRXB9.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv openssl

Compiler output

Implementation: crypto_core/aes256decrypt/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccXBvGMn.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccwclGEH.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_core/aes256decrypt/ref
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc6KKHXa.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccYsp2i1.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_core/aes256decrypt/openssl
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccKN8xTg.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccmZDkV8.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv openssl

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-2rt-nodk
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccQwBLT9.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/std-2rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-1rt-nodk
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccU1CrlL.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-4rt-nodk
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccf2grLf.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/std-4rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-2rt-nodk
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//cc0vtyK0.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/std-2rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-1rt-nodk
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//cc6PY4VI.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-4rt-nodk
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccHvpE6B.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/std-4rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/ref
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccMBMC5B.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccmrVWsn.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_core/aes256decrypt/openssl
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccnjnbb7.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//cc5voXS6.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv openssl

Compiler output

Implementation: crypto_core/aes256decrypt/ref
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//cc0f64sn.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//cc41IJnG.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-4rt-nodk
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//cceCqbkZ.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/std-4rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-1rt-nodk
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccsllgSY.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/std-1rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/dolbeau/std-2rt-nodk
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccvnMCrt.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/std-2rt-nodk

Compiler output

Implementation: crypto_core/aes256decrypt/openssl
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccz2ftQu.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp//ccmXESww.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv openssl