Implementation notes: amd64, oki, crypto_aead/tiaoxinv1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: tiaoxinv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1914? ? ?? ? ?aesnimclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1916? ? ?? ? ?aesnimgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
1916? ? ?? ? ?aesnimgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
1932? ? ?? ? ?aesnimgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
1932? ? ?? ? ?aesnimgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
1938? ? ?? ? ?aesnimgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
1940? ? ?? ? ?aesnimgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
1948? ? ?? ? ?aesnimclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1948? ? ?? ? ?aesnimgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
1954? ? ?? ? ?aesnimgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
1958? ? ?? ? ?aesnimgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
1958? ? ?? ? ?aesnimgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
1962? ? ?? ? ?aesnimgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
1968? ? ?? ? ?aesnimgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
1970? ? ?? ? ?aesnimgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
1970? ? ?? ? ?aesnimgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
1972? ? ?? ? ?aesnimgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
2000? ? ?? ? ?aesnimgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
2000? ? ?? ? ?aesnimgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
2000? ? ?? ? ?aesnimgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
2142? ? ?? ? ?aesnimgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
2154? ? ?? ? ?aesnimgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
2208? ? ?? ? ?optgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
2274? ? ?? ? ?optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
2278? ? ?? ? ?optgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
2322? ? ?? ? ?optgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
2330? ? ?? ? ?optgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
2332? ? ?? ? ?optgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
2356? ? ?? ? ?optgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
2356? ? ?? ? ?optgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
2356? ? ?? ? ?optgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
2362? ? ?? ? ?optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
2364? ? ?? ? ?optgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
2366? ? ?? ? ?optgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
2368? ? ?? ? ?optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
2374? ? ?? ? ?optgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
2378? ? ?? ? ?optgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
2516? ? ?? ? ?optgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
2528? ? ?? ? ?optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
2532? ? ?? ? ?optgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
2566? ? ?? ? ?optgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
2568? ? ?? ? ?optgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
30588? ? ?? ? ?tablegcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
30614? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
30652? ? ?? ? ?tablegcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
30820? ? ?? ? ?tablegcc_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
30828? ? ?? ? ?tablegcc_-march=nocona_-O_-fomit-frame-pointer2018113020181123
30832? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
30898? ? ?? ? ?tablegcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
30900? ? ?? ? ?tablegcc_-O_-fomit-frame-pointer2018113020181123
30906? ? ?? ? ?tablegcc_-m64_-march=core2_-O_-fomit-frame-pointer2018113020181123
30910? ? ?? ? ?tablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
30950? ? ?? ? ?tablegcc_-m64_-O_-fomit-frame-pointer2018113020181123
30958? ? ?? ? ?tablegcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018113020181123
31018? ? ?? ? ?tablegcc_-march=k8_-O_-fomit-frame-pointer2018113020181123
31020? ? ?? ? ?tablegcc_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
31118? ? ?? ? ?tablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
31144? ? ?? ? ?tablegcc_-funroll-loops_-O_-fomit-frame-pointer2018113020181123
31186? ? ?? ? ?tablegcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018113020181123
31204? ? ?? ? ?tablegcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018113020181123
31214? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
32960? ? ?? ? ?tablegcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
33068? ? ?? ? ?tablegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
33090? ? ?? ? ?tablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
33128? ? ?? ? ?tablegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018113020181123
33140? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018113020181123
33144? ? ?? ? ?tablegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
33158? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018113020181123
33204? ? ?? ? ?tablegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
35264? ? ?? ? ?tablegcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018113020181123
35276? ? ?? ? ?tablegcc_-funroll-loops_-O2_-fomit-frame-pointer2018113020181123
35282? ? ?? ? ?tablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
35358? ? ?? ? ?tablegcc_-march=k8_-O3_-fomit-frame-pointer2018113020181123
35392? ? ?? ? ?tablegcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018113020181123
35426? ? ?? ? ?tablegcc_-O2_-fomit-frame-pointer2018113020181123
35430? ? ?? ? ?tablegcc_-m64_-O2_-fomit-frame-pointer2018113020181123
35438? ? ?? ? ?tablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
35456? ? ?? ? ?tablegcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
35488? ? ?? ? ?tablegcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018113020181123
35508? ? ?? ? ?tablegcc_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
35526? ? ?? ? ?tablegcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
35580? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
35634? ? ?? ? ?tablegcc_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
35638? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
35640? ? ?? ? ?tablegcc_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
35662? ? ?? ? ?tablegcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018113020181123
35666? ? ?? ? ?tablegcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
35668? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
35682? ? ?? ? ?tablegcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
35720? ? ?? ? ?tablegcc_-march=k8_-O2_-fomit-frame-pointer2018113020181123
35758? ? ?? ? ?tablegcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
35776? ? ?? ? ?tablegcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
35798? ? ?? ? ?tablegcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
35858? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
36042? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
36058? ? ?? ? ?tablegcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
36092? ? ?? ? ?tablegcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
36260? ? ?? ? ?tablegcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
36266? ? ?? ? ?tablegcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
36296? ? ?? ? ?tablegcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018113020181123
36390? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018113020181123
36398? ? ?? ? ?tablegcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
36400? ? ?? ? ?tablegcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018113020181123
36502? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018113020181123
36506? ? ?? ? ?tablegcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018113020181123
36518? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018113020181123
36552? ? ?? ? ?tablegcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
36582? ? ?? ? ?tablegcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
36610? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018113020181123
36682? ? ?? ? ?tablegcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
36940? ? ?? ? ?tablegcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
36940? ? ?? ? ?tablegcc_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
36984? ? ?? ? ?tablegcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
37058? ? ?? ? ?tablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
37318? ? ?? ? ?tablegcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
37346? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
37746? ? ?? ? ?tablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
38056? ? ?? ? ?tablegcc_-m64_-O3_-fomit-frame-pointer2018113020181123
38078? ? ?? ? ?tablegcc_-O3_-fomit-frame-pointer2018113020181123
38080? ? ?? ? ?tablegcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
38320? ? ?? ? ?tablegcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
38332? ? ?? ? ?tablegcc_-funroll-loops_-O3_-fomit-frame-pointer2018113020181123
38372? ? ?? ? ?tablegcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018113020181123
42154? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
42162? ? ?? ? ?tablegcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
42240? ? ?? ? ?tablegcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018113020181123
42244? ? ?? ? ?tablegcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018113020181123
42288? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
42318? ? ?? ? ?tablegcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
42328? ? ?? ? ?tablegcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
42350? ? ?? ? ?tablegcc_-funroll-loops_-Os_-fomit-frame-pointer2018113020181123
42372? ? ?? ? ?tablegcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018113020181123
42386? ? ?? ? ?tablegcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
42430? ? ?? ? ?tablegcc_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
42432? ? ?? ? ?tablegcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
42440? ? ?? ? ?tablegcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018113020181123
42470? ? ?? ? ?tablegcc_-Os_-fomit-frame-pointer2018113020181123
42476? ? ?? ? ?tablegcc_-march=k8_-Os_-fomit-frame-pointer2018113020181123
42484? ? ?? ? ?tablegcc_-m64_-Os_-fomit-frame-pointer2018113020181123
42510? ? ?? ? ?tablegcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
42538? ? ?? ? ?tablegcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
42538? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018113020181123
42552? ? ?? ? ?tablegcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
42586? ? ?? ? ?tablegcc_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
42614? ? ?? ? ?tablegcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
42636? ? ?? ? ?tablegcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018113020181123
42754? ? ?? ? ?tablegcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
42814? ? ?? ? ?tablegcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
42832? ? ?? ? ?tablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
42846? ? ?? ? ?tablegcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
59934? ? ?? ? ?tableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018113020181123
59946? ? ?? ? ?tableclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
59958? ? ?? ? ?tableclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
60030? ? ?? ? ?tableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
60052? ? ?? ? ?tableclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018113020181123
60056? ? ?? ? ?tableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018113020181123
60094? ? ?? ? ?tableclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
60148? ? ?? ? ?tableclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
63228? ? ?? ? ?tablecc2018113020181123
65536? ? ?? ? ?tablegcc_-funroll-loops2018113020181123
65558? ? ?? ? ?tablegcc2018113020181123
2085588? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018113020181123
2085624? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
2112142? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018113020181123
2112318? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018113020181123
2112438? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
2204822? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018113020181123
2235804? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
2236484? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
2237576? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
2238458? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018113020181123
2238788? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
2242960? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018113020181123
2245826? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018113020181123
2253230? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018113020181123
2255064? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018113020181123
2255590? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
2255924? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018113020181123
2255990? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
2256766? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018113020181123
2269512? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018113020181123
2273264? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018113020181123
2273500? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
2273638? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
2303210? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
2585224? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
2585426? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018113020181123
2590908? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018113020181123
2591080? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018113020181123
2602840? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
3390692? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
3403158? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
3659040? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
3848554? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
3855392? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
3856058? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
3982322? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
3992260? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018113020181123
3994630? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
4005472? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018113020181123
4006446? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018113020181123
4009422? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018113020181123
4012848? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018113020181123
4012856? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018113020181123
4020332? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
4021290? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
4025834? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018113020181123
4379220? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
4381712? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018113020181123
4386920? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
4387390? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
4390750? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018113020181123
4397824? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018113020181123
4400350? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
4406940? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018113020181123
4406942? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018113020181123
4407830? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018113020181123
4415688? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018113020181123
8313358? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
8324642? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018113020181123
8609360? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
8619160? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
8778758? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
8782870? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
8795614? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
8800170? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
8825710? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
8832286? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
8834888? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
8839346? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
8906692? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
8907146? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
8926062? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
8926744? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
12293262? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
12297536? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
12988920? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018113020181123
13014106? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
14254036? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018113020181123
14264276? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018113020181123
14272686? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
14381502? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
14386228? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
14561952? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
14674848? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
14680888? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
14763234? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
14781848? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
14802360? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
14873646? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018113020181123
14901702? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018113020181123
14913320? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
14920936? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
14926344? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018113020181123
14940410? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
14976398? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018113020181123
14979492? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
14993882? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
15394506? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
15400334? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018113020181123
15400514? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018113020181123
15412248? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018113020181123
15416644? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018113020181123
15592476? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
15596880? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
15745386? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
15745636? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
16207290? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
16277724? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
24673270? ? ?? ? ?refgcc2018113020181123
24675056? ? ?? ? ?refgcc_-funroll-loops2018113020181123
25517302? ? ?? ? ?refcc2018113020181123

Test failure

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

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

Test failure

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_encrypt is nondeterministic

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments 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 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: aesnim
Security model: unknown
Compiler: cc
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:126:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
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:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:70: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc aesnim

Compiler output

Implementation: aesnim
Security model: unknown
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: aesnim
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:375:11: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-optimized.c: if( clen < 0 )
tiaoxin-optimized.c: ~~~~ ^ ~
tiaoxin-optimized.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x1d710f0: v4i64 = X86ISD::VTRUNC 0x1d70f20
try.c: 0x1d70f20: v16i32 = vselect 0x1d7a2b0, 0x1d0c0f0, 0x1d70df0
try.c: 0x1d7a2b0: v4i1 = X86ISD::PCMPGTM 0x1d5c600, 0x1d0cea0
try.c: 0x1d5c600: v4i64 = X86ISD::VBROADCAST 0x1d0d230
try.c: 0x1d0d230: i64,ch = load<LD8[%uglygep72]> 0x1c55da0, 0x1d00290, undef:i64
try.c: 0x1d00290: i64 = add 0x1d5d4e0, 0x1cf3410
try.c: 0x1d5d4e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1d4f8b0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1cf3410: i64 = shl 0x1d4f060, Constant:i8<3>
try.c: 0x1d4f060: i64,ch = CopyFromReg 0x1c55da0, Register:i64 %vreg50
try.c: 0x1d5d9a0: i64 = Register %vreg50
try.c: 0x1cf4a10: i8 = Constant<3>
try.c: 0x1d5ac70: i64 = undef
try.c: 0x1d0cea0: v4i64,ch = CopyFromReg 0x1c55da0, Register:v4i64 %vreg13
try.c: 0x1cf13c0: v4i64 = Register %vreg13
try.c: 0x1d0c0f0: v16i32 = X86ISD::VBROADCAST 0x1d4f2c0
try.c: 0x1d4f2c0: i32,ch = load<LD4[ConstantPool]> 0x1c55da0, 0x1d70a60, undef:i64
try.c: 0x1d70a60: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1ceeee0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1d5ac70: i64 = undef
try.c: 0x1d70df0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1d70cc0: i32 = Constant<0>
try.c: 0x1d70cc0: i32 = Constant<0>
try.c: 0x1d70cc0: i32 = Constant<0>
try.c: 0x1d70cc0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments aesnim

Compiler output

Implementation: aesnim
Security model: unknown
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:375:11: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-optimized.c: if( clen < 0 )
tiaoxin-optimized.c: ~~~~ ^ ~
tiaoxin-optimized.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
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

Compiler output

Implementation: aesnim
Security model: unknown
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: aesnim
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
tiaoxin-optimized.c: tiaoxin-optimized.c:375:11: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-optimized.c: if( clen < 0 )
tiaoxin-optimized.c: ~~~~ ^ ~
tiaoxin-optimized.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x1778080: v4i64 = X86ISD::VTRUNC 0x1777eb0
try.c: 0x1777eb0: v16i32 = vselect 0x1774af0, 0x170be30, 0x1777d80
try.c: 0x1774af0: v4i1 = X86ISD::PCMPGTM 0x1772ad0, 0x170cbe0
try.c: 0x1772ad0: v4i64 = X86ISD::VBROADCAST 0x170cf70
try.c: 0x170cf70: i64,ch = load<LD8[%uglygep72]> 0x166ddd0, 0x17530b0, undef:i64
try.c: 0x17530b0: i64 = add 0x17739b0, 0x1736430
try.c: 0x17739b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x176a720: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1736430: i64 = shl 0x1769ed0, Constant:i8<3>
try.c: 0x1769ed0: i64,ch = CopyFromReg 0x166ddd0, Register:i64 %vreg50
try.c: 0x1773e70: i64 = Register %vreg50
try.c: 0x1708b00: i8 = Constant<3>
try.c: 0x1771140: i64 = undef
try.c: 0x170cbe0: v4i64,ch = CopyFromReg 0x166ddd0, Register:v4i64 %vreg13
try.c: 0x1717bc0: v4i64 = Register %vreg13
try.c: 0x170be30: v16i32 = X86ISD::VBROADCAST 0x176a130
try.c: 0x176a130: i32,ch = load<LD4[ConstantPool]> 0x166ddd0, 0x17779f0, undef:i64
try.c: 0x17779f0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x170e9a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1771140: i64 = undef
try.c: 0x1777d80: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1777c50: i32 = Constant<0>
try.c: 0x1777c50: i32 = Constant<0>
try.c: 0x1777c50: i32 = Constant<0>
try.c: 0x1777c50: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesnim

Compiler output

Implementation: aesnim
Security model: unknown
Compiler: gcc
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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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: 86, namely:
CompilerImplementations
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: aesnim
Security model: unknown
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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:39:39: error: incompatible types when assigning to type '__m128i' from type 'int'
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:47:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:39:92: error: incompatible types when assigning to type '__m128i' from type 'int'
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:47:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:129:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT4( T , M ) tmp = T[0];T[0] = enc(T[3],tmp);T[0] = xor(T[0], M);T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc opt

Compiler output

Implementation: opt
Security model: unknown
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: opt
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1a81660: v4i64 = X86ISD::VTRUNC 0x1a81490
try.c: 0x1a81490: v16i32 = vselect 0x1a7e0d0, 0x19ca120, 0x1a81360
try.c: 0x1a7e0d0: v4i1 = X86ISD::PCMPGTM 0x1a69f40, 0x1a02250
try.c: 0x1a69f40: v4i64 = X86ISD::VBROADCAST 0x1a025e0
try.c: 0x1a025e0: i64,ch = load<LD8[%uglygep72]> 0x1963dd0, 0x1a5ae90, undef:i64
try.c: 0x1a5ae90: i64 = add 0x1a6ae20, 0x1a18bc0
try.c: 0x1a6ae20: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1a60000: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1a18bc0: i64 = shl 0x1a5f7b0, Constant:i8<3>
try.c: 0x1a5f7b0: i64,ch = CopyFromReg 0x1963dd0, Register:i64 %vreg50
try.c: 0x1a6b2e0: i64 = Register %vreg50
try.c: 0x1a1a1c0: i8 = Constant<3>
try.c: 0x1a685b0: i64 = undef
try.c: 0x1a02250: v4i64,ch = CopyFromReg 0x1963dd0, Register:v4i64 %vreg13
try.c: 0x1a15050: v4i64 = Register %vreg13
try.c: 0x19ca120: v16i32 = X86ISD::VBROADCAST 0x1a5fa10
try.c: 0x1a5fa10: i32,ch = load<LD4[ConstantPool]> 0x1963dd0, 0x1a80fd0, undef:i64
try.c: 0x1a80fd0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1a04010: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1a685b0: i64 = undef
try.c: 0x1a81360: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1a81230: i32 = Constant<0>
try.c: 0x1a81230: i32 = Constant<0>
try.c: 0x1a81230: i32 = Constant<0>
try.c: 0x1a81230: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0xdd62c0: v4i64 = X86ISD::VTRUNC 0xdd60f0
try.c: 0xdd60f0: v16i32 = vselect 0xdd2d30, 0xd4def0, 0xdd5fc0
try.c: 0xdd2d30: v4i1 = X86ISD::PCMPGTM 0xdd0d10, 0xd929a0
try.c: 0xdd0d10: v4i64 = X86ISD::VBROADCAST 0xd92d30
try.c: 0xd92d30: i64,ch = load<LD8[%uglygep72]> 0xccbdd0, 0xd83360, undef:i64
try.c: 0xd83360: i64 = add 0xdd1bf0, 0xd676c0
try.c: 0xdd1bf0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xdba480: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xd676c0: i64 = shl 0xdb9c30, Constant:i8<3>
try.c: 0xdb9c30: i64,ch = CopyFromReg 0xccbdd0, Register:i64 %vreg50
try.c: 0xdd20b0: i64 = Register %vreg50
try.c: 0xd61f30: i8 = Constant<3>
try.c: 0xdcf380: i64 = undef
try.c: 0xd929a0: v4i64,ch = CopyFromReg 0xccbdd0, Register:v4i64 %vreg13
try.c: 0xd75270: v4i64 = Register %vreg13
try.c: 0xd4def0: v16i32 = X86ISD::VBROADCAST 0xdb9e90
try.c: 0xdb9e90: i32,ch = load<LD4[ConstantPool]> 0xccbdd0, 0xdd5c30, undef:i64
try.c: 0xdd5c30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xd6ac30: i64 = TargetConstantPool<i32 1> 0
try.c: 0xdcf380: i64 = undef
try.c: 0xdd5fc0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0xdd5e90: i32 = Constant<0>
try.c: 0xdd5e90: i32 = Constant<0>
try.c: 0xdd5e90: i32 = Constant<0>
try.c: 0xdd5e90: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc
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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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: 86, namely:
CompilerImplementations
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: opt
Security model: unknown
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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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/lib64/gcc/x86_64-suse-linux/7/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: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1a2ea00: v4i64 = X86ISD::VTRUNC 0x1a2e830
try.c: 0x1a2e830: v16i32 = vselect 0x1a2b470, 0x19ec4e0, 0x1a2e700
try.c: 0x1a2b470: v4i1 = X86ISD::PCMPGTM 0x1a29450, 0x19d6550
try.c: 0x1a29450: v4i64 = X86ISD::VBROADCAST 0x19d68e0
try.c: 0x19d68e0: i64,ch = load<LD8[%uglygep72]> 0x1924dd0, 0x19e4cb0, undef:i64
try.c: 0x19e4cb0: i64 = add 0x1a2a330, 0x19cb330
try.c: 0x1a2a330: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x19caf00: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x19cb330: i64 = shl 0x19ca6b0, Constant:i8<3>
try.c: 0x19ca6b0: i64,ch = CopyFromReg 0x1924dd0, Register:i64 %vreg50
try.c: 0x1a2a7f0: i64 = Register %vreg50
try.c: 0x19a7250: i8 = Constant<3>
try.c: 0x1a272b0: i64 = undef
try.c: 0x19d6550: v4i64,ch = CopyFromReg 0x1924dd0, Register:v4i64 %vreg13
try.c: 0x19c6000: v4i64 = Register %vreg13
try.c: 0x19ec4e0: v16i32 = X86ISD::VBROADCAST 0x19ca910
try.c: 0x19ca910: i32,ch = load<LD4[ConstantPool]> 0x1924dd0, 0x1a2e370, undef:i64
try.c: 0x1a2e370: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x19c3b20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1a272b0: i64 = undef
try.c: 0x1a2e700: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1a2e5d0: i32 = Constant<0>
try.c: 0x1a2e5d0: i32 = Constant<0>
try.c: 0x1a2e5d0: i32 = Constant<0>
try.c: 0x1a2e5d0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0xf7ac90: v4i64 = X86ISD::VTRUNC 0xf7aac0
try.c: 0xf7aac0: v16i32 = vselect 0xf77700, 0xf26b40, 0xf7a990
try.c: 0xf77700: v4i1 = X86ISD::PCMPGTM 0xf756e0, 0xf278f0
try.c: 0xf756e0: v4i64 = X86ISD::VBROADCAST 0xf27c80
try.c: 0xf27c80: i64,ch = load<LD8[%uglygep72]> 0xe70dd0, 0xf60260, undef:i64
try.c: 0xf60260: i64 = add 0xf765c0, 0xf05260
try.c: 0xf765c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xf5dd80: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xf05260: i64 = shl 0xf5d530, Constant:i8<3>
try.c: 0xf5d530: i64,ch = CopyFromReg 0xe70dd0, Register:i64 %vreg50
try.c: 0xf76a80: i64 = Register %vreg50
try.c: 0xf195d0: i8 = Constant<3>
try.c: 0xf73d50: i64 = undef
try.c: 0xf278f0: v4i64,ch = CopyFromReg 0xe70dd0, Register:v4i64 %vreg13
try.c: 0xf2f980: v4i64 = Register %vreg13
try.c: 0xf26b40: v16i32 = X86ISD::VBROADCAST 0xf5d790
try.c: 0xf5d790: i32,ch = load<LD4[ConstantPool]> 0xe70dd0, 0xf7a600, undef:i64
try.c: 0xf7a600: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xf34c70: i64 = TargetConstantPool<i32 1> 0
try.c: 0xf73d50: i64 = undef
try.c: 0xf7a990: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0xf7a860: i32 = Constant<0>
try.c: 0xf7a860: i32 = Constant<0>
try.c: 0xf7a860: i32 = Constant<0>
try.c: 0xf7a860: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: table
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
tiaoxin-tablebased.c: tiaoxin-tablebased.c:256:12: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-tablebased.c: if( clen < 0 )
tiaoxin-tablebased.c: ~~~~ ^ ~
tiaoxin-tablebased.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -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 -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: table
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
tiaoxin-tablebased.c: tiaoxin-tablebased.c:256:12: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-tablebased.c: if( clen < 0 )
tiaoxin-tablebased.c: ~~~~ ^ ~
tiaoxin-tablebased.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x1fc3100: v4i64 = X86ISD::VTRUNC 0x1fc2f30
try.c: 0x1fc2f30: v16i32 = vselect 0x1fbfb70, 0x1f4d710, 0x1fc2e00
try.c: 0x1fbfb70: v4i1 = X86ISD::PCMPGTM 0x1fac9f0, 0x1f50bb0
try.c: 0x1fac9f0: v4i64 = X86ISD::VBROADCAST 0x1f50f40
try.c: 0x1f50f40: i64,ch = load<LD8[%uglygep72]> 0x1ea6dd0, 0x1f9b3a0, undef:i64
try.c: 0x1f9b3a0: i64 = add 0x1fad8d0, 0x1f28360
try.c: 0x1fad8d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1f708e0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1f28360: i64 = shl 0x1f70090, Constant:i8<3>
try.c: 0x1f70090: i64,ch = CopyFromReg 0x1ea6dd0, Register:i64 %vreg50
try.c: 0x1fadd90: i64 = Register %vreg50
try.c: 0x1f589f0: i8 = Constant<3>
try.c: 0x1fab060: i64 = undef
try.c: 0x1f50bb0: v4i64,ch = CopyFromReg 0x1ea6dd0, Register:v4i64 %vreg13
try.c: 0x1f45470: v4i64 = Register %vreg13
try.c: 0x1f4d710: v16i32 = X86ISD::VBROADCAST 0x1f702f0
try.c: 0x1f702f0: i32,ch = load<LD4[ConstantPool]> 0x1ea6dd0, 0x1fc2a70, undef:i64
try.c: 0x1fc2a70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1f56050: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1fab060: i64 = undef
try.c: 0x1fc2e00: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1fc2cd0: i32 = Constant<0>
try.c: 0x1fc2cd0: i32 = Constant<0>
try.c: 0x1fc2cd0: i32 = Constant<0>
try.c: 0x1fc2cd0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments table

Compiler output

Implementation: table
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
tiaoxin-tablebased.c: tiaoxin-tablebased.c:256:12: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
tiaoxin-tablebased.c: if( clen < 0 )
tiaoxin-tablebased.c: ~~~~ ^ ~
tiaoxin-tablebased.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x19090d0: v4i64 = X86ISD::VTRUNC 0x1908f00
try.c: 0x1908f00: v16i32 = vselect 0x1912100, 0x18940f0, 0x1908dd0
try.c: 0x1912100: v4i1 = X86ISD::PCMPGTM 0x18f35d0, 0x1898130
try.c: 0x18f35d0: v4i64 = X86ISD::VBROADCAST 0x18984c0
try.c: 0x18984c0: i64,ch = load<LD8[%uglygep72]> 0x17ecdd0, 0x18ed0b0, undef:i64
try.c: 0x18ed0b0: i64 = add 0x18f44b0, 0x189f7f0
try.c: 0x18f44b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x18b44c0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x189f7f0: i64 = shl 0x18b3c70, Constant:i8<3>
try.c: 0x18b3c70: i64,ch = CopyFromReg 0x17ecdd0, Register:i64 %vreg50
try.c: 0x18f4970: i64 = Register %vreg50
try.c: 0x186ec10: i8 = Constant<3>
try.c: 0x18f1c40: i64 = undef
try.c: 0x1898130: v4i64,ch = CopyFromReg 0x17ecdd0, Register:v4i64 %vreg13
try.c: 0x18b1df0: v4i64 = Register %vreg13
try.c: 0x18940f0: v16i32 = X86ISD::VBROADCAST 0x18b3ed0
try.c: 0x18b3ed0: i32,ch = load<LD4[ConstantPool]> 0x17ecdd0, 0x1908a40, undef:i64
try.c: 0x1908a40: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1899ef0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x18f1c40: i64 = undef
try.c: 0x1908dd0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1908ca0: i32 = Constant<0>
try.c: 0x1908ca0: i32 = Constant<0>
try.c: 0x1908ca0: i32 = Constant<0>
try.c: 0x1908ca0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments table