Implementation notes: amd64, skylake, crypto_aead/aes256otrpv2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aes256otrpv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
112186refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
112200refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
112314refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
112772refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
113054refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
113518refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
113718refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
113792refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
113806refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
113920refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
114156refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
114342refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
114384refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
114546refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
114816refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
115056refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
115120refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
115130refgcc -O3 -fomit-frame-pointer2016121620161026
115156refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
115190refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
115222refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
115230refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
115362refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
116976refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
117274refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
117840refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
118392refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
118400refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
118454refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
118476refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
118552refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
118580refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
118734refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
118812refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
118842refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
119506refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
121484refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
121582refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
121606refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
121662refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
121664refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
121716refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
121720refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
121814refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
122922refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
123590refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
123626refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
123650refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
123714refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
123752refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
123788refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
124652refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
124772refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
124800refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
124828refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
124844refgcc -O2 -fomit-frame-pointer2016121620161026
124980refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
125060refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
125132refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
125276refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
125942refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
126078refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
127292refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
129570refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
129632refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
129634refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
129682refgcc -m64 -O -fomit-frame-pointer2016121620161026
129712refgcc -O -fomit-frame-pointer2016121620161026
129740refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
130276refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
130430refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
131380refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
131550refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
131698refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
132122refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
135688refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
135740refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
135744refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
135748refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
135802refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
135960refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
136606refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
136998refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
137552refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
137784refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
137822refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
137942refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
138936refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
139488refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
139562refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
139608refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
139642refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
139654refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
139656refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
139754refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
140162refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
140350refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
140742refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
140942refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
141190refgcc -m64 -Os -fomit-frame-pointer2016121620161026
141240refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
141296refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
141308refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
141318refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
141422refgcc -Os -fomit-frame-pointer2016121620161026
141424refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
141644refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
141794refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
141802refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
141914refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
142040refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
142054refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
143596refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
143660refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
194330refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
194388refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
197836refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
198454refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
392036refgcc2016121620161026
392880refgcc -funroll-loops2016121620161026
394162refcc2016121620161026

Compiler output

Implementation: crypto_aead/aes256otrpv2/ref
Compiler: cc
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.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/aes256otrpv2/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.c: ^~~~~
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.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