Implementation notes: amd64, hunsnivy, crypto_sort/int32

Computer: hunsnivy
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
181542057 0 016176 812 888T:radix256mlclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
182242057 0 014504 812 888T:radix256mlclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
187112075 0 014576 812 888T:radix256mlclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
191761028 0 010259 756 920T:radix256mlgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
192541253 0 011768 780 952T:radix256mlgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
195683578 0 017712 812 888T:radix256smlclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
195913578 0 016040 812 888T:radix256smlclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
196461187 0 010950 804 888T:radix256mlclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
197892347 0 012606 804 888T:radix256smlclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
198421271 0 011518 804 888T:radix256mlclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
204101837 0 012360 780 952T:radix256smlgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
204331837 0 013336 780 952T:radix256smlgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
207831853 0 011638 804 888T:radix256smlclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
209331253 0 012744 780 952T:radix256mlgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
219541900 0 012127 772 952T:radix256smlgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
221581567 0 010811 756 920T:radix256smlgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
223463241 0 015752 812 888T:radix256smlclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
224361267 0 011487 772 952T:radix256mlgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
259851268 0 011185 844 888T:stdsortclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
27320931 0 015040 812 888T:herfclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
28309551 0 011040 780 952T:herfgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
28416950 0 013440 812 888T:herfclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
28636931 0 013368 812 888T:herfclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
28799522 0 010278 804 888T:herfclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
28893651 0 010894 804 888T:herfclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
29007486 0 09707 756 920T:herfgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
293221746 0 014331 852 888T:stdsortclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
29551550 0 012016 780 952T:herfgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
315201639 0 015891 852 888T:stdsortclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
32066913 0 010221 764 952T:stdsortg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
34169540 0 010743 772 952T:herfgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
386501347 0 012906 788 984T:stdsortg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
411721130 0 011433 780 984T:stdsortg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
492911312 0 011898 788 984T:stdsortg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
69341685 0 012152 780 952portable4gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
69493685 0 011176 780 952portable4gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
695698840 0 019336 780 952x863gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
697729242 0 020720 780 952x863gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
70878848 0 013328 812 888portable4clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
71591649 0 010406 804 888portable4clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
71600847 0 014944 812 888portable4clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
719229430 0 019639 772 952x863gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
72595815 0 013240 812 888portable4clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
75511765 0 010967 772 952portable4gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
757995274 0 017792 812 888x863clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
763155274 0 019408 812 888x863clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
780865197 0 017656 812 888x863clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
790714042 0 013814 804 888x863clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
791024564 0 014846 804 888x863clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
801451197 0 010950 804 888portable5clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
802681183 0 010934 804 888x86clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
804081251 0 011744 780 952portable5gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
804241251 0 012720 780 952portable5gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
805141267 0 012736 780 952x86gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
810321267 0 011760 780 952x86gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
82254361 0 012848 812 888compactclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
82407361 0 012848 812 888portable3clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
82542361 0 014464 812 888compactclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
827611618 0 014112 812 888x86clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
828381375 0 011575 772 952x86gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
829881585 0 015696 812 888x86clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
829971360 0 011559 772 952portable5gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
831171654 0 014144 812 888portable5clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
831321653 0 015760 812 888portable5clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
83441357 0 012792 812 888portable3clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
83516357 0 012792 812 888compactclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
840671457 0 013896 812 888portable5clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
842001073 0 010299 756 920x86gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
843581441 0 013880 812 888x86clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84506361 0 014464 812 888portable3clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84534343 0 010840 780 952portable3gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84580343 0 010840 780 952compactgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84618343 0 011816 780 952portable3gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84648343 0 011816 780 952compactgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
847551552 0 011798 804 888x86clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
87327370 0 010575 772 952portable3gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
87671370 0 010575 772 952compactgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
910293866 0 013115 756 920x863gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
93207284 0 09507 756 920compactgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
94086284 0 09507 756 920portable3gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
94760301 0 010054 804 888compactclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
94891301 0 010054 804 888portable3clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1395791963 0 012222 804 888portable5clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
141818971 0 011222 804 888portable4clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
157778631 0 09851 756 920portable4gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1640631112 0 010331 756 920portable5gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
165485507 0 010758 804 888compactclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
165552507 0 010758 804 888portable3clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1681853538 0 014473 844 888T:stdsortclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Test failure


error 111

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:krasnovclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:krasnovclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:krasnovclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:krasnovclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:krasnovclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:krasnovgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:krasnovgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:krasnovgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:krasnovgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


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:31:
api.cpp: In file included from ./sorter.h:123:
api.cpp: In file included from ./sorter_avx.tcc:27:
api.cpp: ./util/extintrin.h:37:13: warning: unused variable 'max1' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:             ^
api.cpp: ./util/extintrin.h:37:25: warning: unused variable 'max2' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                         ^
api.cpp: ./util/extintrin.h:53:19: warning: unused variable 'min1' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                   ^
api.cpp: ./util/extintrin.h:53:31: warning: unused variable 'min2' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                               ^
api.cpp: In file included from api.cpp:3:
api.cpp: In file included from ./aspas.h:204:
api.cpp: In file included from ./aspas.tcc:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: ./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: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:aspasclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


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:31:
api.cpp: In file included from ./sorter.h:123:
api.cpp: In file included from ./sorter_avx.tcc:27:
api.cpp: ./util/extintrin.h:37:25: warning: unused variable 'max2' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                         ^
api.cpp: ./util/extintrin.h:37:13: warning: unused variable 'max1' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:             ^
api.cpp: ./util/extintrin.h:53:31: warning: unused variable 'min2' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                               ^
api.cpp: ./util/extintrin.h:53:19: warning: unused variable 'min1' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                   ^
api.cpp: In file included from api.cpp:3:
api.cpp: In file included from ./aspas.h:204:
api.cpp: In file included from ./aspas.tcc:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: ./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: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:aspasclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


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:31:
api.cpp: In file included from ./sorter.h:123:
api.cpp: In file included from ./sorter_avx.tcc:27:
api.cpp: ./util/extintrin.h:37:25: warning: unused variable 'max2' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                         ^
api.cpp: ./util/extintrin.h:37:13: warning: unused variable 'max1' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:             ^
api.cpp: ./util/extintrin.h:53:19: warning: unused variable 'min1' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                   ^
api.cpp: ./util/extintrin.h:53:31: warning: unused variable 'min2' [-Wunused-variable]
api.cpp:     __m128i max1, min1, max2, min2;
api.cpp:                               ^
api.cpp: In file included from api.cpp:3:
api.cpp: In file included from ./aspas.h:204:
api.cpp: In file included from ./aspas.tcc:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: ./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: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:aspasclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aspasclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


api.cpp: In file included from sorter_avx.tcc:27,
api.cpp:                  from sorter.h:123,
api.cpp:                  from aspas.tcc:31,
api.cpp:                  from aspas.h:204,
api.cpp:                  from api.cpp:3:
api.cpp: util/extintrin.h: In function '__m256i util::_my_mm256_min_epi32(__m256i, __m256i)':
api.cpp: util/extintrin.h:37:13: warning: unused variable 'max1' [-Wunused-variable]
api.cpp:    37 |     __m128i max1, min1, max2, min2;
api.cpp:       |             ^~~~
api.cpp: util/extintrin.h:37:25: warning: unused variable 'max2' [-Wunused-variable]
api.cpp:    37 |     __m128i max1, min1, max2, min2;
api.cpp:       |                         ^~~~
api.cpp: util/extintrin.h: In function '__m256i util::_my_mm256_max_epi32(__m256i, __m256i)':
api.cpp: util/extintrin.h:53:19: warning: unused variable 'min1' [-Wunused-variable]
api.cpp:    53 |     __m128i max1, min1, max2, min2;
api.cpp:       |                   ^~~~
api.cpp: util/extintrin.h:53:31: warning: unused variable 'min2' [-Wunused-variable]
api.cpp:    53 |     __m128i max1, min1, max2, min2;
api.cpp:       |                               ^~~~
api.cpp: In file included from sorter.h:123,
api.cpp:                  from aspas.tcc:31,
api.cpp:                  from aspas.h:204,
api.cpp:                  from api.cpp:3:
api.cpp: sorter_avx.tcc: At global scope:
api.cpp: sorter_avx.tcc:95:47: warning: ignoring attributes on template argument '__m256' [-Wignored-attributes]
api.cpp: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:aspasg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:aspasg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:aspasg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:aspasg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


sort.c: sort.c:960:9: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort' that is compiled without support for 'avx2'
sort.c:         int32x8_MINMAX(x0,x2);
sort.c:         ^
sort.c: sort.c:16:15: note: expanded from macro 'int32x8_MINMAX'
sort.c:   int32x8 c = int32x8_min(a,b); \
sort.c:               ^
sort.c: sort.c:11:21: note: expanded from macro 'int32x8_min'
sort.c: #define int32x8_min _mm256_min_epi32
sort.c:                     ^
sort.c: sort.c:960:9: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort' that is compiled without support for 'avx2'
sort.c: sort.c:17:7: note: expanded from macro 'int32x8_MINMAX'
sort.c:   b = int32x8_max(a,b); \
sort.c:       ^
sort.c: sort.c:12:21: note: expanded from macro 'int32x8_max'
sort.c: #define int32x8_max _mm256_max_epi32
sort.c:                     ^
sort.c: sort.c:961:9: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort' that is compiled without support for 'avx2'
sort.c:         int32x8_MINMAX(x1,x3);
sort.c:         ^
sort.c: sort.c:16:15: note: expanded from macro 'int32x8_MINMAX'
sort.c:   int32x8 c = int32x8_min(a,b); \
sort.c:               ^
sort.c: sort.c:11:21: note: expanded from macro 'int32x8_min'
sort.c: #define int32x8_min _mm256_min_epi32
sort.c:                     ^
sort.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
sort.c:     for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c:                                        ^
sort.c: sort.c:940:40: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
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:956:22: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
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:957:22: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
sort.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
sort.c:                  from sort.c:4:
sort.c: sort.c: In function 'minmax_vector':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:363:1: error: inlining failed in call to 'always_inline' '_mm256_max_epi32': target specific option mismatch
sort.c:   363 | _mm256_max_epi32 (__m256i __A, __m256i __B)
sort.c:       | ^~~~~~~~~~~~~~~~
sort.c: sort.c:12:21: note: called from here
sort.c:    12 | #define int32x8_max _mm256_max_epi32
sort.c:       |                     ^
sort.c: sort.c:17:7: note: in expansion of macro 'int32x8_max'
sort.c:    17 |   b = int32x8_max(a,b); \
sort.c:       |       ^~~~~~~~~~~
sort.c: sort.c:36:5: note: in expansion of macro 'int32x8_MINMAX'
sort.c:    36 |     int32x8_MINMAX(x0,y0);
sort.c:       |     ^~~~~~~~~~~~~~
sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
sort.c:                  from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:405:1: error: inlining failed in call to 'always_inline' '_mm256_min_epi32': target specific option mismatch
sort.c:   405 | _mm256_min_epi32 (__m256i __A, __m256i __B)
sort.c:       | ^~~~~~~~~~~~~~~~
sort.c: sort.c:11:21: note: called from here
sort.c:    11 | #define int32x8_min _mm256_min_epi32
sort.c:       |                     ^
sort.c: sort.c:16:15: note: in expansion of macro 'int32x8_min'
sort.c:    16 |   int32x8 c = int32x8_min(a,b); \
sort.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:herfclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:herfclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:herfclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:herfclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:herfclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


sort.c: sort.c: In function 'crypto_sort_int32_herf_timingleaks':
sort.c: sort.c:133:17: warning: pointer targets in passing argument 2 of 'RadixSort11' differ in signedness [-Wpointer-sign]
sort.c:   133 |   RadixSort11(x,y,n);
sort.c:       |                 ^
sort.c:       |                 |
sort.c:       |                 int32 * {aka int *}
sort.c: sort.c:47:48: note: expected 'uint32 *' {aka 'unsigned int *'} but argument is of type 'int32 *' {aka 'int *'}
sort.c:    47 | static void RadixSort11(uint32 *array, uint32 *sort, uint32 elements)
sort.c:       |                                        ~~~~~~~~^~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:herfgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:herfgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:herfgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:herfgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


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: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:18:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c:   __m256i c = _mm256_unpacklo_epi64(a,b); /* a01b01a45b45 */
int32_sort.c:               ^
int32_sort.c: int32_sort.c:19:15: error: always_inline function '_mm256_unpackhi_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c:   __m256i d = _mm256_unpackhi_epi64(a,b); /* a23b23a67b67 */
int32_sort.c:               ^
int32_sort.c: int32_sort.c:20:15: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c:   __m256i g = _mm256_min_epi32(c,d);
int32_sort.c:               ^
int32_sort.c: int32_sort.c:21:15: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c:   __m256i h = _mm256_max_epi32(c,d);
int32_sort.c:               ^
int32_sort.c: int32_sort.c:22:7: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c:   a = _mm256_unpacklo_epi64(g,h);
int32_sort.c:       ^
int32_sort.c: int32_sort.c:23:7: error: always_inline function '_mm256_unpackhi_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c:   b = _mm256_unpackhi_epi64(g,h);
int32_sort.c:       ^
int32_sort.c: int32_sort.c:32:15: error: '__builtin_ia32_pshufd256' needs target feature avx2
int32_sort.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
oldavx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oldavx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oldavx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oldavx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c:   __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c:               ^
int32_sort.c: int32_sort.c:330:15: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c:   __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c:               ^
int32_sort.c: int32_sort.c:331:15: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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:332:37: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c:   _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c:   ^
int32_sort.c: int32_sort.c:332:3: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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:333:37: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:333:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c:   _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c:   ^
int32_sort.c: int32_sort.c:333:3: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
oldavx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
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/10/include/avx2intrin.h:878:1: error: inlining failed in call to 'always_inline' '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c:   878 | _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c:       | ^~~~~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:23:7: note: called from here
int32_sort.c:    23 |   b = _mm256_unpackhi_epi64(g,h);
int32_sort.c:       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
int32_sort.c:                  from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:906:1: error: inlining failed in call to 'always_inline' '_mm256_unpacklo_epi64': target specific option mismatch
int32_sort.c:   906 | _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
int32_sort.c:       | ^~~~~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:22:7: note: called from here
int32_sort.c:    22 |   a = _mm256_unpacklo_epi64(g,h);
int32_sort.c:       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
int32_sort.c:                  from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:363:1: error: inlining failed in call to 'always_inline' '_mm256_max_epi32': target specific option mismatch
int32_sort.c:   363 | _mm256_max_epi32 (__m256i __A, __m256i __B)
int32_sort.c:       | ^~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:21:15: note: called from here
int32_sort.c:    21 |   __m256i h = _mm256_max_epi32(c,d);
int32_sort.c:       |               ^~~~~~~~~~~~~~~~~~~~~
int32_sort.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
oldavx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oldavx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oldavx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oldavx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


merge_sort.cpp: merge_sort.cpp:11:10: error: always_inline function '_mm256_permutevar8x32_epi32' requires target feature 'avx2', but would be inlined into function 'reverse' that is compiled without support for 'avx2'
merge_sort.cpp:   return _mm256_permutevar8x32_epi32(v, global_masks.rev_idx_mask);
merge_sort.cpp:          ^
merge_sort.cpp: merge_sort.cpp:31:7: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'minmax' that is compiled without support for 'avx2'
merge_sort.cpp:   a = _mm256_min_epi32(a, b);
merge_sort.cpp:       ^
merge_sort.cpp: merge_sort.cpp:32:7: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'minmax' that is compiled without support for 'avx2'
merge_sort.cpp:   b = _mm256_max_epi32(t, b);
merge_sort.cpp:       ^
merge_sort.cpp: merge_sort.cpp:134:13: error: '__builtin_ia32_pblendd256' needs target feature avx2
merge_sort.cpp:   auto a4 = _mm256_blend_epi32(mina, maxa, 0xf0);
merge_sort.cpp:             ^
merge_sort.cpp: /usr/lib/llvm-11/lib/clang/11.0.1/include/avx2intrin.h:750:12: note: expanded from macro '_mm256_blend_epi32'
merge_sort.cpp:   (__m256i)__builtin_ia32_pblendd256((__v8si)(__m256i)(V1), \
merge_sort.cpp:            ^
merge_sort.cpp: merge_sort.cpp:135:13: error: '__builtin_ia32_pblendd256' needs target feature avx2
merge_sort.cpp:   auto b4 = _mm256_blend_epi32(minb, maxb, 0xf0);
merge_sort.cpp:             ^
merge_sort.cpp: /usr/lib/llvm-11/lib/clang/11.0.1/include/avx2intrin.h:750:12: note: expanded from macro '_mm256_blend_epi32'
merge_sort.cpp:   (__m256i)__builtin_ia32_pblendd256((__v8si)(__m256i)(V1), \
merge_sort.cpp:            ^
merge_sort.cpp: merge_sort.cpp:138:15: error: '__builtin_ia32_pshufd256' needs target feature avx2
merge_sort.cpp:   auto a4_1 = _mm256_shuffle_epi32(a4, 0x4e);
merge_sort.cpp:               ^
merge_sort.cpp: /usr/lib/llvm-11/lib/clang/11.0.1/include/avx2intrin.h:470:12: note: expanded from macro '_mm256_shuffle_epi32'
merge_sort.cpp: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:sid1607clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sid1607clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sid1607clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:sid1607clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


merge_sort.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
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/10/include/avx2intrin.h: In function '__m256i reverse(__m256i&)':
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/10/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:  1041 | _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:    11 |   return _mm256_permutevar8x32_epi32(v, global_masks.rev_idx_mask);
merge_sort.cpp:       |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:sid1607g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:sid1607g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:sid1607g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:sid1607g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 54, namely:
ImplementationCompiler
compactclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable4clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable4clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable4clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable4clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable4clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable4gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable4gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable4gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable4gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable5clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable5clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable5clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable5clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable5clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
portable5gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable5gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable5gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
portable5gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x86clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x86clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x86clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x86clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x86clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x86gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x86gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x86gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x86gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x863clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x863clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x863clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x863clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x863clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
x863gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x863gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x863gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
x863gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)