Test results for amd64, hydra8, crypto_sort/int32

[Page version: 20260312 23:03:09]

Measurements for amd64, hydra8, crypto_sort Test results for amd64, hydra8, crypto_sort Test results for crypto_sort/int32
Computer: hydra8
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20260217
Operation: crypto_sort
Primitive: int32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1104418491 0 039684 1216 1576sse42gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1165419560 0 039651 1200 1544sse42gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1170019393 0 040989 1224 1576sse42gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1175320042 0 041978 1272 1512sse42clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1181724771 0 048213 1224 1576sse42gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1190921354 0 044186 1272 1512sse42clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1196219826 0 039994 1272 1512sse42clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1207219422 0 039108 1264 1512sse42clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
171571889 0 024770 1272 1512T:radix256mlclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
175161889 0 024802 1272 1512T:radix256mlclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
179391889 0 023906 1272 1512T:radix256mlclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
187921226 0 021458 1272 1512T:radix256mlclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
189842849 0 025730 1272 1512T:radix256smlclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
190983821 0 025842 1272 1512T:radix256smlclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
193453821 0 026738 1272 1512T:radix256smlclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
193461133 0 020812 1264 1512T:radix256mlclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
194161509 0 022965 1224 1576T:radix256mlgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
194921509 0 024805 1224 1576T:radix256mlgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
197222785 0 023026 1272 1512T:radix256smlclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
202211685 0 021372 1264 1512T:radix256smlclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
211312189 0 023653 1224 1576T:radix256smlgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
212952189 0 025493 1224 1576T:radix256smlgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
213721294 0 021195 1200 1544T:radix256mlgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
225701932 0 021843 1200 1544T:radix256smlgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
226502252 0 023300 1216 1576T:radix256smlgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
240351527 0 022564 1216 1576T:radix256mlgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
256456947 8 430988 1368 1512T:aspasclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
262746947 8 430116 1368 1512T:aspasclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
27968976 0 023834 1272 1512T:herfclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
28387976 0 022970 1272 1512T:herfclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
28466710 0 023949 1224 1576T:herfgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
28790710 0 022109 1224 1576T:herfgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
28807532 0 020204 1264 1512T:herfclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
29225561 0 020770 1272 1512T:herfclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
29654626 0 020523 1200 1544T:herfgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
29762976 0 023866 1272 1512T:herfclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
34854702 0 021692 1216 1576T:herfgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
361335101 8 426444 1368 1512T:aspasclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
368674966 8 426394 1376 1512T:aspasclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
471407995 8 433594 1336 1608T:aspasg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
503707382 8 431289 1344 1608T:aspasg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
618684847 8 426955 1320 1576T:aspasg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
69169621 0 020292 1264 1512portable4clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
69456842 0 023706 1272 1512portable4clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
69520842 0 023738 1272 1512portable4clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
700186645 8 429906 1328 1608T:aspasg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
702989920 0 030916 1216 1576x863gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
7080410124 0 031525 1224 1576x863gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
7098510595 0 033450 1272 1512x863clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
71625762 0 022762 1272 1512portable4clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
717259235 0 031226 1272 1512x863clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
717829067 0 029274 1272 1512x863clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
71789730 0 020954 1272 1512portable4clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
7188611139 0 034389 1224 1576x863gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
7211710933 0 033818 1272 1512x863clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
731868203 0 027876 1264 1512x863clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
78204889 0 024173 1224 1576portable4gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
782151352 0 024850 1320 1608T:stdsortg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
79830353 0 023242 1272 1512compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
799521608 0 024498 1272 1512x86clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
802791433 0 024253 1344 1512T:stdsortclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
80477353 0 023210 1272 1512portable3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
805301672 0 024562 1272 1512portable5clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
805581592 0 024450 1272 1512portable5clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
80589353 0 023242 1272 1512portable3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
806271544 0 024402 1272 1512x86clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
806521160 0 020828 1264 1512x86clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
809041640 0 025349 1344 1512T:stdsortclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
810271472 0 022477 1344 1512T:stdsortclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
81044353 0 023210 1272 1512compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
825111173 0 020844 1264 1512portable5clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
826991324 0 022467 1352 1512T:stdsortclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
828041464 0 023458 1272 1512portable5clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
839931372 0 026547 1312 1608T:stdsortg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
84093889 0 022333 1224 1576portable4gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
84154412 0 023693 1224 1576portable3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
84845426 0 021412 1216 1576compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
85301408 0 021805 1224 1576compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
854731454 0 024701 1224 1576x86gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
854831422 0 022861 1224 1576portable5gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
855611129 0 021027 1200 1544x86gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
856011400 0 021602 1272 1512x86clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
85679412 0 021853 1224 1576portable3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
857581470 0 022877 1224 1576x86gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
858901448 0 023442 1272 1512x86clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
861571422 0 024701 1224 1576portable5gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
862571400 0 021618 1272 1512portable5clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
86450349 0 020570 1272 1512portable3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
86847349 0 020554 1272 1512compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
86872349 0 022346 1272 1512compactclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
86905435 0 021460 1216 1576portable3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
87296349 0 022346 1272 1512portable3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
886061162 0 024067 1304 1608T:stdsortg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
888761681 0 022700 1216 1576portable5gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
88973291 0 019956 1264 1512compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
89086291 0 019956 1264 1512portable3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
891181701 0 022700 1216 1576x86gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
90788962 0 022692 1296 1576T:stdsortg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
91969408 0 023645 1224 1576compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
92634320 0 020203 1200 1544portable3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
93116320 0 020203 1200 1544compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
939114313 0 024243 1200 1544x863gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
110887956 0 021980 1216 1576portable4gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
161738718 0 020619 1200 1544portable4gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217
1638391170 0 021067 1200 1544portable5gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026030220260217

Test failure


error 132
timeout: the monitored command dumped core
Illegal instruction

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:krasnovclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:krasnovclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:krasnovclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:krasnovclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:krasnovclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:krasnovgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:krasnovgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:krasnovgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:krasnovgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Compiler output


sort.c: sort.c:117:11: error: always_inline function '_mm256_sub_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx2'
sort.c:   117 |   diff1 = int32x8_sub(int32x8_set(8,9,10,11,12,13,14,15),int32x8_broadcast(pos1));
sort.c:       |           ^
sort.c: sort.c:22:21: note: expanded from macro 'int32x8_sub'
sort.c:    22 | #define int32x8_sub _mm256_sub_epi32
sort.c:       |                     ^
sort.c: sort.c:118:36: error: always_inline function '_mm256_permutevar8x32_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx2'
sort.c:   118 |   x1 = int8x32_iftopthenelse(diff1,int32x8_varextract(int32x8_load(x+pos1-8),diff1),infty); // 1 3 5 7 9 11 13 15
sort.c:       |                                    ^
sort.c: sort.c:38:28: note: expanded from macro 'int32x8_varextract'
sort.c:    38 | #define int32x8_varextract _mm256_permutevar8x32_epi32
sort.c:       |                            ^
sort.c: sort.c:118:8: error: always_inline function '_mm256_blendv_epi8' requires target feature 'avx2', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx2'
sort.c:   118 |   x1 = int8x32_iftopthenelse(diff1,int32x8_varextract(int32x8_load(x+pos1-8),diff1),infty); // 1 3 5 7 9 11 13 15
sort.c:       |        ^
sort.c: sort.c:23:38: note: expanded from macro 'int8x32_iftopthenelse'
sort.c:    23 | #define int8x32_iftopthenelse(c,t,e) _mm256_blendv_epi8(e,t,c)
sort.c:       |                                      ^
sort.c: sort.c:120:8: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx2'
sort.c:   120 |   y0 = int32x8_min(x0,x1); // 0 2 4 6 8 10 12 14
sort.c:       |        ^
sort.c: sort.c:34:21: note: expanded from macro 'int32x8_min'
sort.c:    34 | #define int32x8_min _mm256_min_epi32
sort.c:       |                     ^
sort.c: sort.c:121:8: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx2'
sort.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
2026avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
2026avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
2026avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
2026avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


sort.c: sort.c:114:8: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx'
sort.c:   114 |   x0 = int32x8_load(x+0); // 0 2 4 6 8 10 12 14
sort.c:       |        ^
sort.c: sort.c:17:25: note: expanded from macro 'int32x8_load'
sort.c:    17 | #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c:       |                         ^
sort.c: sort.c:114:8: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
sort.c: sort.c:17:25: note: expanded from macro 'int32x8_load'
sort.c:    17 | #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c:       |                         ^
sort.c: sort.c:115:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx'
sort.c:   115 |   infty = int32x8_broadcast(int32_largest);
sort.c:       |           ^
sort.c: sort.c:37:27: note: expanded from macro 'int32x8_broadcast'
sort.c:    37 | #define int32x8_broadcast _mm256_set1_epi32
sort.c:       |                           ^
sort.c: sort.c:115:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
sort.c: sort.c:37:27: note: expanded from macro 'int32x8_broadcast'
sort.c:    37 | #define int32x8_broadcast _mm256_set1_epi32
sort.c:       |                           ^
sort.c: sort.c:117:23: error: always_inline function '_mm256_setr_epi32' requires target feature 'avx', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'avx'
sort.c:   117 |   diff1 = int32x8_sub(int32x8_set(8,9,10,11,12,13,14,15),int32x8_broadcast(pos1));
sort.c:       |                       ^
sort.c: sort.c:36:21: note: expanded from macro 'int32x8_set'
sort.c:    36 | #define int32x8_set _mm256_setr_epi32
sort.c: ...

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

Compiler output


sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:51,
sort.c:                  from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h: In function 'int32_sort_8through16':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h:1044:1: error: inlining failed in call to 'always_inline' '_mm256_permutevar8x32_epi32': target specific option mismatch
sort.c:  1044 | _mm256_permutevar8x32_epi32 (__m256i __X, __m256i __Y)
sort.c:       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c:18:28: note: called from here
sort.c:    18 | #define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
sort.c:       |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c:169:3: note: in expansion of macro 'int32x8_store'
sort.c:   169 |   int32x8_store(x+pos1-8,int32x8_varextract(x1,int32x8_add(int32x8_set(0,1,2,3,4,5,6,7),int32x8_broadcast(pos1))));
sort.c:       |   ^~~~~~~~~~~~~
sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h:119:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi32': target specific option mismatch
sort.c:   119 | _mm256_add_epi32 (__m256i __A, __m256i __B)
sort.c:       | ^~~~~~~~~~~~~~~~
sort.c: sort.c:18:28: note: called from here
sort.c:    18 | #define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
sort.c:       |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c:169:3: note: in expansion of macro 'int32x8_store'
sort.c:   169 |   int32x8_store(x+pos1-8,int32x8_varextract(x1,int32x8_add(int32x8_set(0,1,2,3,4,5,6,7),int32x8_broadcast(pos1))));
sort.c:       |   ^~~~~~~~~~~~~
sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h:974:1: error: inlining failed in call to 'always_inline' '_mm256_blend_epi32': target specific option mismatch
sort.c:   974 | _mm256_blend_epi32 (__m256i __X, __m256i __Y, const int __M)
sort.c:       | ^~~~~~~~~~~~~~~~~~
sort.c: sort.c:42:62: note: called from here
sort.c: ...

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

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:32:
api.cpp: In file included from ./merger.h:64:
api.cpp: ./merger.tcc:196:13: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp:   196 |     if(count&1==1)
api.cpp:       |             ^~~~~
api.cpp: ./merger.tcc:196:13: note: place parentheses around the '==' expression to silence this warning
api.cpp:   196 |     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:   196 |     if(count&1==1)
api.cpp:       |             ^
api.cpp:       |        (      )
api.cpp: ./merger.tcc:379:17: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp:   379 |         if (num & 1 == 1)
api.cpp:       |                 ^~~~~~~~
api.cpp: ./merger.tcc:379:17: note: place parentheses around the '==' expression to silence this warning
api.cpp:   379 |         if (num & 1 == 1)
api.cpp:       |                 ^
api.cpp:       |                   (     )
api.cpp: ./merger.tcc:379:17: note: place parentheses around the & expression to evaluate it first
api.cpp:   379 |         if (num & 1 == 1)
api.cpp:       |                 ^
api.cpp: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:aspasclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:aspasclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:aspasclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:aspasclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


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:95:47: warning: ignoring attributes on template argument '__m256' [-Wignored-attributes]
api.cpp:    95 | typename std::enable_if<std::is_same<T, __m256>::value>::type
api.cpp:       |                                               ^
api.cpp: sorter_avx.tcc:149:47: warning: ignoring attributes on template argument '__m256' [-Wignored-attributes]
api.cpp:   149 | typename std::enable_if<std::is_same<T, __m256>::value>::type
api.cpp:       |                                               ^
api.cpp: sorter_avx.tcc:317:47: warning: ignoring attributes on template argument '__m256' [-Wignored-attributes]
api.cpp:   317 | typename std::enable_if<std::is_same<T, __m256>::value>::type
api.cpp:       |                                               ^
api.cpp: sorter_avx.tcc:647:48: warning: ignoring attributes on template argument '__m256i' [-Wignored-attributes]
api.cpp:   647 | typename std::enable_if<std::is_same<T, __m256i>::value>::type
api.cpp:       |                                                ^
api.cpp: sorter_avx.tcc:701:48: warning: ignoring attributes on template argument '__m256i' [-Wignored-attributes]
api.cpp:   701 | typename std::enable_if<std::is_same<T, __m256i>::value>::type
api.cpp:       |                                                ^
api.cpp: sorter_avx.tcc:854:48: warning: ignoring attributes on template argument '__m256i' [-Wignored-attributes]
api.cpp:   854 | typename std::enable_if<std::is_same<T, __m256i>::value>::type
api.cpp:       |                                                ^
api.cpp: sorter_avx.tcc:1184:48: warning: ignoring attributes on template argument '__m256d' [-Wignored-attributes]
api.cpp:  1184 | typename std::enable_if<std::is_same<T, __m256d>::value>::type
api.cpp:       |                                                ^
api.cpp: ...

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

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:   960 |         int32x8_MINMAX(x0,x2);
sort.c:       |         ^
sort.c: sort.c:16:15: note: expanded from macro 'int32x8_MINMAX'
sort.c:    16 |   int32x8 c = int32x8_min(a,b); \
sort.c:       |               ^
sort.c: sort.c:11:21: note: expanded from macro 'int32x8_min'
sort.c:    11 | #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:    17 |   b = int32x8_max(a,b); \
sort.c:       |       ^
sort.c: sort.c:12:21: note: expanded from macro 'int32x8_max'
sort.c:    12 | #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:   961 |         int32x8_MINMAX(x1,x3);
sort.c:       |         ^
sort.c: sort.c:16:15: note: expanded from macro 'int32x8_MINMAX'
sort.c:    16 |   int32x8 c = int32x8_min(a,b); \
sort.c:       |               ^
sort.c: sort.c:11:21: note: expanded from macro 'int32x8_min'
sort.c:    11 | #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 (Ubuntu_Clang_18.1.3_(1ubuntu1))
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

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:   940 |     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:   956 |         int32x8 x0 = int32x8_load(&x[i]);
sort.c:       |                      ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c:     9 | #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:     9 | #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:   957 |         int32x8 x1 = int32x8_load(&x[i+q]);
sort.c:       |                      ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c:     9 | #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:     9 | #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 (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:51,
sort.c:                  from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h: In function 'minmax_vector':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/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: /usr/lib/gcc/x86_64-linux-gnu/13/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:       |               ^~~~~~~~~~~
sort.c: sort.c:36:5: note: in expansion of macro 'int32x8_MINMAX'
sort.c: ...

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

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:   332 |   _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:   333 |   _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:    18 |   __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:    19 |   __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:    20 |   __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:    21 |   __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:    22 |   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:    23 |   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 (Ubuntu_Clang_18.1.3_(1ubuntu1))
oldavx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
oldavx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
oldavx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

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:   330 |   __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:   331 |   __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:   332 |   _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:   332 |   _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:   333 |   _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:   333 |   _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 (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:51,
int32_sort.c:                  from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/13/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: /usr/lib/gcc/x86_64-linux-gnu/13/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: /usr/lib/gcc/x86_64-linux-gnu/13/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: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h:405:1: error: inlining failed in call to 'always_inline' '_mm256_min_epi32': target specific option mismatch
int32_sort.c:   405 | _mm256_min_epi32 (__m256i __A, __m256i __B)
int32_sort.c:       | ^~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:20:15: note: called from here
int32_sort.c: ...

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

Compiler output


api.cpp: api.cpp:22:42: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
api.cpp:    22 |   __attribute__((aligned(32))) int32_t y[n];
api.cpp:       |                                          ^
api.cpp: api.cpp:22:42: note: function parameter 'n' with unknown value cannot be used in a constant expression
api.cpp: api.cpp:8:40: note: declared here
api.cpp:     8 | void crypto_sort(void *array,long long n)
api.cpp:       |                                        ^
api.cpp: 1 warning generated.
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:    11 |   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:    31 |   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:    32 |   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:   134 |   auto a4 = _mm256_blend_epi32(mina, maxa, 0xf0);
merge_sort.cpp:       |             ^
merge_sort.cpp: /usr/lib/llvm-18/lib/clang/18/include/avx2intrin.h:3149:13: note: expanded from macro '_mm256_blend_epi32'
merge_sort.cpp:  3149 |   ((__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:   135 |   auto b4 = _mm256_blend_epi32(minb, maxb, 0xf0);
merge_sort.cpp:       |             ^
merge_sort.cpp: /usr/lib/llvm-18/lib/clang/18/include/avx2intrin.h:3149:13: note: expanded from macro '_mm256_blend_epi32'
merge_sort.cpp:  3149 |   ((__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:   138 |   auto a4_1 = _mm256_shuffle_epi32(a4, 0x4e);
merge_sort.cpp:       |               ^
merge_sort.cpp: /usr/lib/llvm-18/lib/clang/18/include/avx2intrin.h:1937:13: 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 (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sid1607clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sid1607clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:sid1607clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


merge_sort.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:51,
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/13/include/avx2intrin.h: In function '__m256i reverse(__m256i&)':
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/13/include/avx2intrin.h:1044:1: error: inlining failed in call to 'always_inline' '__m256i _mm256_permutevar8x32_epi32(__m256i, __m256i)': target specific option mismatch
merge_sort.cpp:  1044 | _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 (13.3.0)
T:sid1607g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:sid1607g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:sid1607g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall

Compiler output


sort.c: sort.c:132:99: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'ssse3'
sort.c:   132 |   x2 = int8x16_iftopthenelse(int32x4_smaller_mask(int32x4_set(8,9,10,11),int32x4_broadcast(pos2)),int8x16_varextract(int32x4_load(x+pos2-4),int8x16_sub(int8x16_set(16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31),int8x16_broadcast(4*(pos2&3)))),infty); // 2 6 10 14
sort.c:       |                                                                                                   ^
sort.c: sort.c:44:28: note: expanded from macro 'int8x16_varextract'
sort.c:    44 | #define int8x16_varextract _mm_shuffle_epi8
sort.c:       |                            ^
sort.c: sort.c:132:8: error: always_inline function '_mm_blendv_epi8' requires target feature 'sse4.1', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'sse4.1'
sort.c:   132 |   x2 = int8x16_iftopthenelse(int32x4_smaller_mask(int32x4_set(8,9,10,11),int32x4_broadcast(pos2)),int8x16_varextract(int32x4_load(x+pos2-4),int8x16_sub(int8x16_set(16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31),int8x16_broadcast(4*(pos2&3)))),infty); // 2 6 10 14
sort.c:       |        ^
sort.c: sort.c:23:38: note: expanded from macro 'int8x16_iftopthenelse'
sort.c:    23 | #define int8x16_iftopthenelse(c,t,e) _mm_blendv_epi8(e,t,c)
sort.c:       |                                      ^
sort.c: sort.c:134:101: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'ssse3'
sort.c:   134 |   x3 = int8x16_iftopthenelse(int32x4_smaller_mask(int32x4_set(12,13,14,15),int32x4_broadcast(pos3)),int8x16_varextract(int32x4_load(x+pos3-4),int8x16_sub(int8x16_set(16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31),int8x16_broadcast(4*(pos3&3)))),infty); // 3 7 11 15
sort.c:       |                                                                                                     ^
sort.c: sort.c:44:28: note: expanded from macro 'int8x16_varextract'
sort.c:    44 | #define int8x16_varextract _mm_shuffle_epi8
sort.c:       |                            ^
sort.c: sort.c:134:8: error: always_inline function '_mm_blendv_epi8' requires target feature 'sse4.1', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'sse4.1'
sort.c:   134 |   x3 = int8x16_iftopthenelse(int32x4_smaller_mask(int32x4_set(12,13,14,15),int32x4_broadcast(pos3)),int8x16_varextract(int32x4_load(x+pos3-4),int8x16_sub(int8x16_set(16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31),int8x16_broadcast(4*(pos3&3)))),infty); // 3 7 11 15
sort.c:       |        ^
sort.c: sort.c:23:38: note: expanded from macro 'int8x16_iftopthenelse'
sort.c:    23 | #define int8x16_iftopthenelse(c,t,e) _mm_blendv_epi8(e,t,c)
sort.c:       |                                      ^
sort.c: sort.c:136:8: error: always_inline function '_mm_min_epi32' requires target feature 'sse4.1', but would be inlined into function 'int32_sort_8through16' that is compiled without support for 'sse4.1'
sort.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
sse42clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 62, namely:
ImplementationCompiler
compactclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable4clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable4clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable4clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable4clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable4clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable4gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable4gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable4gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable4gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable5clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable5clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable5clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable5clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable5clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
portable5gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable5gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable5gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
portable5gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
sse42clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
sse42clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
sse42clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
sse42clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
sse42gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
sse42gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
sse42gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
sse42gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x86clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x86clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x86clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x86clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x86clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x86gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x86gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x86gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x86gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x863clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x863clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x863clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x863clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x863clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
x863gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x863gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x863gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
x863gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)