Implementation notes: amd64, h5nano, crypto_core/aes128decrypt

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_core
Primitive: aes128decrypt
TimeImplementationCompilerBenchmark dateSUPERCOP version
1855opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
1855opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042720140425
1855opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1855opensslgcc -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1860opensslclang -O3 -fomit-frame-pointer2014062820140622
1860opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
1860opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
1860opensslclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
1860opensslclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
1860opensslgcc -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -O -fomit-frame-pointer2014042720140425
1860opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -march=barcelona -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -march=k8 -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -march=k8 -O3 -fomit-frame-pointer2014042720140425
1860opensslgcc -march=k8 -O -fomit-frame-pointer2014042720140425
1860opensslgcc -march=nocona -O2 -fomit-frame-pointer2014042720140425
1860opensslgcc -march=nocona -O3 -fomit-frame-pointer2014042720140425
1865opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1870opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1870opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042720140425
1870opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042720140425
1870opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1870opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1870opensslgcc -march=barcelona -O -fomit-frame-pointer2014042720140425
1870opensslgcc -march=nocona -O -fomit-frame-pointer2014042720140425
1875opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1890opensslcc2014042720140425
1890opensslgcc2014042720140425
1890opensslgcc -funroll-loops2014042720140425
1980opensslgcc -march=nocona -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -m64 -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1985opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042720140425
2000opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
2000opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042720140425
2005opensslgcc -Os -fomit-frame-pointer2014042720140425
2005opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042720140425
2005opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042720140425
2005opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042720140425
2020opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042720140425
2020opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
2020opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
2020opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
2070opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
2070opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042720140425
2070opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042720140425
2070opensslgcc -march=barcelona -Os -fomit-frame-pointer2014042720140425
2070opensslgcc -march=k8 -Os -fomit-frame-pointer2014042720140425
535490refgcc -m64 -O3 -fomit-frame-pointer2014042720140425
535505refgcc -O3 -fomit-frame-pointer2014042720140425
535505refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
538330refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042720140425
541620refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
541725refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042720140425
543640refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042720140425
543650refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042720140425
543655refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042720140425
543895refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042720140425
550090refgcc -march=nocona -O3 -fomit-frame-pointer2014042720140425
550125refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042720140425
551065refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
551065refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042720140425
554405refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
554410refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042720140425
564145refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042720140425
564145refgcc -march=k8 -O3 -fomit-frame-pointer2014042720140425
564325refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
564325refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042720140425
564330refgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
564775refgcc -march=barcelona -O3 -fomit-frame-pointer2014042720140425
564845refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042720140425
735895refgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
735910refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
735915refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042720140425
737430refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
737430refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
737430refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042720140425
737430refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042720140425
783520refgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
783520refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
783520refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042720140425
789715refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
789720refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042720140425
791785refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
791790refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042720140425
818640refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042720140425
818670refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
829680refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042720140425
829695refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
867205refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
867205refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
867205refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
867210refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
881645refclang -O3 -fomit-frame-pointer2014062820140622
1519110refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042720140425
1519110refgcc -march=k8 -O2 -fomit-frame-pointer2014042720140425
1527680refgcc -m64 -O2 -fomit-frame-pointer2014042720140425
1527685refgcc -O2 -fomit-frame-pointer2014042720140425
1527685refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1531445refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1531445refgcc -march=barcelona -O2 -fomit-frame-pointer2014042720140425
1540585refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042720140425
1540585refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042720140425
1540590refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042720140425
1540595refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042720140425
1540610refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042720140425
1580215refgcc -march=nocona -O2 -fomit-frame-pointer2014042720140425
1580260refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042720140425
1586970refgcc -O -fomit-frame-pointer2014042720140425
1586995refgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1587150refgcc -m64 -O -fomit-frame-pointer2014042720140425
1587150refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042720140425
1587155refgcc -m64 -march=core2 -O -fomit-frame-pointer2014042720140425
1587155refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042720140425
1587170refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042720140425
1587175refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042720140425
1612805refgcc -march=k8 -Os -fomit-frame-pointer2014042720140425
1612810refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
1612820refgcc -m64 -Os -fomit-frame-pointer2014042720140425
1612845refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1612885refgcc -Os -fomit-frame-pointer2014042720140425
1628620refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1628625refgcc -march=nocona -Os -fomit-frame-pointer2014042720140425
1629405refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042720140425
1629430refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1629435refgcc -march=barcelona -Os -fomit-frame-pointer2014042720140425
1629460refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042720140425
1629465refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042720140425
1629565refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042720140425
1629610refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042720140425
1634865refgcc -march=nocona -O -fomit-frame-pointer2014042720140425
1635405refgcc -m64 -march=nocona -O -fomit-frame-pointer2014042720140425
1642875refgcc -m64 -march=k8 -O -fomit-frame-pointer2014042720140425
1642915refgcc -march=k8 -O -fomit-frame-pointer2014042720140425
1643770refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042720140425
1643800refgcc -march=barcelona -O -fomit-frame-pointer2014042720140425
1656580refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042720140425
1656650refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042720140425
1670365refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042720140425
1670385refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042720140425
1679315refgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
1679340refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042720140425
1679345refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042720140425
1679710refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1679710refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042720140425
4735240refcc2014042720140425
4813030refgcc2014042720140425
4813145refgcc -funroll-loops2014042720140425

Compiler output

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