Implementation notes: amd64, gpu, crypto_encode/256x2

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_encode
Primitive: 256x2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1380121 0 09805 768 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082120190816
1734378 0 013453 768 800refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082120190816
1740138 0 017349 760 744refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082120190816
1749355 0 014638 776 800refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
1764129 0 012518 776 800refgcc_-march=k8_-O3_-fomit-frame-pointer2019082120190816
1780339 0 014838 776 800refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082120190816
1812374 0 013453 768 800refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
1820374 0 013653 768 800refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082120190816
1844363 0 015598 776 800refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
1864371 0 013181 768 800refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
1872386 0 013549 768 800refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
1875141 0 014293 760 1128refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082120190816
1878138 0 017349 760 744refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082120190816
1890138 0 017349 760 744refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082120190816
1896363 0 015510 776 800refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082120190816
1912374 0 013677 768 800refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082120190816
1916363 0 015598 776 800refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
1916113 0 09821 768 800refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082120190816
1920376 0 013581 768 800refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082120190816
1928374 0 013677 768 800refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082120190816
1928378 0 013413 768 800refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082120190816
1948374 0 013653 768 800refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082120190816
1960378 0 013413 768 800refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082120190816
1968378 0 013453 768 800refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082120190816
1988339 0 014838 776 800refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082120190816
1995121 0 09805 768 800refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082120190816
1996378 0 013453 768 800refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082120190816
2000339 0 014838 776 800refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082120190816
2032371 0 013181 768 800refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
2044129 0 012142 776 800refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082120190816
2046106 0 012166 776 800refgcc_-m64_-O3_-fomit-frame-pointer2019082120190816
2052113 0 09821 768 800refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082120190816
2056363 0 015510 776 800refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082120190816
2080113 0 09821 768 800refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082120190816
2084113 0 09837 768 800refgcc_-march=nocona_-O_-fomit-frame-pointer2019082120190816
2092121 0 09829 768 800refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082120190816
2108132 0 016021 760 744refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082120190816
2115113 0 09821 768 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082120190816
2120108 0 09009 752 768refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082120190816
2124105 0 012222 776 800refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082120190816
2128113 0 09821 768 800refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082120190816
2130105 0 012222 776 800refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082120190816
2132122 0 09805 768 800refgcc_-m64_-O2_-fomit-frame-pointer2019082120190816
2142110 0 09573 768 800refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
2148108 0 09009 752 768refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082120190816
2148105 0 012126 776 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082120190816
2152138 0 014949 760 1128refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082120190816
2176122 0 011966 776 800refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
2188110 0 09573 768 800refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082120190816
2204374 0 013453 768 800refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
2204113 0 09821 768 800refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082120190816
2208129 0 012206 776 800refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082120190816
2240112 0 09805 768 800refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
2248104 0 08985 752 768refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082120190816
2252122 0 09805 768 800refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082120190816
2256386 0 013549 768 800refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
2264355 0 014638 776 800refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
2264113 0 09821 768 800refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082120190816
2280242 0 010133 768 800refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
2288104 0 08985 752 768refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082120190816
2292258 0 012686 776 800refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
2296114 0 09821 768 800refgcc_-m64_-O_-fomit-frame-pointer2019082120190816
2304141 0 014293 760 1128refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082120190816
2304108 0 09009 752 768refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
2308113 0 09821 768 800refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082120190816
2308112 0 09861 768 800refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082120190816
2316138 0 014949 760 1128refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082120190816
2316113 0 09837 768 800refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082120190816
2340114 0 09821 768 800refgcc_-O_-fomit-frame-pointer2019082120190816
2344104 0 08985 752 768refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082120190816
2349121 0 09829 768 800refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082120190816
2380108 0 09009 752 768refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082120190816
2388104 0 08985 752 768refgcc_-m64_-Os_-fomit-frame-pointer2019082120190816
2388104 0 08985 752 768refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
2392129 0 012518 776 800refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082120190816
2404129 0 012686 776 800refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082120190816
2404122 0 011966 776 800refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082120190816
2418108 0 09009 752 768refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082120190816
2424105 0 012006 776 800refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082120190816
2432374 0 013677 768 800refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082120190816
2448224 0 09805 768 800refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082120190816
2448104 0 08985 752 768refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082120190816
2454121 0 09805 768 800refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082120190816
2468114 0 09821 768 800refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082120190816
2480106 0 012166 776 800refgcc_-O3_-fomit-frame-pointer2019082120190816
2484104 0 08985 752 768refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082120190816
2516106 0 012166 776 800refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082120190816
2532108 0 09009 752 768refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
2544108 0 09009 752 768refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082120190816
2544121 0 09805 768 800refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082120190816
2560122 0 09805 768 800refgcc_-O2_-fomit-frame-pointer2019082120190816
2560121 0 09829 768 800refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082120190816
2560112 0 09861 768 800refgcc_-march=k8_-O_-fomit-frame-pointer2019082120190816
2565121 0 010133 768 800refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082120190816
2576108 0 09009 752 768refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
2576104 0 08985 752 768refgcc_-march=k8_-Os_-fomit-frame-pointer2019082120190816
2612129 0 012206 776 800refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082120190816
2620104 0 08985 752 768refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
2624376 0 013581 768 800refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082120190816
2624104 0 08985 752 768refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082120190816
2628104 0 08985 752 768refgcc_-Os_-fomit-frame-pointer2019082120190816
2628104 0 08985 752 768refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082120190816
2652113 0 09869 768 800refgcc_-march=k8_-O2_-fomit-frame-pointer2019082120190816
2704108 0 09009 752 768refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
2728121 0 09805 768 800refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082120190816
2772104 0 08985 752 768refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082120190816
2784208 0 08985 752 768refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082120190816
2820113 0 09869 768 800refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082120190816
2920104 0 08985 752 768refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082120190816
2956105 0 012222 776 800refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082120190816
3084104 0 08985 752 768refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082120190816
3164104 0 08985 752 768refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082120190816
5864217 0 011502 760 760refcc2019082120190816
6908217 0 011502 760 760refgcc2019082120190816
7204217 0 011502 760 760refgcc_-funroll-loops2019082120190816

Test failure

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
encode.c: encode.c: In function 'crypto_encode_256x2_avx':
encode.c: encode.c:7:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encode.c: __m256i a0 = _mm256_loadu_si256(0+(__m256i *) v);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:32:11: note: called from here
encode.c: int32_t c7 = _mm256_movemask_epi8(b7);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:31:11: note: called from here
encode.c: int32_t c6 = _mm256_movemask_epi8(b6);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: ...

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc avx
gcc avx
gcc -O2 -fomit-frame-pointer avx
gcc -O3 -fomit-frame-pointer avx
gcc -O -fomit-frame-pointer avx
gcc -Os -fomit-frame-pointer avx
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx
gcc -fno-schedule-insns -O -fomit-frame-pointer avx
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx
gcc -funroll-loops avx
gcc -funroll-loops -O2 -fomit-frame-pointer avx
gcc -funroll-loops -O3 -fomit-frame-pointer avx
gcc -funroll-loops -O -fomit-frame-pointer avx
gcc -funroll-loops -Os -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx
gcc -m64 -O2 -fomit-frame-pointer avx
gcc -m64 -O3 -fomit-frame-pointer avx
gcc -m64 -O -fomit-frame-pointer avx
gcc -m64 -Os -fomit-frame-pointer avx
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core2 -O -fomit-frame-pointer avx
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx
gcc -m64 -march=k8 -O -fomit-frame-pointer avx
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx
gcc -m64 -march=nocona -O -fomit-frame-pointer avx
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx
gcc -march=barcelona -O2 -fomit-frame-pointer avx
gcc -march=barcelona -O3 -fomit-frame-pointer avx
gcc -march=barcelona -O -fomit-frame-pointer avx
gcc -march=barcelona -Os -fomit-frame-pointer avx
gcc -march=k8 -O2 -fomit-frame-pointer avx
gcc -march=k8 -O3 -fomit-frame-pointer avx
gcc -march=k8 -O -fomit-frame-pointer avx
gcc -march=k8 -Os -fomit-frame-pointer avx
gcc -march=nocona -O2 -fomit-frame-pointer avx
gcc -march=nocona -O3 -fomit-frame-pointer avx
gcc -march=nocona -O -fomit-frame-pointer avx
gcc -march=nocona -Os -fomit-frame-pointer avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encode.c: encode.c:7:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a0 = _mm256_loadu_si256(0+(__m256i *) v);
encode.c: ^
encode.c: encode.c:8:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a1 = _mm256_loadu_si256(1+(__m256i *) v);
encode.c: ^
encode.c: encode.c:9:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a2 = _mm256_loadu_si256(2+(__m256i *) v);
encode.c: ^
encode.c: encode.c:10:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a3 = _mm256_loadu_si256(3+(__m256i *) v);
encode.c: ^
encode.c: encode.c:11:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a4 = _mm256_loadu_si256(4+(__m256i *) v);
encode.c: ^
encode.c: encode.c:12:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a5 = _mm256_loadu_si256(5+(__m256i *) v);
encode.c: ^
encode.c: encode.c:13:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a6 = _mm256_loadu_si256(6+(__m256i *) v);
encode.c: ^
encode.c: encode.c:14:16: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: __m256i a7 = _mm256_loadu_si256(7+(__m256i *) v);
encode.c: ^
encode.c: encode.c:15:20: error: always_inline function '_mm256_set1_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'sse4.2'
encode.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
encode.c: encode.c:17:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b0 = _mm256_cmpgt_epi8(a0&bottom,zero);
encode.c: ^
encode.c: encode.c:18:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b1 = _mm256_cmpgt_epi8(a1&bottom,zero);
encode.c: ^
encode.c: encode.c:19:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b2 = _mm256_cmpgt_epi8(a2&bottom,zero);
encode.c: ^
encode.c: encode.c:20:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b3 = _mm256_cmpgt_epi8(a3&bottom,zero);
encode.c: ^
encode.c: encode.c:21:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b4 = _mm256_cmpgt_epi8(a4&bottom,zero);
encode.c: ^
encode.c: encode.c:22:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b5 = _mm256_cmpgt_epi8(a5&bottom,zero);
encode.c: ^
encode.c: encode.c:23:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b6 = _mm256_cmpgt_epi8(a6&bottom,zero);
encode.c: ^
encode.c: encode.c:24:16: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: __m256i b7 = _mm256_cmpgt_epi8(a7&bottom,zero);
encode.c: ^
encode.c: encode.c:25:16: error: always_inline function '_mm256_movemask_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_encode_256x2_avx' that is compiled without support for 'avx2'
encode.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encode.c: encode.c: In function 'crypto_encode_256x2_avx':
encode.c: encode.c:7:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encode.c: __m256i a0 = _mm256_loadu_si256(0+(__m256i *) v);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:32:11: note: called from here
encode.c: int32_t c7 = _mm256_movemask_epi8(b7);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:31:11: note: called from here
encode.c: int32_t c6 = _mm256_movemask_epi8(b6);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: ...
encode.c: encode.c: In function 'crypto_encode_256x2_avx':
encode.c: encode.c:7:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encode.c: __m256i a0 = _mm256_loadu_si256(0+(__m256i *) v);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:32:11: note: called from here
encode.c: int32_t c7 = _mm256_movemask_epi8(b7);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:31:11: note: called from here
encode.c: int32_t c6 = _mm256_movemask_epi8(b6);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -m64 -march=barcelona -O -fomit-frame-pointer avx
gcc -m64 -march=barcelona -Os -fomit-frame-pointer avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: encode.c: In function 'crypto_encode_256x2_avx':
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:32:11: note: called from here
encode.c: int32_t c7 = _mm256_movemask_epi8(b7);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:31:11: note: called from here
encode.c: int32_t c6 = _mm256_movemask_epi8(b6);
encode.c: ^~
encode.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encode.c: from encode.c:1:
encode.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:433:1: error: inlining failed in call to always_inline '_mm256_movemask_epi8': target specific option mismatch
encode.c: _mm256_movemask_epi8 (__m256i __A)
encode.c: ^~~~~~~~~~~~~~~~~~~~
encode.c: encode.c:30:11: note: called from here
encode.c: int32_t c5 = _mm256_movemask_epi8(b5);
encode.c: ^~
encode.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx