Implementation notes: amd64, h4e350, crypto_core/aes128decrypt

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_core
Primitive: aes128decrypt
TimeImplementationCompilerBenchmark dateSUPERCOP version
1869opensslgcc -funroll-loops -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014052620140525
1869opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1869opensslgcc -march=k8 -O3 -fomit-frame-pointer2014052620140525
1872opensslclang -O3 -fomit-frame-pointer2014071220140622
1872opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
1872opensslclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014071220140622
1872opensslclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014071220140622
1872opensslgcc -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -O3 -fomit-frame-pointer2014052620140525
1872opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014052620140525
1872opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -O3 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014052620140525
1872opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -march=k8 -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -march=nocona -O2 -fomit-frame-pointer2014052620140525
1872opensslgcc -march=nocona -O3 -fomit-frame-pointer2014052620140525
1875opensslgcc -O -fomit-frame-pointer2014052620140525
1875opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014052620140525
1875opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
1875opensslgcc -march=barcelona -O -fomit-frame-pointer2014052620140525
1875opensslgcc -march=k8 -O -fomit-frame-pointer2014052620140525
1875opensslgcc -march=nocona -O -fomit-frame-pointer2014052620140525
1878opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
1878opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014052620140525
1878opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014052620140525
1881opensslclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
1881opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
1887opensslcc2014052620140525
1887opensslgcc2014052620140525
1887opensslgcc -funroll-loops2014052620140525
1890opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1902opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1902opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
1902opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014052620140525
1902opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014052620140525
1947opensslgcc -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -march=barcelona -Os -fomit-frame-pointer2014052620140525
1947opensslgcc -march=k8 -Os -fomit-frame-pointer2014052620140525
1950opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014052620140525
1956opensslgcc -march=nocona -Os -fomit-frame-pointer2014052620140525
603705refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
603711refgcc -march=nocona -O3 -fomit-frame-pointer2014052620140525
604800refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014052620140525
604803refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014052620140525
615237refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014052620140525
615240refgcc -funroll-loops -O3 -fomit-frame-pointer2014052620140525
615246refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
622278refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014052620140525
622284refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
622308refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
622326refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014052620140525
634515refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014052620140525
634812refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014052620140525
634827refgcc -march=barcelona -O3 -fomit-frame-pointer2014052620140525
634902refgcc -march=k8 -O3 -fomit-frame-pointer2014052620140525
634905refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014052620140525
634914refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014052620140525
638532refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014052620140525
638541refgcc -m64 -O3 -fomit-frame-pointer2014052620140525
638556refgcc -O3 -fomit-frame-pointer2014052620140525
724782refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014052620140525
724800refgcc -funroll-loops -O -fomit-frame-pointer2014052620140525
724806refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
724827refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
724833refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014052620140525
726810refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014052620140525
729534refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
733815refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
733998refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014052620140525
734595refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014052620140525
735714refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014052620140525
735747refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
735789refgcc -funroll-loops -O2 -fomit-frame-pointer2014052620140525
737016refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
763650refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014052620140525
763674refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
763674refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
763674refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014052620140525
764208refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
764787refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014071220140622
764796refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
764799refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014071220140622
782724refclang -O3 -fomit-frame-pointer2014071220140622
1368297refgcc -march=nocona -O2 -fomit-frame-pointer2014052620140525
1368468refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014052620140525
1382958refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014052620140525
1382964refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014052620140525
1382970refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014052620140525
1382973refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014052620140525
1386450refgcc -m64 -O2 -fomit-frame-pointer2014052620140525
1386456refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014052620140525
1386462refgcc -O2 -fomit-frame-pointer2014052620140525
1423431refgcc -m64 -march=core2 -O -fomit-frame-pointer2014052620140525
1423434refgcc -O -fomit-frame-pointer2014052620140525
1423437refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014052620140525
1423443refgcc -fno-schedule-insns -O -fomit-frame-pointer2014052620140525
1423443refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014052620140525
1423446refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014052620140525
1423449refgcc -m64 -O -fomit-frame-pointer2014052620140525
1432206refgcc -m64 -march=nocona -O -fomit-frame-pointer2014052620140525
1432209refgcc -march=nocona -O -fomit-frame-pointer2014052620140525
1447548refgcc -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1447578refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014052620140525
1447587refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014052620140525
1472163refgcc -m64 -march=k8 -O -fomit-frame-pointer2014052620140525
1472190refgcc -march=k8 -O -fomit-frame-pointer2014052620140525
1547442refgcc -march=k8 -O2 -fomit-frame-pointer2014052620140525
1547499refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014052620140525
1550349refgcc -march=barcelona -O -fomit-frame-pointer2014052620140525
1550361refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014052620140525
1550388refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014052620140525
1769181refgcc -march=nocona -Os -fomit-frame-pointer2014052620140525
1783266refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014052620140525
1783296refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014052620140525
1783308refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014052620140525
1783467refgcc -march=barcelona -Os -fomit-frame-pointer2014052620140525
1786188refgcc -m64 -Os -fomit-frame-pointer2014052620140525
1786197refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014052620140525
1790517refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014052620140525
1794084refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
1794210refgcc -march=k8 -Os -fomit-frame-pointer2014052620140525
1815519refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
1818408refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
1829640refgcc -Os -fomit-frame-pointer2014052620140525
1833090refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
2026269refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014052620140525
2026398refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014052620140525
2029098refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014052620140525
2029185refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014052620140525
2029191refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014052620140525
2029209refgcc -funroll-loops -Os -fomit-frame-pointer2014052620140525
2029224refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014052620140525
2040906refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014052620140525
2040942refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014052620140525
5914116refgcc2014052620140525
5914311refgcc -funroll-loops2014052620140525
5914734refcc2014052620140525

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