Implementation notes: amd64, skylake, crypto_aead/norx6461v2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: norx6461v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
22364ymmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
22390ymmgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
22426ymmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
22474ymmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
22546ymmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
22732ymmgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
22770ymmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
22774ymmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
22842ymmgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
24726ymmclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
24748ymmclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
24888ymmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
24930ymmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
26178ymmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
26294ymmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
26720ymmgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
28106xmmgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
28154xmmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
28156xmmgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
28164xmmgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
28648xmmgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
28654xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
28654xmmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
28662xmmgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
28678xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
28684xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
28698xmmgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
28718xmmgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
28764xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
28834xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
28882xmmgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
28890xmmgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
28918xmmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
28974xmmgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
29008xmmclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
29010xmmclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
29018xmmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
29090xmmgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
29108xmmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
29186xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
29194xmmclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
29234xmmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
29258xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
29352xmmclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
29596xmmgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
29684xmmgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
29748xmmgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
29754xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
30102xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
30134xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
30694xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
30842xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
30942xmmgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
31358xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
33226xmmclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
33372xmmclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
33454xmmclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
33612xmmclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
36096refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
36142refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
36372xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
36390xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
36470xmmgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
36532refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
36606refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
36612refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
36676xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
36776refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
36848refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
36966refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
37020refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
37244refgcc -O3 -fomit-frame-pointer2016121620161026
37254refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
37254refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
37318refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
37414refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
37504refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
37518refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
37532refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
37534refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
37558refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
37616refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
37626refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
37646refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
37668refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
37676refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
37748refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
37824refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
37840refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
37934refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
38136refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
38156refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
38258refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
38262refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
38354refgcc -O2 -fomit-frame-pointer2016121620161026
38448refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
38532refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
38618refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
38676refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
38738xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
38754xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
38816refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
38820xmmgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
38820xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
38852xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
38874xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
38882refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
38922refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
38962xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
38970refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
38986refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
39014refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
39020refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
39026refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
39058refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
39084refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
39096refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
39186refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
39202refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
39206refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
39216refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
39228refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
39260refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
39278xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
39348refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
39378xmmgcc -O -fomit-frame-pointer2016121620161026
39390xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
39392refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
39448refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
39456xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
39488refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
39512xmmgcc -march=k8 -O -fomit-frame-pointer2016121620161026
39516refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
39534refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
39536refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
39544refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
39558refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
39564xmmgcc -march=nocona -O -fomit-frame-pointer2016121620161026
39572refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
39572refgcc -m64 -O -fomit-frame-pointer2016121620161026
39586refgcc -O -fomit-frame-pointer2016121620161026
39598xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
39668xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
39670refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
39742refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
39752xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
39764xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
39796refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
39806refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
39820xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
39836refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
39860refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
39862refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
39932xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
39934refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
39936refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
39962xmmgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
39974xmmgcc -m64 -O -fomit-frame-pointer2016121620161026
39982refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
39986refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
40056xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
40058xmmgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
40060xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
40090xmmgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
40170xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
40204refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
40226xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
40326xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
40394xmmgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
40434refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
40490xmmgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
40502xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
40540xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
40550refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
40586refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
40638refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
40662refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
40792xmmgcc -O2 -fomit-frame-pointer2016121620161026
40832xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
40862xmmgcc -m64 -O3 -fomit-frame-pointer2016121620161026
40864xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
40886refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
40888xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
40922xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
40926xmmgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
40962xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
40996xmmgcc -m64 -O2 -fomit-frame-pointer2016121620161026
41074xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
41076xmmgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
41110xmmgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
41124xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
41146xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
41166xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
41174xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
41178xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
41190xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
41212xmmgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
41236xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
41274xmmgcc -O3 -fomit-frame-pointer2016121620161026
41462xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
41478refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
41610refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
41618refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
41632refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
41672xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
41730refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
41738refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
41740refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
41746refgcc -m64 -Os -fomit-frame-pointer2016121620161026
41764refgcc -Os -fomit-frame-pointer2016121620161026
41766xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
41772refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
41774xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
41798refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
41798refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
41800refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
41834refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
41854refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
41870refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
41884xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
42102refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
42196refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
42218refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
42278xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
42398xmmgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
42492xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
42512xmmgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
42526xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
42560xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
42804refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
43002refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
43160refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
43204xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
43534refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
43656refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
43960xmmgcc -Os -fomit-frame-pointer2016121620161026
44016xmmgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
44026xmmgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
44030xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
44062xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
44400xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
44776xmmgcc -m64 -Os -fomit-frame-pointer2016121620161026
48304refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
48312refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
48600refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
49546refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
59994refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
60434refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
60668refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
61354refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
95398refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
96522refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
210452refgcc -funroll-loops2016121620161026
211262refgcc2016121620161026
213956refcc2016121620161026
280322xmmcc2016121620161026
288376xmmgcc -funroll-loops2016121620161026
302726xmmgcc2016121620161026

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: cc
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:290:28: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: _mm256_castsi128_si256(LOADU128(NONCE)), 0x0F); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:294:7: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:41:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avxintrin.h:1270:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc ymm
gcc ymm
gcc -funroll-loops ymm

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
norx.c: norx.c:388:5: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^
norx.c: norx.c:289:28: note: expanded from macro 'INITIALISE'
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_castsi128_si256' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: norx.c:290:28: note: expanded from macro 'INITIALISE'
norx.c: _mm256_castsi128_si256(LOADU128(NONCE)), 0x0F); \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: norx.c:291:9: note: expanded from macro 'INITIALISE'
norx.c: B = LOADU(KEY); \
norx.c: ^
norx.c: norx.c:53:19: note: expanded from macro 'LOADU'
norx.c: #define LOADU(in) _mm256_loadu_si256((__m256i*)(in))
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: norx.c:292:9: note: expanded from macro 'INITIALISE'
norx.c: C = _mm256_set_epi64x(U11, U10, U9, U8); \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: norx.c:293:9: note: expanded from macro 'INITIALISE'
norx.c: D = _mm256_set_epi64x(U15, U14, U13, U12); \
norx.c: ^
norx.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ymm
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ymm
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ymm
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ymm

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
norx.c: norx.c:388:5: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'avx2'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^
norx.c: norx.c:294:9: note: expanded from macro 'INITIALISE'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:72:19: note: expanded from macro 'XOR'
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'avx2'
norx.c: norx.c:295:5: note: expanded from macro 'INITIALISE'
norx.c: PERMUTE(A, B, C, D); \
norx.c: ^
norx.c: norx.c:209:9: note: expanded from macro 'PERMUTE'
norx.c: F(A, B, C, D); \
norx.c: ^
norx.c: norx.c:197:5: note: expanded from macro 'F'
norx.c: G(A, B, C, D); \
norx.c: ^
norx.c: norx.c:109:14: note: expanded from macro 'G'
norx.c: t0 = XOR( A, B); \
norx.c: ^
norx.c: norx.c:72:19: note: expanded from macro 'XOR'
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^
norx.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ymm
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ymm

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: gcc -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:294:7: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:41:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avxintrin.h:1270:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer ymm
gcc -O3 -fomit-frame-pointer ymm
gcc -O -fomit-frame-pointer ymm
gcc -Os -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O -fomit-frame-pointer ymm
gcc -fno-schedule-insns -Os -fomit-frame-pointer ymm
gcc -funroll-loops -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -O -fomit-frame-pointer ymm
gcc -funroll-loops -Os -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ymm
gcc -m64 -O2 -fomit-frame-pointer ymm
gcc -m64 -O3 -fomit-frame-pointer ymm
gcc -m64 -O -fomit-frame-pointer ymm
gcc -m64 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O -fomit-frame-pointer ymm
gcc -m64 -march=k8 -Os -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O -fomit-frame-pointer ymm
gcc -m64 -march=nocona -Os -fomit-frame-pointer ymm
gcc -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -march=barcelona -O -fomit-frame-pointer ymm
gcc -march=barcelona -Os -fomit-frame-pointer ymm
gcc -march=k8 -O2 -fomit-frame-pointer ymm
gcc -march=k8 -O3 -fomit-frame-pointer ymm
gcc -march=k8 -O -fomit-frame-pointer ymm
gcc -march=k8 -Os -fomit-frame-pointer ymm
gcc -march=nocona -O2 -fomit-frame-pointer ymm
gcc -march=nocona -O3 -fomit-frame-pointer ymm
gcc -march=nocona -O -fomit-frame-pointer ymm
gcc -march=nocona -Os -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:294:7: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:41:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avxintrin.h:1270:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ...
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:294:7: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:41:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avxintrin.h:1270:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:294:7: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:971:1: error: inlining failed in call to always_inline '_mm256_blend_epi32': target specific option mismatch
norx.c: _mm256_blend_epi32 (__m256i __X, __m256i __Y, const int __M)
norx.c: ^~~~~~~~~~~~~~~~~~
norx.c: norx.c:289:7: note: called from here
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ymm