Test results for amd64, hydra5, crypto_sort/int32
[Page version: 20251014 13:11:50]
Measurements for amd64, hydra5, crypto_sort
Test results for amd64, hydra5, crypto_sort
Test results for crypto_sort/int32
Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20250922
Operation: crypto_sort
Primitive: int32
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 37345 | 1173 0 0 | 10810 852 896 | T:radix256ml | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 37908 | 1283 0 0 | 11640 860 896 | T:radix256ml | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 37921 | 1971 0 0 | 14560 860 896 | T:radix256ml | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 38013 | 1971 0 0 | 14560 860 896 | T:radix256ml | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 38020 | 1971 0 0 | 13672 860 896 | T:radix256ml | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 38877 | 1303 0 0 | 11216 780 928 | T:radix256ml | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 38935 | 1517 0 0 | 13317 804 960 | T:radix256ml | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 41748 | 976 0 0 | 13972 844 904 | T:herf | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 42014 | 976 0 0 | 13084 844 904 | T:herf | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 43543 | 532 0 0 | 10262 836 904 | T:herf | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 43857 | 561 0 0 | 10836 844 904 | T:herf | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 43949 | 976 0 0 | 13972 844 904 | T:herf | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 44465 | 1934 0 0 | 12296 860 896 | T:radix256sml | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 44513 | 3037 0 0 | 15640 860 896 | T:radix256sml | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 44539 | 1788 0 0 | 11410 852 896 | T:radix256sml | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 44566 | 3037 0 0 | 14752 860 896 | T:radix256sml | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 44675 | 3037 0 0 | 15640 860 896 | T:radix256sml | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 45628 | 1946 0 0 | 11848 780 928 | T:radix256sml | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 45813 | 2253 0 0 | 14037 804 960 | T:radix256sml | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 45938 | 725 0 0 | 13957 804 968 | T:herf | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 45982 | 725 0 0 | 12469 804 968 | T:herf | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 46664 | 7005 0 0 | 20125 804 960 | T:radix256sml | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 46766 | 1522 0 0 | 12516 796 960 | T:radix256ml | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 48113 | 626 0 0 | 10536 780 936 | T:herf | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 50217 | 2239 0 0 | 13236 796 960 | T:radix256sml | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 53700 | 1352 0 0 | 13247 812 992 | T:stdsort | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
| 53706 | 1756 0 0 | 14959 812 992 | T:stdsort | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
| 60226 | 695 0 0 | 11684 796 968 | T:herf | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250923 | 20250922 |
| 65927 | 1135 0 0 | 12230 804 992 | T:stdsort | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
| 69707 | 10458 0 0 | 23032 860 896 | x863 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 69714 | 10458 0 0 | 23032 860 896 | x863 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 69770 | 9290 0 0 | 20992 860 896 | x863 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 70148 | 8862 0 0 | 19200 860 896 | x863 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 70565 | 7977 0 0 | 17578 852 896 | x863 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 70597 | 9328 0 0 | 20324 796 960 | x863 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 70762 | 10812 0 0 | 23917 804 960 | x863 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 71165 | 8924 0 0 | 20701 804 960 | x863 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 76097 | 927 0 0 | 10922 788 960 | T:stdsort | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
| 79971 | 853 0 0 | 13424 860 896 | portable4 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 80113 | 853 0 0 | 13424 860 896 | portable4 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 83719 | 668 0 0 | 10282 852 896 | portable4 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 83851 | 786 0 0 | 11128 860 896 | portable4 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 84631 | 834 0 0 | 12536 860 896 | portable4 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 88863 | 772 0 0 | 13893 804 960 | portable4 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 88949 | 772 0 0 | 12557 804 960 | portable4 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 90674 | 1559 0 0 | 14128 860 896 | x86 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 90697 | 1559 0 0 | 14128 860 896 | x86 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 90728 | 1591 0 0 | 14160 860 896 | portable5 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 90812 | 1591 0 0 | 14160 860 896 | portable5 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 92057 | 4117 0 0 | 17253 804 960 | T:radix256ml | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 92182 | 1211 0 0 | 10826 852 896 | x86 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 92936 | 3921 0 0 | 13848 780 928 | x863 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 93238 | 797 0 0 | 11780 796 960 | portable4 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 93694 | 1427 0 0 | 11768 860 896 | portable5 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 93903 | 1495 0 0 | 13176 860 896 | portable5 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 93978 | 1495 0 0 | 13176 860 896 | x86 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 94094 | 1226 0 0 | 10826 852 896 | portable5 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 95547 | 1427 0 0 | 11768 860 896 | x86 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 100593 | 1390 0 0 | 12356 796 960 | portable5 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 100825 | 1394 0 0 | 14493 804 960 | portable5 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 100837 | 1394 0 0 | 14493 804 960 | x86 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 100840 | 1394 0 0 | 13157 804 960 | portable5 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 100855 | 1394 0 0 | 13157 804 960 | x86 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 100904 | 1406 0 0 | 12388 796 960 | x86 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 103979 | 1113 0 0 | 11016 780 928 | x86 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 106087 | 301 0 0 | 9914 852 896 | portable3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 106109 | 301 0 0 | 9914 852 896 | compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 107700 | 361 0 0 | 12928 860 896 | compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 107700 | 361 0 0 | 12928 860 896 | portable3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 107700 | 361 0 0 | 12928 860 896 | portable3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 107717 | 361 0 0 | 12928 860 896 | compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 107901 | 357 0 0 | 10696 860 896 | compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 108079 | 357 0 0 | 12040 860 896 | portable3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 114632 | 407 0 0 | 12189 804 960 | compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 114633 | 407 0 0 | 12189 804 960 | portable3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 114697 | 407 0 0 | 13525 804 960 | portable3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 114698 | 407 0 0 | 13525 804 960 | compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 118346 | 357 0 0 | 10696 860 896 | portable3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 118527 | 357 0 0 | 12040 860 896 | compact | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 124551 | 320 0 0 | 10192 780 928 | portable3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 124572 | 320 0 0 | 10192 780 928 | compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 126576 | 402 0 0 | 11388 796 960 | compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 126579 | 402 0 0 | 11388 796 960 | portable3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 186895 | 695 0 0 | 10592 780 928 | portable4 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
| 195023 | 1179 0 0 | 11072 780 928 | portable5 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250416 | 20250415 |
Test failure
error 132
timeout: the monitored command dumped core
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 (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| T:krasnov | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| T:krasnov | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| T:krasnov | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| T:krasnov | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| T:krasnov | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| T:krasnov | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| T:krasnov | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| T:krasnov | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.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: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47:(.text+0x...): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x10f): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x1f8): 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 (13.3.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: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47:(.text+0x...): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0xef): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x14d): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x194): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x248): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x2ea): 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 (13.3.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: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47:(.text+0x...): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x128): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x27f): 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 (13.3.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: /usr/bin/ld: libcrypto_sort_int32.a(api.o): in function `void aspas::sort<int>(int*, unsigned int)':
try.cpp: .../supercop-data/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/aspas.tcc:47:(.text+0x...): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:161:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x167): 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/hydra5/amd64/try/cpp/g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_sort/int32/aspas/work/merger.tcc:170:(.text._ZN5aspas8internal6mergerIiEEvRPT_j[_ZN5aspas8internal6mergerIiEEvRPT_j]+0x22b): 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 (13.3.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 (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
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/11/include/immintrin.h:43,
sort.c: from sort.c:4:
sort.c: sort.c: In function 'minmax_vector':
sort.c: /usr/lib/gcc/x86_64-linux-gnu/11/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: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
sort.c: from sort.c:4:
sort.c: /usr/lib/gcc/x86_64-linux-gnu/11/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: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.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 (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| oldavx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| oldavx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| oldavx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| oldavx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
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/11/include/immintrin.h:43,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/11/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: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/11/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/11/include/immintrin.h:47,
int32_sort.c: from int32_sort.c:3:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/11/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: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| oldavx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| oldavx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| oldavx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| oldavx2 | gcc -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: 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/11/include/immintrin.h:47,
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/11/include/avx2intrin.h: In function '__m256i reverse(__m256i&)':
merge_sort.cpp: /usr/lib/gcc/x86_64-linux-gnu/11/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 (13.3.0) |
| T:sid1607 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| T:sid1607 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| T:sid1607 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.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 (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| compact | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| compact | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable4 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable4 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable4 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable4 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable4 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable4 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable4 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable4 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable4 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable5 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable5 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable5 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable5 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable5 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| portable5 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable5 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable5 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| portable5 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x86 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x86 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x86 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x86 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x86 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x86 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x86 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x86 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x86 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x863 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x863 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x863 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x863 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x863 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
| x863 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x863 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x863 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
| x863 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |