Implementation notes: amd64, intelnuci8, crypto_core/aes128encrypt

Computer: intelnuci8
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_core
Primitive: aes128encrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
165449 0 013721 776 776dolbeau/aesenc-intclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
165449 0 013737 776 776dolbeau/aesenc-intclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
165449 0 013721 776 776dolbeau/aesenc-intclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
167459 0 014566 776 832dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
176491 0 010183 768 760dolbeau/aesenc-intclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
181560 0 010393 752 800dolbeau/aesenc-intgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
183568 0 011293 768 832dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
188569 0 011261 768 832dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3136170 0 018729 776 760dolbeau/std-4ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3137026 0 021150 776 832dolbeau/std-4ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3156266 0 017005 768 832dolbeau/std-4ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3196076 0 019337 776 776dolbeau/std-4ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3206076 0 019353 776 776dolbeau/std-4ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3206076 0 019337 776 776dolbeau/std-4ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3216059 0 015751 768 760dolbeau/std-4ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3364139 0 016697 776 760dolbeau/std-2ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3365074 0 019198 776 832dolbeau/std-2ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3394020 0 013703 768 760dolbeau/std-2ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3416324 0 017101 768 832dolbeau/std-4ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3433996 0 018126 776 832dolbeau/std-1ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3453097 0 015657 776 760dolbeau/std-1ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3454025 0 017305 776 776dolbeau/std-2ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3464025 0 017289 776 776dolbeau/std-2ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3474274 0 015005 768 832dolbeau/std-2ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3503003 0 016265 776 776dolbeau/std-1ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3513003 0 016265 776 776dolbeau/std-1ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3514327 0 014201 752 800dolbeau/std-2ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3524025 0 017289 776 776dolbeau/std-2ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3563003 0 016281 776 776dolbeau/std-1ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3572991 0 012679 768 760dolbeau/std-1ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
3613236 0 013965 768 832dolbeau/std-1ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3666404 0 016281 752 800dolbeau/std-4ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3674270 0 015053 768 832dolbeau/std-2ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3683305 0 013177 752 800dolbeau/std-1ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
3793283 0 014061 768 832dolbeau/std-1ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
545132 0 013611 792 776opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
545132 0 013611 792 776opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
545132 0 010025 784 760opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
546187 0 011096 800 800opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
546187 0 014521 808 800opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
546189 0 010228 784 800opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
548132 0 013611 792 776opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
550190 0 011144 800 800opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
554132 0 012875 792 760opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
1920103982 0 018110 776 832refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
2972722821 0 015369 776 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
2984112821 0 016105 776 776refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
2985082709 0 015993 776 776refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
2988172709 0 015993 776 776refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017
6313541885 0 012589 768 832refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
6323121600 0 011417 752 800refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
6405091776 0 012517 768 832refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019120620191017
10511791954 0 011607 768 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019120620191017

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:12:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
core.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/emmintrin.h:3561:32: note: passing argument to parameter '__p' here
core.c: _mm_loadu_si128(__m128i const *__p)
core.c: ^
core.c: 1 warning generated.

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

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:12:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
core.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/emmintrin.h:3561:32: note: passing argument to parameter '__p' here
core.c: _mm_loadu_si128(__m128i const *__p)
core.c: ^
core.c: core.c:29:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x01);
core.c: ^
core.c: core.c:20:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: ^
core.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
core.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
core.c: ^
core.c: core.c:30:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x02);
core.c: ^
core.c: core.c:20:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: ^
core.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
core.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
core.c: ^
core.c: core.c:31:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: ...

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

Compiler output

Implementation: dolbeau/aesenc-int
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
core.c: core.c: In function 'aes128ni_setkey_encrypt':
core.c: core.c:12:34: warning: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types]
core.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
core.c: ^
core.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
core.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
core.c: from core.c:9:
core.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 *'
core.c: _mm_loadu_si128 (__m128i_u const *__P)
core.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