Implementation notes: amd64, pmnod003, crypto_aead/aes128gcmv1

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_aead
Primitive: aes128gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
557418568 0 041837 856 928dolbeau/aesenc-inticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
558019704 0 041383 856 864dolbeau/aesenc-inticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
559219480 0 040971 856 864dolbeau/aesenc-inticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
563618440 0 041805 856 928dolbeau/aesenc-inticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
5642940 0 018445 904 896opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
56441448 0 023800 936 864opensslicc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
56461448 0 025144 936 864opensslicc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
56481448 0 025082 936 864opensslicc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
56481448 0 023956 936 864opensslicc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
56481448 0 023856 936 864opensslicc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
56541448 0 024028 936 864opensslicc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
56581448 0 025112 936 864opensslicc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
56601448 0 025144 936 864opensslicc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
56621016 0 018309 904 896opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
56621448 0 025858 936 928opensslicc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
56621448 0 025666 936 928opensslicc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
56681448 0 025330 936 928opensslicc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
56681448 0 025762 936 928opensslicc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
56701448 0 025498 936 864opensslicc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
5694921 0 016853 888 896opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
57001448 0 025112 936 864opensslicc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
582419192 0 040627 856 864dolbeau/aesenc-inticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
583619416 0 041023 856 864dolbeau/aesenc-inticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
5836940 0 021194 912 896opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
586416968 0 039747 856 864dolbeau/aesenc-inticc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
587616968 0 039747 856 864dolbeau/aesenc-inticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
588617208 0 039955 856 864dolbeau/aesenc-inticc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
588617208 0 039955 856 864dolbeau/aesenc-inticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
589817336 0 040021 856 864dolbeau/aesenc-inticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
593817464 0 040565 856 864dolbeau/aesenc-inticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
602217064 0 040525 856 928dolbeau/aesenc-inticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
635217096 0 040029 856 928dolbeau/aesenc-inticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
677216968 0 036283 832 896dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
678412233 0 028822 824 896dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
714812460 0 028830 824 896dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
78485965 0 021046 808 896dolbeau/aesenc-intgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
18657263350 0 1623251 832 912refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
21788843152 0 1626483 856 880reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
21879262960 0 1624979 856 880reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
21880423152 0 1626483 856 880reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
21967722960 0 1625135 856 880reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
21971563056 0 1626419 856 880reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
22016442816 0 1625063 856 880reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
22141862816 0 1624891 856 880reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
22177183056 0 1626419 856 880reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
23310106032 0 1629581 856 944reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
23480966248 0 1629965 856 880reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
23504486176 0 1630253 856 944reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
23523766720 0 1630605 856 944reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
23585327104 0 1631085 856 944reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
23800345968 0 1629269 856 880reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
174349882120 0 1619086 824 912refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
175713821717 0 1617374 808 912refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
183755742294 0 1619446 824 912refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: 40 | __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aesenc-int.c: | |
aesenc-int.c: | const unsigned int *
aesenc-int.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/xmmintrin.h:1255,
aesenc-int.c: from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/immintrin.h:29,
aesenc-int.c: from aesenc-int.c:11:
aesenc-int.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/emmintrin.h:701:35: note: expected 'const __vector(2) long long int *' but argument is of type 'const unsigned int *'
aesenc-int.c: 701 | _mm_loadu_si128 (__m128i_u const *__P)
aesenc-int.c: | ~~~~~~~~~~~~~~~~~^~~

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

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: icc -xAVX -O2 -fomit-frame-pointer
aesenc-int.c: aesenc-int.c(40): warning #167: argument of type "const unsigned int *" is incompatible with parameter of type "const union __m128i *"
aesenc-int.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
aesenc-int.c: ^
aesenc-int.c:

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xAVX -O3 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCORE-AVX-I -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCORE-AVX-I -O3 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCORE-AVX2 -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCORE-AVX2 -O3 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCORE-AVX512 -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xCORE-AVX512 -O3 -fomit-frame-pointer dolbeau/aesenc-int
icc -xSSE4.1 -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xSSE4.1 -O3 -fomit-frame-pointer dolbeau/aesenc-int
icc -xSSE4.2 -O2 -fomit-frame-pointer dolbeau/aesenc-int
icc -xSSE4.2 -O3 -fomit-frame-pointer dolbeau/aesenc-int