Implementation notes: aarch64, hikey960, crypto_stream/aes256estream

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_stream
Primitive: aes256estream
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
88839427 4096 424271 5024 808e/hongjun/v1gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112720190816
177668751 4096 423616 5040 840e/hongjun/v1gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112720190816
199898995 4096 423599 5024 808e/hongjun/v1gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112720190816
249755687 4096 418968 5040 840e/hongjun/v0gcc_-O3_-fomit-frame-pointer2019112720190816
249755659 4096 418880 5040 840e/hongjun/v0gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112720190816
249754723 4096 416375 5024 808e/hongjun/v0gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112720190816
249754459 4096 415283 5008 808e/hongjun/v0gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112720190816
249756679 4096 421616 5040 840e/hongjun/v0gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112720190816
249757323 4096 422167 5024 808e/hongjun/v0gcc_-funroll-loops_-O_-fomit-frame-pointer2019112720190816
249757275 4096 421895 5024 808e/hongjun/v0gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112720190816
249757311 4096 119608 4912 832e/hongjun/v1clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112720190816
249757307 4096 418959 5024 808e/hongjun/v1gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112720190816
249758731 4096 423672 5040 840e/hongjun/v1gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112720190816
249756991 4096 417843 5008 808e/hongjun/v1gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112720190816
249757303 4096 418959 5024 808e/hongjun/v1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112720190816
249756987 4096 417811 5008 808e/hongjun/v1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112720190816
249787695 4096 420952 5040 840e/hongjun/v1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112720190816
333009275 4096 423895 5024 808e/hongjun/v1gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112720190816
350794459 4096 415283 5008 808e/hongjun/v0gcc_-Os_-fomit-frame-pointer2019112720190816
350797119 4096 418711 5024 808e/hongjun/v1gcc_-O2_-fomit-frame-pointer2019112720190816
350797307 4096 418959 5024 808e/hongjun/v1gcc_-O_-fomit-frame-pointer2019112720190816
350796983 4096 417803 5008 808e/hongjun/v1gcc_-Os_-fomit-frame-pointer2019112720190816
416254835 4096 117128 4912 832e/hongjun/v0clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112720190816
416254615 4096 416207 5024 808e/hongjun/v0gcc_-O2_-fomit-frame-pointer2019112720190816
416254467 4096 415323 5008 808e/hongjun/v0gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112720190816
416256679 4096 421544 5040 840e/hongjun/v0gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112720190816
416254467 4096 415323 5008 808e/hongjun/v0gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112720190816
416257311 4096 119584 4912 832e/hongjun/v1clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112720190816
416257747 4096 420968 5040 840e/hongjun/v1gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112720190816
416256983 4096 417803 5008 808e/hongjun/v1gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112720190816
416259427 4096 424271 5024 808e/hongjun/v1gcc_-funroll-loops_-O_-fomit-frame-pointer2019112720190816
416257119 4096 418695 5024 808e/hongjun/v1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112720190816
418304835 4096 117128 4912 832e/hongjun/v0clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112720190816
467266991 4096 417843 5008 808e/hongjun/v1gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112720190816
467727311 4096 119608 4912 832e/hongjun/v1clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112720190816
499504835 4096 117128 4912 832e/hongjun/v0clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112720190816
499507311 4096 119608 4912 832e/hongjun/v1clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112720190816
584654615 4096 416191 5024 808e/hongjun/v0gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112720190816
584657751 4096 421032 5040 840e/hongjun/v1gcc_-O3_-fomit-frame-pointer2019112720190816
666004723 4096 416375 5024 808e/hongjun/v0gcc_-O_-fomit-frame-pointer2019112720190816
666007179 4096 418719 5024 808e/hongjun/v1gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112720190816
701584835 4096 117112 4912 832e/hongjun/v0clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112720190816
749254655 4096 416191 5024 808e/hongjun/v0gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112720190816
749884463 4096 415283 5008 808e/hongjun/v0gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112720190816
915867323 4096 422167 5024 808e/hongjun/v0gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112720190816
934636979 4096 421583 5024 808e/hongjun/v0gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112720190816
9990022556 4096 437515 5008 816e/hongjun/v1gcc_-funroll-loops2019112720190816
1286234719 4096 416375 5024 808e/hongjun/v0gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112720190816
1401905631 4096 418888 5040 840e/hongjun/v0gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112720190816
16650013788 4096 428747 5008 816e/hongjun/v0gcc_-funroll-loops2019112720190816
30802522556 4096 437515 5008 816e/hongjun/v1gcc2019112720190816
31222522556 4096 437515 5008 816e/hongjun/v1cc2019112720190816
31631213788 4096 428747 5008 816e/hongjun/v0cc2019112720190816
31635013788 4096 428747 5008 816e/hongjun/v0gcc2019112720190816

Compiler output

Implementation: e/gladman
Security model: unknown
Compiler: cc
aes-ctr.c: In file included from e/aestab.c:41:0,
aes-ctr.c: from e/aes-ctr.c:17,
aes-ctr.c: from aes-ctr.c:2:
aes-ctr.c: e/aesopt.h:168:2: error: #error Could not detect endianness
aes-ctr.c: #error Could not detect endianness
aes-ctr.c: ^~~~~
aes-ctr.c: In file included from e/aes-ctr.c:17:0,
aes-ctr.c: from aes-ctr.c:2:
aes-ctr.c: e/aestab.c:153:17: warning: implicit declaration of function 'bytes2word' [-Wimplicit-function-declaration]
aes-ctr.c: #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: ^
aes-ctr.c: e/aestab.c:148:5: note: in expansion of macro 'w0'
aes-ctr.c: w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: ^
aes-ctr.c: e/aestab.h:106:52: note: in expansion of macro 'rc_data'
aes-ctr.c: Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ^~~~~~~
aes-ctr.c: e/aestab.c:153:17: error: initializer element is not constant
aes-ctr.c: #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: ^
aes-ctr.c: e/aestab.c:148:5: note: in expansion of macro 'w0'
aes-ctr.c: w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: ^
aes-ctr.c: e/aestab.h:106:52: note: in expansion of macro 'rc_data'
aes-ctr.c: Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ...

Number of similar (compiler,implementation) pairs: 23, namely:
CompilerImplementations
cc e/gladman
gcc e/gladman
gcc -O2 -fomit-frame-pointer e/gladman
gcc -O3 -fomit-frame-pointer e/gladman
gcc -O -fomit-frame-pointer e/gladman
gcc -Os -fomit-frame-pointer e/gladman
gcc -fno-schedule-insns -O2 -fomit-frame-pointer e/gladman
gcc -fno-schedule-insns -O3 -fomit-frame-pointer e/gladman
gcc -fno-schedule-insns -O -fomit-frame-pointer e/gladman
gcc -fno-schedule-insns -Os -fomit-frame-pointer e/gladman
gcc -funroll-loops e/gladman
gcc -funroll-loops -O2 -fomit-frame-pointer e/gladman
gcc -funroll-loops -O3 -fomit-frame-pointer e/gladman
gcc -funroll-loops -O -fomit-frame-pointer e/gladman
gcc -funroll-loops -Os -fomit-frame-pointer e/gladman
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer e/gladman
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer e/gladman
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer e/gladman
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer e/gladman
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv e/gladman
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv e/gladman
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv e/gladman
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv e/gladman

Compiler output

Implementation: e/gladman
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
aes-ctr.c: In file included from aes-ctr.c:2:
aes-ctr.c: In file included from ./e/aes-ctr.c:17:
aes-ctr.c: In file included from ./e/aestab.c:41:
aes-ctr.c: ./e/aesopt.h:168:2: error: Could not detect endianness
aes-ctr.c: #error Could not detect endianness
aes-ctr.c: ^
aes-ctr.c: In file included from aes-ctr.c:2:
aes-ctr.c: In file included from ./e/aes-ctr.c:17:
aes-ctr.c: In file included from ./e/aestab.c:194:
aes-ctr.c: ./e/aestab.h:106:60: warning: implicit declaration of function 'bytes2word' is invalid in C99 [-Wimplicit-function-declaration]
aes-ctr.c: Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ^
aes-ctr.c: ./e/aestab.h:106:60: error: initializer element is not a compile-time constant
aes-ctr.c: Extern Align Const aes_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0);
aes-ctr.c: ~~~~~~~~^~~
aes-ctr.c: ./e/aestab.c:148:5: note: expanded from macro 'rc_data'
aes-ctr.c: w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\
aes-ctr.c: ^~~~~~~
aes-ctr.c: ./e/aestab.c:153:17: note: expanded from macro 'w0'
aes-ctr.c: #define w0(p) bytes2word(p, 0, 0, 0)
aes-ctr.c: ^~~~~~~~~~~~~~~~~~~~~~
aes-ctr.c: In file included from aes-ctr.c:2:
aes-ctr.c: In file included from ./e/aes-ctr.c:17:
aes-ctr.c: In file included from ./e/aestab.c:194:
aes-ctr.c: ./e/aestab.h:124:39: error: initializer element is not a compile-time constant
aes-ctr.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments e/gladman
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments e/gladman
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments e/gladman
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments e/gladman