Implementation notes: amd64, scw1b63b1, crypto_sort/int32

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
35108928 0 011841 784 736herfclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
36110580 0 012876 808 808herfgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
36874520 0 09643 776 736herfclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
42508591 0 010707 800 808herfgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
43258552 0 010561 784 736herfclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
43860521 0 09455 784 776herfgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
44842552 0 011385 784 736herfclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
46618594 0 010539 800 808herfgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
47688552 0 010561 784 736herfclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
729461312 0 011562 840 816stdsortg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
734741996 0 013004 824 728stdsortclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
737501364 0 011524 824 728stdsortclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
746861350 0 013787 848 816stdsortg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
748781126 0 010414 816 728stdsortclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
758121364 0 011524 824 728stdsortclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
77966971 0 010046 824 784stdsortg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
792161312 0 011402 840 816stdsortg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
974061170 0 010291 776 736x86clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
998481585 0 012417 784 736x86clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1023761177 0 013476 808 808x86gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1025121177 0 011291 800 808x86gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1053341569 0 012489 784 736x86clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1065861361 0 011369 784 736x86clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1071321361 0 011369 784 736x86clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1129321356 0 011299 800 808x86gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1171581047 0 09983 784 776x86gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1230441414 0 012241 784 736portable4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1295042075 0 014372 808 808portable4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1302161302 0 011305 784 736portable4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1302221302 0 011305 784 736portable4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
131328721 0 09843 776 736portable4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1324401414 0 012329 784 736portable4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
132812808 0 010923 800 808portable4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
137318660 0 09591 784 776portable4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1397501385 0 010499 776 736portable5clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
142338881 0 010819 800 808portable4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1448042294 0 013121 784 736portable5clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
148354376 0 011201 784 736portable3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1489082703 0 014996 808 808portable5gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1492961416 0 011531 800 808portable5gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1494982070 0 012073 784 736portable5clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1499502070 0 012073 784 736portable5clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
150696339 0 09459 776 736portable3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
151094392 0 010393 784 736portable3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
151120392 0 010393 784 736portable3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
153172403 0 010515 800 808portable3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
153462403 0 012700 808 808portable3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1554582278 0 013193 784 736portable5clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
157106375 0 011289 784 736portable3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121420191017
1602301594 0 011539 800 808portable5gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
1613581244 0 010175 784 776portable5gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
167136449 0 010395 800 808portable3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017
171118360 0 09287 784 776portable3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121420191017

Test failure

Implementation: krasnov
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE krasnov
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE krasnov
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE krasnov
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE krasnov

Compiler output

Implementation: aspas
Security model: unknown
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/cstdint:35:
api.cpp: /usr/bin/../lib/gcc/x86_64-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: 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: ...
api.cpp: typename std::enable_if<std::is_same<T, int>::value>::type
api.cpp: ^
api.cpp: ./aspas.h:175: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: ./aspas.h:175:24: error: expected unqualified-id
api.cpp: typename std::enable_if<std::is_same<T, float>::value>::type
api.cpp: ^
api.cpp: fatal error: too many errors emitted, stopping now [-ferror-limit=]
api.cpp: 1 warning and 20 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aspas
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aspas
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aspas
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aspas

Compiler output

Implementation: aspas
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_sort_int32.a(api.o): In function `crypto_sort_int32_aspas':
try.cpp: api.cpp:(.text+0x...): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: crypto_sort_int32.a(api.o): In function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0xdf): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x1f0): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aspas

Compiler output

Implementation: aspas
Security model: unknown
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_sort_int32.a(api.o): In function `crypto_sort_int32_aspas':
try.cpp: api.cpp:(.text+0x...): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: crypto_sort_int32.a(api.o): In function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0xdc): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x1f0): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aspas

Compiler output

Implementation: aspas
Security model: unknown
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_sort_int32.a(api.o): In function `crypto_sort_int32_aspas':
try.cpp: api.cpp:(.text+0x...): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: crypto_sort_int32.a(api.o): In function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x25f): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x371): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aspas

Compiler output

Implementation: aspas
Security model: unknown
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_sort_int32.a(api.o): In function `crypto_sort_int32_aspas':
try.cpp: api.cpp:(.text+0x...): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: crypto_sort_int32.a(api.o): In function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x12d): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x205): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x2a0): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: api.cpp:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x2ef): undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aspas

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ^
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: int32x8 x0 = int32x8_load(&x[i]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: ...
sort.c: clang: note: diagnostic msg:
sort.c: ********************
sort.c:
sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
sort.c: Preprocessed source(s) and associated run script(s) are located at:
sort.c: clang: note: diagnostic msg: /tmp/sort-0fc617.c
sort.c: clang: note: diagnostic msg: /tmp/sort-0fc617.sh
sort.c: clang: note: diagnostic msg:
sort.c:
sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ^
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: int32x8 x0 = int32x8_load(&x[i]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: ...
sort.c: clang: note: diagnostic msg:
sort.c: ********************
sort.c:
sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
sort.c: Preprocessed source(s) and associated run script(s) are located at:
sort.c: clang: note: diagnostic msg: /tmp/sort-53c4a9.c
sort.c: clang: note: diagnostic msg: /tmp/sort-53c4a9.sh
sort.c: clang: note: diagnostic msg:
sort.c:
sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ^
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: int32x8 x0 = int32x8_load(&x[i]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: ...
sort.c: clang: note: diagnostic msg:
sort.c: ********************
sort.c:
sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
sort.c: Preprocessed source(s) and associated run script(s) are located at:
sort.c: clang: note: diagnostic msg: /tmp/sort-3ccd60.c
sort.c: clang: note: diagnostic msg: /tmp/sort-3ccd60.sh
sort.c: clang: note: diagnostic msg:
sort.c:
sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ^
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: int32x8 x0 = int32x8_load(&x[i]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'int32_sort' that is compiled without support for 'xsave'
sort.c: ...
sort.c: clang: note: diagnostic msg:
sort.c: ********************
sort.c:
sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
sort.c: Preprocessed source(s) and associated run script(s) are located at:
sort.c: clang: note: diagnostic msg: /tmp/sort-2ed3d3.c
sort.c: clang: note: diagnostic msg: /tmp/sort-2ed3d3.sh
sort.c: clang: note: diagnostic msg:
sort.c:
sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function 'int32_sort' that is compiled without support for 'sse4.2'
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ^
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'int32_sort' that is compiled without support for 'sse4.2'
sort.c: int32x8 x0 = int32x8_load(&x[i]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'int32_sort' that is compiled without support for 'sse4.2'
sort.c: ...
sort.c: clang: note: diagnostic msg:
sort.c: ********************
sort.c:
sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
sort.c: Preprocessed source(s) and associated run script(s) are located at:
sort.c: clang: note: diagnostic msg: /tmp/sort-a20c88.c
sort.c: clang: note: diagnostic msg: /tmp/sort-a20c88.sh
sort.c: clang: note: diagnostic msg:
sort.c:
sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sort.c: sort.c: In function ‘int32_sort’:
sort.c: sort.c:940:38: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c: In function ‘merge16_finish’:
sort.c: sort.c:55:13: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
sort.c: static void merge16_finish(int32 *x,int32x8 x0,int32x8 x1,int flagdown)
sort.c: ^~~~~~~~~~~~~~
sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:41:0,
sort.c: from sort.c:4:
sort.c: ...
sort.c: int32x8 y0 = int32x8_load(y);
sort.c: ^~
sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:41:0,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avxintrin.h:894:1: error: inlining failed in call to always_inline ‘_mm256_loadu_si256’: target specific option mismatch
sort.c: _mm256_loadu_si256 (__m256i const *__P)
sort.c: ^~~~~~~~~~~~~~~~~~
sort.c: sort.c:42:13: note: called from here
sort.c: int32x8 x0 = int32x8_load(x);
sort.c: ^~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Compiler output

Implementation: herf
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sort.c: sort.c:133:17: warning: passing 'int32 [n]' to parameter of type 'uint32 *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
sort.c: RadixSort11(x,y,n);
sort.c: ^
sort.c: sort.c:47:48: note: passing argument to parameter 'sort' here
sort.c: static void RadixSort11(uint32 *array, uint32 *sort, uint32 elements)
sort.c: ^
sort.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE herf
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE herf
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE herf
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE herf
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE herf

Compiler output

Implementation: krasnov
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: ...
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:433:11: error: unexpected token in memory operand
qsort_AVX2_HSW_256bit_int.s: lea 4(temp_space), temp_space
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:434:11: error: unexpected token in memory operand
qsort_AVX2_HSW_256bit_int.s: lea 4(bottom), bottom
qsort_AVX2_HSW_256bit_int.s: ^
qsort_AVX2_HSW_256bit_int.s: qsort_AVX2_HSW_256bit_int.s:435:5: error: ambiguous instructions require an explicit suffix (could be 'subb', 'subw', 'subl', or 'subq')
qsort_AVX2_HSW_256bit_int.s: sub $1, top
qsort_AVX2_HSW_256bit_int.s: ^

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krasnov
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krasnov
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krasnov
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krasnov
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krasnov

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_min_epi32' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: ...
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c: ********************
int32_sort.c:
int32_sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
int32_sort.c: Preprocessed source(s) and associated run script(s) are located at:
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-0311ee.c
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-0311ee.sh
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c:
int32_sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_min_epi32' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: ...
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c: ********************
int32_sort.c:
int32_sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
int32_sort.c: Preprocessed source(s) and associated run script(s) are located at:
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-a3a5af.c
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-a3a5af.sh
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c:
int32_sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_min_epi32' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: ...
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c: ********************
int32_sort.c:
int32_sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
int32_sort.c: Preprocessed source(s) and associated run script(s) are located at:
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-343bc3.c
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-343bc3.sh
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c:
int32_sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_min_epi32' requires target feature 'xsave', but would be inlined into function 'minmax8' that is compiled without support for 'xsave'
int32_sort.c: ...
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c: ********************
int32_sort.c:
int32_sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
int32_sort.c: Preprocessed source(s) and associated run script(s) are located at:
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-ce5c5c.c
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-ce5c5c.sh
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c:
int32_sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_min_epi32' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: ...
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c: ********************
int32_sort.c:
int32_sort.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
int32_sort.c: Preprocessed source(s) and associated run script(s) are located at:
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-7fb396.c
int32_sort.c: clang: note: diagnostic msg: /tmp/int32_sort-7fb396.sh
int32_sort.c: clang: note: diagnostic msg:
int32_sort.c:
int32_sort.c: ********************

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2

Compiler output

Implementation: oldavx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
int32_sort.c: int32_sort.c: In function ‘minmax8’:
int32_sort.c: int32_sort.c:330:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: int32_sort.c: In function ‘minmax02through1315’:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avxintrin.h:900:1: error: inlining failed in call to always_inline ‘_mm256_storeu_si256’: target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^~~~~~~~~~~~~~~~~~~
int32_sort.c: ...
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) (x + 8));
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avxintrin.h:894:1: error: inlining failed in call to always_inline ‘_mm256_loadu_si256’: target specific option mismatch
int32_sort.c: _mm256_loadu_si256 (__m256i const *__P)
int32_sort.c: ^~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:16:11: note: called from here
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE oldavx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE oldavx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE oldavx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE oldavx2

Compiler output

Implementation: sid1607
Security model: unknown
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
merge_sort.cpp: merge_sort.cpp:30:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto t = a;
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:128:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto a8_1 = register_shuffle(a8, global_masks.swap_128);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:129:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto b8_1 = register_shuffle(b8, global_masks.swap_128);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:134:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: ...
merge_sort.cpp: merge_sort.cpp:177:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto rb = load_reg256(&a[j]);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:248:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto mid = i + merge_size - 1;
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:249:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto end = std::min(i+2*merge_size-1, n-1);
merge_sort.cpp: ^
merge_sort.cpp: 15 warnings and 2 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sid1607
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sid1607
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sid1607
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sid1607

Compiler output

Implementation: sid1607
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
api.cpp: In file included from api.cpp:3:0:
api.cpp: merge_sort.h: In function ‘__m256i load_reg256(int*)’:
api.cpp: merge_sort.h:17:34: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
api.cpp: inline __m256i load_reg256(int *a) {
api.cpp: ^
merge_sort.cpp: In file included from merge_sort.cpp:1:0:
merge_sort.cpp: merge_sort.h: In function ‘__m256i load_reg256(int*)’:
merge_sort.cpp: merge_sort.h:17:34: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
merge_sort.cpp: inline __m256i load_reg256(int *a) {
merge_sort.cpp: ^
merge_sort.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:43:0,
merge_sort.cpp: from merge_sort.h:1,
merge_sort.cpp: from merge_sort.cpp:1:
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx2intrin.h: In function ‘__m256i reverse(__m256i&)’:
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx2intrin.h:1041:1: error: inlining failed in call to always_inline ‘__m256i _mm256_permutevar8x32_epi32(__m256i, __m256i)’: target specific option mismatch
merge_sort.cpp: _mm256_permutevar8x32_epi32 (__m256i __X, __m256i __Y)
merge_sort.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~
merge_sort.cpp: merge_sort.cpp:11:37: note: called from here
merge_sort.cpp: return _mm256_permutevar8x32_epi32(v, global_masks.rev_idx_mask);
merge_sort.cpp: ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE sid1607
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE sid1607
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE sid1607
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE sid1607