Implementation notes: amd64, bitvise, crypto_sort/int32

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
497610074 0 022673 776 752avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
498310074 0 022673 776 752avx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
498710554 0 023153 776 752avx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
51249286 0 018319 768 736avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
57439504 0 018633 752 776avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
760212256 0 022309 768 808avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
767413165 0 023189 768 808avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
768914101 0 027526 776 808avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
100165505 8 10119393 840 936sid1607g++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
101424933 8 12918026 856 896sid1607clang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
101844958 8 12918058 856 896sid1607clang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
101964958 8 12918058 856 896sid1607clang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
103393683 8 12913224 848 864sid1607clang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
108394230 8 10114752 832 936sid1607g++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
110214423 8 10114904 832 936sid1607g++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
157976192 0 018721 776 752oldavx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
158116656 0 019185 776 752oldavx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
158336192 0 018721 776 752oldavx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1584517943 0 027949 768 808krasnovgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1602519369 0 032790 776 808krasnovgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
163193721 0 012719 768 736oldavx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1728017903 0 027853 768 808krasnovgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
190294505 0 014525 768 808oldavx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
192195344 0 018734 776 808oldavx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
193804748 0 014733 768 808oldavx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1961617888 0 026969 752 776krasnovgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
203711515 0 014033 776 752herfclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
208141515 0 014033 776 752herfclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
20952513 0 09471 768 736herfclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
209641515 0 014033 776 752herfclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
22577601 0 013974 776 808herfgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
235292926 0 012025 752 776oldavx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
243033834 8 10113428 816 904sid1607g++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
28106631 0 010565 768 808herfgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
30011634 0 010613 768 808herfgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
322291347 0 011375 776 816stdsortg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
33738927 0 010083 760 784stdsortg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
34193566 0 09617 752 776herfgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
348601374 0 014808 784 816stdsortg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
382801899 0 014560 816 744stdsortclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
412061202 0 010318 808 728stdsortclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
459051338 0 011423 776 816stdsortg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
555471892 0 014560 816 744stdsortclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
559391179 0 010135 768 736x86clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
560491674 0 014201 776 752x86clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
562861892 0 014560 816 744stdsortclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
569381443 0 013961 776 752x86clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
569481443 0 013961 776 752x86clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
628771402 0 011389 768 808x86gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
671791293 0 011237 768 808x86gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
671931293 0 014662 776 808x86gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
675521115 0 010161 752 776x86gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
845012157 0 014681 776 752portable4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
845642157 0 014681 776 752portable4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
845722405 0 014921 776 752portable4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
913623997 0 016521 776 752portable5clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
915713997 0 016521 776 752portable5clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
918484670 0 017193 776 752portable5clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
921392431 0 015790 776 808portable4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
94341830 0 010765 768 808portable4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
943461563 0 014926 776 808portable3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
94393724 0 09671 768 736portable4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
94791893 0 010877 768 808portable4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
95679669 0 09721 752 776portable4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
977091396 0 013913 776 752portable3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
978191400 0 010359 768 736portable5clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1001171362 0 013881 776 752portable3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1002261362 0 013881 776 752portable3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1027141483 0 011429 768 808portable5gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
103325439 0 010421 768 808portable3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
103430427 0 010373 768 808portable3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
103783341 0 09303 768 736portable3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1037923105 0 016478 776 808portable5gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
106277339 0 09385 752 776portable3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1063181623 0 011597 768 808portable5gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1076311285 0 010337 752 776portable5gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910

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

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
api.cpp: In file included from sorter.h:120:0,
api.cpp: from aspas.tcc:31,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: sorter_avx2.tcc:96:47: warning: ignoring attributes on template argument '__m256 {aka __vector(8) float}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256>::value>::type
api.cpp: ^
api.cpp: sorter_avx2.tcc:150:47: warning: ignoring attributes on template argument '__m256 {aka __vector(8) float}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256>::value>::type
api.cpp: ^
api.cpp: sorter_avx2.tcc:317:47: warning: ignoring attributes on template argument '__m256 {aka __vector(8) float}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256>::value>::type
api.cpp: ^
api.cpp: sorter_avx2.tcc:647:48: warning: ignoring attributes on template argument '__m256i {aka __vector(4) long long int}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256i>::value>::type
api.cpp: ^
api.cpp: sorter_avx2.tcc:701:48: warning: ignoring attributes on template argument '__m256i {aka __vector(4) long long int}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256i>::value>::type
api.cpp: ^
api.cpp: sorter_avx2.tcc:854:48: warning: ignoring attributes on template argument '__m256i {aka __vector(4) long long int}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256i>::value>::type
api.cpp: ^
api.cpp: sorter_avx2.tcc:1184:48: warning: ignoring attributes on template argument '__m256d {aka __vector(4) double}' [-Wignored-attributes]
api.cpp: typename std::enable_if<std::is_same<T, __m256d>::value>::type
api.cpp: ^
api.cpp: ...

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

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: 4, 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

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: 4, 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