Implementation notes: amd64, h5nano, crypto_core/aes256encrypt

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_core
Primitive: aes256encrypt
TimeImplementationCompilerBenchmark dateSUPERCOP version
1280opensslgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042720140425
1280opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -m64 -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
1280opensslgcc -march=k8 -O3 -fomit-frame-pointer2014042720140425
1285opensslclang -O3 -fomit-frame-pointer2014062820140622
1285opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
1285opensslclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
1285opensslclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
1285opensslgcc -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -march=barcelona -Os -fomit-frame-pointer2014042720140425
1285opensslgcc -march=k8 -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -march=nocona -O2 -fomit-frame-pointer2014042720140425
1285opensslgcc -march=nocona -O3 -fomit-frame-pointer2014042720140425
1285opensslgcc -march=nocona -Os -fomit-frame-pointer2014042720140425
1290opensslgcc -O -fomit-frame-pointer2014042720140425
1290opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042720140425
1290opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042720140425
1290opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1290opensslgcc -march=barcelona -O -fomit-frame-pointer2014042720140425
1290opensslgcc -march=k8 -O -fomit-frame-pointer2014042720140425
1290opensslgcc -march=nocona -O -fomit-frame-pointer2014042720140425
1305opensslgcc2014042720140425
1305opensslgcc -funroll-loops2014042720140425
1305opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1310opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
1310opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042720140425
1310opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042720140425
1310opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042720140425
1310opensslgcc -march=k8 -Os -fomit-frame-pointer2014042720140425
1325opensslcc2014042720140425
1325opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042720140425
1325opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042720140425
1330opensslgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
1330opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1330opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1330opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1335opensslgcc -Os -fomit-frame-pointer2014042720140425
1335opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042720140425
1335opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042720140425
1340opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042720140425
1350opensslgcc -m64 -Os -fomit-frame-pointer2014042720140425
648310refgcc -m64 -O3 -fomit-frame-pointer2014042720140425
648355refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
648785refgcc -O3 -fomit-frame-pointer2014042720140425
650075refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042720140425
650075refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042720140425
650075refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042720140425
650680refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
650680refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042720140425
651255refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042720140425
651265refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042720140425
656620refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
657895refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042720140425
658975refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
659020refgcc -march=nocona -O3 -fomit-frame-pointer2014042720140425
660595refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
660615refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042720140425
672285refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
672375refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042720140425
672380refgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
673820refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
674385refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
674480refgcc -march=barcelona -O3 -fomit-frame-pointer2014042720140425
675995refgcc -march=k8 -O3 -fomit-frame-pointer2014042720140425
862935refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042720140425
862955refgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
862955refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
867010refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
867010refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042720140425
867015refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042720140425
867030refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
917150refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
917155refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042720140425
926280refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042720140425
926285refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
927610refgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
927610refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
927620refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042720140425
959105refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
959105refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042720140425
976530refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042720140425
976540refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1019845refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
1019845refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
1019845refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
1019860refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
1034625refclang -O3 -fomit-frame-pointer2014062820140622
1777340refgcc -march=k8 -O2 -fomit-frame-pointer2014042720140425
1777425refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1790215refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1790275refgcc -O2 -fomit-frame-pointer2014042720140425
1790310refgcc -m64 -O2 -fomit-frame-pointer2014042720140425
1793720refgcc -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1793760refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1803185refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042720140425
1803190refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042720140425
1803210refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042720140425
1803250refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042720140425
1803260refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042720140425
1853100refgcc -march=nocona -O2 -fomit-frame-pointer2014042720140425
1853275refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1860110refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042720140425
1860125refgcc -m64 -march=core2 -O -fomit-frame-pointer2014042720140425
1860125refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042720140425
1860125refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042720140425
1860130refgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1860130refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042720140425
1860260refgcc -O -fomit-frame-pointer2014042720140425
1860305refgcc -m64 -O -fomit-frame-pointer2014042720140425
1862540refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1862565refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042720140425
1862565refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1862655refgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
1862680refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042720140425
1864315refgcc -Os -fomit-frame-pointer2014042720140425
1864315refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1864315refgcc -march=k8 -Os -fomit-frame-pointer2014042720140425
1864530refgcc -m64 -Os -fomit-frame-pointer2014042720140425
1864550refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1883825refgcc -march=barcelona -Os -fomit-frame-pointer2014042720140425
1883945refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1884010refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042720140425
1884095refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042720140425
1884110refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042720140425
1884245refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042720140425
1884300refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042720140425
1885290refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042720140425
1885460refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1890875refgcc -march=nocona -Os -fomit-frame-pointer2014042720140425
1890960refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1891920refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042720140425
1892160refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1917760refgcc -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1917825refgcc -march=nocona -O -fomit-frame-pointer2014042720140425
1924025refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1924055refgcc -march=barcelona -O -fomit-frame-pointer2014042720140425
1924175refgcc -march=k8 -O -fomit-frame-pointer2014042720140425
1924260refgcc -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
5603805refgcc -funroll-loops2014042720140425
5604390refcc2014042720140425
5605085refgcc2014042720140425

Compiler output

Implementation: crypto_core/aes256encrypt/openssl
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer openssl ref

Compiler output

Implementation: crypto_core/aes256encrypt/openssl
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
core.c: clang: warning: argument unused during compilation: '-mavx2'
core.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer openssl ref

Compiler output

Implementation: crypto_core/aes256encrypt/openssl
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
core.c: clang: warning: argument unused during compilation: '-mavx2'
core.c: clang: warning: argument unused during compilation: '-mpclmul'
core.c: clang: warning: argument unused during compilation: '-fpolly'
core.c: clang: warning: argument unused during compilation: '-fvectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer openssl ref

Compiler output

Implementation: crypto_core/aes256encrypt/openssl
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer openssl ref

Compiler output

Implementation: crypto_core/aes256encrypt/openssl
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx2'
core.c: clang: warning: argument unused during compilation: '-fpolly'
core.c: clang: warning: argument unused during compilation: '-fvectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer openssl ref