Implementation notes: amd64, skylake, crypto_aead/tiaoxinv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: tiaoxinv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1900aesnimclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
1902aesnimclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
1904aesnimclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
1904aesnimgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
1906aesnimgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
1906aesnimgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
1906aesnimgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
1908aesnimgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
1912aesnimclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
1912aesnimgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
1914aesnimgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
1918aesnimgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
1918aesnimgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
1938aesnimgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
1940aesnimgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
1940aesnimgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
1940aesnimgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
1942aesnimgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
1946aesnimgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
1948aesnimgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
1948aesnimgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
1950aesnimgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
1952aesnimgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
1968aesnimgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
2192optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
2196optgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
2248optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
2284optgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
2288optgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
2288optgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
2292optgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
2294optgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
2300optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
2322optgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
2332optgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
2338optgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
2346optgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
2348optgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
2358optgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
2360optgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
2362optgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
2364optgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
2366optgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
2368optgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
30740tablegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
30822tablegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
30854tablegcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
30898tablegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
31028tablegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
31030tablegcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
31110tablegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
31138tablegcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
31148tablegcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
31152tablegcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
31154tablegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
31154tablegcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
31154tablegcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
31156tablegcc -Os -fomit-frame-pointer2016121720161026
31160tablegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
31168tablegcc -m64 -Os -fomit-frame-pointer2016121720161026
31242tablegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
31254tablegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
31262tablegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
31324tablegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
31328tablegcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
31332tablegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
31394tablegcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
31424tablegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
31448tablegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
31452tablegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
31458tablegcc -O2 -fomit-frame-pointer2016121720161026
31468tablegcc -march=k8 -Os -fomit-frame-pointer2016121720161026
31470tablegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
31484tablegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
31530tablegcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
31558tablegcc -m64 -O2 -fomit-frame-pointer2016121720161026
31566tablegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
31588tablegcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
31606tablegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
31622tablegcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
31650tablegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
31656tablegcc -march=nocona -O -fomit-frame-pointer2016121720161026
31670tablegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
31694tablegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
31696tablegcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
31706tablegcc -O -fomit-frame-pointer2016121720161026
31720tablegcc -march=barcelona -O -fomit-frame-pointer2016121720161026
31740tablegcc -m64 -O -fomit-frame-pointer2016121720161026
31744tablegcc -funroll-loops -O -fomit-frame-pointer2016121720161026
31744tablegcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
31746tablegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
31746tablegcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
31758tablegcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
31774tablegcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
31778tablegcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
31784tablegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
31792tablegcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
31794tablegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
31798tablegcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
31816tablegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
31820tablegcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
31830tablegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
31836tablegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
31840tablegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
31850tablegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
31872tablegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
31878tablegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
31884tablegcc -march=nocona -Os -fomit-frame-pointer2016121720161026
31954tablegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
31954tablegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
32000tablegcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
32008tablegcc -march=k8 -O -fomit-frame-pointer2016121720161026
32072tablegcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
32104tablegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
32152tablegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
32160tablegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
32166tablegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
32190tablegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
32282tablegcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
32284tablegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
32308tablegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
32326tablegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
32342tablegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
32354tablegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
32366tablegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
32438tablegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
32470tablegcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
32498tablegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
32504tablegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
32594tablegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
32674tablegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
32674tablegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
32700tablegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
32714tablegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
32726tablegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
32800tablegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
32804tablegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
32808tablegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
32874tablegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
32886tablegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
32912tablegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
32944tablegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
32964tablegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
33028tablegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
33188tablegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
33582tablegcc -m64 -O3 -fomit-frame-pointer2016121720161026
33584tablegcc -O3 -fomit-frame-pointer2016121720161026
33694tablegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
33714tablegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
34074tablegcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
34260tablegcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
34368tablegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
58854tableclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
58864tableclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
58882tableclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
59420tableclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
59608tableclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
59638tableclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
59940tableclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
60944tableclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
61402tableclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
62872tableclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
65466tablegcc -funroll-loops2016121720161026
65628tablegcc2016121720161026
65758tablecc2016121720161026
1571336refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
1571838refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
2042760refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
2056674refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
2056710refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
2060246refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
2060248refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
2060344refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
2061208refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2061218refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2069030refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
2069476refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
2084586refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
2084704refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
2086496refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
2086496refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2086526refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
2086722refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2087858refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
2091128refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
2092146refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
2092300refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
2092326refgcc -O3 -fomit-frame-pointer2016121720161026
2095274refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
2096896refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2096928refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2097960refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
2097968refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
2125214refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
2125218refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
2125240refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
2125880refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
2125900refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
2126288refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
2129348refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
2171104refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
2176552refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
2177588refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
2597150refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
2599008refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
2599544refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
2599588refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
2600050refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
2601308refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
2627142refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
3115056refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
3116182refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
3403720refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
3409742refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
3425186refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
3696954refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
3696956refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
3800350refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
3807654refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
3812504refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
3990312refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
3990926refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
4002798refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
4003156refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
4010774refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
4018664refgcc -O2 -fomit-frame-pointer2016121720161026
4019420refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
4032024refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
4033152refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
4034842refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
4035202refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
4036740refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
4037062refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
4292314refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
4299748refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
4308364refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
4337194refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
4345528refgcc -m64 -O -fomit-frame-pointer2016121720161026
4345756refgcc -O -fomit-frame-pointer2016121720161026
4381226refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
4381928refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
4383540refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
4384962refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
4385500refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
4387922refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
4388872refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
4389244refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
4396370refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
4398134refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
4406170refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
4406324refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
4406584refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
4412424refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
4424494refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
4449022refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
4449130refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
4543854refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
4544512refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
4581932refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
4581940refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
4582326refgcc -Os -fomit-frame-pointer2016121720161026
4582580refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
4582952refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
4583526refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
4583656refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
4584028refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
4585280refgcc -m64 -Os -fomit-frame-pointer2016121720161026
4585792refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
4587110refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
4749292refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
4754564refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
4778896refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
4788666refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
24668912refgcc -funroll-loops2016121720161026
24828892refgcc2016121720161026
25020796refcc2016121720161026

Test failure

Implementation: crypto_aead/tiaoxinv1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_encrypt is nondeterministic

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/tiaoxinv1/opt
Compiler: cc
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:41:130: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],tmp);T[0] = xor(T[0], M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:49:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:143:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^~~~~~
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:41:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/aesnim
Compiler: cc
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:42:108: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^~~~~~
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:42:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/aesnim
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:126:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'ssse3'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'ssse3'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:72: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/opt
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:46:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:39:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],tmp);T[0] = xor(T[0], M);T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:46:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:39:94: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],tmp);T[0] = xor(T[0], M);T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/table
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
tiaoxin-tablebased.c: tiaoxin-tablebased.c:256:12: warning: comparison of unsigned expression tiaoxin-tablebased.c: if( clen tiaoxin-tablebased.c: ~~~~ ^ ~
tiaoxin-tablebased.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments table
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments table
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments table
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments table
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments table
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments table
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments table
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments table
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments table
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments table

Compiler output

Implementation: crypto_aead/tiaoxinv1/aesnim
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:375:11: warning: comparison of unsigned expression tiaoxin-optimized.c: if( clen tiaoxin-optimized.c: ~~~~ ^ ~
tiaoxin-optimized.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments aesnim
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments aesnim
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments aesnim
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesnim

Compiler output

Implementation: crypto_aead/tiaoxinv1/aesnim
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:41: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: tiaoxin-optimized.c:47:46: note: expanded from macro 'UPDATE'
tiaoxin-optimized.c: #define UPDATE( T3 , T4 , T6 , M0 , M1 , M2 )\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:72: note: expanded from macro '\
tiaoxin-optimized.c: RT3'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: expanded from macro 'enc'
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'tiaoxin_optimized_encrypt' that is compiled without support for 'aes'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/opt
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:41:130: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],tmp);T[0] = xor(T[0], M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:49:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:143:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^~~~~~
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:41:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:41:130: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],tmp);T[0] = xor(T[0], M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:49:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:143:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^~~~~~
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:29:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:41:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...

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

Compiler output

Implementation: crypto_aead/tiaoxinv1/aesnim
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:42:108: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^~~~~~
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:42:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:42:108: note: in expansion of macro 'enc'
tiaoxin-optimized.c: #define RT6( T , M ) tmp = T[0];T[0] = enc(T[5],M);T[5] = T[4];T[4] = T[3];T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:50:1: note: in expansion of macro 'RT6'
tiaoxin-optimized.c: RT6( T6, M2 );
tiaoxin-optimized.c: ^~~
tiaoxin-optimized.c: tiaoxin-optimized.c:151:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^~~~~~
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
tiaoxin-optimized.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:30:19: note: called from here
tiaoxin-optimized.c: #define enc(a,b) _mm_aesenc_si128(a,b)
tiaoxin-optimized.c: ^~~~~~~~~~~~~~~~~~~~~
tiaoxin-optimized.c: tiaoxin-optimized.c:42:41: note: in expansion of macro 'enc'
tiaoxin-optimized.c: ...

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