Implementation notes: amd64, glyme, crypto_aead/aes128gcmv1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: aes128gcmv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
20480opensslgcc -march=nocona -O2 -fomit-frame-pointer2017020220170105
20484opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020220170105
20484opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
20488opensslgcc -O3 -fomit-frame-pointer2017020220170105
20488opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
20488opensslgcc -funroll-loops -O2 -fomit-frame-pointer2017020220170105
20488opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020220170105
20488opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
20488opensslgcc -m64 -O2 -fomit-frame-pointer2017020220170105
20488opensslgcc -m64 -O3 -fomit-frame-pointer2017020220170105
20488opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
20492opensslgcc -O2 -fomit-frame-pointer2017020220170105
20492opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
20492opensslgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020220170105
20492opensslgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020220170105
20492opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
20492opensslgcc -march=k8 -O3 -fomit-frame-pointer2017020220170105
20492opensslgcc -march=nocona -O3 -fomit-frame-pointer2017020220170105
20496opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
20496opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020220170105
20496opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
20496opensslgcc -m64 -O -fomit-frame-pointer2017020220170105
20496opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
20496opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020220170105
20496opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020220170105
20496opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020220170105
20496opensslgcc -march=barcelona -O3 -fomit-frame-pointer2017020220170105
20496opensslgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020220170105
20500opensslgcc -funroll-loops -O3 -fomit-frame-pointer2017020220170105
20500opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
20500opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
20500opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
20500opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020220170105
20500opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020220170105
20500opensslgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020220170105
20504opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020220170105
20504opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
20504opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
20504opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020220170105
20504opensslgcc -march=barcelona -O -fomit-frame-pointer2017020220170105
20508opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020220170105
20508opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
20508opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020220170105
20508opensslgcc -march=barcelona -Os -fomit-frame-pointer2017020220170105
20508opensslgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020220170105
20508opensslgcc -march=nocona -O -fomit-frame-pointer2017020220170105
20512opensslgcc -Os -fomit-frame-pointer2017020220170105
20516opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020220170105
20516opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020220170105
20520opensslgcc -funroll-loops -Os -fomit-frame-pointer2017020220170105
20520opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
20520opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020220170105
20520opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020220170105
20520opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020220170105
20520opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
20524opensslgcc -m64 -Os -fomit-frame-pointer2017020220170105
20524opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
20524opensslgcc -march=k8 -Os -fomit-frame-pointer2017020220170105
20528opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
20528opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
20528opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020220170105
20528opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020220170105
20528opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
20528opensslgcc -march=k8 -O -fomit-frame-pointer2017020220170105
20532opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020220170105
20532opensslgcc -march=k8 -O2 -fomit-frame-pointer2017020220170105
20536opensslgcc -funroll-loops2017020220170105
20536opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
20536opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020220170105
20536opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020220170105
20536opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
20540opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020220170105
20540opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020220170105
20544opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
20544opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020220170105
20544opensslgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020220170105
20548opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
20548opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020220170105
20552opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020220170105
20560opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2017020220170105
20560opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020220170105
20564opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020220170105
20564opensslgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020220170105
20568opensslgcc -march=barcelona -O2 -fomit-frame-pointer2017020220170105
20576opensslgcc -O -fomit-frame-pointer2017020220170105
20584opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020220170105
20584opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
20592opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
20604opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
20608opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
20620opensslgcc2017020220170105
20636opensslclang -O3 -fomit-frame-pointer -Qunused-arguments2017020220170105
20636dolbeau/aesenc-intclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020220170105
20636dolbeau/aesenc-intclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
20636opensslgcc -funroll-loops -O -fomit-frame-pointer2017020220170105
20648opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020220170105
20676opensslcc2017020220170105
20684opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
20692opensslclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
20692opensslgcc -march=nocona -Os -fomit-frame-pointer2017020220170105
20708opensslclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
20720opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
20720opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020220170105
20736opensslclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020220170105
20784opensslclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
20784opensslclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
20976opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
21468dolbeau/aesenc-intgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020220170105
21496dolbeau/aesenc-intgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020220170105
21596dolbeau/aesenc-intgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020220170105
21604dolbeau/aesenc-intgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020220170105
22092dolbeau/aesenc-intgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020220170105
22180dolbeau/aesenc-intgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020220170105
23844dolbeau/aesenc-intgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020220170105
23876dolbeau/aesenc-intgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020220170105
1942644refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020220170105
1942716refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
1989168refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020220170105
1989688refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020220170105
1991300refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020220170105
1995716refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020220170105
1996904refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020220170105
2130712refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
2130732refgcc -march=nocona -O3 -fomit-frame-pointer2017020220170105
2157448refgcc -march=barcelona -O3 -fomit-frame-pointer2017020220170105
2164880refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
2175324refgcc -m64 -O3 -fomit-frame-pointer2017020220170105
2175532refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
2176744refgcc -O3 -fomit-frame-pointer2017020220170105
2182360refgcc -march=k8 -O3 -fomit-frame-pointer2017020220170105
2185924refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
2247496refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020220170105
2247620refgcc -funroll-loops -O3 -fomit-frame-pointer2017020220170105
2251588refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
2257960refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
2260028refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020220170105
2328392refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020220170105
2328944refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
2524672refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020220170105
2537696refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
2537696refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
2537736refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
2546928refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
2546956refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020220170105
13636060refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020220170105
13636224refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
13644308refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
13645584refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020220170105
13649596refgcc -funroll-loops -O2 -fomit-frame-pointer2017020220170105
13650004refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
13650092refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020220170105
14065692refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020220170105
14066232refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
15791940refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
15791972refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020220170105
15957076refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
15957304refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020220170105
15970976refgcc -funroll-loops -O -fomit-frame-pointer2017020220170105
15971044refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
15971108refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020220170105
15971280refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
15971584refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020220170105
26571060refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020220170105
26574028refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
26676020refgcc -march=barcelona -O2 -fomit-frame-pointer2017020220170105
26724852refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020220170105
26738884refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
26756376refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020220170105
26770468refgcc -O2 -fomit-frame-pointer2017020220170105
26771860refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020220170105
26773520refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
26774572refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020220170105
26775268refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020220170105
26775468refgcc -m64 -O2 -fomit-frame-pointer2017020220170105
26804616refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020220170105
26821536refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020220170105
26922512refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
26924164refgcc -march=k8 -O2 -fomit-frame-pointer2017020220170105
27025932refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020220170105
27027624refgcc -Os -fomit-frame-pointer2017020220170105
27029084refgcc -m64 -Os -fomit-frame-pointer2017020220170105
27030040refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
27033496refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020220170105
27033788refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020220170105
27035308refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
27035436refgcc -march=barcelona -Os -fomit-frame-pointer2017020220170105
27035500refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020220170105
27035824refgcc -march=k8 -Os -fomit-frame-pointer2017020220170105
27036620refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020220170105
27038580refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
27045844refgcc -march=nocona -Os -fomit-frame-pointer2017020220170105
27045856refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
27250388refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020220170105
27250568refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
27260276refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
27260404refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
27260444refgcc -funroll-loops -Os -fomit-frame-pointer2017020220170105
27260544refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020220170105
27268356refgcc -march=nocona -O2 -fomit-frame-pointer2017020220170105
27279064refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
27284652refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020220170105
27332776refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020220170105
27544592refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020220170105
27545060refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020220170105
27545364refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020220170105
27546888refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020220170105
27553740refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020220170105
27555308refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
27556920refgcc -march=barcelona -O -fomit-frame-pointer2017020220170105
27563736refgcc -march=k8 -O -fomit-frame-pointer2017020220170105
27571348refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
27574164refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020220170105
27604348refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
27606520refgcc -m64 -O -fomit-frame-pointer2017020220170105
27609736refgcc -O -fomit-frame-pointer2017020220170105
27703704refgcc -march=nocona -O -fomit-frame-pointer2017020220170105
27704416refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
111693744refcc2017020220170105
118022720refgcc2017020220170105
118029792refgcc -funroll-loops2017020220170105

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: cc
aesenc-int.c: aesenc-int.c:42:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: /usr/bin/../lib/clang/3.8.0/include/emmintrin.h:1112:32: note: passing argument to parameter '__p' here
aesenc-int.c: _mm_loadu_si128(__m128i const *__p)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:645:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_aead_aes128gcmv1_dolbeau_aesenc_int_encrypt' that is compiled without support for 'ssse3'
aesenc-int.c: __m128i Hv = _mm_shuffle_epi8(_mm_load_si128((const __m128i*)H), rev);
aesenc-int.c: ^
aesenc-int.c: 1 warning and 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
cc dolbeau/aesenc-int
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/aesenc-int
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/aesenc-int
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/aesenc-int
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/aesenc-int

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
aesenc-int.c: aesenc-int.c:42:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: /usr/bin/../lib/clang/3.8.0/include/emmintrin.h:1112:32: note: passing argument to parameter '__p' here
aesenc-int.c: _mm_loadu_si128(__m128i const *__p)
aesenc-int.c: ^
aesenc-int.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/aesenc-int
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/aesenc-int

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: gcc
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
aesenc-int.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
aesenc-int.c: ^~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:80:10: note: called from here
aesenc-int.c: temp = _mm_aesenc_si128(temp, rkeys[i]);
aesenc-int.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:69:1: error: inlining failed in call to always_inline '_mm_aesenclast_si128': target specific option mismatch
aesenc-int.c: _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:82:8: note: called from here
aesenc-int.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc dolbeau/aesenc-int
gcc -funroll-loops dolbeau/aesenc-int

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: gcc -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:50:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:69:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x36);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ...

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

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:50:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:69:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x36);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ...
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:50:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:69:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x36);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
aesenc-int.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
aesenc-int.c: ...

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

Compiler output

Implementation: crypto_aead/aes128gcmv1/dolbeau/aesenc-int
Compiler: gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:42:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/xmmintrin.h:1249:0,
aesenc-int.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/emmintrin.h:696:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/aesenc-int
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/aesenc-int
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/aesenc-int
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/aesenc-int