Test results for amd64, trident, crypto_sort/int32
[Page version: 20260502 11:04:32]
Measurements for amd64, trident, crypto_sort
Test results for amd64, trident, crypto_sort
Test results for crypto_sort/int32
Computer: trident
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20260330
Operation: crypto_sort
Primitive: int32
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 27194 | 1265 0 0 | 21088 1272 1472 | T:radix256ml | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 28264 | 1253 0 0 | 21351 1200 1536 | T:radix256ml | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 28929 | 1900 0 0 | 21728 1272 1472 | T:radix256sml | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 29083 | 1837 0 0 | 22775 1200 1536 | T:radix256sml | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 29463 | 1788 0 0 | 20790 1264 1472 | T:radix256sml | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 29612 | 1837 0 0 | 21943 1200 1536 | T:radix256sml | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 29703 | 1253 0 0 | 22183 1200 1536 | T:radix256ml | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 29909 | 1058 0 0 | 19346 1176 1504 | T:radix256ml | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 30427 | 1173 0 0 | 20158 1264 1472 | T:radix256ml | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 30753 | 1275 0 0 | 20686 1192 1536 | T:radix256ml | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 31473 | 1971 0 0 | 24040 1272 1472 | T:radix256ml | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 32070 | 3037 0 0 | 25104 1272 1472 | T:radix256sml | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 33404 | 1937 0 0 | 23104 1272 1472 | T:radix256ml | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 33855 | 1912 0 0 | 21326 1192 1536 | T:radix256sml | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 35118 | 1609 0 0 | 19898 1176 1504 | T:radix256sml | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 36709 | 2971 0 0 | 24136 1272 1472 | T:radix256sml | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 36936 | 1937 0 0 | 24248 1272 1472 | T:radix256ml | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 37561 | 2971 0 0 | 25280 1272 1472 | T:radix256sml | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 75924 | 551 0 0 | 20623 1200 1536 | T:herf | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 76201 | 551 0 0 | 21455 1200 1536 | T:herf | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 78113 | 480 0 0 | 18714 1176 1504 | T:herf | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 78497 | 980 0 0 | 23264 1272 1472 | T:herf | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 78870 | 522 0 0 | 19486 1264 1472 | T:herf | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 79982 | 568 0 0 | 20352 1272 1472 | T:herf | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 80310 | 1015 0 0 | 23056 1272 1472 | T:herf | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 80758 | 980 0 0 | 22120 1272 1472 | T:herf | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 82457 | 1300 0 0 | 25197 1296 1568 | T:stdsort | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 82574 | 1280 0 0 | 24189 1296 1568 | T:stdsort | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 84797 | 538 0 0 | 19926 1192 1536 | T:herf | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 85701 | 8670 0 0 | 28448 1272 1472 | x863 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 87552 | 1641 0 0 | 26472 1352 1472 | T:stdsort | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 88156 | 1374 0 0 | 24964 1352 1472 | T:stdsort | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 88344 | 887 0 0 | 21538 1272 1536 | T:stdsort | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 88676 | 1442 0 0 | 23735 1360 1472 | T:stdsort | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 88817 | 10322 0 0 | 29718 1192 1536 | x863 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 89171 | 7786 0 0 | 26750 1264 1472 | x863 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 89574 | 1265 0 0 | 22833 1352 1472 | T:stdsort | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 90475 | 10282 0 0 | 32568 1272 1472 | x863 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 90870 | 10458 0 0 | 32504 1272 1472 | x863 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 90977 | 9114 0 0 | 30256 1272 1472 | x863 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 91328 | 1088 0 0 | 23146 1288 1568 | T:stdsort | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260426 | 20260330 |
| 94433 | 10841 0 0 | 31751 1200 1536 | x863 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 94976 | 929 0 0 | 23224 1272 1472 | portable4 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 95230 | 670 0 0 | 19646 1264 1472 | portable4 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 95643 | 10770 0 0 | 30855 1200 1536 | x863 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 96222 | 930 0 0 | 22984 1272 1472 | portable4 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 97380 | 857 0 0 | 20943 1200 1536 | portable4 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 97974 | 785 0 0 | 20592 1272 1472 | portable4 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 98013 | 817 0 0 | 21968 1272 1472 | portable4 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 100410 | 849 0 0 | 21759 1200 1536 | portable4 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 106074 | 1591 0 0 | 23640 1272 1472 | portable5 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 106583 | 1213 0 0 | 20174 1264 1472 | x86 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 106777 | 3830 0 0 | 22106 1176 1504 | x863 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 107310 | 1590 0 0 | 23880 1272 1472 | portable5 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 109035 | 1558 0 0 | 23848 1272 1472 | x86 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 109531 | 1374 0 0 | 22287 1200 1536 | portable5 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 109592 | 1228 0 0 | 20206 1264 1472 | portable5 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 109634 | 1390 0 0 | 22303 1200 1536 | x86 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 109912 | 1390 0 0 | 21471 1200 1536 | x86 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 109938 | 1478 0 0 | 22624 1272 1472 | x86 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 110369 | 1426 0 0 | 21216 1272 1472 | x86 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 110548 | 1426 0 0 | 21232 1272 1472 | portable5 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 110724 | 1478 0 0 | 22624 1272 1472 | portable5 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 111323 | 1374 0 0 | 21455 1200 1536 | portable5 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 113227 | 1559 0 0 | 23608 1272 1472 | x86 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 118797 | 1612 0 0 | 21006 1192 1536 | portable5 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 120304 | 1082 0 0 | 19322 1176 1504 | x86 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 125133 | 1636 0 0 | 21038 1192 1536 | x86 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 127579 | 301 0 0 | 19262 1264 1472 | compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 127776 | 301 0 0 | 19278 1264 1472 | portable3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 132063 | 372 0 0 | 21279 1200 1536 | portable3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 132781 | 376 0 0 | 20447 1200 1536 | compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 132789 | 372 0 0 | 20447 1200 1536 | portable3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 133314 | 376 0 0 | 21279 1200 1536 | compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 138132 | 361 0 0 | 22648 1272 1472 | compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 138523 | 361 0 0 | 22648 1272 1472 | portable3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 140211 | 361 0 0 | 22408 1272 1472 | portable3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 140306 | 361 0 0 | 22408 1272 1472 | compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 141425 | 931 0 0 | 20334 1192 1536 | portable4 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 141827 | 357 0 0 | 20160 1272 1472 | portable3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 141900 | 357 0 0 | 20144 1272 1472 | compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 143724 | 357 0 0 | 21504 1272 1472 | compact | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 144926 | 357 0 0 | 21504 1272 1472 | portable3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 151238 | 376 0 0 | 19766 1192 1536 | portable3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 152616 | 284 0 0 | 18562 1176 1504 | compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 153142 | 284 0 0 | 18562 1176 1504 | portable3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 163629 | 380 0 0 | 19782 1192 1536 | compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 175511 | 1096 0 0 | 19370 1176 1504 | portable5 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
| 176370 | 650 0 0 | 18938 1176 1504 | portable4 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260302 | 20260217 |
Test failure
error 132
Illegal instruction
Number of similar (implementation,compiler) pairs: 9, namely:
| Implementation | Compiler |
| T:krasnov | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:krasnov | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:krasnov | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:krasnov | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:krasnov | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:krasnov | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:krasnov | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:krasnov | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:krasnov | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
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: 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: #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: #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: infty = int32x8_broadcast(int32_largest);
sort.c: ^
sort.c: sort.c:37:27: note: expanded from macro 'int32x8_broadcast'
sort.c: #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: #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: 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: #define int32x8_set _mm256_setr_epi32
sort.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| 2026avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| 2026avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| 2026avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| 2026avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| 2026avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
sort.c: sort.c: In function 'int32_sort_8through16':
sort.c: sort.c:114:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sort.c: 114 | x0 = int32x8_load(x+0); // 0 2 4 6 8 10 12 14
sort.c: | ^
sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:43,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
sort.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
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:170:3: note: in expansion of macro 'int32x8_store'
sort.c: 170 | int32x8_store(x+0,x0);
sort.c: | ^~~~~~~~~~~~~
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
sort.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
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: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:47:
sort.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| 2026avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| 2026avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| 2026avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| 2026avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.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: 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: ( )
api.cpp: ./merger.tcc:379:17: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp: if (num & 1 == 1)
api.cpp: ^~~~~~~~
api.cpp: ./merger.tcc:379: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:379:17: note: place parentheses around the & expression to evaluate it first
api.cpp: if (num & 1 == 1)
api.cpp: ^
api.cpp: ...
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
try.cpp: static void stq_sort(stq_doublearray S,long long n)
try.cpp: ^
try.cpp: 1 warning generated.
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/./aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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: 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: ( )
api.cpp: ./merger.tcc:379:17: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp: if (num & 1 == 1)
api.cpp: ^~~~~~~~
api.cpp: ./merger.tcc:379: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:379:17: note: place parentheses around the & expression to evaluate it first
api.cpp: if (num & 1 == 1)
api.cpp: ^
api.cpp: ...
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
try.cpp: static void stq_sort(stq_doublearray S,long long n)
try.cpp: ^
try.cpp: 1 warning generated.
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/./aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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: 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: ( )
api.cpp: ./merger.tcc:379:17: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp: if (num & 1 == 1)
api.cpp: ^~~~~~~~
api.cpp: ./merger.tcc:379: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:379:17: note: place parentheses around the & expression to evaluate it first
api.cpp: if (num & 1 == 1)
api.cpp: ^
api.cpp: ...
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
try.cpp: static void stq_sort(stq_doublearray S,long long n)
try.cpp: ^
try.cpp: 1 warning generated.
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/./aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/./merger.tcc:206: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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: 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: ( )
api.cpp: ./merger.tcc:379:17: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
api.cpp: if (num & 1 == 1)
api.cpp: ^~~~~~~~
api.cpp: ./merger.tcc:379: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:379:17: note: place parentheses around the & expression to evaluate it first
api.cpp: if (num & 1 == 1)
api.cpp: ^
api.cpp: ...
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
try.cpp: static void stq_sort(stq_doublearray S,long long n)
try.cpp: ^
try.cpp: 1 warning generated.
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/./aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
api.cpp: In file included from merger.h:64,
api.cpp: from aspas.tcc:32,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: merger.tcc: In instantiation of 'void aspas::internal::merger(T*&, uint32_t) [with T = int; uint32_t = unsigned int]':
api.cpp: aspas.tcc:48:21: required from 'void aspas::sort(T*, uint32_t) [with T = int; uint32_t = unsigned int]'
api.cpp: api.cpp:7:14: required from here
api.cpp: merger.tcc:196:15: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
api.cpp: 196 | if(count&1==1)
api.cpp: | ~^~~
api.cpp: merger.tcc: In function 'void aspas::internal::merger(T*&, uint32_t) [with T = int]':
api.cpp: merger.tcc:148:27: warning: 'stride' is used uninitialized [-Wuninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:106:13: note: 'stride' was declared here
api.cpp: 106 | uint8_t stride;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:148:14: warning: 'way' is used uninitialized [-Wuninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~~~~~
api.cpp: merger.tcc:107:14: note: 'way' was declared here
api.cpp: 107 | uint32_t way;
api.cpp: | ^~~
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
try.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
try.cpp: | ^~~~~~~~
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: /usr/bin/ld: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
api.cpp: In file included from merger.h:64,
api.cpp: from aspas.tcc:32,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: merger.tcc: In instantiation of 'void aspas::internal::merger(T*&, uint32_t) [with T = int; uint32_t = unsigned int]':
api.cpp: aspas.tcc:48:21: required from 'void aspas::sort(T*, uint32_t) [with T = int; uint32_t = unsigned int]'
api.cpp: api.cpp:7:14: required from here
api.cpp: merger.tcc:196:15: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
api.cpp: 196 | if(count&1==1)
api.cpp: | ~^~~
api.cpp: merger.tcc: In function 'void aspas::internal::merger(T*&, uint32_t) [with T = int]':
api.cpp: merger.tcc:148:27: warning: 'stride' is used uninitialized [-Wuninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:106:13: note: 'stride' was declared here
api.cpp: 106 | uint8_t stride;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:148:14: warning: 'way' is used uninitialized [-Wuninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~~~~~
api.cpp: merger.tcc:107:14: note: 'way' was declared here
api.cpp: 107 | uint32_t way;
api.cpp: | ^~~
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
try.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
try.cpp: | ^~~~~~~~
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: /usr/bin/ld: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: /usr/bin/ld: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: /usr/bin/ld: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
api.cpp: In file included from merger.h:64,
api.cpp: from aspas.tcc:32,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: merger.tcc: In instantiation of 'void aspas::internal::merger(T*&, uint32_t) [with T = int; uint32_t = unsigned int]':
api.cpp: aspas.tcc:48:21: required from 'void aspas::sort(T*, uint32_t) [with T = int; uint32_t = unsigned int]'
api.cpp: api.cpp:7:14: required from here
api.cpp: merger.tcc:196:15: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
api.cpp: 196 | if(count&1==1)
api.cpp: | ~^~~
api.cpp: merger.tcc: In function 'void aspas::internal::merger(T*&, uint32_t) [with T = int]':
api.cpp: merger.tcc:148:27: warning: 'stride' is used uninitialized [-Wuninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:106:13: note: 'stride' was declared here
api.cpp: 106 | uint8_t stride;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:148:14: warning: 'way' is used uninitialized [-Wuninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~~~~~
api.cpp: merger.tcc:107:14: note: 'way' was declared here
api.cpp: 107 | uint32_t way;
api.cpp: | ^~~
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
try.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
try.cpp: | ^~~~~~~~
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: /usr/bin/ld: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
api.cpp: In file included from merger.h:64,
api.cpp: from aspas.tcc:32,
api.cpp: from aspas.h:204,
api.cpp: from api.cpp:3:
api.cpp: merger.tcc: In instantiation of 'void aspas::internal::merger(T*&, uint32_t) [with T = int; uint32_t = unsigned int]':
api.cpp: aspas.tcc:48:21: required from 'void aspas::sort(T*, uint32_t) [with T = int; uint32_t = unsigned int]'
api.cpp: api.cpp:7:14: required from here
api.cpp: merger.tcc:196:15: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
api.cpp: 196 | if(count&1==1)
api.cpp: | ~^~~
api.cpp: merger.tcc: In function 'void aspas::internal::merger(T*&, uint32_t) [with T = int]':
api.cpp: merger.tcc:148:27: warning: 'stride' may be used uninitialized [-Wmaybe-uninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:106:13: note: 'stride' was declared here
api.cpp: 106 | uint8_t stride;
api.cpp: | ^~~~~~
api.cpp: merger.tcc:148:14: warning: 'way' may be used uninitialized [-Wmaybe-uninitialized]
api.cpp: 148 | uint32_t block_size = stride * way;
api.cpp: | ^~~~~~~~~~
api.cpp: merger.tcc:107:14: note: 'way' was declared here
api.cpp: 107 | uint32_t way;
api.cpp: | ^~~
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
try.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
try.cpp: | ^~~~~~~~
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::internal::sorter<int>(int*&, unsigned int)'
try.cpp: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::internal::merger<int>(int*&, unsigned int)':
try.cpp: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: /usr/bin/ld: .../supercop-data/trident/amd64/try/cpp/g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170: undefined reference to `std::enable_if<std::is_same<int, int>::value, void>::type aspas::merge<int>(int*, unsigned int, int*, unsigned int, int*)'
try.cpp: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| T:aspas | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
sort.c: sort.c:940:40: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
sort.c: for (i = q>>3;i < q>>2;++i) y[i] = _mm256_set1_epi32(0x7fffffff);
sort.c: ^
sort.c: sort.c:940:40: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
sort.c: sort.c:956:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
sort.c: int32x8 x0 = int32x8_load(&x[i]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:956:22: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
sort.c: int32x8 x1 = int32x8_load(&x[i+q]);
sort.c: ^
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:957:22: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
sort.c: sort.c:9:25: note: expanded from macro 'int32x8_load'
sort.c: #define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
sort.c: ^
sort.c: sort.c:958:22: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'int32_sort' that is compiled without support for 'avx'
sort.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
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: 940 | 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: 55 | 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/12/include/immintrin.h:43,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h: In function 'minmax_vector':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
sort.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
sort.c: | ^~~~~~~~~~~~~~~~~~~
sort.c: sort.c:10:28: note: called from here
sort.c: 10 | #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: 38 | int32x8_store(y + n - 8,y0);
sort.c: | ^~~~~~~~~~~~~
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
sort.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
sort.c: | ^~~~~~~~~~~~~~~~~~~
sort.c: sort.c:10:28: note: called from here
sort.c: 10 | #define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
sort.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:330:15: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:331:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:15: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'minmax8' that is compiled without support for 'avx2'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:333:37: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'minmax8' that is compiled without support for 'avx2'
int32_sort.c: _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:333:37: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:333:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'minmax8' that is compiled without support for 'avx'
int32_sort.c: _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:333:3: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
int32_sort.c: int32_sort.c:364:34: error: always_inline function '_mm_min_epi32' requires target feature 'sse4.1', but would be inlined into function 'minmax4' that is compiled without support for 'sse4.1'
int32_sort.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| oldavx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| oldavx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| oldavx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| oldavx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| oldavx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
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: 330 | __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: | ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:43,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
int32_sort.c: | ^~~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:25:3: note: called from here
int32_sort.c: 25 | _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
int32_sort.c: | ^~~~~~~~~~~~~~~~~~~
int32_sort.c: int32_sort.c:24:3: note: called from here
int32_sort.c: 24 | _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:47:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/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: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| oldavx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| oldavx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| oldavx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| oldavx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
merge_sort.cpp: merge_sort.cpp:162:7: error: always_inline function '_mm256_load_si256' requires target feature 'avx', but would be inlined into function 'initialize' that is compiled without support for 'avx'
merge_sort.cpp: _mm256_load_si256((__m256i *) &load_store_mask[0]);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:162:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
merge_sort.cpp: merge_sort.cpp:167:31: warning: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
merge_sort.cpp: global_masks.rev_idx_mask = load_reg256(&rev_idx_mask[0]);
merge_sort.cpp: ^
merge_sort.cpp: merge_sort.cpp:168:27: warning: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
merge_sort.cpp: global_masks.swap_128 = load_reg256(&swap_128[0]);
merge_sort.cpp: ^
merge_sort.cpp: 2 warnings and 2 errors generated.
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:sid1607 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:sid1607 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:sid1607 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:sid1607 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
api.cpp: In file included from api.cpp:3:
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: 17 | inline __m256i load_reg256(int *a) {
api.cpp: | ^
merge_sort.cpp: In file included from merge_sort.cpp:1:
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: 17 | inline __m256i load_reg256(int *a) {
merge_sort.cpp: | ^
merge_sort.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:47,
merge_sort.cpp: from merge_sort.h:1:
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/12/include/avx2intrin.h: In function '__m256i reverse(__m256i&)':
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/12/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:
| Implementation | Compiler |
| T:sid1607 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:sid1607 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:sid1607 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:sid1607 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
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: 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: #define int8x16_iftopthenelse(c,t,e) _mm_blendv_epi8(e,t,c)
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: 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: #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: y0 = int32x4_min(x0,x1); // 0 4 8 12
sort.c: ^
sort.c: sort.c:36:21: note: expanded from macro 'int32x4_min'
sort.c: #define int32x4_min _mm_min_epi32
sort.c: ^
sort.c: sort.c:137:8: error: always_inline function '_mm_max_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: x1 = int32x4_max(x0,x1); // 1 5 9 13
sort.c: ^
sort.c: sort.c:37:21: note: expanded from macro 'int32x4_max'
sort.c: #define int32x4_max _mm_max_epi32
sort.c: ^
sort.c: sort.c:138: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: 4, namely:
| Implementation | Compiler |
| sse42 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| sse42 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| sse42 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| sse42 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
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: 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: #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: 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: #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: 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: #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: 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: #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:
| Implementation | Compiler |
| sse42 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:39,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/smmintrin.h: In function 'int32_sort_8through16':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/smmintrin.h:191:1: error: inlining failed in call to 'always_inline' '_mm_blend_ps': target specific option mismatch
sort.c: 191 | _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
sort.c: | ^~~~~~~~~~~~
sort.c: sort.c:50:60: note: called from here
sort.c: 50 | #define int32x4_constextract_ab0ab1ab2ab3(a,b,p0,p1,p2,p3) _mm_castps_si128(_mm_blend_ps(_mm_castsi128_ps(a),_mm_castsi128_ps(b),(p0)|((p1)<<1)|((p2)<<2)|((p3)<<3)))
sort.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c:216:8: note: in expansion of macro 'int32x4_constextract_ab0ab1ab2ab3'
sort.c: 216 | y0 = int32x4_constextract_ab0ab1ab2ab3(u,x3,1,0,1,0); // 12 13 14 15
sort.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/smmintrin.h:191:1: error: inlining failed in call to 'always_inline' '_mm_blend_ps': target specific option mismatch
sort.c: 191 | _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
sort.c: | ^~~~~~~~~~~~
sort.c: sort.c:50:60: note: called from here
sort.c: 50 | #define int32x4_constextract_ab0ab1ab2ab3(a,b,p0,p1,p2,p3) _mm_castps_si128(_mm_blend_ps(_mm_castsi128_ps(a),_mm_castsi128_ps(b),(p0)|((p1)<<1)|((p2)<<2)|((p3)<<3)))
sort.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: sort.c:215:8: note: in expansion of macro 'int32x4_constextract_ab0ab1ab2ab3'
sort.c: 215 | y3 = int32x4_constextract_ab0ab1ab2ab3(t,y0,0,1,0,1); // 8 9 10 11
sort.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sort.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/smmintrin.h:191:1: error: inlining failed in call to 'always_inline' '_mm_blend_ps': target specific option mismatch
sort.c: 191 | _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
sort.c: | ^~~~~~~~~~~~
sort.c: sort.c:50:60: note: called from here
sort.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| sse42 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| sse42 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| sse42 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| sse42 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
try.cpp: static void stq_sort(stq_doublearray S,long long n)
try.cpp: ^
try.cpp: 1 warning generated.
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
try.cpp: static void stq_sort(stq_doublearray S,long long n)
try.cpp: ^
try.cpp: 1 warning generated.
measure.cpp: In file included from measure-anything.cpp:19:
measure.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: unused function 'stq_sort' [-Wunused-function]
measure.cpp: static void stq_sort(stq_doublearray S,long long n)
measure.cpp: ^
measure.cpp: 1 warning generated.
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:stdsort | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:stdsort | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:stdsort | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| T:stdsort | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
try.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
try.cpp: | ^~~~~~~~
try.cpp: In file included from try-anything.cpp:22:
try.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
try.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
try.cpp: | ^~~~~~~~
measure.cpp: In file included from measure-anything.cpp:19:
measure.cpp: .../supercop-data/trident/amd64/include/stq.h:32:13: warning: 'void stq_sort(std::vector<double>, long long int)' defined but not used [-Wunused-function]
measure.cpp: 32 | static void stq_sort(stq_doublearray S,long long n)
measure.cpp: | ^~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:stdsort | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:stdsort | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:stdsort | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| T:stdsort | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 54, namely:
| Implementation | Compiler |
| compact | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable4 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable4 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable4 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable4 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable4 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable4 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable4 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable4 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable4 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable5 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable5 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable5 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable5 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable5 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| portable5 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable5 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable5 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| portable5 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x86 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x86 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x86 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x86 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x86 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x86 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x86 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x86 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x86 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x863 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x863 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x863 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x863 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x863 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
| x863 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x863 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x863 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
| x863 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |