Implementation notes: amd64, comet, crypto_aead/aes128poetv2aes4ni
Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: aes128poetv2aes4ni
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
11502 | 9561 0 0 | 25940 796 1088 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
11513 | 9000 0 0 | 23484 796 1088 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
12688 | 12470 0 0 | 30393 868 1056 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
12689 | 12470 0 0 | 30689 868 1088 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
13842 | 9449 0 0 | 24351 860 1088 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
14258 | 12859 0 0 | 26945 868 1024 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
29125 | 7415 0 0 | 21507 788 1088 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
29366 | 6224 0 0 | 19039 772 1056 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
Compiler output
poet.c: poet.c:488:14: error: '__builtin_ia32_vec_set_v16qi' needs target feature sse4.1
poet.c: ctx->l = one;
poet.c: ^
poet.c: poet.c:47:24: note: expanded from macro 'one'
poet.c: #define one _mm_insert_epi8(zero, 1, 15)
poet.c: ^
poet.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/smmintrin.h:930:13: note: expanded from macro '_mm_insert_epi8'
poet.c: ((__m128i)__builtin_ia32_vec_set_v16qi((__v16qi)(__m128i)(X), \
poet.c: ^
poet.c: poet.c:489:13: error: '__builtin_ia32_vec_set_v16qi' needs target feature sse4.1
poet.c: k_axu = two;
poet.c: ^
poet.c: poet.c:48:24: note: expanded from macro 'two'
poet.c: #define two _mm_insert_epi8(zero, 2, 15)
poet.c: ^
poet.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/smmintrin.h:930:13: note: expanded from macro '_mm_insert_epi8'
poet.c: ((__m128i)__builtin_ia32_vec_set_v16qi((__v16qi)(__m128i)(X), \
poet.c: ^
poet.c: poet.c:490:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: aes_encrypt_3blocks_keysetup(k, ctx->l, k_axu, expanded_key);
poet.c: ^
poet.c: poet.c:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:448:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
poet.c: In file included from poet.c:31:
poet.c: In function '_mm_xor_si128',
poet.c: inlined from 'encrypt_final' at poet.c:713:13:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:21: warning: 'z' may be used uninitialized [-Wmaybe-uninitialized]
poet.c: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
poet.c: | ^~~~~~~~~~~
poet.c: poet.c: In function 'encrypt_final':
poet.c: poet.c:670:13: note: 'z' was declared here
poet.c: 670 | __m128i z;
poet.c: | ^
poet.c: In function '_mm_xor_si128',
poet.c: inlined from 'decrypt_final' at poet.c:875:13:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:21: warning: 'z' may be used uninitialized [-Wmaybe-uninitialized]
poet.c: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
poet.c: | ^~~~~~~~~~~
poet.c: poet.c: In function 'decrypt_final':
poet.c: poet.c:837:13: note: 'z' was declared here
poet.c: 837 | __m128i z;
poet.c: | ^
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
poet.c: In file included from poet.c:33:
poet.c: In function '_mm_aesenc_si128',
poet.c: inlined from 'encrypt_final' at poet.c:707:13:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/wmmintrin.h:63:20: warning: 'z' may be used uninitialized [-Wmaybe-uninitialized]
poet.c: 63 | return (__m128i) __builtin_ia32_aesenc128 ((__v2di)__X, (__v2di)__Y);
poet.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: poet.c: In function 'encrypt_final':
poet.c: poet.c:670:13: note: 'z' was declared here
poet.c: 670 | __m128i z;
poet.c: | ^
poet.c: In file included from poet.c:31:
poet.c: In function '_mm_xor_si128',
poet.c: inlined from 'decrypt_final' at poet.c:875:13:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:21: warning: 'z' may be used uninitialized [-Wmaybe-uninitialized]
poet.c: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
poet.c: | ^~~~~~~~~~~
poet.c: poet.c: In function 'decrypt_final':
poet.c: poet.c:837:13: note: 'z' was declared here
poet.c: 837 | __m128i z;
poet.c: | ^
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |