Implementation notes: amd64, h4e450, crypto_sort/int32

Computer: h4e450
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20200618
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
264483901 0 016390 776 808radix256mlgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
284861945 0 013712 760 736radix256mlclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
295696777 0 019278 776 808radix256smlgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020051020200510
301961159 0 011216 760 736radix256mlclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
302061159 0 012624 760 736radix256mlclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
302821159 0 011216 760 736radix256mlclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
302911087 0 09854 752 736radix256mlclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
329843059 0 014832 760 736radix256smlclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020051020200510
330411324 0 011253 768 808radix256mlgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
331742001 0 011877 768 808radix256smlgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020051020200510
332361341 0 011213 768 808radix256mlgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
343001188 0 010233 752 776radix256mlgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
352071829 0 011888 760 736radix256smlclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020051020200510
352731829 0 013296 760 736radix256smlclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020051020200510
353301829 0 011888 760 736radix256smlclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020051020200510
358291704 0 010478 752 736radix256smlclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020051020200510
385081996 0 011941 768 808radix256smlgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020051020200510
398711816 0 010857 752 776radix256smlgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020051020200510
544491686 0 013287 800 728stdsortclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
555851291 0 011247 776 816stdsortg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
561211647 0 011847 800 728stdsortclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
563781647 0 011847 800 728stdsortclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
563871798 0 014376 784 816stdsortg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
613791178 0 010093 792 728stdsortclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
671791327 0 011359 776 816stdsortg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
74537927 0 010051 760 784stdsortg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
80622600 0 013062 776 808herfgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
88051614 0 010461 768 808herfgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
91656965 0 012720 760 736herfclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019112420191017
93684566 0 09585 752 776herfgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
94971514 0 09262 752 736herfclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
95042551 0 010592 760 736herfclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
95095551 0 012000 760 736herfclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
95123551 0 010592 760 736herfclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091120190910
1049239060 0 021526 776 808x863gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052220200522
1052938631 0 018549 768 808x863gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052220200522
1060018545 0 018397 768 808x863gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052220200522
1130315642 0 017112 760 736x863clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052220200522
1146465706 0 017480 760 736x863clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052220200522
1174825467 0 015520 760 736x863clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052220200522
1176525467 0 015520 760 736x863clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052220200522
118166624 0 010533 768 808herfgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1211784326 0 013094 752 736x863clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052220200522
1301601674 0 013432 760 736x86clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1303781443 0 011480 760 736x86clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1303871443 0 011480 760 736x86clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1310101658 0 013112 760 736x86clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1369573972 0 013025 752 776x863gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052220200522
1396071181 0 09942 752 736x86clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1416301115 0 010129 752 776x86gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1430891342 0 011261 768 808x86gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1441241276 0 011133 768 808x86gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1446801276 0 013750 776 808x86gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1663071398 0 012840 760 736portable4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1707151398 0 013144 760 736portable4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1709901194 0 011240 760 736portable4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1710141194 0 011240 760 736portable4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
177745669 0 09689 752 776portable4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
1802672870 0 014312 760 736portable5clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1844482474 0 012520 760 736portable5clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1845182474 0 012520 760 736portable5clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1861342870 0 014616 760 736portable5clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
192460847 0 010765 768 808portable4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
194731725 0 09478 752 736portable4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
197457401 0 011848 760 736portable3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
1990101402 0 010150 752 736portable5clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
200797765 0 010613 768 808portable4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
200906401 0 012152 760 736portable3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
210045341 0 09094 752 736portable3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
210278382 0 010424 760 736portable3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
210382382 0 010424 760 736portable3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122120191221
2112751564 0 011485 768 808portable5gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
2124391285 0 010305 752 776portable5gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
2147663220 0 015694 776 808portable4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
219141418 0 010269 768 808portable3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
2199253871 0 016342 776 808portable5gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
220371418 0 012886 776 808portable3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
222908433 0 010341 768 808portable3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
2255871418 0 011277 768 808portable5gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
232683339 0 09353 752 776portable3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409

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:204:
api.cpp: In file included from ./aspas.tcc:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: ./merger.tcc:187:17: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp: if (num & 1 == 1)
api.cpp: ^~~~~~~~
api.cpp: ./merger.tcc:187:17: note: place parentheses around the '==' expression to silence this warning
api.cpp: if (num & 1 == 1)
api.cpp: ^
api.cpp: ( )
api.cpp: ./merger.tcc:187:17: note: place parentheses around the & expression to evaluate it first
api.cpp: if (num & 1 == 1)
api.cpp: ^
api.cpp: ( )
api.cpp: ./merger.tcc:196:13: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp: if(count&1==1)
api.cpp: ^~~~~
api.cpp: ./merger.tcc:196:13: note: place parentheses around the '==' expression to silence this warning
api.cpp: if(count&1==1)
api.cpp: ^
api.cpp: ( )
api.cpp: ./merger.tcc:196:13: note: place parentheses around the & expression to evaluate it first
api.cpp: if(count&1==1)
api.cpp: ^
api.cpp: ...
try.cpp: crypto_sort_int32.a(api.o): In function `crypto_sort_int32_aspas':
try.cpp: api.cpp:(.text+0x...): undefined reference to `_ZN5aspas8internal6sorterIiEENSt9enable_ifIXsr3std7is_sameIT_iEE5valueEvE4typeERPS3_j'
try.cpp: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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]+0x118): 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]+0x29a): 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]+0x115): 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]+0x17c): 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]+0x23f): 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]+0x2d2): 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]+0x25b): 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]+0x351): 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]+0x12a): 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]+0x1e4): 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]+0x27a): 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]+0x2bd): 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: int32x8 x1 = int32x8_load(&x[i+q]);
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:958: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 x2 = int32x8_load(&x[i+2*q]);
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:959: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 x3 = int32x8_load(&x[i+3*q]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
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: int32x8 x1 = int32x8_load(&x[i+q]);
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:958: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 x2 = int32x8_load(&x[i+2*q]);
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:959: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 x3 = int32x8_load(&x[i+3*q]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
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/7/include/immintrin.h:41:0,
sort.c: from sort.c:4:
sort.c: sort.c: In function 'minmax_vector':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:926:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
sort.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
sort.c: ^~~~~~~~~~~~~~~~~~~
sort.c: sort.c:10:28: note: called from here
sort.c: #define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c:38:5: note: in expansion of macro 'int32x8_store'
sort.c: int32x8_store(y + n - 8,y0);
sort.c: ^~~~~~~~~~~~~
sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:926:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
sort.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
sort.c: ^~~~~~~~~~~~~~~~~~~
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 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 -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: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:333: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 *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:333:37: error: always_inline function '_mm256_max_epi32' 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 *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:364:34: error: always_inline function '_mm_min_epi32' requires target feature 'sse4.1', but would be inlined into function 'minmax4' that is compiled without support for 'sse4.1'
int32_sort.c: _mm_storeu_si128((__m128i *) x,_mm_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:365:34: error: always_inline function '_mm_max_epi32' requires target feature 'sse4.1', but would be inlined into function 'minmax4' that is compiled without support for 'sse4.1'
int32_sort.c: _mm_storeu_si128((__m128i *) y,_mm_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:16:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'minmax02through1315' that is compiled without support for 'xsave'
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE oldavx2
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 'avx2', but would be inlined into function 'minmax8' that is compiled without support for 'avx2'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:333: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 *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:333:37: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'minmax8' that is compiled without support for 'avx2'
int32_sort.c: _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:364:34: error: always_inline function '_mm_min_epi32' requires target feature 'ssse3', but would be inlined into function 'minmax4' that is compiled without support for 'ssse3'
int32_sort.c: _mm_storeu_si128((__m128i *) x,_mm_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:365:34: error: always_inline function '_mm_max_epi32' requires target feature 'ssse3', but would be inlined into function 'minmax4' that is compiled without support for 'ssse3'
int32_sort.c: _mm_storeu_si128((__m128i *) y,_mm_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:16:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'sse4.2'
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/7/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/7/include/avxintrin.h:926:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
int32_sort.c: ^~~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:25:3: note: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:926:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
int32_sort.c: ^~~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:24:3: note: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
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:162:7: error: always_inline function '_mm256_load_si256' requires target feature 'xsave', but would be inlined into function 'initialize' that is compiled without support for 'xsave'
merge_sort.cpp: _mm256_load_si256((__m256i *) &load_store_mask[0]);
merge_sort.cpp: ^
merge_sort.cpp: 1 error 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/7/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/7/include/avx2intrin.h: In function '__m256i reverse(__m256i&)':
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/7/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