Implementation notes: amd64, comet, crypto_aead/paeq128t
Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: paeq128t
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
26043 | 8542 32 65536 | 23148 916 66624 | T:aesni | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
26087 | 8946 32 65536 | 22662 924 66560 | T:aesni | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
26750 | 9327 28 65536 | 23628 816 66656 | T:aesni | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
27079 | 12562 32 65536 | 30286 924 66624 | T:aesni | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
27541 | 10354 32 65536 | 27798 924 66592 | T:aesni | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
28413 | 30759 28 65536 | 46980 816 66656 | T:aesni | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
32311 | 8311 28 65536 | 22171 808 66656 | T:aesni | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
33603 | 7156 28 65536 | 19799 792 66624 | T:aesni | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
1767452 | 9423 32 65536 | 27462 924 66624 | T:ref | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
1987717 | 12928 28 65536 | 29100 816 66656 | T:ref | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
2092669 | 9023 32 65536 | 26686 924 66592 | T:ref | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
2252374 | 5175 28 65536 | 19436 816 66656 | T:ref | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
6045987 | 4060 32 65536 | 18054 924 66560 | T:ref | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
6523721 | 3982 28 65536 | 17811 808 66656 | T:ref | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
8015265 | 6374 32 65536 | 20868 916 66624 | T:ref | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
22744561 | 3235 28 65536 | 15847 792 66624 | T:ref | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
Compiler output
encrypt.cpp: encrypt.cpp:22:9: warning: unknown pragma ignored [-Wunknown-pragmas]
encrypt.cpp: #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: ^
encrypt.cpp: 1 warning generated.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesni | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:aesni | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:aesni | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:aesni | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
encrypt.cpp: encrypt.cpp:22: warning: ignoring '#pragma intrinsic ' [-Wunknown-pragmas]
encrypt.cpp: 22 | #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: |
encrypt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/wmmintrin.h:31,
encrypt.cpp: from encrypt.cpp:14:
encrypt.cpp: In function '__m128i _mm_xor_si128(__m128i, __m128i)',
encrypt.cpp: inlined from 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at encrypt.cpp:435:35:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:35: warning: 'padding[2]' may be used uninitialized [-Wmaybe-uninitialized]
encrypt.cpp: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
encrypt.cpp: | ^~~~~~~~~~~
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:401:41: note: 'padding[2]' was declared here
encrypt.cpp: 401 | __m128i padding[3];
encrypt.cpp: | ^~~~~~~
encrypt.cpp: In function '__m128i _mm_xor_si128(__m128i, __m128i)',
encrypt.cpp: inlined from 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at encrypt.cpp:433:35:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:35: warning: 'padding[0]' may be used uninitialized [-Wmaybe-uninitialized]
encrypt.cpp: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
encrypt.cpp: | ^~~~~~~~~~~
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:401:41: note: 'padding[0]' was declared here
encrypt.cpp: 401 | __m128i padding[3];
encrypt.cpp: | ^~~~~~~
encrypt.cpp: In function '__m128i _mm_xor_si128(__m128i, __m128i)',
encrypt.cpp: inlined from 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at encrypt.cpp:434:35:
encrypt.cpp: ...
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
T:aesni | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:aesni | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall |
Compiler output
encrypt.cpp: encrypt.cpp:22: warning: ignoring '#pragma intrinsic ' [-Wunknown-pragmas]
encrypt.cpp: 22 | #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: |
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
encrypt.cpp: encrypt.cpp:22: warning: ignoring '#pragma intrinsic ' [-Wunknown-pragmas]
encrypt.cpp: 22 | #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: |
encrypt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/wmmintrin.h:31,
encrypt.cpp: from encrypt.cpp:14:
encrypt.cpp: In function '__m128i _mm_xor_si128(__m128i, __m128i)',
encrypt.cpp: inlined from 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at encrypt.cpp:435:35:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:35: warning: 'padding[2]' may be used uninitialized [-Wmaybe-uninitialized]
encrypt.cpp: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
encrypt.cpp: | ^~~~~~~~~~~
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:401:41: note: 'padding[2]' was declared here
encrypt.cpp: 401 | __m128i padding[3];
encrypt.cpp: | ^~~~~~~
encrypt.cpp: In function '__m128i _mm_xor_si128(__m128i, __m128i)',
encrypt.cpp: inlined from 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at encrypt.cpp:434:35:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:1329:35: warning: 'padding[1]' may be used uninitialized [-Wmaybe-uninitialized]
encrypt.cpp: 1329 | return (__m128i) ((__v2du)__A ^ (__v2du)__B);
encrypt.cpp: | ^~~~~~~~~~~
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:401:41: note: 'padding[1]' was declared here
encrypt.cpp: 401 | __m128i padding[3];
encrypt.cpp: | ^~~~~~~
encrypt.cpp: In function '__m128i _mm_xor_si128(__m128i, __m128i)',
encrypt.cpp: inlined from 'int PAEQ128_opt_AESNI_decrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at encrypt.cpp:433:35:
encrypt.cpp: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |