Implementation notes: amd64, skylake, crypto_aead/norx6441v2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: norx6441v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
14826ymmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
14840ymmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
14882ymmgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
14884ymmgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
14894ymmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
14932ymmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
15128ymmgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
15138ymmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
15172ymmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
16452ymmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
16454ymmclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
16480ymmclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
16658ymmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
17490ymmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
17528ymmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
17604ymmgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
18728xmmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
18758xmmgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
18826xmmgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
18838xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
18874xmmgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
19098xmmclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
19100xmmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
19226xmmclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
19378xmmgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
19420xmmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
19422xmmgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
19436xmmclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
19448xmmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
19474xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
19490xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
19506xmmgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
19512xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
19536xmmgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
19574xmmgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
19574xmmgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
19670xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
19694xmmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
19698xmmgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
19788xmmgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
19830xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
19848xmmclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
19858xmmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
19966xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
19972xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
20022xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
20098xmmgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
20196xmmgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
20240xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
20316xmmgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
20774xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
20958xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
21096xmmgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
21170xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
22110xmmclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
22192xmmclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
22284xmmclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
22288xmmclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
24768xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
24880xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
24944xmmgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
25038xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
25504xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
25530refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
25576refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
25714xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
25738xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
25804xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
25806xmmgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
25810refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
25834xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
25858xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
25894refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
25922refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
25932refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
25942xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
25956refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
25958refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
26024refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
26028refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
26034xmmgcc -O -fomit-frame-pointer2016121620161026
26034refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
26036refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
26050refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
26066xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
26068refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
26074refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
26084refgcc -O3 -fomit-frame-pointer2016121620161026
26084refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
26084xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
26092xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
26094refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
26094xmmgcc -march=nocona -O -fomit-frame-pointer2016121620161026
26128xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
26128xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
26218refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
26254xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
26266refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
26300xmmgcc -march=k8 -O -fomit-frame-pointer2016121620161026
26320xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
26332refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
26366refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
26370xmmgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
26376xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
26450xmmgcc -m64 -O -fomit-frame-pointer2016121620161026
26468refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
26470xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
26476refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
26478xmmgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
26518xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
26538xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
26540refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
26556refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
26576refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
26590xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
26608xmmgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
26662xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
26706xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
26716xmmgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
26724xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
26728xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
26736xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
26748refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
26748refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
26760refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
26766xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
26784xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
26786xmmgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
26808xmmgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
26810refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
26828xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
26918xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
26930xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
26940refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
26946xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
26980xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
26986xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
26986refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
27024refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
27034xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
27044refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
27056refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
27060xmmgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
27094refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
27098xmmgcc -m64 -O2 -fomit-frame-pointer2016121620161026
27118xmmgcc -O2 -fomit-frame-pointer2016121620161026
27152refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
27168xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
27172refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
27194refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
27210refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
27218refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
27228refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
27234refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
27256xmmgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
27272xmmgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
27284refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
27298refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
27354refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
27398refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
27404xmmgcc -O3 -fomit-frame-pointer2016121620161026
27434xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
27436refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
27440refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
27450refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
27480xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
27506xmmgcc -m64 -O3 -fomit-frame-pointer2016121620161026
27518refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
27526refgcc -O2 -fomit-frame-pointer2016121620161026
27536refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
27592refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
27668refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
27714refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
27784refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
27788refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
27794refgcc -O -fomit-frame-pointer2016121620161026
27794refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
27850refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
27872refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
27898refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
27914refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
27970refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
27972refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
27974refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
27992refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
28018refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
28020refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
28030refgcc -m64 -O -fomit-frame-pointer2016121620161026
28056xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
28144refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
28170refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
28176refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
28204refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
28210refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
28236refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
28240xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
28252refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
28276refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
28308xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
28326xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
28372refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
28376refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
28424refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
28434refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
28446refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
28480refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
28522refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
28530refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
28594refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
28704refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
28732refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
28756refgcc -Os -fomit-frame-pointer2016121620161026
28764refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
28766refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
28796refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
28798xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
28818refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
28828xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
28862xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
28940xmmgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
28944refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
28948xmmgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
28948xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
28962refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
28964refgcc -m64 -Os -fomit-frame-pointer2016121620161026
29006refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
29034refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
29056refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
29070refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
29154refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
29180xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
29536refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
29580refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
29688refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
29796xmmgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
29826refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
29832xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
29840xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
29960xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
30008xmmgcc -Os -fomit-frame-pointer2016121620161026
30206xmmgcc -m64 -Os -fomit-frame-pointer2016121620161026
30318xmmgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
32860refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
32872refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
32890refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
33180refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
40848refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
40884refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
41336refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
41402refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
64270refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
65006refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
146766refgcc -funroll-loops2016121620161026
147012refgcc2016121620161026
148982refcc2016121620161026
192664xmmgcc -funroll-loops2016121620161026
196400xmmgcc2016121620161026
197376xmmcc2016121620161026

Compiler output

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