Implementation notes: amd64, skylake, crypto_aead/twine80n6clocv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: twine80n6clocv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
555688refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
557552refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
557654refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
557818refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
561492refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
566244refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
569298refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
575304refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
576406refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
576756refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
576906refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
577290refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
577472refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
577760refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
578254refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
579386refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
583154refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
583980refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
585306refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
585326refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
585650refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
587096refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
587698refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
588834refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
589150refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
589314refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
589630refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
590408refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
591040refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
591774refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
592310refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
592472refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
592828refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
592968refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
592994refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
593068refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
593096refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
593298refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
593656refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
594046refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
594470refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
594544refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
597426refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
597802refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
598178refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
598766refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
598840refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
599462refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
599730refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
599748refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
600282refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
600514refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
600632refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
600652refgcc -O2 -fomit-frame-pointer2016121720161026
600834refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
601680refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
601974refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
602320refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
602474refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
603482refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
604708refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
605362refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
605848refgcc -O3 -fomit-frame-pointer2016121720161026
606138refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
606456refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
606612refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
608494refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
609438refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
609672refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
612634refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
612892refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
613176refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
613312refgcc -m64 -O -fomit-frame-pointer2016121720161026
614016refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
614120refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
614394refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
614702refgcc -O -fomit-frame-pointer2016121720161026
615428refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
615894refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
616700refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
616932refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
617900refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
618418refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
618626refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
619004refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
619236refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
621692refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
625466refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
626846refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
627424refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
627742refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
1039924refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
1040002refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
1041468refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
1041928refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
1042340refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
1045646refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
1051672refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
1056264refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
1058020refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
1294700refgcc -m64 -Os -fomit-frame-pointer2016121720161026
1295972refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
1296690refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
1296784refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
1297444refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
1298540refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
1299032refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
1299038refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
1300376refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
1300502refgcc -Os -fomit-frame-pointer2016121720161026
1301294refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
1301570refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
1302090refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
1302656refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
1304060refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
1311344refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
1316840refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
1332420refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
1584064refgcc2016121720161026
1592250refcc2016121720161026
1593948refgcc -funroll-loops2016121720161026

Compiler output

Implementation: crypto_aead/twine80n6clocv1/ref
Compiler: cc
cloc.c: cloc.c: In function 'process_ad':
cloc.c: cloc.c:64:3: warning: implicit declaration of function 'pstate2' [-Wimplicit-function-declaration]
cloc.c: pstate2("After xoring associated data:", state);
cloc.c: ^~~~~~~

Number of similar (compiler,implementation) pairs: 107, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/twine80n6clocv1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
cloc.c: cloc.c:64:3: warning: implicit declaration of function 'pstate2' is invalid in C99 [-Wimplicit-function-declaration]
cloc.c: pstate2("After xoring associated data:", state);
cloc.c: ^
cloc.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/twine80n6clocv1/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
cloc.c: cloc.c: In function 'process_ad':
cloc.c: cloc.c:64:3: warning: implicit declaration of function 'pstate2' [-Wimplicit-function-declaration]
cloc.c: pstate2("After xoring associated data:", state);
cloc.c: ^~~~~~~
cloc.c: cloc.c: In function 'process_ad':
cloc.c: cloc.c:64:3: warning: implicit declaration of function 'pstate2' [-Wimplicit-function-declaration]
cloc.c: pstate2("After xoring associated data:", state);
cloc.c: ^~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref