Implementation notes: amd64, r24000, crypto_aead/aezv5

Computer: r24000
Microarchitecture: amd64; Coffee Lake (906ea)
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: aezv5
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
308812106 0 035634 844 1064T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
308812367 0 036050 844 1096T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
309811248 0 031644 836 1096T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
310111413 0 031043 844 1032T:aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
313120302 0 043645 804 1096T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
314614143 0 035421 804 1096T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
330612376 0 033076 796 1096T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
330710781 0 029880 780 1064T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
20918033349 0 056187 860 1032T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
21543133830 0 057706 860 1064T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
21649434828 0 058866 860 1096T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
42015073501 0 097172 828 1096T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
50327129120 0 050644 828 1096T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
57299327352 0 048388 828 1096T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
59604525119 0 045139 860 1032T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
60255723605 0 044396 852 1096T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716
79123124354 0 043703 804 1064T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072820240716

Compiler output


encrypt.c: encrypt.c:187:2: error: - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c:  ^
encrypt.c: encrypt.c:216:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c:        ^
encrypt.c: encrypt.c:216:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c:                       ^
encrypt.c: encrypt.c:217:12: error: call to undeclared function 'vand'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
encrypt.c:     return vand(x, loadu(pad + zero_bytes));
encrypt.c:            ^
encrypt.c: encrypt.c:217:20: error: call to undeclared function 'loadu'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
encrypt.c:     return vand(x, loadu(pad + zero_bytes));
encrypt.c:                    ^
encrypt.c: encrypt.c:220:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c:        ^
encrypt.c: encrypt.c:220:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c:                           ^
encrypt.c: encrypt.c:221:5: error: use of undeclared identifier 'block'
encrypt.c:     block *p = (block*)(pad + one_zero_bytes);
encrypt.c:     ^
encrypt.c: encrypt.c:221:12: error: use of undeclared identifier 'p'
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:aesniclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))

Compiler output


encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/pmmintrin.h:31,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:31,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/smmintrin.h:32,
encrypt.c:                  from encrypt.c:46:
encrypt.c: In function '_mm_loadu_si128',
encrypt.c:     inlined from 'loadu' at encrypt.c:107:46,
encrypt.c:     inlined from 'zero_pad' at encrypt.c:217:12,
encrypt.c:     inlined from 'cipher_aez_tiny' at encrypt.c:621:18,
encrypt.c:     inlined from 'aez_encrypt' at encrypt.c:713:9,
encrypt.c:     inlined from 'crypto_aead_aezv5_aesni_timingleaks_encrypt' at encrypt.c:922:5:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:706:10: warning: array subscript '__m128i_u[2]' is partly outside array bounds of 'const unsigned char[48]' [-Warray-bounds=]
encrypt.c:   706 |   return *__P;
encrypt.c:       |          ^~~~
encrypt.c: encrypt.c: In function 'crypto_aead_aezv5_aesni_timingleaks_encrypt':
encrypt.c: encrypt.c:209:28: note: at offset [33, 48] into object 'pad' of size 48
encrypt.c:   209 | static const unsigned char pad[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
encrypt.c:       |                            ^~~

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:aesnigcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


encrypt.o aez_decrypt T
encrypt.o aez_encrypt T
encrypt.o aez_setup T

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:aesniclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:aesniclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:aesniclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:aesniclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:aesnigcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:aesnigcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:aesnigcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:aesnigcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


blake2b.o blake2b T
blake2b.o blake2b_final T
blake2b.o blake2b_init T
blake2b.o blake2b_update T
encrypt.o Decrypt T
encrypt.o Encrypt T
rijndael-alg-fst.o rijndaelDecrypt T
rijndael-alg-fst.o rijndaelDecryptRound T
rijndael-alg-fst.o rijndaelEncrypt T
rijndael-alg-fst.o rijndaelEncryptRound T
rijndael-alg-fst.o rijndaelKeySetupDec T
rijndael-alg-fst.o rijndaelKeySetupEnc T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)