Implementation notes: amd64, latour, crypto_aead/aes256otrcv3

Computer: latour
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aes256otrcv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16758011752 4392 24028203 5160 1168T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083020200826
1686515304 4392 24019554 5152 1168T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083020200826
1797845124 4392 24019122 5152 1168T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083020200826
1889464007 4400 24016958 5208 1104T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083020200826
1911429466 4400 24023512 5216 1104T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083020200826
1920969466 4400 24023512 5216 1104T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083020200826
19224910434 4400 24025264 5216 1104T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083020200826
19256410450 4400 24025424 5216 1104T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083020200826
2014924512 4392 24017454 5136 1136T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083020200826

Compiler output

Implementation: T:ni_p7m1
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:121:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[1]);
encrypt.c: ^
encrypt.c: encrypt.c:122:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[2]);
encrypt.c: ^
encrypt.c: encrypt.c:123:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[3]);
encrypt.c: ^
encrypt.c: encrypt.c:124:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[4]);
encrypt.c: ^
encrypt.c: encrypt.c:125:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[5]);
encrypt.c: ^
encrypt.c: encrypt.c:126:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[6]);
encrypt.c: ^
encrypt.c: encrypt.c:127:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[7]);
encrypt.c: ^
encrypt.c: encrypt.c:128:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[8]);
encrypt.c: ^
encrypt.c: encrypt.c:129:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m1
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m1
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p7m2
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m1
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m1
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ni_p8m2

Compiler output

Implementation: T:ni_p7m1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:43:0,
encrypt.c: from otr.h:30,
encrypt.c: from encrypt.c:33:
encrypt.c: encrypt.c: In function 'AES_256_Key_Expansion':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^
encrypt.c: encrypt.c:54:8: error: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4,aes_const); \
encrypt.c: ^
encrypt.c: encrypt.c:87:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x3, 255, 64); kp[14] = x0;
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:43:0,
encrypt.c: from otr.h:30,
encrypt.c: from encrypt.c:33:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^
encrypt.c: encrypt.c:54:8: error: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4,aes_const); \
encrypt.c: ^
encrypt.c: encrypt.c:86:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x3, x1, x2, x0, 170, 32); kp[13] = x3;
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m1
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p7m2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m1
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ni_p8m2

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o DFunc T
encrypt.o EFunc T
t-aes_enc_only.o Encryption T
t-aes_enc_only.o KeySchedule T
t-aes_enc_only.o RC D
t-aes_enc_only.o S D
t-aes_enc_only.o T0 D
t-aes_enc_only.o T1 D
t-aes_enc_only.o T2 D
t-aes_enc_only.o T3 D

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref