Implementation notes: amd64, h4e350, crypto_core/aes128encrypt

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_core
Primitive: aes128encrypt
TimeImplementationCompilerBenchmark dateSUPERCOP version
1092opensslgcc -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -march=k8 -O2 -fomit-frame-pointer2014052620140525
1092opensslgcc -march=k8 -O3 -fomit-frame-pointer2014052620140525
1092opensslgcc -march=nocona -O3 -fomit-frame-pointer2014052620140525
1095opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1095opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014052620140525
1095opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
1095opensslgcc -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1095opensslgcc -march=nocona -O2 -fomit-frame-pointer2014052620140525
1098opensslclang -O3 -fomit-frame-pointer2014071220140622
1098opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
1098opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
1098opensslclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014071220140622
1098opensslclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014071220140622
1098opensslgcc -O -fomit-frame-pointer2014052620140525
1098opensslgcc -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
1098opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -march=barcelona -O -fomit-frame-pointer2014052620140525
1098opensslgcc -march=barcelona -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -march=k8 -Os -fomit-frame-pointer2014052620140525
1098opensslgcc -march=nocona -Os -fomit-frame-pointer2014052620140525
1101opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1101opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014052620140525
1101opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
1101opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
1101opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
1101opensslgcc -march=k8 -O -fomit-frame-pointer2014052620140525
1101opensslgcc -march=nocona -O -fomit-frame-pointer2014052620140525
1104opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014052620140525
1107opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014052620140525
1113opensslcc2014052620140525
1113opensslgcc2014052620140525
1122opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
1122opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
1122opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014052620140525
1125opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014052620140525
1128opensslgcc -funroll-loops2014052620140525
1128opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1128opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1131opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
1131opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014052620140525
517455refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
517467refgcc -march=nocona -O3 -fomit-frame-pointer2014052620140525
518667refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
518676refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014052620140525
529125refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014052620140525
529131refgcc -funroll-loops -O3 -fomit-frame-pointer2014052620140525
529134refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
536142refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
536142refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014052620140525
536169refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014052620140525
536181refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
545136refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
545193refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014052620140525
545202refgcc -march=k8 -O3 -fomit-frame-pointer2014052620140525
545367refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
545436refgcc -march=barcelona -O3 -fomit-frame-pointer2014052620140525
549471refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014052620140525
550047refgcc -m64 -O3 -fomit-frame-pointer2014052620140525
550056refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
550071refgcc -O3 -fomit-frame-pointer2014052620140525
609183refgcc -funroll-loops -O -fomit-frame-pointer2014052620140525
609186refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014052620140525
609192refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
617364refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014052620140525
617373refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
619134refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
619146refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014052620140525
621489refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014052620140525
621513refgcc -funroll-loops -O2 -fomit-frame-pointer2014052620140525
621519refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
625692refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
625872refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
625905refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014052620140525
625947refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014052620140525
645906refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014071220140622
645936refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014071220140622
646095refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
646098refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
648261refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014052620140525
648276refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
648288refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014052620140525
648309refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
656784refclang -O3 -fomit-frame-pointer2014071220140622
1163607refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
1163607refgcc -march=nocona -O2 -fomit-frame-pointer2014052620140525
1174767refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014052620140525
1174767refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014052620140525
1174770refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014052620140525
1174773refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014052620140525
1178412refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
1178415refgcc -O2 -fomit-frame-pointer2014052620140525
1178457refgcc -m64 -O2 -fomit-frame-pointer2014052620140525
1210248refgcc -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
1210266refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014052620140525
1210266refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014052620140525
1210302refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014052620140525
1210335refgcc -m64 -O -fomit-frame-pointer2014052620140525
1210380refgcc -m64 -march=core2 -O -fomit-frame-pointer2014052620140525
1210392refgcc -O -fomit-frame-pointer2014052620140525
1219701refgcc -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
1219704refgcc -march=nocona -O -fomit-frame-pointer2014052620140525
1232292refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014052620140525
1232295refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1235064refgcc -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1249716refgcc -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
1249716refgcc -march=k8 -O -fomit-frame-pointer2014052620140525
1315038refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
1315053refgcc -march=k8 -O2 -fomit-frame-pointer2014052620140525
1315431refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
1315434refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014052620140525
1318428refgcc -march=barcelona -O -fomit-frame-pointer2014052620140525
1497576refgcc -march=nocona -Os -fomit-frame-pointer2014052620140525
1499967refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1506045refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1508394refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014052620140525
1510695refgcc -Os -fomit-frame-pointer2014052620140525
1517055refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014052620140525
1521549refgcc -m64 -Os -fomit-frame-pointer2014052620140525
1533549refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1544181refgcc -march=barcelona -Os -fomit-frame-pointer2014052620140525
1544259refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014052620140525
1544361refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014052620140525
1544415refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014052620140525
1544442refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
1550115refgcc -march=k8 -Os -fomit-frame-pointer2014052620140525
1715310refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014052620140525
1715340refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1717695refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1717707refgcc -funroll-loops -Os -fomit-frame-pointer2014052620140525
1717734refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014052620140525
1717758refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
1717875refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014052620140525
1728405refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1728516refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014052620140525
5006910refgcc -funroll-loops2014052620140525
5007084refgcc2014052620140525
5008602refcc2014052620140525

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