Implementation notes: amd64, latour, crypto_sort/int32

Computer: latour
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
259291843 0 011326 784 736T:radix256smlclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
276481341 0 013732 736 808T:radix256mlgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
287461373 0 011539 728 808T:radix256mlgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
293403171 0 014728 792 736T:radix256smlclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
294572006 0 013416 792 736T:radix256mlclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
299521179 0 010231 712 776T:radix256mlgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
301143171 0 014600 792 736T:radix256smlclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
306003171 0 013792 792 736T:radix256smlclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
311671941 0 014348 736 808T:radix256smlgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
314372006 0 012608 792 736T:radix256mlclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
316262053 0 012235 728 808T:radix256smlgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
316801937 0 011955 728 808T:radix256smlgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
317701292 0 011299 728 808T:radix256mlgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
332102006 0 013544 792 736T:radix256mlclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
337503171 0 013792 792 736T:radix256smlclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
355052006 0 012608 792 736T:radix256mlclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
366031182 0 010638 784 736T:radix256mlclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
373231774 0 010839 712 776T:radix256smlgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
58671606 0 012972 736 808T:herfgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
60210556 0 09599 712 776T:herfgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
60246612 0 010747 728 808T:herfgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
76014928 0 012432 792 736T:herfclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
76905928 0 012304 792 736T:herfclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
77877510 0 09950 784 736T:herfclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
80028928 0 011496 792 736T:herfclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
816481304 0 011541 736 800T:stdsortg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
820351348 0 012071 832 728T:stdsortclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
823051115 0 010701 824 728T:stdsortclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
824401348 0 012071 832 728T:stdsortclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
83124618 0 010603 728 808T:herfgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
834661996 0 013679 832 728T:stdsortclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
84888928 0 011496 792 736T:herfclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
849511345 0 013806 744 800T:stdsortg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
896131300 0 011389 736 800T:stdsortg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
89784964 0 010113 720 768T:stdsortg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
918548559 0 018547 728 808x863gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
924668718 0 021076 736 808x863gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
930518302 0 018435 728 808x863gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
945545089 0 016496 792 736x863clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
947525089 0 016624 792 736x863clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
961384902 0 015496 792 736x863clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
961834902 0 015496 792 736x863clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
962194157 0 013614 784 736x863clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1064971569 0 013080 792 736x86clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1066231569 0 012952 792 736x86clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1082701361 0 011936 792 736x86clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1083601361 0 011936 792 736x86clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1099531192 0 011331 728 808x86gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1100161160 0 010598 784 736x86clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1121671192 0 013556 736 808x86gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1129051043 0 010087 712 776x86gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1224991298 0 011283 728 808x86gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1294744178 0 013263 712 776x863gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1593811302 0 011872 792 736portable4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1596421302 0 011872 792 736portable4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1606772067 0 014436 736 808portable4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1621081414 0 012920 792 736portable4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1621711414 0 012792 792 736portable4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
164574716 0 010150 784 736portable4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
165528799 0 010931 728 808portable4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
166662868 0 010851 728 808portable4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1713511273 0 010311 712 776portable5gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
173691687 0 09727 712 776portable4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1780381376 0 010806 784 736portable5clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1781192278 0 013656 792 736portable5clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1784522278 0 013784 792 736portable5clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1810172054 0 012624 792 736portable5clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1810532054 0 012624 792 736portable5clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
1864081449 0 011587 728 808portable5gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1873082712 0 015076 736 808portable5gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
1895041563 0 011539 728 808portable5gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
195975391 0 010960 792 736portable3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
195984391 0 010960 792 736portable3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
197109375 0 011752 792 736portable3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
199746375 0 011880 792 736portable3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
201141450 0 010427 728 808portable3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
204552425 0 010571 728 808portable3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
204741425 0 012796 736 808portable3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826
215460337 0 09766 784 736portable3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082920200826
222552350 0 09399 712 776portable3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082920200826

Test failure

Implementation: T:krasnov
Security model: timingleaks
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 T:krasnov
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:krasnov
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:krasnov
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:krasnov

Compiler output

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

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

Compiler output

Implementation: T:aspas
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
api.cpp: In file included from /usr/include/c++/5/cstdint:35:0,
api.cpp: from aspas.h:30,
api.cpp: from api.cpp:3:
api.cpp: /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
api.cpp: #error This file requires compiler and library support \
api.cpp: ^
api.cpp: In file included from api.cpp:3:0:
api.cpp: aspas.h:49:1: warning: scoped enums only available with -std=c++11 or -std=gnu++11
api.cpp: enum class simd_width : std::int8_t
api.cpp: ^
api.cpp: aspas.h:49:1: warning: elaborated-type-specifier for a scoped enum must not use the 'class' keyword
api.cpp: aspas.h:49:12: error: use of enum 'simd_width' without previous declaration
api.cpp: enum class simd_width : std::int8_t
api.cpp: ^
api.cpp: aspas.h:49:23: error: expected unqualified-id before ':' token
api.cpp: enum class simd_width : std::int8_t
api.cpp: ^
api.cpp: aspas.h:121:15: error: 'enable_if' in namespace 'std' does not name a template type
api.cpp: typename std::enable_if<std::is_same<T, int>::value>::type
api.cpp: ^
api.cpp: aspas.h:121:24: error: expected unqualified-id before '<' token
api.cpp: typename std::enable_if<std::is_same<T, int>::value>::type
api.cpp: ^
api.cpp: aspas.h:138:15: error: 'enable_if' in namespace 'std' does not name a template type
api.cpp: typename std::enable_if<std::is_same<T, float>::value>::type
api.cpp: ...

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

Compiler output

Implementation: avx2
Security model: constbranchindex
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: constbranchindex
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: constbranchindex
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/5/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/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
sort.c: ^
sort.c: sort.c:10:28: error: 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/5/include/immintrin.h:41:0,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
sort.c: _mm256_storeu_si256 (__m256i *__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: T:herf
Security model: timingleaks
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 T:herf
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:herf
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:herf
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:herf
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:herf

Compiler output

Implementation: T:krasnov
Security model: timingleaks
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: .set A0, %ymm0
qsort_AVX2_HSW_256bit_int.S: ^
qsort_AVX2_HSW_256bit_int.S: qsort_AVX2_HSW_256bit_int.S:7:10: error: unknown token in expression
qsort_AVX2_HSW_256bit_int.S: .set A2, %ymm2
qsort_AVX2_HSW_256bit_int.S: ^
qsort_AVX2_HSW_256bit_int.S: qsort_AVX2_HSW_256bit_int.S:7:10: error: missing expression
qsort_AVX2_HSW_256bit_int.S: .set A2, %ymm2
qsort_AVX2_HSW_256bit_int.S: ^
qsort_AVX2_HSW_256bit_int.S: qsort_AVX2_HSW_256bit_int.S:9:10: error: unknown token in expression
qsort_AVX2_HSW_256bit_int.S: .set A4, %ymm4
qsort_AVX2_HSW_256bit_int.S: ^
qsort_AVX2_HSW_256bit_int.S: qsort_AVX2_HSW_256bit_int.S:9:10: error: missing expression
qsort_AVX2_HSW_256bit_int.S: .set A4, %ymm4
qsort_AVX2_HSW_256bit_int.S: ^
qsort_AVX2_HSW_256bit_int.S: qsort_AVX2_HSW_256bit_int.S:11:10: error: unknown token in expression
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 T:krasnov
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:krasnov
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:krasnov
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:krasnov
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:krasnov

Compiler output

Implementation: oldavx2
Security model: constbranchindex
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: constbranchindex
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: _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 '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: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: constbranchindex
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/5/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/5/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:25:3: error: 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/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:24:3: error: 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/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: T:sid1607
Security model: timingleaks
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: auto a4 = _mm256_blend_epi32(mina, maxa, 0xf0);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:135:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto b4 = _mm256_blend_epi32(minb, maxb, 0xf0);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:138:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto a4_1 = _mm256_shuffle_epi32(a4, 0x4e);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:139:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto b4_1 = _mm256_shuffle_epi32(b4, 0x4e);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:144:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: auto a2 = _mm256_unpacklo_epi64(mina, maxa);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:145:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
merge_sort.cpp: ...

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

Compiler output

Implementation: T:sid1607
Security model: timingleaks
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: merge_sort.cpp: In function 'void minmax(__m256i&, __m256i&)':
merge_sort.cpp: merge_sort.cpp:30:8: error: 't' does not name a type
merge_sort.cpp: auto t = a;
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:32:24: error: 't' was not declared in this scope
merge_sort.cpp: b = _mm256_max_epi32(t, b);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp: In function 'void intra_register_sort(__m256i&, __m256i&)':
merge_sort.cpp: merge_sort.cpp:128:8: error: 'a8_1' does not name a type
merge_sort.cpp: auto a8_1 = register_shuffle(a8, global_masks.swap_128);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:129:8: error: 'b8_1' does not name a type
merge_sort.cpp: auto b8_1 = register_shuffle(b8, global_masks.swap_128);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:131:14: error: 'a8_1' was not declared in this scope
merge_sort.cpp: minmax(a8, a8_1, mina, maxa);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:132:14: error: 'b8_1' was not declared in this scope
merge_sort.cpp: minmax(b8, b8_1, minb, maxb);
merge_sort.cpp: ^
merge_sort.cpp: ...

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