Implementation notes: amd64, margaux, crypto_aead/silverv1

Computer: margaux
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20210604
Operation: crypto_aead
Primitive: silverv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10047826795 0 050561 804 1072T:littleendoptnotaesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
10242423139 0 044568 796 1072T:littleendoptnotaesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
10284522531 0 042044 780 1040T:littleendoptnotaesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
10512723406 0 044360 796 1072T:littleendoptnotaesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
11898023071 0 042362 796 1008T:littleendoptnotaesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
12043926709 0 049316 804 1008T:littleendoptnotaesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
12049025283 0 046540 804 1008T:littleendoptnotaesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
12079126754 0 049076 804 1008T:littleendoptnotaesniclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
12084125283 0 046540 804 1008T:littleendoptnotaesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
13054018191 0 039168 796 1072T:anotherlittleendgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
14312618982 0 040180 804 1008T:anotherlittleendclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
14359920542 0 043084 804 1008T:anotherlittleendclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
14441418982 0 040180 804 1008T:anotherlittleendclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
14442320741 0 043068 804 1008T:anotherlittleendclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
14613617080 0 036378 796 1008T:anotherlittleendclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
14791522405 0 046169 804 1072T:anotherlittleendgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
15318318384 0 039832 796 1072T:anotherlittleendgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
16867817793 0 037324 780 1040T:anotherlittleendgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
53881516498 0 039124 804 1008T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
54192116517 0 038868 804 1008T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
55575727909 0 051673 804 1072T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
63920314803 0 036084 804 1008T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
63995214803 0 036084 804 1008T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
6984367715 0 027042 796 1008T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
7171848988 0 030416 796 1072T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
7247698182 0 029160 796 1072T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
7520377755 0 027308 780 1040T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423

Compiler output

Implementation: T:aesnioptimized
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:36:
encrypt.c: ./macs4AESNI.h:33:11: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: kp[1] = AES_128_key_exp(kp[0], 0x01);
encrypt.c: ^
encrypt.c: ./macs4AESNI.h:29:58: note: expanded from macro 'AES_128_key_exp'
encrypt.c: #define AES_128_key_exp(K, RCON) aes_128_key_expansion(K,_mm_aeskeygenassist_si128(K, RCON))
encrypt.c: ^
encrypt.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:36:
encrypt.c: ./macs4AESNI.h:34:11: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: kp[2] = AES_128_key_exp(kp[1], 0x02);
encrypt.c: ^
encrypt.c: ./macs4AESNI.h:29:58: note: expanded from macro 'AES_128_key_exp'
encrypt.c: #define AES_128_key_exp(K, RCON) aes_128_key_expansion(K,_mm_aeskeygenassist_si128(K, RCON))
encrypt.c: ^
encrypt.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: In file included from encrypt.c:36:
encrypt.c: ./macs4AESNI.h:35:11: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: kp[3] = AES_128_key_exp(kp[2], 0x04);
encrypt.c: ^
encrypt.c: ./macs4AESNI.h:29:58: note: expanded from macro 'AES_128_key_exp'
encrypt.c: ...

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

Compiler output

Implementation: T:aesnioptimized
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from macs4AESNI.h:6:0,
encrypt.c: from encrypt.c:36:
encrypt.c: macs4AESNI.h: In function 'AES_128_KEY_EXPANSION':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: In file included from encrypt.c:36:0:
encrypt.c: macs4AESNI.h:29:34: note: called from here
encrypt.c: #define AES_128_key_exp(K, RCON) aes_128_key_expansion(K,_mm_aeskeygenassist_si128(K, RCON))
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: macs4AESNI.h:42:11: note: in expansion of macro 'AES_128_key_exp'
encrypt.c: kp[10] = AES_128_key_exp(kp[9], 0x36);
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: In file included from macs4AESNI.h:6:0,
encrypt.c: from encrypt.c:36:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: In file included from encrypt.c:36:0:
encrypt.c: macs4AESNI.h:29:34: note: called from here
encrypt.c: #define AES_128_key_exp(K, RCON) aes_128_key_expansion(K,_mm_aeskeygenassist_si128(K, RCON))
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: macs4AESNI.h:41:11: note: in expansion of macro 'AES_128_key_exp'
encrypt.c: kp[9] = AES_128_key_exp(kp[8], 0x1B);
encrypt.c: ^~~~~~~~~~~~~~~
encrypt.c: ...

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

Compiler output

Implementation: T:bigendoptimized
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:28:2: error: "This code produces standard results only on BE machines"
encrypt.c: #error "This code produces standard results only on BE machines"
encrypt.c: ^
encrypt.c: 1 error generated.

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

Compiler output

Implementation: T:bigendoptimized
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c:28:2: error: #error "This code produces standard results only on BE machines"
encrypt.c: #error "This code produces standard results only on BE machines"
encrypt.c: ^~~~~

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

Namespace violations

Implementation: T:anotherlittleend
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o AES_128_KEY_EXPANSION T
encrypt.o CONVERT2DECKEY T
encrypt.o Obtain_sessionrkeys T
encrypt.o PartialBlock T
encrypt.o ProcessAD T
encrypt.o SETUPcounterLEFT T
encrypt.o TAES_DECRYPT T
encrypt.o TAES_ENCRYPT T
encrypt.o TAG T
rijndael-alg-fstplus.o INVERT T
rijndael-alg-fstplus.o rijndaelDecrypt T
rijndael-alg-fstplus.o rijndaelEncrypt T
rijndael-alg-fstplus.o rijndaelKeySetupDec T
rijndael-alg-fstplus.o rijndaelKeySetupEnc T

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

Namespace violations

Implementation: T:littleendoptnotaesni
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
AES-128TS.o CONVERT2DECKEY T
AES-128TS.o INVERT T
AES-128TS.o SilverDecrypt T
AES-128TS.o SilverEncrypt T
AES-128TS.o rijndaelDecrypt T
AES-128TS.o rijndaelEncrypt T
AES-128TS.o rijndaelKeySetupEnc T
encrypt.o Obtain_sessionrkeys T
encrypt.o PartialBlock T
encrypt.o ProcessAD T
encrypt.o SETUPcounterLEFT T
encrypt.o TAG T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.o LESTOREu64inbytearray T
encrypt.o NADD64 T
encrypt.o Obtain_sessionrkeys T
encrypt.o PartialBlock T
encrypt.o ProcessAD T
encrypt.o SETUPcounterLEFT T
encrypt.o TAES_DECRYPT T
encrypt.o TAES_ENCRYPT T
encrypt.o TAG T
encrypt.o XOR128 T
encrypt.o XORADD T
rijndaelEndianNeutral.o INVSBOX R
rijndaelEndianNeutral.o InvMixColumn T
rijndaelEndianNeutral.o InvShiftRowOnly T
rijndaelEndianNeutral.o SBOX R
rijndaelEndianNeutral.o ShiftRowOnly T
rijndaelEndianNeutral.o ShiftRowandMixColumn T
rijndaelEndianNeutral.o rijndaelDecrypt T
rijndaelEndianNeutral.o rijndaelEncrypt T
rijndaelEndianNeutral.o rijndaelexpandKey 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