Implementation notes: amd64, skylake, crypto_aead/aes256otrsv2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aes256otrsv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
106698refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
107070refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
107260refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
107318refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
107906refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
108426refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
108616refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
108626refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
108766refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
109004refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
109156refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
109252refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
110030refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
110112refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
110194refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
110600refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
110772refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
110854refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
110930refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
110932refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
110948refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
111214refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
111266refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
111304refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
111396refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
111478refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
111714refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
111744refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
111918refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
111932refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
112082refgcc -O3 -fomit-frame-pointer2016121620161026
112618refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
112626refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
113268refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
113346refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
113362refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
114168refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
114230refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
114314refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
114576refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
114776refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
114798refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
114828refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
114898refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
114922refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
115064refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
115168refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
115216refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
115430refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
115528refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
115586refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
116034refgcc -O2 -fomit-frame-pointer2016121620161026
116114refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
116266refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
116356refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
116364refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
116430refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
116504refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
116578refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
116948refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
117650refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
118020refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
119180refgcc -O -fomit-frame-pointer2016121620161026
119470refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
119824refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
119890refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
120264refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
120558refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
120604refgcc -m64 -O -fomit-frame-pointer2016121620161026
123656refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
123764refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
123918refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
124342refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
124396refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
124424refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
124492refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
124492refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
124590refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
124876refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
125010refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
125964refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
126352refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
126382refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
126808refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
127172refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
127576refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
127664refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
127796refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
127906refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
128008refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
128262refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
128652refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
128674refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
128764refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
129158refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
129474refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
129496refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
129540refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
129586refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
129656refgcc -Os -fomit-frame-pointer2016121620161026
129740refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
129824refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
129880refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
129890refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
129924refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
130012refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
130138refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
130202refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
130314refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
130472refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
130484refgcc -m64 -Os -fomit-frame-pointer2016121620161026
130536refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
132262refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
132278refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
187036refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
189876refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
191462refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
194308refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
344684refcc2016121620161026
344774refgcc2016121620161026
346748refgcc -funroll-loops2016121620161026

Compiler output

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