Implementation notes: amd64, gpu, crypto_aead/aes128gcmv1

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: aes128gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1811612495 0 029333 768 928dolbeau/aesenc-intgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
1813212495 0 029333 768 928dolbeau/aesenc-intgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
1863612447 0 029061 768 928dolbeau/aesenc-intgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
1864812438 0 029045 768 928dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082520190816
2338814726 0 036037 760 1160dolbeau/aesenc-intclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
2442915780 0 034942 776 928dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082520190816
2447415716 0 034974 776 928dolbeau/aesenc-intgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
2483214726 0 036037 760 1160dolbeau/aesenc-intclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082520190816
2491514542 0 035045 760 1160dolbeau/aesenc-intclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082520190816
2579412543 0 029381 768 928dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082520190816
2594012447 0 029061 768 928dolbeau/aesenc-intgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
2606415716 0 034974 776 928dolbeau/aesenc-intgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
2634312495 0 029333 768 928dolbeau/aesenc-intgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
2667312447 0 029061 768 928dolbeau/aesenc-intgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
2762415716 0 034974 776 928dolbeau/aesenc-intgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
291686046 0 021377 752 896dolbeau/aesenc-intgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082520190816
295365969 0 021297 752 896dolbeau/aesenc-intgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082520190816
302525969 0 021297 752 896dolbeau/aesenc-intgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082520190816
308405969 0 021297 752 896dolbeau/aesenc-intgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082520190816
22718409574 0 1631118 776 944refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
25293529580 0 1631678 776 944refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082520190816
258598010012 0 1632838 776 944refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
26489609854 0 3225158 776 944refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
32522684615 0 1624222 776 944refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082520190816
32585449574 0 1631118 776 944refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
32957604663 0 1624438 776 944refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082520190816
33075724472 0 1624294 776 944refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
33182684614 0 1623870 776 944refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
33208844663 0 1624374 776 944refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082520190816
33258964614 0 1623870 776 944refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
33515563077 0 1627285 760 896refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
33682283125 0 1626005 760 896refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082520190816
33927964472 0 1624294 776 944refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
34863844472 0 1624294 776 944refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
34933044663 0 1624438 776 944refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082520190816
35379449580 0 1631678 776 944refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082520190816
35394249580 0 1631678 776 944refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082520190816
35439523357 0 1623086 776 944refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082520190816
35662563077 0 1627285 760 896refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
36211003077 0 1627285 760 896refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
36382009892 0 1632454 776 944refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082520190816
378704010012 0 1632838 776 944refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
37888609892 0 1632454 776 944refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082520190816
38678364807 0 1624726 776 944refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082520190816
38808762862 0 1624029 760 1184refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082520190816
39047124807 0 1624726 776 944refgcc_-march=k8_-O3_-fomit-frame-pointer2019082520190816
39260044927 0 1625158 776 944refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
39975042862 0 1624029 760 1184refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082520190816
40108124679 0 1624446 776 944refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082520190816
40408604679 0 1624446 776 944refgcc_-m64_-O3_-fomit-frame-pointer2019082520190816
40488763391 0 1625341 760 1184refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082520190816
41439164679 0 1624446 776 944refgcc_-O3_-fomit-frame-pointer2019082520190816
42630563391 0 1625341 760 1184refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
126671696911 0 1626981 768 944refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
130060766911 0 1626981 768 944refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
130739127073 0 1627741 768 944refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082520190816
131311647078 0 1627805 768 944refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
155245562250 0 1619541 768 944refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082520190816
156008562250 0 1619541 768 944refgcc_-march=k8_-O2_-fomit-frame-pointer2019082520190816
160317444924 0 3220149 768 944refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
200854966755 0 1627149 768 944refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
201523286669 0 1627293 768 944refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082520190816
205004246669 0 1627293 768 944refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082520190816
222330482337 0 1619509 768 944refgcc_-O_-fomit-frame-pointer2019082520190816
222336442335 0 1619493 768 944refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082520190816
224008242312 0 1619461 768 944refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
224404922335 0 1619493 768 944refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
225906202335 0 1619493 768 944refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082520190816
226570402335 0 1619493 768 944refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082520190816
229396657073 0 1627741 768 944refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082520190816
235784287078 0 1627805 768 944refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
249540087073 0 1627741 768 944refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082520190816
250495167030 0 1627469 768 944refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082520190816
253227807030 0 1627469 768 944refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082520190816
262266482435 0 1619821 768 944refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082520190816
294385642435 0 1619845 768 944refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082520190816
296817562462 0 1620149 768 944refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
297126442435 0 1619821 768 944refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
297245722435 0 1619845 768 944refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082520190816
297368162435 0 1619821 768 944refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082520190816
297472162435 0 1619821 768 944refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
297602682435 0 1619821 768 944refgcc_-m64_-O2_-fomit-frame-pointer2019082520190816
297942562435 0 1619845 768 944refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082520190816
299477242289 0 1619133 768 944refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
299845282435 0 1619821 768 944refgcc_-O2_-fomit-frame-pointer2019082520190816
300020762435 0 1619821 768 944refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
303537602289 0 1619133 768 944refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
361742207064 0 1627437 768 944refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082520190816
367310286659 0 1627109 768 944refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082520190816
369972206669 0 1627293 768 944refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082520190816
383577326659 0 1627109 768 944refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082520190816
389174807064 0 1627437 768 944refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082520190816
400749526755 0 1627149 768 944refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
404052082335 0 1619493 768 944refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082520190816
410100682451 0 1619837 768 944refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082520190816
410537884624 0 3219461 768 944refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
416258202312 0 1619373 768 944refgcc_-march=k8_-O_-fomit-frame-pointer2019082520190816
423777442361 0 1619397 768 944refgcc_-march=nocona_-O_-fomit-frame-pointer2019082520190816
424448682361 0 1619397 768 944refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082520190816
425099962337 0 1619509 768 944refgcc_-m64_-O_-fomit-frame-pointer2019082520190816
426515602312 0 1619373 768 944refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082520190816
427021882335 0 1619493 768 944refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
430330602335 0 1619493 768 944refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
432278362337 0 1619509 768 944refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082520190816
432614002335 0 1619493 768 944refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082520190816
1082483643553 0 1622510 760 912refcc2019082520190816
1168140243553 0 1622510 760 912refgcc_-funroll-loops2019082520190816
1170482763553 0 1622510 760 912refgcc2019082520190816

Test failure

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 31, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: cc
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:40: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/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:701:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i_u const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/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/lib/gcc/x86_64-linux-gnu/7/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:78: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/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:80:8: note: called from here
aesenc-int.c: ...

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

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
aesenc-int.c: aesenc-int.c:40: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/lib/llvm-6.0/lib/clang/6.0.0/include/emmintrin.h:3561: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:643: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: 4, namely:
CompilerImplementations
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: dolbeau/aesenc-int
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
aesenc-int.c: aesenc-int.c:40: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/lib/llvm-6.0/lib/clang/6.0.0/include/emmintrin.h:3561: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: 3, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/aesenc-int
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/aesenc-int
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/aesenc-int

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
aesenc-int.c: aesenc-int.c:40: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/lib/llvm-6.0/lib/clang/6.0.0/include/emmintrin.h:3561: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:58:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aesenc-int.c: BLOCK1(0x01);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:48:11: note: expanded from macro 'BLOCK1'
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ^
aesenc-int.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
aesenc-int.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:59:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aesenc-int.c: BLOCK1(0x02);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:48:11: note: expanded from macro 'BLOCK1'
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ^
aesenc-int.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
aesenc-int.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:60:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aesenc-int.c: ...

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

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:40: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/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:701:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i_u const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:48:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:67:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x36);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: dolbeau/aesenc-int
Security model: unknown
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:40: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/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:701:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i_u const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:48:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:67:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x36);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:40: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/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:701:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i_u const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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:48:9: note: called from here
aesenc-int.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
aesenc-int.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:67:3: note: in expansion of macro 'BLOCK1'
aesenc-int.c: BLOCK1(0x36);
aesenc-int.c: ^~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: dolbeau/aesenc-int
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:40: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/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:701:1: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: _mm_loadu_si128 (__m128i_u const *__P)
aesenc-int.c: ^~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer dolbeau/aesenc-int
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer dolbeau/aesenc-int
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

Compiler output

Implementation: openssl
Security model: unknown
Compiler: cc
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:13:18: error: storage size of 'x' isn't known
decrypt.c: EVP_CIPHER_CTX x;
decrypt.c: ^

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
cc openssl
gcc openssl
gcc -O2 -fomit-frame-pointer openssl
gcc -O3 -fomit-frame-pointer openssl
gcc -O -fomit-frame-pointer openssl
gcc -Os -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O2 -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O3 -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O -fomit-frame-pointer openssl
gcc -fno-schedule-insns -Os -fomit-frame-pointer openssl
gcc -funroll-loops openssl
gcc -funroll-loops -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -O -fomit-frame-pointer openssl
gcc -funroll-loops -Os -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer openssl
gcc -m64 -O2 -fomit-frame-pointer openssl
gcc -m64 -O3 -fomit-frame-pointer openssl
gcc -m64 -O -fomit-frame-pointer openssl
gcc -m64 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -Os -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O -fomit-frame-pointer openssl
gcc -m64 -march=k8 -Os -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O2 -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O3 -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O -fomit-frame-pointer openssl
gcc -m64 -march=nocona -Os -fomit-frame-pointer openssl
gcc -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -march=barcelona -O -fomit-frame-pointer openssl
gcc -march=barcelona -Os -fomit-frame-pointer openssl
gcc -march=k8 -O2 -fomit-frame-pointer openssl
gcc -march=k8 -O3 -fomit-frame-pointer openssl
gcc -march=k8 -O -fomit-frame-pointer openssl
gcc -march=k8 -Os -fomit-frame-pointer openssl
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv openssl
gcc -march=nocona -O2 -fomit-frame-pointer openssl
gcc -march=nocona -O3 -fomit-frame-pointer openssl
gcc -march=nocona -O -fomit-frame-pointer openssl
gcc -march=nocona -Os -fomit-frame-pointer openssl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
decrypt.c: decrypt.c:13:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
decrypt.c: EVP_CIPHER_CTX x;
decrypt.c: ^
decrypt.c: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
decrypt.c: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
decrypt.c: ^
decrypt.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments openssl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:13:18: error: storage size of 'x' isn't known
decrypt.c: EVP_CIPHER_CTX x;
decrypt.c: ^
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_decrypt':
decrypt.c: decrypt.c:13:18: error: storage size of 'x' isn't known
decrypt.c: EVP_CIPHER_CTX x;
decrypt.c: ^

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