Implementation notes: amd64, whosthere, crypto_stream/amastrid

Computer: whosthere
Microarchitecture: amd64; KabyLake (806e9)
Architecture: amd64
CPU ID: GenuineIntel-000806e9-bfebfbff
SUPERCOP version: 20221122
Operation: crypto_stream
Primitive: amastrid
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9271620837 32 246240909 1652 3544T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9513218732 24 246236900 1652 3544T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9798518208 24 246235537 1628 3544T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
12560620670 24 235040121 1124 3352T:refclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
12648419533 24 235038881 1124 3352T:refclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
13614316572 24 235032235 1100 3352T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
14102211113 24 246226396 1076 3512T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
23229915576 24 235034800 1212 3320T:refclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Amastrid.cpp: In file included from Amastrid.cpp:3:
Amastrid.cpp: ./Amastrid.h:241:13: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: for(register int i=0; i<len; i++)
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: ./Amastrid.h:250:13: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: for(register int i=0; i<len; i++,pbytes+=4)
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: In file included from Amastrid.cpp:4:
Amastrid.cpp: ./Expansion.h:55:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: register BYTE *p1, *p2;
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: ./Expansion.h:55:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: register BYTE *p1, *p2;
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: ./Expansion.h:56:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: register BYTE temp, v1, v2;
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: ./Expansion.h:56:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: register BYTE temp, v1, v2;
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: ./Expansion.h:56:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: register BYTE temp, v1, v2;
Amastrid.cpp: ^~~~~~~~~
Amastrid.cpp: ./Expansion.h:75:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Amastrid.cpp: register BYTE *p1, *p2;
Amastrid.cpp: ...
Counter.cpp: Counter.cpp:9:5: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Counter.cpp: register int i = 0;
Counter.cpp: ^~~~~~~~~
Counter.cpp: 1 warning generated.
CounterMode.cpp: In file included from CounterMode.cpp:2:
CounterMode.cpp: In file included from ./CounterMode.h:6:
CounterMode.cpp: ./Amastrid.h:241:13: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
CounterMode.cpp: for(register int i=0; i<len; i++)
CounterMode.cpp: ^~~~~~~~~
CounterMode.cpp: ./Amastrid.h:250:13: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
CounterMode.cpp: for(register int i=0; i<len; i++,pbytes+=4)
CounterMode.cpp: ^~~~~~~~~
CounterMode.cpp: In file included from CounterMode.cpp:2:
CounterMode.cpp: ./CounterMode.h:38:14: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
CounterMode.cpp: for (register int i = 0; i < n; i++)
CounterMode.cpp: ^~~~~~~~~
CounterMode.cpp: ./CounterMode.h:46:14: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
CounterMode.cpp: for (register int i = 0; i < n; i++)
CounterMode.cpp: ^~~~~~~~~
CounterMode.cpp: 4 warnings generated.
Expansion.cpp: In file included from Expansion.cpp:3:
Expansion.cpp: ./Expansion.h:55:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE *p1, *p2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:55:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE *p1, *p2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:56:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE temp, v1, v2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:56:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE temp, v1, v2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:56:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE temp, v1, v2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:75:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE *p1, *p2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:75:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE *p1, *p2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ./Expansion.h:76:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Expansion.cpp: register BYTE temp, v1, v2;
Expansion.cpp: ^~~~~~~~~
Expansion.cpp: ...
stream.cpp: In file included from stream.cpp:3:
stream.cpp: In file included from ./CounterMode.h:6:
stream.cpp: ./Amastrid.h:241:13: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: for(register int i=0; i<len; i++)
stream.cpp: ^~~~~~~~~
stream.cpp: ./Amastrid.h:250:13: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: for(register int i=0; i<len; i++,pbytes+=4)
stream.cpp: ^~~~~~~~~
stream.cpp: In file included from stream.cpp:3:
stream.cpp: ./CounterMode.h:38:14: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: for (register int i = 0; i < n; i++)
stream.cpp: ^~~~~~~~~
stream.cpp: ./CounterMode.h:46:14: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: for (register int i = 0; i < n; i++)
stream.cpp: ^~~~~~~~~
stream.cpp: 4 warnings generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref