Implementation notes: amd64, wolfdale, crypto_aead/silverv1

Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: silverv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9974525209 0 047072 780 1080T:littleendoptnotaesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
10053022930 0 043872 780 1080T:littleendoptnotaesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
10109922040 0 040883 756 1048T:littleendoptnotaesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
10341822916 0 043343 772 1080T:littleendoptnotaesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
11866023203 0 043110 804 1016T:littleendoptnotaesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
12000822930 0 042390 804 1016T:littleendoptnotaesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
12012127999 0 050312 812 1016T:littleendoptnotaesniclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
12080926355 0 048072 812 1016T:littleendoptnotaesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
12099427882 0 050408 812 1016T:littleendoptnotaesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
12342016871 0 036334 804 1016T:anotherlittleendclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
12953417844 0 038287 772 1080T:anotherlittleendgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
13268718819 0 040472 812 1016T:anotherlittleendclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
13324321611 0 044080 812 1016T:anotherlittleendclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
13494321974 0 044312 812 1016T:anotherlittleendclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
13893517065 0 036982 804 1016T:anotherlittleendclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
14508017711 0 038664 780 1080T:anotherlittleendgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
14679120527 0 042392 780 1080T:anotherlittleendgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
16056417076 0 035931 756 1048T:anotherlittleendgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
51954515460 0 038016 812 1016T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
52159515371 0 037728 812 1016T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
63409114110 0 035856 812 1016T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
64053115676 0 037560 780 1080T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
6884837296 0 026790 804 1016T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7234157654 0 027598 804 1016T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
7243828654 0 029624 780 1080T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
7392117849 0 028287 772 1080T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
7564697242 0 026139 756 1048T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212

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-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136: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-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136: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,
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/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:36:
encrypt.c: macs4AESNI.h:29:34: note: called from here
encrypt.c: 29 | #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: 42 | kp[10] = AES_128_key_exp(kp[9], 0x36);
encrypt.c: | ^~~~~~~~~~~~~~~
encrypt.c: In file included from macs4AESNI.h:6,
encrypt.c: from encrypt.c:36:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:36:
encrypt.c: macs4AESNI.h:29:34: note: called from here
encrypt.c: 29 | #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: 41 | 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: 28 | #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