Implementation notes: aarch64, supercoplxc, crypto_sort/int32

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
831202800 0 015881 840 760stdsortclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
834401640 0 014777 840 760stdsortclang++_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
876001644 0 014777 840 760stdsortclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
876001644 0 014777 840 760stdsortclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
877601644 0 014777 840 760stdsortclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
927201324 0 011583 920 744stdsortg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
929602068 0 014639 920 744stdsortg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
938401324 0 011639 920 744stdsortg++_-O2_-fomit-frame-pointer2019082820190816
951201320 0 012880 928 752stdsortg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
951201896 0 014912 928 752stdsortg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
954401320 0 012904 928 752stdsortg++_-O3_-fomit-frame-pointer2019082820190816
1026402864 0 016671 920 744stdsortg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
1065601312 0 011807 920 744stdsortg++_-O_-fomit-frame-pointer2019082820190816
1066401312 0 011807 920 744stdsortg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
1107201040 0 010727 904 736stdsortg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
1108001040 0 010687 904 736stdsortg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
1109601040 0 010687 904 736stdsortg++_-Os_-fomit-frame-pointer2019082820190816
2753601520 0 013017 896 760portable4gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
2756801520 0 013033 896 760portable4gcc_-O3_-fomit-frame-pointer2019082820190816
2788803020 0 015977 896 760portable4gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
2794403020 0 016049 896 760portable4gcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
2884001024 0 013790 800 768portable4clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
2925601024 0 013790 800 768portable4clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
2925601024 0 013790 800 768portable4clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
2926401024 0 013790 800 768portable4clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
3004001488 0 013984 888 744portable4gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
3016801488 0 013936 888 744portable4gcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
301760720 0 010904 888 744portable4gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
302320720 0 010960 888 744portable4gcc_-O2_-fomit-frame-pointer2019082820190816
3068001200 0 013918 800 768portable4clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
322400760 0 013793 896 760portable3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019082820190816
322560760 0 013208 888 744portable3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019082820190816
324640852 0 011240 888 744portable4gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
324720852 0 011240 888 744portable4gcc_-O_-fomit-frame-pointer2019082820190816
324880760 0 013721 896 760portable3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
325440760 0 013256 888 744portable3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
3304001624 0 015344 888 744portable4gcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
3304001624 0 015344 888 744portable4gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
336880352 0 010536 888 744portable3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082820190816
337440352 0 010592 888 744portable3gcc_-O2_-fomit-frame-pointer2019082820190816
337760352 0 011873 896 760portable3gcc_-O3_-fomit-frame-pointer2019082820190816
338160352 0 011857 896 760portable3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082820190816
340000616 0 010208 872 736portable4gcc_-Os_-fomit-frame-pointer2019082820190816
340080616 0 010208 872 736portable4gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
340800616 0 010256 872 736portable4gcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
340880616 0 010256 872 736portable4gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
343760788 0 014520 888 744portable3gcc_-funroll-loops_-O_-fomit-frame-pointer2019082820190816
344000788 0 014520 888 744portable3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
348240372 0 010768 888 744portable3gcc_-O_-fomit-frame-pointer2019082820190816
348240372 0 010768 888 744portable3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082820190816
363840340 0 013110 800 768portable3clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082820190816
364000336 0 013054 800 768portable3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082820190816
366640336 0 013102 800 768portable3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082820190816
366720336 0 013102 800 768portable3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019082820190816
367040336 0 013102 800 768portable3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082820190816
383440308 0 09896 872 736portable3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
385920308 0 09896 872 736portable3gcc_-Os_-fomit-frame-pointer2019082820190816
389120308 0 09952 872 736portable3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082820190816
389360308 0 09952 872 736portable3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019082820190816
5001604841 0 018287 904 744stdsortg++2019082820190816
22774402300 0 015320 872 744portable4cc2019082820190816
22774402300 0 015320 872 744portable4gcc2019082820190816
22774402300 0 015320 872 744portable4gcc_-funroll-loops2019082820190816
23762401000 0 014008 872 744portable3gcc2019082820190816
23764001000 0 014008 872 744portable3cc2019082820190816
23764801000 0 014008 872 744portable3gcc_-funroll-loops2019082820190816

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: 13, 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

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: 19, 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

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: 19, 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

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: 19, 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

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: 13, 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