Implementation notes: amd64, h5nano, crypto_core/aes128encrypt

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_core
Primitive: aes128encrypt
TimeImplementationCompilerBenchmark dateSUPERCOP version
980opensslgcc -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -march=barcelona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -march=barcelona -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -march=barcelona -Os -fomit-frame-pointer2014042720140425
980opensslgcc -march=k8 -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -march=k8 -O3 -fomit-frame-pointer2014042720140425
980opensslgcc -march=nocona -O2 -fomit-frame-pointer2014042720140425
980opensslgcc -march=nocona -O3 -fomit-frame-pointer2014042720140425
985opensslclang -O3 -fomit-frame-pointer2014062820140622
985opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
985opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
985opensslclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
985opensslclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
985opensslgcc -O -fomit-frame-pointer2014042720140425
985opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042720140425
985opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042720140425
985opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
985opensslgcc -march=k8 -O -fomit-frame-pointer2014042720140425
990opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042720140425
990opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
990opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
990opensslgcc -march=barcelona -O -fomit-frame-pointer2014042720140425
990opensslgcc -march=nocona -O -fomit-frame-pointer2014042720140425
1010opensslcc2014042720140425
1010opensslgcc2014042720140425
1010opensslgcc -funroll-loops2014042720140425
1040opensslgcc -Os -fomit-frame-pointer2014042720140425
1040opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042720140425
1040opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042720140425
1040opensslgcc -march=k8 -Os -fomit-frame-pointer2014042720140425
1045opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042720140425
1045opensslgcc -march=nocona -Os -fomit-frame-pointer2014042720140425
467510refgcc -O3 -fomit-frame-pointer2014042720140425
467510refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
467815refgcc -m64 -O3 -fomit-frame-pointer2014042720140425
471090refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
471095refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042720140425
471770refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042720140425
472395refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042720140425
472395refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042720140425
472395refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042720140425
472395refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042720140425
475275refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
476185refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042720140425
476870refgcc -march=nocona -O3 -fomit-frame-pointer2014042720140425
476900refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
478245refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
478245refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042720140425
486065refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042720140425
486645refgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
486645refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
487970refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
487970refgcc -march=k8 -O3 -fomit-frame-pointer2014042720140425
488045refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
488090refgcc -march=barcelona -O3 -fomit-frame-pointer2014042720140425
624805refgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
624805refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
624805refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042720140425
627720refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042720140425
627725refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
627725refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
627725refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042720140425
664040refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
664040refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042720140425
664525refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042720140425
664530refgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
670730refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
670730refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042720140425
671575refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
694160refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
694165refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042720140425
707145refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
707150refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042720140425
738305refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
738305refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
738305refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
738305refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
748945refclang -O3 -fomit-frame-pointer2014062820140622
1286885refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1286915refgcc -march=k8 -O2 -fomit-frame-pointer2014042720140425
1296105refgcc -m64 -O2 -fomit-frame-pointer2014042720140425
1296110refgcc -O2 -fomit-frame-pointer2014042720140425
1296110refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1298810refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1298810refgcc -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1305495refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042720140425
1305495refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042720140425
1305495refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042720140425
1305495refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042720140425
1305495refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042720140425
1338350refgcc -march=nocona -O2 -fomit-frame-pointer2014042720140425
1338520refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1348040refgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1348165refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042720140425
1348520refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042720140425
1351665refgcc -m64 -march=core2 -O -fomit-frame-pointer2014042720140425
1351670refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042720140425
1351690refgcc -O -fomit-frame-pointer2014042720140425
1351690refgcc -m64 -O -fomit-frame-pointer2014042720140425
1351700refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042720140425
1366755refgcc -m64 -Os -fomit-frame-pointer2014042720140425
1366760refgcc -Os -fomit-frame-pointer2014042720140425
1366760refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1366760refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1366760refgcc -march=k8 -Os -fomit-frame-pointer2014042720140425
1379365refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1379390refgcc -march=nocona -Os -fomit-frame-pointer2014042720140425
1380355refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042720140425
1380355refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042720140425
1380355refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042720140425
1380355refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042720140425
1380355refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042720140425
1380885refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1380885refgcc -march=barcelona -Os -fomit-frame-pointer2014042720140425
1387715refgcc -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1387715refgcc -march=nocona -O -fomit-frame-pointer2014042720140425
1393350refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1393540refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042720140425
1393615refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1393660refgcc -march=barcelona -O -fomit-frame-pointer2014042720140425
1394085refgcc -march=k8 -O -fomit-frame-pointer2014042720140425
1394095refgcc -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
1416900refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1416900refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042720140425
1424695refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1424695refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042720140425
1424865refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042720140425
1424865refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1424900refgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
4025375refgcc2014042720140425
4025540refcc2014042720140425
4025995refgcc -funroll-loops2014042720140425

Compiler output

Implementation: crypto_core/aes128encrypt/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/aes128encrypt/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/aes128encrypt/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/aes128encrypt/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/aes128encrypt/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