Implementation notes: aarch64, supercoplxc, crypto_stream/ocelot1

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_stream
Primitive: ocelot1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10408012996 4 2127461 940 840refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
1058408116 4 2122060 932 832refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
10920011472 4 2124597 940 840refg++_-O3_-fomit-frame-pointer2019090220190816
1114406048 4 2117844 932 832refg++_-O2_-fomit-frame-pointer2019090220190816
1224805836 4 1720280 852 848refclang++_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090220190816
12328011300 4 2124397 940 840refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
1242406068 4 2117788 932 832refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
1246405812 4 1720200 852 848refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019090220190816
1250405812 4 1720256 852 848refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090220190816
1251205812 4 1720256 852 848refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090220190816
1251205812 4 1720256 852 848refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090220190816
1347204988 4 2116026 916 824refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
1466408336 4 2123492 932 832refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
1497604928 4 2115914 916 824refg++_-Os_-fomit-frame-pointer2019090220190816
1497604928 4 2115914 916 824refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
1526406280 4 2118228 932 832refg++_-O_-fomit-frame-pointer2019090220190816
1526406280 4 2118228 932 832refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
4503209492 4 3324948 916 840refg++2019090220190816

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
Counter.cpp: Counter.cpp:11:10: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Counter.cpp: for (register int i = 0; i < _size; i++)
Counter.cpp: ^~~~~~~~~
Counter.cpp: Counter.cpp:27:10: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Counter.cpp: for (register int i = 0; i < _size4; i++,pbytes++)
Counter.cpp: ^~~~~~~~~
Counter.cpp: 2 warnings generated.
Ocelot1.cpp: In file included from Ocelot1.cpp:3:
Ocelot1.cpp: ./Ocelot1.h:118:14: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: for (register int i = 0; i < n; i++)
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:126:14: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: for (register int i = 0; i < n; i++)
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:143:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: register BYTE *p1, *p2;
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:143:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: register BYTE *p1, *p2;
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:144:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: register BYTE temp, v1, v2;
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:144:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: register BYTE temp, v1, v2;
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:144:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: register BYTE temp, v1, v2;
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ./Ocelot1.h:163:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
Ocelot1.cpp: register BYTE *p1, *p2;
Ocelot1.cpp: ^~~~~~~~~
Ocelot1.cpp: ...
stream.cpp: In file included from stream.cpp:3:
stream.cpp: ./Ocelot1.h:118: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: ./Ocelot1.h:126: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: ./Ocelot1.h:143:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: register BYTE *p1, *p2;
stream.cpp: ^~~~~~~~~
stream.cpp: ./Ocelot1.h:143:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: register BYTE *p1, *p2;
stream.cpp: ^~~~~~~~~
stream.cpp: ./Ocelot1.h:144:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: register BYTE temp, v1, v2;
stream.cpp: ^~~~~~~~~
stream.cpp: ./Ocelot1.h:144:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: register BYTE temp, v1, v2;
stream.cpp: ^~~~~~~~~
stream.cpp: ./Ocelot1.h:144:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: register BYTE temp, v1, v2;
stream.cpp: ^~~~~~~~~
stream.cpp: ./Ocelot1.h:163:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
stream.cpp: register BYTE *p1, *p2;
stream.cpp: ^~~~~~~~~
stream.cpp: ...

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