Implementation notes: amd64, cezanne, crypto_aead/colm127v1
Computer: cezanne
Microarchitecture: amd64; Zen 3 (a50f00)
Architecture: amd64
CPU ID: AuthenticAMD-00a50f00-178bfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: colm127v1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
167889 | 14014 0 500 | 30671 828 1560 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
182582 | 13845 0 488 | 30606 844 1496 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
183380 | 11379 0 488 | 28454 844 1528 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
184625 | 10380 0 488 | 27374 844 1528 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
197393 | 6392 0 500 | 21343 828 1560 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
199227 | 4509 0 488 | 18524 836 1496 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
230848 | 5182 0 500 | 19766 820 1560 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
231073 | 4936 0 488 | 19324 836 1496 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
274471 | 4040 0 500 | 17450 804 1560 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
Checksum failure
7364d92c6fade8518705308c3ef01d720c57bd5d863280d8adca1ade9d06f7f7
Number of similar (implementation,compiler) pairs: 8, 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 | 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-colm127-optpar4.c: encrypt-colm127-optpar4.c:23:13: warning: unused function 'printblock' [-Wunused-function]
encrypt-colm127-optpar4.c: static void printblock(const char* caption, unsigned char* block, unsigned char nbytes, int reg)
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 4, 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) |
Compiler output
encrypt-colm127-optpar4.c: encrypt-colm127-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-colm127-optpar4.c: AES_ENCRYPT4(block1,block2,block3,block4, expkey);
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:170:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block1 = _mm_aesenc_si128 (block1,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-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-colm127-optpar4.c: encrypt-colm127-optpar4.c:171:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block2 = _mm_aesenc_si128 (block2,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-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-colm127-optpar4.c: encrypt-colm127-optpar4.c:172:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block3 = _mm_aesenc_si128 (block3,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-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-colm127-optpar4.c: encrypt-colm127-optpar4.c:173:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block4 = _mm_aesenc_si128 (block4,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-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-colm127-optpar4.c: encrypt-colm127-optpar4.c:175:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block1 = _mm_aesenclast_si128 (block1,expkey[10]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-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-colm127-optpar4.c: encrypt-colm127-optpar4.c:176:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block2 = _mm_aesenclast_si128 (block2,expkey[10]); \
encrypt-colm127-optpar4.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni4 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:23:13: warning: 'printblock' defined but not used [-Wunused-function]
encrypt-colm127-optpar4.c: 23 | static void printblock(const char* caption, unsigned char* block, unsigned char nbytes, int reg)
encrypt-colm127-optpar4.c: | ^~~~~~~~~~
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c: In function 'crypto_aead_colm127v1_aesni4_timingleaks_decrypt':
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:633:10: warning: 'Ltag' may be used uninitialized in this function [-Wmaybe-uninitialized]
encrypt-colm127-optpar4.c: 633 | block = AES_encrypt(Wtag, expkey) ^ Ltag;
encrypt-colm127-optpar4.c: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni4 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:23:13: warning: 'printblock' defined but not used [-Wunused-function]
encrypt-colm127-optpar4.c: 23 | static void printblock(const char* caption, unsigned char* block, unsigned char nbytes, int reg)
encrypt-colm127-optpar4.c: | ^~~~~~~~~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni4 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:23:13: warning: 'printblock' defined but not used [-Wunused-function]
encrypt-colm127-optpar4.c: 23 | static void printblock(const char* caption, unsigned char* block, unsigned char nbytes, int reg)
encrypt-colm127-optpar4.c: | ^~~~~~~~~~
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c: In function 'crypto_aead_colm127v1_aesni4_timingleaks_decrypt':
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:633:10: warning: 'Ltag' may be used uninitialized in this function [-Wmaybe-uninitialized]
encrypt-colm127-optpar4.c: 633 | block = AES_encrypt(Wtag, expkey) ^ Ltag;
encrypt-colm127-optpar4.c: | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:633:12: warning: 'Wtag' may be used uninitialized in this function [-Wmaybe-uninitialized]
encrypt-colm127-optpar4.c: 633 | block = AES_encrypt(Wtag, expkey) ^ Ltag;
encrypt-colm127-optpar4.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
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.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:20:5: warning: unused variable 'Is_complete' [-Wunused-variable]
encrypt.c: u8 Is_complete = 1, Is_Final=0, ozs[16];
encrypt.c: ^
encrypt.c: encrypt.c:144: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:144: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: In file included from encrypt.c:10:
encrypt.c: ./module.h:33:13: warning: unused function 'mult_inv2' [-Wunused-function]
encrypt.c: static void mult_inv2(block b, block s) {int i; block d; unsigned char temp = s[15]&1;
encrypt.c: ^
encrypt.c: 5 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 'process_AD':
encrypt.c: encrypt.c:20:5: warning: unused variable 'Is_complete' [-Wunused-variable]
encrypt.c: 20 | u8 Is_complete = 1, Is_Final=0, ozs[16];
encrypt.c: | ^~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_colm127v1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:144:58: warning: unused variable 'Is_complete' [-Wunused-variable]
encrypt.c: 144 | int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: | ^~~~~~~~~~~
encrypt.c: encrypt.c:144:33: warning: unused variable 'blen' [-Wunused-variable]
encrypt.c: 144 | int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: | ^~~~
encrypt.c: encrypt.c:144:24: warning: variable 'ozs' set but not used [-Wunused-but-set-variable]
encrypt.c: 144 | int i; u8 zeroes[16], ozs[16], blen = 16, Is_Final = 0, Is_complete =1;
encrypt.c: | ^~~
encrypt.c: In file included from encrypt.c:10:
encrypt.c: At top level:
encrypt.c: module.h:33:13: warning: 'mult_inv2' defined but not used [-Wunused-function]
encrypt.c: 33 | static void mult_inv2(block b, block s) {int i; block d; unsigned char temp = s[15]&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) |
Namespace violations
encrypt.o aes_key1 B
encrypt.o aes_key2 B
encrypt.o is_equal_block T
Number of similar (implementation,compiler) pairs: 9, 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) |
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) |