Implementation notes: aarch64, supercoplxc, crypto_aead/knot128v2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: knot128v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1951204644 127 019342 927 888optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
1952004644 127 019342 927 888optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
1952004644 127 019342 927 888optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
1954404644 127 019294 927 888optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
1960803880 127 016376 1039 864optgcc_-O2_-fomit-frame-pointer2019090720190816
1960805844 127 019633 1055 880optgcc_-O3_-fomit-frame-pointer2019090720190816
1960806188 127 020736 1039 864optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
1963208656 127 023801 1055 880optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
2003208500 127 023641 1055 880optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
2004806196 127 020872 1039 864optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
2059203628 127 015408 1023 856optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
2060003628 127 015408 1023 856optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
2067205760 127 019569 1055 880optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
2072003628 127 015360 1023 856optgcc_-Os_-fomit-frame-pointer2019090720190816
2072803628 127 015360 1023 856optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
2091204676 127 019390 927 888optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
2131203112 127 017814 927 888refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090720190816
2131203112 127 017814 927 888refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090720190816
2131203112 127 017814 927 888refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090720190816
2148003772 127 016256 1039 864optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
2192003112 127 017758 927 888refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090720190816
2357603060 127 017774 927 888refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090720190816
2452804860 127 017544 1039 864optgcc_-O_-fomit-frame-pointer2019090720190816
2453604860 127 017544 1039 864optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
2453607864 127 023768 1039 864optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
2454407864 127 023768 1039 864optgcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
2812005472 127 020184 1039 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
2872805432 127 020008 1039 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090720190816
2904806680 127 021881 1055 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
2958406716 127 021913 1055 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090720190816
3124804780 127 018633 1055 880refgcc_-O3_-fomit-frame-pointer2019090720190816
3348804744 127 018617 1055 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090720190816
3919202948 127 015488 1039 864refgcc_-O2_-fomit-frame-pointer2019090720190816
4028802812 127 015344 1039 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090720190816
4341606256 127 022200 1039 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
4346406256 127 022200 1039 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090720190816
5481602848 127 015576 1039 864refgcc_-O_-fomit-frame-pointer2019090720190816
5481602848 127 015576 1039 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090720190816
5790402448 127 014208 1023 856refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
5800002448 127 014208 1023 856refgcc_-Os_-fomit-frame-pointer2019090720190816
5825602448 127 014264 1023 856refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090720190816
5855202448 127 014264 1023 856refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090720190816
173616012744 127 029656 1023 864optgcc2019090720190816
173624012744 127 029656 1023 864optcc2019090720190816
173848012744 127 029656 1023 864optgcc_-funroll-loops2019090720190816
31342405644 127 022600 1023 864refcc2019090720190816
31343205644 127 022600 1023 864refgcc2019090720190816
31343205644 127 022600 1023 864refgcc_-funroll-loops2019090720190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:30: 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:193,
encrypt.c: from /usr/include/stdlib.h:394,
encrypt.c: from encrypt.c:4:
encrypt.c: /usr/include/endian.h:45: note: this is the location of the previous definition
encrypt.c: # define LITTLE_ENDIAN __LITTLE_ENDIAN
encrypt.c:
encrypt.c: encrypt.c:42: warning: "EXT_BYTE32" redefined
encrypt.c: #define EXT_BYTE32(x,n) ((u8)((u32)(x)>>(8*(3-(n)))))
encrypt.c:
encrypt.c: encrypt.c:33: 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: warning: "INS_BYTE32" redefined
encrypt.c: #define INS_BYTE32(x,n) ((u32)(x)<<(8*(3-(n))))
encrypt.c:
encrypt.c: encrypt.c:34: 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: warning: "U32BIG" redefined
encrypt.c: #define U32BIG(x) \
encrypt.c:
encrypt.c: encrypt.c:35: note: this is the location of the previous definition
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 19, 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

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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt