Implementation notes: amd64, bitvise, crypto_hash/blake2b

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: blake2b
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
49032159 0 014897 776 752avx2-3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49032090 0 011263 768 736avx2-3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49052159 0 014897 776 752avx2-3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49092169 0 014945 776 752avx2-3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49668531 0 021265 776 752avx2-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49738505 0 021217 776 752avx2-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49738505 0 021217 776 752avx2-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
49938443 0 017583 768 736avx2-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
516611616 0 024353 776 752avxiccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
517111616 0 021845 784 808avxiccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
518711616 0 024337 776 752avxiccclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
518711616 0 024337 776 752avxiccclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
518711616 0 025294 792 808avxiccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
519611616 0 020783 768 736avxiccclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
520311616 0 021781 784 808avxiccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
525011616 0 020897 768 776avxiccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
53302221 0 012461 768 808avx2-3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
53302221 0 015862 776 808avx2-3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
53302047 0 011321 752 776avx2-3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
53771529 0 014321 776 752moon/avx2/64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
53831529 0 014321 776 752moon/avx2/64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
53831529 0 010751 768 736moon/avx2/64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
53841529 0 014289 776 752moon/avx2/64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
54157351 0 020982 776 808avx2-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54177232 0 016473 752 776avx2-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54197351 0 017549 768 808avx2-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54393988 0 014181 768 808moon/avx/64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54532208 0 012365 768 808avx2-3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54534013 0 014141 768 808moon/avx/64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54917302 0 017421 768 808avx2-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
54973924 0 013185 752 776moon/avx/64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
555211439 0 020591 768 736xmmclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
555611587 0 024305 776 752xmmclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
555611582 0 024289 776 752xmmclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
556411582 0 024289 776 752xmmclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
55763897 0 016689 776 752moon/avx/64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
55783897 0 016657 776 752moon/avx/64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
55828266 0 017513 752 776avx2-1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
55843987 0 017678 776 808moon/avx/64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
55923897 0 016689 776 752moon/avx/64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
55948507 0 018717 768 808avx2-1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
56023897 0 013119 768 736moon/avx/64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56048507 0 022150 776 808avx2-1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
56628371 0 021081 776 752avx2-1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56658397 0 021129 776 752avx2-1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56698371 0 021081 776 752avx2-1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56718284 0 017431 768 736avx2-1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56868305 0 018429 768 808avx2-1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
583811977 0 022173 768 808xmmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
584411977 0 025622 776 808xmmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
589611519 0 020745 752 776xmmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
592511973 0 022077 768 808xmmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
609213161 0 022456 760 776regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
609813846 0 024092 776 808regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
611413854 0 027573 784 808regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
633113785 0 023964 776 808regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
679110794 0 024573 784 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
68788890 0 019277 784 808refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
801814684 0 027417 776 752regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
802114427 0 023575 768 736regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
803114684 0 027385 776 752regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
809714684 0 027385 776 752regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
83438225 0 017576 760 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
84279069 0 019365 784 808refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
945910449 0 019671 768 736refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
948513093 0 025873 776 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
949513861 0 026257 776 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
950113861 0 026257 776 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910

Test failure

Implementation: moon/xop/64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64

Compiler output

Implementation: moon/avx2/64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_hash_blake2b.a(blake2b.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64

Compiler output

Implementation: ymm
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.c: blake2b.c:203:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:204:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:205:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:206:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:225:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:226:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:227:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:228:10: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type '__m256i' (vector of 4 'long long' values)
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(buffer + 96));
blake2b.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2b.c: blake2b.c:241:5: error: invalid conversion between vector type '__m256i' (vector of 4 'long long' values) and '__m128i' (vector of 2 'long long' values) of different size
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:203:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:204:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:205:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(in + 64));
blake2b.c: ^
blake2b.c: blake2b.c:206:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(in + 96));
blake2b.c: ^
blake2b.c: blake2b.c:225:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m0 = _mm256_loadu_si256((__m256i*)(buffer + 00));
blake2b.c: ^
blake2b.c: blake2b.c:226:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m1 = _mm256_loadu_si256((__m256i*)(buffer + 32));
blake2b.c: ^
blake2b.c: blake2b.c:227:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m2 = _mm256_loadu_si256((__m256i*)(buffer + 64));
blake2b.c: ^
blake2b.c: blake2b.c:228:10: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type '__m256i {aka __vector(4) long long int}'
blake2b.c: m3 = _mm256_loadu_si256((__m256i*)(buffer + 96));
blake2b.c: ^
blake2b.c: ...

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

Namespace violations

Implementation: moon/avx/64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.o _blake2b_blocks_avx T
blake2b.o blake2b_blocks_avx T

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64

Namespace violations

Implementation: moon/avx2/64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b.o _blake2b_blocks_avx2 T
blake2b.o blake2b_blocks_avx2 T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2b-ref.o blake2b T
blake2b-ref.o blake2b_final T
blake2b-ref.o blake2b_init T
blake2b-ref.o blake2b_init_key T
blake2b-ref.o blake2b_init_param T
blake2b-ref.o blake2b_update T

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref