Implementation notes: amd64, h4e350, crypto_aead/pi16cipher096v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: pi16cipher096v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
371481optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
371487optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2014062520140525
372036optimized_nonSSEgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062520140525
372129optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
372321optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2014062520140525
373362optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062520140525
373470optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
373491optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062520140525
373587optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062520140525
373620optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
373878optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
373890optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2014062520140525
374139optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
374157optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062520140525
374187optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2014062520140525
374283optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
374286optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062520140525
374523optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
374583optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062520140525
374604optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
374607optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
374610optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062520140525
374613optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2014062520140525
374637optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062520140525
375690optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2014062520140525
375708optimized_nonSSEgcc -O3 -fomit-frame-pointer2014062520140525
375708optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
376992optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
377004optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062520140525
387153optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062520140525
387159optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
387165optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2014062520140525
387621optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062520140525
387630optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
389754optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062520140525
389763optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062520140525
389766optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
389784optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
636234optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
636378optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2014062520140525
639507refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062520140525
640092refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
648336refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
649509refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062520140525
655896refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062520140525
656427refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
656676refgcc -funroll-loops -O3 -fomit-frame-pointer2014062520140525
656853refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062520140525
656973refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
662199optimized_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
662259optimized_nonSSEgcc -O -fomit-frame-pointer2014062520140525
662262optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062520140525
662268optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
664218optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062520140525
665625optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2014062520140525
665667optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
668592optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
668691optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2014062520140525
669696optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
669780optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2014062520140525
671463optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062520140525
671634optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2014062520140525
671655optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
674352optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062520140525
674727optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
674760optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2014062520140525
675732optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
675738optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2014062520140525
675888optimized_nonSSEgcc -O2 -fomit-frame-pointer2014062520140525
678615refgcc -funroll-loops -O -fomit-frame-pointer2014062520140525
678894refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062520140525
680151refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
680316refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062520140525
680388refgcc -m64 -O3 -fomit-frame-pointer2014062520140525
680391refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062520140525
681105refgcc -O3 -fomit-frame-pointer2014062520140525
681324refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062520140525
682206refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
683127refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
684531refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062520140525
684675refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062520140525
684906refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
688635optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062520140525
688863refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062520140525
689262optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062520140525
689280optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062520140525
689367optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062520140525
691128refgcc -march=barcelona -O3 -fomit-frame-pointer2014062520140525
691164refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062520140525
692019refgcc -march=nocona -O3 -fomit-frame-pointer2014062520140525
692481refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062520140525
693546refgcc -march=k8 -O3 -fomit-frame-pointer2014062520140525
719682refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062520140525
720360optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062520140525
720429optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
726243optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2014062520140525
726252optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
778554refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
778644refgcc -march=nocona -O2 -fomit-frame-pointer2014062520140525
780273refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062520140525
780276refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062520140525
780279refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062520140525
781665refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062520140525
786762refgcc -march=barcelona -O2 -fomit-frame-pointer2014062520140525
786783refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
786798refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
786885refgcc -O2 -fomit-frame-pointer2014062520140525
786894refgcc -m64 -O2 -fomit-frame-pointer2014062520140525
789465refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062520140525
789954refgcc -march=k8 -O2 -fomit-frame-pointer2014062520140525
789981refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
813480refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062520140525
813585refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062520140525
813639refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062520140525
813855refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062520140525
832488refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062520140525
832611refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062520140525
834552refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062520140525
834789refgcc -funroll-loops -O2 -fomit-frame-pointer2014062520140525
834801refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062520140525
853584refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062520140525
855102refgcc -march=nocona -O -fomit-frame-pointer2014062520140525
855126refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062520140525
855357refgcc -march=barcelona -O -fomit-frame-pointer2014062520140525
855405refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062520140525
857256refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062520140525
858102refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062520140525
858105refgcc -m64 -O -fomit-frame-pointer2014062520140525
858327refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062520140525
860955refgcc -march=k8 -O -fomit-frame-pointer2014062520140525
861999refgcc -O -fomit-frame-pointer2014062520140525
862110refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062520140525
862218refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062520140525
862341refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062520140525
871437refgcc -march=barcelona -Os -fomit-frame-pointer2014062520140525
871500refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
873684refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
873807refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
873813refgcc -m64 -Os -fomit-frame-pointer2014062520140525
873828refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062520140525
873843refgcc -march=k8 -Os -fomit-frame-pointer2014062520140525
874155refgcc -Os -fomit-frame-pointer2014062520140525
875199refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062520140525
875481refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
891426refgcc -funroll-loops -Os -fomit-frame-pointer2014062520140525
891480refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
891684refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062520140525
891702refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
891942refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062520140525
895824refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
895845refgcc -march=nocona -Os -fomit-frame-pointer2014062520140525
899106optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
899121optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2014062520140525
900651refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062520140525
901758refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062520140525
904047refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062520140525
904374refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062520140525
904551refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062520140525
904725refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062520140525
909585optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2014062520140525
909609optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2014062520140525
909627optimized_nonSSEgcc -Os -fomit-frame-pointer2014062520140525
909660optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062520140525
909663optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
909663optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
920583optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062520140525
920604optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062520140525
920631optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062520140525
920637optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062520140525
958194optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2014062520140525
958218optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062520140525
958227optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062520140525
958260optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062520140525
958290optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062520140525
961824optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062520140525
961848optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062520140525
4275801optimized_nonSSEcc2014062520140525
4277289optimized_nonSSEgcc -funroll-loops2014062520140525
4376517optimized_nonSSEgcc2014062520140525
5794146refgcc -funroll-loops2014062520140525
5795016refcc2014062520140525
5806362refgcc2014062520140525

Test failure

Implementation: crypto_aead/pi16cipher096v1/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/pi16cipher096v1/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/pi16cipher096v1/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/pi16cipher096v1/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/pi16cipher096v1/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/pi16cipher096v1/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