Implementation notes: aarch64, supercoplxc, crypto_aead/colm0v1

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: colm0v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3784809700 0 023919 968 1376refgcc_-O3_-fomit-frame-pointer2019090520190816
3788009672 0 025231 968 1376refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090520190816
3800009704 0 025239 968 1376refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090520190816
3933609592 0 023783 968 1376refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090520190816
4364808340 0 023428 832 1376refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090520190816
4458407520 0 022638 960 1360refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090520190816
4499207396 0 022414 960 1360refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090520190816
4926408932 0 023956 832 1376refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090520190816
4965608280 0 023356 832 1376refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090520190816
4976008280 0 023356 832 1376refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090520190816
4980808280 0 023356 832 1376refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090520190816
64176010992 0 027398 960 1360refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090520190816
64400010992 0 027398 960 1360refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090520190816
8483204596 0 017582 960 1360refgcc_-O2_-fomit-frame-pointer2019090520190816
8776804660 0 017590 960 1360refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090520190816
8806404644 0 017830 960 1360refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090520190816
8820004644 0 017830 960 1360refgcc_-O_-fomit-frame-pointer2019090520190816
8852803672 0 015966 944 1344refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090520190816
8856003672 0 015966 944 1344refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090520190816
8876803668 0 015910 944 1344refgcc_-Os_-fomit-frame-pointer2019090520190816
8877603668 0 015910 944 1344refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090520190816
27818405532 0 022990 944 1360refcc2019090520190816
27849605532 0 022990 944 1360refgcc2019090520190816
27849605532 0 022990 944 1360refgcc_-funroll-loops2019090520190816

Compiler output

Implementation: aesni4
Security model: unknown
Compiler: cc
encrypt-optpar4.c: encrypt-optpar4.c:14:10: fatal error: wmmintrin.h: No such file or directory
encrypt-optpar4.c: #include <wmmintrin.h>
encrypt-optpar4.c: ^~~~~~~~~~~~~
encrypt-optpar4.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc aesni4
gcc aesni4
gcc -O2 -fomit-frame-pointer aesni4
gcc -O3 -fomit-frame-pointer aesni4
gcc -O -fomit-frame-pointer aesni4
gcc -Os -fomit-frame-pointer aesni4
gcc -fno-schedule-insns -O2 -fomit-frame-pointer aesni4
gcc -fno-schedule-insns -O3 -fomit-frame-pointer aesni4
gcc -fno-schedule-insns -O -fomit-frame-pointer aesni4
gcc -fno-schedule-insns -Os -fomit-frame-pointer aesni4
gcc -funroll-loops aesni4
gcc -funroll-loops -O2 -fomit-frame-pointer aesni4
gcc -funroll-loops -O3 -fomit-frame-pointer aesni4
gcc -funroll-loops -O -fomit-frame-pointer aesni4
gcc -funroll-loops -Os -fomit-frame-pointer aesni4
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni4
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni4
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni4
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni4

Compiler output

Implementation: aesni4
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt-optpar4.c: In file included from encrypt-optpar4.c:14:
encrypt-optpar4.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/wmmintrin.h:27:
encrypt-optpar4.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/emmintrin.h:27:
encrypt-optpar4.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/xmmintrin.h:27:
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar4.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
encrypt-optpar4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar4.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments aesni4
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments aesni4
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments aesni4
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments aesni4
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni4

Compiler output

Implementation: aesni8
Security model: unknown
Compiler: cc
encrypt-optpar8.c: encrypt-optpar8.c:14:10: fatal error: wmmintrin.h: No such file or directory
encrypt-optpar8.c: #include <wmmintrin.h>
encrypt-optpar8.c: ^~~~~~~~~~~~~
encrypt-optpar8.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc aesni8
gcc aesni8
gcc -O2 -fomit-frame-pointer aesni8
gcc -O3 -fomit-frame-pointer aesni8
gcc -O -fomit-frame-pointer aesni8
gcc -Os -fomit-frame-pointer aesni8
gcc -fno-schedule-insns -O2 -fomit-frame-pointer aesni8
gcc -fno-schedule-insns -O3 -fomit-frame-pointer aesni8
gcc -fno-schedule-insns -O -fomit-frame-pointer aesni8
gcc -fno-schedule-insns -Os -fomit-frame-pointer aesni8
gcc -funroll-loops aesni8
gcc -funroll-loops -O2 -fomit-frame-pointer aesni8
gcc -funroll-loops -O3 -fomit-frame-pointer aesni8
gcc -funroll-loops -O -fomit-frame-pointer aesni8
gcc -funroll-loops -Os -fomit-frame-pointer aesni8
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni8
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni8
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni8
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni8

Compiler output

Implementation: aesni8
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt-optpar8.c: In file included from encrypt-optpar8.c:14:
encrypt-optpar8.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/wmmintrin.h:27:
encrypt-optpar8.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/emmintrin.h:27:
encrypt-optpar8.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/xmmintrin.h:27:
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
encrypt-optpar8.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
encrypt-optpar8.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt-optpar8.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments aesni8
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments aesni8
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments aesni8
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments aesni8
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni8