Implementation notes: amd64, hydra5, crypto_aead/aes128otrcv3
Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: aes128otrcv3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
121285 | 13473 4392 240 | 30684 5228 1344 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
124615 | 9633 4400 240 | 25280 5284 1280 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
124887 | 5833 4392 240 | 21724 5228 1344 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
124967 | 9649 4400 240 | 26168 5284 1280 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
125293 | 9649 4400 240 | 26168 5284 1280 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
129664 | 4472 4392 240 | 18271 5204 1312 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
133958 | 4755 4400 240 | 18912 5284 1280 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
135531 | 4335 4400 240 | 17690 5276 1280 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
142346 | 5107 4392 240 | 20123 5220 1344 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240718 | 20240716 |
Compiler output
encrypt.c: encrypt.c:234:96: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:91: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:86: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:81: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:76: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:71: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:58: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:53: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: const block sh1 = _mm_set_epi8(255, 255, 255, 255, 255, 255, 15, 14, 255, 255, 255, 255, 255, 255, 7, 6);
encrypt.c: ~~~~~~~~~~~~ ^~~
encrypt.c: encrypt.c:234:48: warning: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Wconstant-conversion]
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
T:ni_p7m1 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m1 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m1 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m1 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m1 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m1 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m1 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m1 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m1 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m1 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
encrypt.c: encrypt.c: In function 'EFunc':
encrypt.c: encrypt.c:455:24: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c: 455 | ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c: | ^~~
encrypt.c: encrypt.c: In function 'DFunc':
encrypt.c: encrypt.c:653:24: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c: 653 | ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c: | ^~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:41,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
encrypt.c: from otr.h:30,
encrypt.c: from encrypt.c:33:
encrypt.c: encrypt.c: In function 'AES_128_Key_Expansion':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/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: encrypt.c:55:10: note: called from here
encrypt.c: 55 | v2 = _mm_aeskeygenassist_si128(v4,aes_const); \
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:110:9: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: 110 | EXPAND_ASSIST(x0, x1, x2, x0, 255, 54); kp[10] = x0;
encrypt.c: | ^~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:41,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
encrypt.c: from otr.h:30,
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 16, namely:
Implementation | Compiler |
T:ni_p7m1 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m1 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m1 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m1 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p7m2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m1 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m1 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m1 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m1 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ni_p8m2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c:455:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c: ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c: ^
encrypt.c: encrypt.c:653:17: warning: unused variable 'tmp' [-Wunused-variable]
encrypt.c: ALIGN(16)uint8 tmp[BLOCK] = { 0 };
encrypt.c: ^
encrypt.c: encrypt.c:68:24: warning: unused function 'AES_256_Key_Expansion' [-Wunused-function]
encrypt.c: __inline__ static void AES_256_Key_Expansion(
encrypt.c: ^
encrypt.c: encrypt.c:122:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[1]);
encrypt.c: ^
encrypt.c: encrypt.c:123:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[2]);
encrypt.c: ^
encrypt.c: encrypt.c:124:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[3]);
encrypt.c: ^
encrypt.c: encrypt.c:125:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[4]);
encrypt.c: ^
encrypt.c: encrypt.c:126:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: tmp = _mm_aesenc_si128(tmp, key[5]);
encrypt.c: ^
encrypt.c: encrypt.c:127:8: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'AES_encrypt' that is compiled without support for 'aes'
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
T:ni_p7m2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p7m2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ni_p8m2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Namespace violations
encrypt.o DFunc T
encrypt.o EFunc T
t-aes_enc_only.o Encryption T
t-aes_enc_only.o KeySchedule T
t-aes_enc_only.o RC D
t-aes_enc_only.o S D
t-aes_enc_only.o T0 D
t-aes_enc_only.o T1 D
t-aes_enc_only.o T2 D
t-aes_enc_only.o T3 D
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |