Implementation notes: amd64, skylake, crypto_aead/aes128otrsv2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aes128otrsv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
83546refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
84002refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
84062refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
84440refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
84526refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
85116refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
85132refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
85292refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
85294refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
85492refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
85822refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
85926refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
86196refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
86200refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
86410refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
86492refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
86598refgcc -O3 -fomit-frame-pointer2016121620161026
86798refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
86884refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
86974refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
87206refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
87308refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
87320refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
87424refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
87690refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
87742refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
87796refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
87834refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
87848refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
87916refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
88002refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
88018refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
88100refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
88630refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
88982refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
88992refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
89220refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
89294refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
89434refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
89644refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
89708refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
89984refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
90098refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
90362refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
90386refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
90428refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
90774refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
90926refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
91168refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
91238refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
91238refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
91248refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
91354refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
91480refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
91480refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
91892refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
92142refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
92164refgcc -O2 -fomit-frame-pointer2016121620161026
92344refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
92558refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
92744refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
93624refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
94318refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
94690refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
94720refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
94812refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
94830refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
94836refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
95374refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
95646refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
95688refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
96254refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
96258refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
96358refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
96514refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
99108refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
99446refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
99490refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
100266refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
100698refgcc -O -fomit-frame-pointer2016121620161026
100848refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
101138refgcc -m64 -O -fomit-frame-pointer2016121620161026
101202refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
101206refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
101554refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
101632refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
101816refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
101864refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
101870refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
102414refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
102440refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
102692refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
102748refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
103036refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
103204refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
103362refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
103758refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
103784refgcc -Os -fomit-frame-pointer2016121620161026
103834refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
103854refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
103898refgcc -m64 -Os -fomit-frame-pointer2016121620161026
103908refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
103940refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
104026refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
104028refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
104038refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
104098refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
104126refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
104258refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
104300refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
105610refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
105646refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
106112refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
106400refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
145018refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
146348refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
150334refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
153680refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
285030refcc2016121620161026
285878refgcc -funroll-loops2016121620161026
288276refgcc2016121620161026

Compiler output

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