Implementation notes: amd64, wolfdale, crypto_aead/colm0v1
Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: colm0v1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
316098 | 14044 0 500 | 29895 828 1560 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
342260 | 4349 0 488 | 18108 836 1496 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
345392 | 9764 0 488 | 25766 844 1496 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
345703 | 13669 0 488 | 30366 844 1496 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
350298 | 10745 0 488 | 27518 844 1496 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
352065 | 5662 0 500 | 20575 828 1560 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
398520 | 4592 0 488 | 18964 836 1496 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
428100 | 4998 0 500 | 19542 820 1560 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
431805 | 3894 0 500 | 17194 804 1560 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
Compiler output
encrypt-optpar4.c: encrypt-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar4.c: AES_ENCRYPT4(block1,block2,block3,block4, expkey);
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:170:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block1 = _mm_aesenc_si128 (block1,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar4.c: encrypt-optpar4.c:171:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block2 = _mm_aesenc_si128 (block2,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar4.c: encrypt-optpar4.c:172:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block3 = _mm_aesenc_si128 (block3,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar4.c: encrypt-optpar4.c:173:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block4 = _mm_aesenc_si128 (block4,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:293:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar4.c: encrypt-optpar4.c:175:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block1 = _mm_aesenclast_si128 (block1,expkey[10]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:293:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar4.c: encrypt-optpar4.c:176:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block2 = _mm_aesenclast_si128 (block2,expkey[10]); \
encrypt-optpar4.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:aesni4 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni4 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni4 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni4 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni4 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt-optpar4.c: encrypt-optpar4.c:23:13: warning: 'printblock' defined but not used [-Wunused-function]
encrypt-optpar4.c: 23 | static void printblock(const char* caption, unsigned char* block, unsigned char nbytes, int reg)
encrypt-optpar4.c: | ^~~~~~~~~~
encrypt-optpar4.c: In file included from encrypt-optpar4.c:14:
encrypt-optpar4.c: encrypt-optpar4.c: In function 'AES_set_encrypt_key':
encrypt-optpar4.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-optpar4.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: encrypt-optpar4.c:74:17: note: called from here
encrypt-optpar4.c: 74 | sched[10] = assist128(sched[9], _mm_aeskeygenassist_si128(sched[9],0x36));
encrypt-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: In file included from encrypt-optpar4.c:14:
encrypt-optpar4.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-optpar4.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: encrypt-optpar4.c:73:17: note: called from here
encrypt-optpar4.c: 73 | sched[ 9] = assist128(sched[8], _mm_aeskeygenassist_si128(sched[8],0x1b));
encrypt-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: In file included from encrypt-optpar4.c:14:
encrypt-optpar4.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-optpar4.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: encrypt-optpar4.c:72:17: note: called from here
encrypt-optpar4.c: 72 | sched[ 8] = assist128(sched[7], _mm_aeskeygenassist_si128(sched[7],0x80));
encrypt-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesni4 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni4 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni4 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni4 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
encrypt-optpar8.c: encrypt-optpar8.c:339:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar8.c: AES_ENCRYPT8(block1,block2,block3,block4,block5,block6,block7,block8, expkey);
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:195:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block1 = _mm_aesenc_si128 (block1,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar8.c: encrypt-optpar8.c:196:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block2 = _mm_aesenc_si128 (block2,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar8.c: encrypt-optpar8.c:197:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block3 = _mm_aesenc_si128 (block3,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar8.c: encrypt-optpar8.c:198:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block4 = _mm_aesenc_si128 (block4,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar8.c: encrypt-optpar8.c:199:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block5 = _mm_aesenc_si128 (block5, expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-optpar8.c: encrypt-optpar8.c:200:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block6 = _mm_aesenc_si128 (block6, expkey[r]); \
encrypt-optpar8.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:aesni8 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni8 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni8 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni8 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni8 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt-optpar8.c: encrypt-optpar8.c:23:13: warning: 'printblock' defined but not used [-Wunused-function]
encrypt-optpar8.c: 23 | static void printblock(const char* caption, unsigned char* block, unsigned char nbytes, int reg)
encrypt-optpar8.c: | ^~~~~~~~~~
encrypt-optpar8.c: In file included from encrypt-optpar8.c:14:
encrypt-optpar8.c: encrypt-optpar8.c: In function 'AES_set_encrypt_key':
encrypt-optpar8.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-optpar8.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt-optpar8.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: encrypt-optpar8.c:75:17: note: called from here
encrypt-optpar8.c: 75 | sched[10] = assist128(sched[9], _mm_aeskeygenassist_si128(sched[9],0x36));
encrypt-optpar8.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: In file included from encrypt-optpar8.c:14:
encrypt-optpar8.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-optpar8.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt-optpar8.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: encrypt-optpar8.c:74:17: note: called from here
encrypt-optpar8.c: 74 | sched[ 9] = assist128(sched[8], _mm_aeskeygenassist_si128(sched[8],0x1b));
encrypt-optpar8.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: In file included from encrypt-optpar8.c:14:
encrypt-optpar8.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-optpar8.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt-optpar8.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: encrypt-optpar8.c:73:17: note: called from here
encrypt-optpar8.c: 73 | sched[ 8] = assist128(sched[7], _mm_aeskeygenassist_si128(sched[7],0x80));
encrypt-optpar8.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesni8 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni8 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni8 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni8 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
encrypt.c: In file included from encrypt.c:10:
encrypt.c: ./module.h:112:6: warning: unused variable 'i' [-Wunused-variable]
encrypt.c: int i;
encrypt.c: ^
encrypt.c: encrypt.c:136:33: warning: unused variable 'blen' [-Wunused-variable]
encrypt.c: int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: ^
encrypt.c: encrypt.c:136:58: warning: unused variable 'Is_complete' [-Wunused-variable]
encrypt.c: int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: ^
encrypt.c: encrypt.c:137:21: warning: unused variable 'tlen' [-Wunused-variable]
encrypt.c: unsigned long long tlen, blk_ctr=0, blk_ctr1=0;
encrypt.c: ^
encrypt.c: encrypt.c:137:27: warning: unused variable 'blk_ctr' [-Wunused-variable]
encrypt.c: unsigned long long tlen, blk_ctr=0, blk_ctr1=0;
encrypt.c: ^
encrypt.c: encrypt.c:137:38: warning: unused variable 'blk_ctr1' [-Wunused-variable]
encrypt.c: unsigned long long tlen, blk_ctr=0, blk_ctr1=0;
encrypt.c: ^
encrypt.c: 6 warnings generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt.c: In file included from encrypt.c:10:
encrypt.c: module.h: In function 'process_block':
encrypt.c: module.h:112:6: warning: unused variable 'i' [-Wunused-variable]
encrypt.c: 112 | int i;
encrypt.c: | ^
encrypt.c: encrypt.c: In function 'crypto_aead_colm0v1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:137:38: warning: unused variable 'blk_ctr1' [-Wunused-variable]
encrypt.c: 137 | unsigned long long tlen, blk_ctr=0, blk_ctr1=0;
encrypt.c: | ^~~~~~~~
encrypt.c: encrypt.c:137:27: warning: unused variable 'blk_ctr' [-Wunused-variable]
encrypt.c: 137 | unsigned long long tlen, blk_ctr=0, blk_ctr1=0;
encrypt.c: | ^~~~~~~
encrypt.c: encrypt.c:137:21: warning: unused variable 'tlen' [-Wunused-variable]
encrypt.c: 137 | unsigned long long tlen, blk_ctr=0, blk_ctr1=0;
encrypt.c: | ^~~~
encrypt.c: encrypt.c:136:58: warning: unused variable 'Is_complete' [-Wunused-variable]
encrypt.c: 136 | int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: | ^~~~~~~~~~~
encrypt.c: encrypt.c:136:33: warning: unused variable 'blen' [-Wunused-variable]
encrypt.c: 136 | int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: | ^~~~
encrypt.c: encrypt.c:136:24: warning: variable 'ozs' set but not used [-Wunused-but-set-variable]
encrypt.c: 136 | int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: | ^~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |