Implementation notes: aarch64, rockpi4, crypto_sort/int32

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
664932800 0 016407 840 760stdsortclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019091020190816
702101324 0 012101 920 744stdsortg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
706231640 0 015303 840 760stdsortclang++_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
706231324 0 012253 920 744stdsortg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091020190816
710361644 0 015303 840 760stdsortclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091020190816
714491644 0 015303 840 760stdsortclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091020190816
714491324 0 012157 920 744stdsortg++_-O2_-fomit-frame-pointer2019091020190816
722751644 0 015303 840 760stdsortclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091020190816
743401312 0 012325 920 744stdsortg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
743402068 0 015157 920 744stdsortg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
743402864 0 017189 920 744stdsortg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
759921896 0 015438 928 752stdsortg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
764051320 0 013406 928 752stdsortg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
768181320 0 013430 928 752stdsortg++_-O3_-fomit-frame-pointer2019091020190816
768181336 0 013526 928 752stdsortg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091020190816
805351040 0 011213 904 736stdsortg++_-Os_-fomit-frame-pointer2019091020190816
809481040 0 011213 904 736stdsortg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
821871040 0 011253 904 736stdsortg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
850781312 0 012325 920 744stdsortg++_-O_-fomit-frame-pointer2019091020190816
850781312 0 012325 920 744stdsortg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091020190816
883821040 0 011213 904 736stdsortg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091020190816
1251391024 0 014308 800 768portable4clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091020190816
1251391024 0 014308 800 768portable4clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091020190816
1251391024 0 014308 800 768portable4clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
130508616 0 010734 872 736portable4gcc_-Os_-fomit-frame-pointer2019091020190816
1309211488 0 014502 888 744portable4gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
132986620 0 010734 872 736portable4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091020190816
133399616 0 010782 872 736portable4gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091020190816
135877856 0 011766 888 744portable4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091020190816
142485760 0 013726 888 744portable3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
143724760 0 014247 896 760portable3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
149919352 0 011062 888 744portable3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
149919352 0 012375 896 760portable3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
150745352 0 011118 888 744portable3gcc_-O2_-fomit-frame-pointer2019091020190816
150745788 0 015046 888 744portable3gcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
151158788 0 015046 888 744portable3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
152397336 0 013620 800 768portable3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091020190816
152397336 0 013620 800 768portable3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091020190816
152810336 0 013572 800 768portable3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091020190816
152810308 0 010478 872 736portable3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091020190816
152810308 0 010478 872 736portable3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
153223316 0 010430 872 736portable3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091020190816
153636380 0 011294 888 744portable3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091020190816
154875308 0 010414 872 736portable3gcc_-Os_-fomit-frame-pointer2019091020190816
154875372 0 011294 888 744portable3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
2197161520 0 013551 896 760portable4gcc_-O3_-fomit-frame-pointer2019091020190816
2197161520 0 013535 896 760portable4gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
2197161532 0 013647 896 760portable4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091020190816
2226073020 0 016495 896 760portable4gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
2230203020 0 016575 896 760portable4gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
2333451024 0 014308 800 768portable4clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091020190816
2403661488 0 014462 888 744portable4gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
240779720 0 011430 888 744portable4gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
240779712 0 011550 888 744portable4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091020190816
241192720 0 011486 888 744portable4gcc_-O2_-fomit-frame-pointer2019091020190816
2444961200 0 014436 800 768portable4clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091020190816
258951760 0 014311 896 760portable3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
258951760 0 013782 888 744portable3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091020190816
258951852 0 011766 888 744portable4gcc_-O_-fomit-frame-pointer2019091020190816
258951852 0 011766 888 744portable4gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
2634941624 0 015870 888 744portable4gcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
2634941624 0 015870 888 744portable4gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091020190816
268450364 0 012487 896 760portable3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091020190816
269276352 0 012391 896 760portable3gcc_-O3_-fomit-frame-pointer2019091020190816
269689364 0 011214 888 744portable3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091020190816
270928616 0 010734 872 736portable4gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
271754616 0 010782 872 736portable4gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
277536372 0 011294 888 744portable3gcc_-O_-fomit-frame-pointer2019091020190816
287448340 0 013636 800 768portable3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
292817336 0 013620 800 768portable3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091020190816
306446308 0 010414 872 736portable3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091020190816
3985454841 0 018805 904 744stdsortg++2019091020190816
8883632300 0 015846 872 744portable4gcc_-funroll-loops2019091020190816
8891892300 0 015846 872 744portable4gcc2019091020190816
9358581000 0 014526 872 744portable3cc2019091020190816
18143092300 0 015846 872 744portable4cc2019091020190816
18931921000 0 014526 872 744portable3gcc_-funroll-loops2019091020190816
18936051000 0 014526 872 744portable3gcc2019091020190816

Compiler output

Implementation: aspas
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
api.cpp: In file included from api.cpp:3:
api.cpp: In file included from ./aspas.h:204:
api.cpp: In file included from ./aspas.tcc:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: In file included from ./merger.tcc:24:
api.cpp: In file included from /usr/include/clang/7.0.1/include/immintrin.h:28:
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:47:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
api.cpp: __builtin_ia32_emms();
api.cpp: ^
api.cpp: /usr/bin/../lib/gcc/aarch64-linux-gnu/8/../../../../include/c++/8/cmath:736:12: note: '__builtin_isless' declared here
api.cpp: { return __builtin_isless(__x, __y); }
api.cpp: ^
api.cpp: In file included from api.cpp:3:
api.cpp: In file included from ./aspas.h:204:
api.cpp: In file included from ./aspas.tcc:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: In file included from ./merger.tcc:24:
api.cpp: In file included from /usr/include/clang/7.0.1/include/immintrin.h:28:
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:47:25: error: too few arguments to function call, expected 2, have 0
api.cpp: __builtin_ia32_emms();
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:64:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
api.cpp: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:81:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
api.cpp: ...

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

Compiler output

Implementation: aspas
Security model: unknown
Compiler: g++
api.cpp: In file included from merger.h:64,
api.cpp: from aspas.tcc:32,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: merger.tcc:24:10: fatal error: immintrin.h: No such file or directory
api.cpp: #include <immintrin.h>
api.cpp: ^~~~~~~~~~~~~
api.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
g++ aspas
g++ -O2 -fomit-frame-pointer aspas
g++ -O3 -fomit-frame-pointer aspas
g++ -O -fomit-frame-pointer aspas
g++ -Os -fomit-frame-pointer aspas
g++ -fno-schedule-insns -O2 -fomit-frame-pointer aspas
g++ -fno-schedule-insns -O3 -fomit-frame-pointer aspas
g++ -fno-schedule-insns -O -fomit-frame-pointer aspas
g++ -fno-schedule-insns -Os -fomit-frame-pointer aspas
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aspas
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aspas
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aspas
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aspas
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv aspas
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv aspas
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv aspas
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv aspas

Compiler output

Implementation: herf
Security model: unknown
Compiler: cc
sort.c: sort.c:29:10: fatal error: xmmintrin.h: No such file or directory
sort.c: #include <xmmintrin.h> // for prefetch
sort.c: ^~~~~~~~~~~~~
sort.c: compilation terminated.

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

Compiler output

Implementation: herf
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
sort.c: In file included from sort.c:29:
sort.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/xmmintrin.h:27:
sort.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
sort.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.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
sort.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.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
sort.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.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
sort.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.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
sort.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.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
sort.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.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
sort.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
sort.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
sort.c: ...

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

Compiler output

Implementation: krasnov
Security model: unknown
Compiler: cc
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s: Assembler messages:
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:3: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:3: Error: junk at end of line, first unrecognized character is `e'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:5: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:5: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:6: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:6: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:7: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:7: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:8: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:8: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:9: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:9: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:11: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:11: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:12: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:12: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:13: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:13: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:14: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:14: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:15: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:15: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:17: Error: bad expression
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:17: Error: junk at end of line, first unrecognized character is `y'
qsort_AVX2_HSW_256bit_int.s: ...

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

Compiler output

Implementation: krasnov
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:3:16: error: unknown token in expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set pivotALU, %ecx
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:3:16: error: missing expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set pivotALU, %ecx
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:5:10: error: unknown token in expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set A0, %ymm0
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:5:10: error: missing expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set A0, %ymm0
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:6:10: error: unknown token in expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set A1, %ymm1
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:6:10: error: missing expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set A1, %ymm1
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:7:10: error: unknown token in expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set A2, %ymm2
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:7:10: error: missing expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: .set A2, %ymm2
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:8:10: error: unknown token in expression in '.set' directive
qsort_AVX2_HSW_256bit_int.s: ...

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

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: cc
int32_sort.c: int32_sort.c:3:10: fatal error: immintrin.h: No such file or directory
int32_sort.c: #include <immintrin.h>
int32_sort.c: ^~~~~~~~~~~~~
int32_sort.c: compilation terminated.

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

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
int32_sort.c: In file included from int32_sort.c:3:
int32_sort.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.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
int32_sort.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
int32_sort.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
int32_sort.c: ...

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

Compiler output

Implementation: sid1607
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
api.cpp: In file included from api.cpp:3:
api.cpp: In file included from ./merge_sort.h:1:
api.cpp: In file included from /usr/include/clang/7.0.1/include/immintrin.h:28:
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:47:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
api.cpp: __builtin_ia32_emms();
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:47:5: note: '__builtin_isless' declared here
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:47:25: error: too few arguments to function call, expected 2, have 0
api.cpp: __builtin_ia32_emms();
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:64:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
api.cpp: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:81:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
api.cpp: return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:143:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
api.cpp: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:173:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
api.cpp: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
api.cpp: ^
api.cpp: /usr/include/clang/7.0.1/include/mmintrin.h:203:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
api.cpp: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
api.cpp: ^
api.cpp: ...

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

Compiler output

Implementation: sid1607
Security model: unknown
Compiler: g++
api.cpp: In file included from api.cpp:3:
api.cpp: merge_sort.h:1:10: fatal error: immintrin.h: No such file or directory
api.cpp: #include <immintrin.h>
api.cpp: ^~~~~~~~~~~~~
api.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
g++ sid1607
g++ -O2 -fomit-frame-pointer sid1607
g++ -O3 -fomit-frame-pointer sid1607
g++ -O -fomit-frame-pointer sid1607
g++ -Os -fomit-frame-pointer sid1607
g++ -fno-schedule-insns -O2 -fomit-frame-pointer sid1607
g++ -fno-schedule-insns -O3 -fomit-frame-pointer sid1607
g++ -fno-schedule-insns -O -fomit-frame-pointer sid1607
g++ -fno-schedule-insns -Os -fomit-frame-pointer sid1607
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sid1607
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sid1607
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sid1607
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sid1607
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv sid1607
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv sid1607
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv sid1607
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv sid1607