Implementation notes: aarch64, hikey960, crypto_sort/int32

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
01120 0 012184 816 760portable4clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
01508 0 014688 912 744portable4gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
0576 0 09988 896 744portable4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
01044 0 011493 928 744stdsortg++_-Os_-fomit-frame-pointer2019112520190816
266491308 0 014010 952 768stdsortg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
416202868 0 017417 944 744stdsortg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
416251764 0 013203 856 768stdsortclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
416302056 0 016329 944 744stdsortg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
444151256 0 012481 944 744stdsortg++_-O_-fomit-frame-pointer2019112520190816
499501764 0 013203 856 768stdsortclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
532983632 0 017145 920 776portable4gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
582751256 0 012481 944 744stdsortg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
582751252 0 012481 944 744stdsortg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
584651764 0 013179 856 768stdsortclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
584651764 0 013203 856 768stdsortclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
62181308 0 010336 912 744portable3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
71064260 0 09692 896 744portable3gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
749251264 0 012329 944 744stdsortg++_-O2_-fomit-frame-pointer2019112520190816
749251292 0 014018 952 768stdsortg++_-O3_-fomit-frame-pointer2019112520190816
749251280 0 012281 944 744stdsortg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
749881272 0 012337 944 744stdsortg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
755142076 0 016546 952 768stdsortg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
915751044 0 011541 928 744stdsortg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
915751036 0 011485 928 744stdsortg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
999001120 0 012184 816 760portable4clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
99900628 0 010616 912 744portable4gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
104050344 0 010424 912 744portable3gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
1052371300 0 014018 952 768stdsortg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
1082121208 0 012256 816 760portable4clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
108225728 0 010808 912 744portable4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
112401728 0 010808 912 744portable4gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
115479260 0 09676 896 744portable3gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
115479260 0 09692 896 744portable3gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
116550768 0 013944 912 744portable3gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
116550824 0 014224 912 744portable3gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
1165501608 0 015008 912 744portable4gcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
1199341892 0 013617 920 776portable4gcc_-O3_-fomit-frame-pointer2019112520190816
124860352 0 010432 912 744portable3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
124875768 0 014281 920 776portable3gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
124875824 0 014224 912 744portable3gcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
124875768 0 014217 920 776portable3gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
133200304 0 011352 816 760portable3clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
133200304 0 011368 816 760portable3clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
133200264 0 09676 896 744portable3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
1403161884 0 013585 920 776portable4gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
142128572 0 010004 896 744portable4gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
144365572 0 010004 896 744portable4gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
1498501896 0 013609 920 776portable4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
151011288 0 011985 920 776portable3gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
163702572 0 09988 896 744portable4gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
174825728 0 010808 912 744portable4gcc_-O_-fomit-frame-pointer2019112520190816
1748251044 0 011493 928 744stdsortg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
183150572 0 09988 896 744portable4gcc_-Os_-fomit-frame-pointer2019112520190816
199800308 0 012025 920 776portable3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
2226673624 0 017073 920 776portable4gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
2372911508 0 014680 912 744portable4gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
241425640 0 010664 912 744portable4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
2497501120 0 012184 816 760portable4clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
2580751608 0 015008 912 744portable4gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
274725768 0 013936 912 744portable3gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
278921288 0 012009 920 776portable3gcc_-O3_-fomit-frame-pointer2019112520190816
278921344 0 010424 912 744portable3gcc_-O_-fomit-frame-pointer2019112520190816
299700260 0 09676 896 744portable3gcc_-Os_-fomit-frame-pointer2019112520190816
315711304 0 011368 816 760portable3clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
3738704889 0 019317 928 744stdsortg++2019112520190816
444334304 0 011368 816 760portable3clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
449604628 0 010656 912 744portable4gcc_-O2_-fomit-frame-pointer2019112520190816
522331288 0 010272 912 744portable3gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
541125288 0 010312 912 744portable3gcc_-O2_-fomit-frame-pointer2019112520190816
5494502256 0 015028 896 744portable4gcc_-funroll-loops2019112520190816
582750956 0 013732 896 744portable3cc2019112520190816
582750956 0 013732 896 744portable3gcc2019112520190816
7477402256 0 015028 896 744portable4cc2019112520190816
17982002256 0 015028 896 744portable4gcc2019112520190816
1906425956 0 013732 896 744portable3gcc_-funroll-loops2019112520190816

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:30:
api.cpp: In file included from /usr/bin/../lib/gcc/aarch64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/cstdint:35:
api.cpp: /usr/bin/../lib/gcc/aarch64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
api.cpp: #error This file requires compiler and library support \
api.cpp: ^
api.cpp: In file included from api.cpp:3:
api.cpp: ./aspas.h:49:6: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
api.cpp: enum class simd_width : std::int8_t
api.cpp: ^
api.cpp: ./aspas.h:49:12: error: ISO C++ forbids forward references to 'enum' types
api.cpp: enum class simd_width : std::int8_t
api.cpp: ^
api.cpp: ./aspas.h:49:23: error: expected unqualified-id
api.cpp: enum class simd_width : std::int8_t
api.cpp: ^
api.cpp: ./aspas.h:121:15: error: no type named 'enable_if' in namespace 'std'
api.cpp: typename std::enable_if<std::is_same<T, int>::value>::type
api.cpp: ~~~~~~~~~~~~~~^~~~~~~~~
api.cpp: ./aspas.h:121:24: error: expected unqualified-id
api.cpp: typename std::enable_if<std::is_same<T, int>::value>::type
api.cpp: ^
api.cpp: ./aspas.h:138:15: error: no type named 'enable_if' in namespace 'std'
api.cpp: typename std::enable_if<std::is_same<T, float>::value>::type
api.cpp: ~~~~~~~~~~~~~~^~~~~~~~~
api.cpp: ...

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

Compiler output

Implementation: aspas
Security model: unknown
Compiler: g++
api.cpp: In file included from merger.h:64:0,
api.cpp: from aspas.tcc:32,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: merger.tcc:24:24: 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:39: 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-3.8/bin/../lib/clang/3.8.1/include/xmmintrin.h:27:
sort.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:45: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:69: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:75: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:81: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:87: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:93: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:99: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:105: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: 4, 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

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
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
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
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
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
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
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
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
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
qsort_AVX2_HSW_256bit_int.s: ...

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

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: cc
int32_sort.c: int32_sort.c:3:23: 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-3.8/bin/../lib/clang/3.8.1/include/immintrin.h:27:
int32_sort.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:45: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:69: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:75: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:81: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:87: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:93: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:99: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-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:105: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: 4, 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

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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/immintrin.h:27:
api.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:39:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
api.cpp: __builtin_ia32_emms();
api.cpp: ^
api.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:39:5: note: '__builtin_isless' declared here
api.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:39:25: error: too few arguments to function call, expected 2, have 0
api.cpp: __builtin_ia32_emms();
api.cpp: ^
api.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:45: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:51: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:69: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:75: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:81: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: 4, 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

Compiler output

Implementation: sid1607
Security model: unknown
Compiler: g++
api.cpp: In file included from api.cpp:3:0:
api.cpp: merge_sort.h:1:24: 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