Implementation notes: amd64, h4e350, crypto_aead/pi16cipher128v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: pi16cipher128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
372078optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2014062520140525
372099optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
372114optimized_nonSSEgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062520140525
372126optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
372135optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2014062520140525
373062optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
373068optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062520140525
373323optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062520140525
373332optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
373332optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2014062520140525
373848optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
373854optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062520140525
374178optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062520140525
374184optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
374199optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
374205optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062520140525
374385optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
374499optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
374505optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2014062520140525
374514optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2014062520140525
374526optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062520140525
374529optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
374544optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062520140525
374598optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062520140525
374904optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2014062520140525
374907optimized_nonSSEgcc -O3 -fomit-frame-pointer2014062520140525
374910optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
376500optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062520140525
376506optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
387213optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
387234optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062520140525
387351optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2014062520140525
387351optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062520140525
387357optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
389439optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062520140525
389466optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
389559optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
389589optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062520140525
636219optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
636333optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2014062520140525
639837refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
640020refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062520140525
653124refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
653130refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062520140525
655950refgcc -funroll-loops -O3 -fomit-frame-pointer2014062520140525
656055refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
656724refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062520140525
661626refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062520140525
662235optimized_nonSSEgcc -O -fomit-frame-pointer2014062520140525
662250optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062520140525
662253optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2014062520140525
662256optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2014062520140525
662277optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062520140525
662292optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
665124refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
665625optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
665643optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2014062520140525
668358optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
668604optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2014062520140525
669765optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2014062520140525
669783optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
671610optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
671667optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062520140525
671712optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2014062520140525
674382optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062520140525
674730optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
674757optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2014062520140525
675663optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2014062520140525
675678refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
675729optimized_nonSSEgcc -O2 -fomit-frame-pointer2014062520140525
675774optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
677691refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062520140525
677706refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
679362refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062520140525
681309optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062520140525
683121refgcc -funroll-loops -O -fomit-frame-pointer2014062520140525
683721refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
683880refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062520140525
683892refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
683895refgcc -m64 -O3 -fomit-frame-pointer2014062520140525
684438refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
684708refgcc -O3 -fomit-frame-pointer2014062520140525
685014refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062520140525
686115refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
686187refgcc -march=k8 -O3 -fomit-frame-pointer2014062520140525
688638optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062520140525
688644optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062520140525
688836refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062520140525
689238optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062520140525
689499optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062520140525
692061refgcc -march=nocona -O3 -fomit-frame-pointer2014062520140525
692985refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
692991refgcc -march=barcelona -O3 -fomit-frame-pointer2014062520140525
693711refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
719793optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
719892optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062520140525
724344refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062520140525
726231optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
726231optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2014062520140525
778581refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
778602refgcc -march=nocona -O2 -fomit-frame-pointer2014062520140525
780333refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062520140525
780339refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062520140525
780360refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062520140525
782754refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062520140525
786795refgcc -march=barcelona -O2 -fomit-frame-pointer2014062520140525
786825refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
786984refgcc -m64 -O2 -fomit-frame-pointer2014062520140525
787002refgcc -O2 -fomit-frame-pointer2014062520140525
787023refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
789321refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062520140525
790014refgcc -march=k8 -O2 -fomit-frame-pointer2014062520140525
790035refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
807000refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
807423refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062520140525
820095refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
821286refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062520140525
822435refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
822744refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062520140525
822900refgcc -funroll-loops -O2 -fomit-frame-pointer2014062520140525
831168refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
832011refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062520140525
855189refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
855240refgcc -march=nocona -O -fomit-frame-pointer2014062520140525
855432refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
855435refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062520140525
855465refgcc -march=barcelona -O -fomit-frame-pointer2014062520140525
858234refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
858765refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062520140525
860736refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062520140525
860952refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
861078refgcc -march=k8 -O -fomit-frame-pointer2014062520140525
862329refgcc -m64 -O -fomit-frame-pointer2014062520140525
862362refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062520140525
862389refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062520140525
862422refgcc -O -fomit-frame-pointer2014062520140525
869679refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062520140525
870048refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
871404refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
873435refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
873501refgcc -m64 -Os -fomit-frame-pointer2014062520140525
873705refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062520140525
873726refgcc -march=k8 -Os -fomit-frame-pointer2014062520140525
873747refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
873888refgcc -Os -fomit-frame-pointer2014062520140525
875667refgcc -march=barcelona -Os -fomit-frame-pointer2014062520140525
892893refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
892971refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
892986refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062520140525
893100refgcc -funroll-loops -Os -fomit-frame-pointer2014062520140525
893187refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062520140525
895800refgcc -march=nocona -Os -fomit-frame-pointer2014062520140525
895839refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
899109optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
900522optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2014062520140525
900795refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062520140525
900807refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
904044refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062520140525
904263refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062520140525
904266refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062520140525
904695refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062520140525
909615optimized_nonSSEgcc -Os -fomit-frame-pointer2014062520140525
909618optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2014062520140525
909627optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
909648optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2014062520140525
909669optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062520140525
909720optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
920637optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062520140525
920643optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062520140525
920646optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062520140525
920682optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062520140525
953535optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062520140525
953562optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
953589optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
953610optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062520140525
954777optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062520140525
954783optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2014062520140525
954846optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
4257513optimized_nonSSEcc2014062520140525
4257924optimized_nonSSEgcc2014062520140525
4259145optimized_nonSSEgcc -funroll-loops2014062520140525
5769054refgcc2014062520140525
5770242refcc2014062520140525
5770962refgcc -funroll-loops2014062520140525

Test failure

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: clang -O3 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero

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

Compiler output

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
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.

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

Compiler output

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.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.

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

Compiler output

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
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
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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.

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 optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.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.

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

Compiler output

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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.

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 optimized_nonSSE ref