Implementation notes: aarch64, hikey960, crypto_aead/knot128v2

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: knot128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
03504 127 016432 943 880optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
532983504 127 016456 943 880optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
932825756 127 019795 1079 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1165503488 127 015118 1047 864optgcc_-Os_-fomit-frame-pointer2019112820190816
1165503608 127 015930 1063 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
1165507724 127 023427 1079 896optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
1165507640 127 023307 1079 896optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1165503760 127 016146 1063 864optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
1399237796 127 023499 1079 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
1560753504 127 016456 943 880optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1581753504 127 016456 943 880optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
1581755708 127 021106 1063 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
1665003696 127 017779 1079 896optgcc_-O3_-fomit-frame-pointer2019112820190816
1665003608 127 017643 1079 896optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
1665003488 127 015118 1047 864optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1665003488 127 015134 1047 864optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
1665003488 127 015134 1047 864optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1665003760 127 017835 1079 896optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
1665005724 127 021082 1063 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
1665203488 127 015118 1047 864optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
1865432188 127 013838 1047 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
1954265464 127 021138 1063 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
1998004724 127 017194 1063 864optgcc_-O_-fomit-frame-pointer2019112820190816
1998004724 127 017194 1063 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
1998009236 127 024906 1063 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
1998004848 127 017322 1063 864optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
1998002608 127 014994 1063 864refgcc_-O2_-fomit-frame-pointer2019112820190816
2104744024 127 016952 943 880refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
2164502424 127 014898 1063 864refgcc_-O_-fomit-frame-pointer2019112820190816
2164502428 127 014906 1063 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
2206392188 127 013822 1047 864refgcc_-Os_-fomit-frame-pointer2019112820190816
2221677724 127 023082 1063 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
2287632188 127 013822 1047 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
2336503696 127 016082 1063 864optgcc_-O2_-fomit-frame-pointer2019112820190816
2338605788 127 019867 1079 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
2497807748 127 023419 1079 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
2806329236 127 024906 1063 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
2997007640 127 023034 1063 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
3507904024 127 016976 943 880refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
4287892424 127 014898 1063 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
4441505376 127 022038 1047 864refgcc_-funroll-loops2019112820190816
4495502188 127 013822 1047 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
4578754024 127 016976 943 880refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
4578754024 127 016976 943 880refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
5037235816 127 019899 1079 896refgcc_-O3_-fomit-frame-pointer2019112820190816
5144922596 127 014922 1063 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
6327002584 127 014970 1063 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
6743255464 127 021138 1063 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
72427512544 127 029206 1047 864optgcc2019112820190816
72488412544 127 029206 1047 864optgcc_-funroll-loops2019112820190816
7803752188 127 013838 1047 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
11216105376 127 022038 1047 864refcc2019112820190816
13324505376 127 022038 1047 864refgcc2019112820190816
138195012544 127 029206 1047 864optcc2019112820190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:30:0: warning: "LITTLE_ENDIAN" redefined
encrypt.c: #define LITTLE_ENDIAN
encrypt.c:
encrypt.c: In file included from /usr/include/aarch64-linux-gnu/sys/types.h:216:0,
encrypt.c: from /usr/include/stdlib.h:275,
encrypt.c: from encrypt.c:4:
encrypt.c: /usr/include/endian.h:45:0: note: this is the location of the previous definition
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c:
encrypt.c: encrypt.c:42:0: warning: "EXT_BYTE32" redefined
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c:
encrypt.c: encrypt.c:33:0: note: this is the location of the previous definition
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c:
encrypt.c: encrypt.c:43:0: warning: "INS_BYTE32" redefined
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c:
encrypt.c: encrypt.c:34:0: note: this is the location of the previous definition
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c:
encrypt.c: encrypt.c:44:0: warning: "U32BIG" redefined
encrypt.c: #define U32BIG(x) \
encrypt.c:
encrypt.c: encrypt.c:35:0: note: this is the location of the previous definition
encrypt.c: ...

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:30:9: warning: 'LITTLE_ENDIAN' macro redefined [-Wmacro-redefined]
encrypt.c: #define LITTLE_ENDIAN
encrypt.c: ^
encrypt.c: /usr/include/endian.h:45:10: note: previous definition is here
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c: ^
encrypt.c: encrypt.c:42:9: warning: 'EXT_BYTE32' macro redefined [-Wmacro-redefined]
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c: ^
encrypt.c: encrypt.c:33:9: note: previous definition is here
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(n))))
encrypt.c: ^
encrypt.c: encrypt.c:43:9: warning: 'INS_BYTE32' macro redefined [-Wmacro-redefined]
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c: ^
encrypt.c: encrypt.c:34:9: note: previous definition is here
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(n)))
encrypt.c: ^
encrypt.c: encrypt.c:44:9: warning: 'U32BIG' macro redefined [-Wmacro-redefined]
encrypt.c: #define U32BIG(x) \
encrypt.c: ^
encrypt.c: encrypt.c:35:9: note: previous definition is here
encrypt.c: #define U32BIG(x) (x)
encrypt.c: ^
encrypt.c: encrypt.c:47:9: warning: 'EXT_BYTE64' macro redefined [-Wmacro-redefined]
encrypt.c: ...

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