Implementation notes: amd64, hertz, crypto_stream/aes128ctr
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_stream
Primitive: aes128ctr
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
633 | 4222 0 0 | 20429 804 1096 | T:dolbeau/aesenc-int | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1403 | 11789 2064 0 | 1773275 145412 10440 | T:cryptopp | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1423 | 24142 2800 0 | 1777389 145356 10504 | T:cryptopp | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1441 | 13850 2064 0 | 1775467 145412 10440 | T:cryptopp | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1490 | 23883 2800 0 | 1774957 145356 10440 | T:cryptopp | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1497 | 9210 1480 0 | 1764864 145404 10440 | T:cryptopp | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1520 | 9872 3272 0 | 1763661 146420 10440 | T:cryptopp | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2208 | 424 0 0 | 21054 884 1032 | T:openssl | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2212 | 419 0 0 | 14799 876 1032 | T:openssl | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2232 | 605 0 0 | 15602 884 1000 | T:openssl | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2233 | 739 0 0 | 17818 884 1032 | T:openssl | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2265 | 424 0 0 | 20942 884 1032 | T:openssl | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2693 | 571 0 0 | 13877 860 1000 | T:openssl | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2870 | 1950 0 0 | 16093 804 1032 | T:dolbeau/aesenc-int | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
3867 | 1796 0 0 | 14256 780 1000 | T:dolbeau/aesenc-int | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
Compiler output
aesenc-int.c: aesenc-int.c:29:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: 29 | __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c:59:20: warning: unused function 'aesni_encrypt1' [-Wunused-function]
aesenc-int.c: 59 | static inline void aesni_encrypt1(unsigned char *out, unsigned char *n, __m128i rkeys[16]) {
aesenc-int.c: | ^~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:75:20: warning: unused function 'incle' [-Wunused-function]
aesenc-int.c: 75 | static inline void incle(unsigned char n[16]) {
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c:173:1: warning: unused function 'aesni_encrypt4' [-Wunused-function]
aesenc-int.c: 173 | FUNC(4, MAKE4)
aesenc-int.c: | ^~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:150:22: note: expanded from macro 'FUNC'
aesenc-int.c: 150 | static inline void aesni_encrypt##N(unsigned char *out, unsigned char *n, __m128i rkeys[11]) { \
aesenc-int.c: | ^~~~~~~~~~~~~~~~
aesenc-int.c: <scratch space>:204:1: note: expanded from here
aesenc-int.c: 204 | aesni_encrypt4
aesenc-int.c: | ^~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:174:1: warning: unused function 'aesni_encrypt6' [-Wunused-function]
aesenc-int.c: 174 | FUNC(6, MAKE6)
aesenc-int.c: | ^~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:150:22: note: expanded from macro 'FUNC'
aesenc-int.c: 150 | static inline void aesni_encrypt##N(unsigned char *out, unsigned char *n, __m128i rkeys[11]) { \
aesenc-int.c: | ^~~~~~~~~~~~~~~~
aesenc-int.c: <scratch space>:253:1: note: expanded from here
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:dolbeau/aesenc-int | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:dolbeau/aesenc-int | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Compiler output
aesenc-int.c: aesenc-int.c:23: warning: "_bswap64" redefined
aesenc-int.c: 23 | #define _bswap64(a) __builtin_bswap64(a)
aesenc-int.c: |
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86gprintrin.h:33,
aesenc-int.c: from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:27,
aesenc-int.c: from aesenc-int.c:12:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/ia32intrin.h:273: note: this is the location of the previous definition
aesenc-int.c: 273 | #define _bswap64(a) __bswapq(a)
aesenc-int.c: |
aesenc-int.c: aesenc-int.c:24: warning: "_bswap" redefined
aesenc-int.c: 24 | #define _bswap(a) __builtin_bswap(a)
aesenc-int.c: |
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/ia32intrin.h:307: note: this is the location of the previous definition
aesenc-int.c: 307 | #define _bswap(a) __bswapd(a)
aesenc-int.c: |
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:29:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: 29 | __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:63: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
aesenc-int.c: 63 | #pragma unroll(9)
aesenc-int.c: |
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |