Implementation notes: amd64, gcc14, crypto_aead/kiasueq128v1

Computer: gcc14
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20220506
Operation: crypto_aead
Primitive: kiasueq128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12468761287 352 076611 1188 1008T:bitsliceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
12490261343 352 076803 1188 1008T:bitsliceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
12548961343 352 075867 1188 1008T:bitsliceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
12559161343 352 075867 1188 1008T:bitsliceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
12629958553 352 071839 1172 1008T:bitsliceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
33893130078 0 046790 844 1040T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
37848922885 0 036109 812 1008T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
39027829064 0 043451 820 1008T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
39036129064 0 043451 820 1008T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
39081429064 0 044387 820 1008T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
39209729025 0 044195 820 1008T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
40343122453 0 037213 836 1040T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
40585920661 0 034017 820 1040T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
41336222189 0 036733 836 1040T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114

Compiler output

Implementation: T:bitslice
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_aead_kiasueq128v1.a(aes_tweaked.o): relocation R_X86_64_32S against symbol `M0' can not be used when making a shared object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kiasu.c: kiasu.c:133:12: error: always_inline function '_mm_aesimc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
kiasu.c: dTweak = mc_inv(Tweak);
kiasu.c: ^
kiasu.c: ./aes_ni.macros:5:23: note: expanded from macro 'mc_inv'
kiasu.c: #define mc_inv(a) _mm_aesimc_si128(a)
kiasu.c: ^
kiasu.c: kiasu.c:135:22: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
kiasu.c: if( Direction){ AES( State , subkeys , Tweak ); }
kiasu.c: ^
kiasu.c: ./aes_ni.macros:21:5: note: expanded from macro 'AES'
kiasu.c: s = enc( s , xor( subkeys[1] , tw ) );\
kiasu.c: ^
kiasu.c: ./aes_ni.macros:1:18: note: expanded from macro 'enc'
kiasu.c: #define enc(a,b) _mm_aesenc_si128(a,b)
kiasu.c: ^
kiasu.c: kiasu.c:135:22: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
kiasu.c: ./aes_ni.macros:22:5: note: expanded from macro 'AES'
kiasu.c: s = enc( s , xor( subkeys[2] , tw ) );\
kiasu.c: ^
kiasu.c: ./aes_ni.macros:1:18: note: expanded from macro 'enc'
kiasu.c: #define enc(a,b) _mm_aesenc_si128(a,b)
kiasu.c: ^
kiasu.c: kiasu.c:135:22: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
kiasu.c: ./aes_ni.macros:23:5: note: expanded from macro 'AES'
kiasu.c: s = enc( s , xor( subkeys[3] , tw ) );\
kiasu.c: ...

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

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: kiasu.c: In function 'set_encryption_key':
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:54:19: note: called from here
kiasu.c: subkeys[10] = assist128(subkeys[9], _mm_aeskeygenassist_si128(subkeys[9],0x36));
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:53:19: note: called from here
kiasu.c: subkeys[ 9] = assist128(subkeys[8], _mm_aeskeygenassist_si128(subkeys[8],0x1b));
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:52:19: note: called from here
kiasu.c: subkeys[ 8] = assist128(subkeys[7], _mm_aeskeygenassist_si128(subkeys[7],0x80));
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ...

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

Namespace violations

Implementation: T:bitslice
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes_tweaked.o BS0 D
aes_tweaked.o BS1 D
aes_tweaked.o BS2 D
aes_tweaked.o CSTTWA D
aes_tweaked.o CSTTWB D
aes_tweaked.o CSTTWC D
aes_tweaked.o CTRINC1 D
aes_tweaked.o CTRINC2 D
aes_tweaked.o CTRINC3 D
aes_tweaked.o CTRINC4 D
aes_tweaked.o CTRINC5 D
aes_tweaked.o CTRINC6 D
aes_tweaked.o CTRINC7 D
aes_tweaked.o EXPB0 D
aes_tweaked.o ISR D
aes_tweaked.o ISRM0 D
aes_tweaked.o M0 D
aes_tweaked.o ONE D
aes_tweaked.o RCON D
aes_tweaked.o ROTB D
aes_tweaked.o SR D
aes_tweaked.o SRM0 D
aes_tweaked.o jean_ecb_decrypt T
aes_tweaked.o jean_tweaksetup T
aes_tweaked.o kasper_ecb_encrypt T
aes_tweaked.o kasper_keysetup T
kiasu.o AES_set_encrypt_key T
kiasu.o AES_set_tweak T
kiasu.o XLS T
kiasu.o getUnpaddedLength T
kiasu.o kiasu_aead_decrypt T
kiasu.o kiasu_aead_encrypt T
kiasu.o mix T
kiasu.o printBlock T
kiasu.o set_block_number_in_tweak T
kiasu.o set_nonce_in_tweak T
kiasu.o set_stage_in_tweak T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kiasu.o XLS T
kiasu.o getUnpaddedLength T
kiasu.o kiasu_aead_decrypt T
kiasu.o kiasu_aead_encrypt T
kiasu.o mix T
kiasu.o set_block_number_in_tweak T
kiasu.o set_nonce_in_tweak T
kiasu.o set_stage_in_tweak T
tweakable_aes.o aesTweakDecrypt T
tweakable_aes.o aesTweakEncrypt T

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