Implementation notes: aarch64, rockpi4, crypto_stream/amastrid

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_stream
Primitive: amastrid
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7351417331 24 231433829 1288 3136refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7392715093 8 231033326 1120 3152refclang++_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
7434015061 8 231033270 1120 3152refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7434015061 8 231033270 1120 3152refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7516617383 24 231434101 1288 3136refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
7805717407 24 231434003 1280 3136refg++_-O_-fomit-frame-pointer2019091120190816
7847029207 24 231449027 1280 3136refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
8549118051 24 235435958 1296 3200refg++_-O3_-fomit-frame-pointer2019091120190816
8631718115 24 235435998 1296 3200refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
8796917311 24 231433877 1288 3136refg++_-O2_-fomit-frame-pointer2019091120190816
8838228147 24 235447386 1296 3200refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
9003428831 24 231447545 1288 3136refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
9333811761 24 231426663 1184 3128refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
13422518115 24 235436166 1296 3200refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
13835515053 8 231033206 1120 3152refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
14124615061 8 231033270 1120 3152refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
18543711909 24 231426839 1184 3128refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
19865317415 24 231434019 1280 3136refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
19947917407 24 231434003 1280 3136refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
20815211725 24 231426607 1184 3128refg++_-Os_-fomit-frame-pointer2019091120190816
20815211725 24 231426607 1184 3128refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
70581720197 24 232639987 1208 3144refg++2019091120190816

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
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: 5, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref