Implementation notes: amd64, bitvise, crypto_hash/blake256

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: blake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
111225696 0 018353 776 752sse41-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
111355696 0 018353 776 752sse41-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
111725646 0 014735 768 736sse41-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
112575696 0 018369 776 752sse41-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
125407070 0 020614 776 808sse41-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
125906221 0 016349 768 808sse41-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
126116415 0 016549 768 808sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
126855866 0 015113 752 776sse41-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
127106112 0 015369 752 776sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
127326022 0 016141 768 808sse41-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
127586860 0 020438 776 808sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
129406747 0 019425 776 752sse2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1294413631 4 20827302 780 1016vect128gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
129496252 0 016397 768 808sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
129696747 0 019425 776 752sse2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
129726747 0 019457 776 752sse2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
130019778 4 20820102 780 1016vect128gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
130546717 0 015823 768 736sse2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
130689525 4 20819972 796 1016vect128gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
131849096 4 20818599 772 984vect128gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
134236903 0 017037 768 808ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
134636612 0 015873 752 776ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
135237380 0 020958 776 808ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1367510604 4 20821052 796 1016vect128-mmxhackgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
137176796 0 016933 768 808ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1372614719 4 20828406 780 1016vect128-mmxhackgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1377410191 4 20819687 772 984vect128-mmxhackgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1379710866 4 20821190 780 1016vect128-mmxhackgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
151927351 0 017485 768 808sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
152697047 0 016305 752 776sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
153147828 0 021390 776 808sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
154636987 0 016255 768 736sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
154647297 0 020145 776 752sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
154777233 0 020081 776 752sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
154942494 0 011591 768 736refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
155067233 0 020081 776 752sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
155657245 0 017381 768 808sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1619825526 0 035886 776 808sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1632129633 0 043302 776 808sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1641710606 0 019865 752 776sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
164248423 0 018557 768 808sse2-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1650611295 0 021429 768 808bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1651011503 0 021637 768 808regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1657911104 0 021245 768 808bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1662325831 0 036158 776 808sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
166437619 0 016727 768 736bswapclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
166477667 0 020377 776 752bswapclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
166547667 0 020345 776 752bswapclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
166617667 0 020345 776 752bswapclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1668312198 0 025750 776 808bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
166868083 0 017345 752 776sse2-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
167008900 0 022462 776 808sse2-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1670611980 0 025542 776 808regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
167087653 0 020321 776 752sse2-2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
167347623 0 016719 768 736sse2-2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1673511141 0 020409 752 776regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
167467653 0 020353 776 752sse2-2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
167947653 0 020321 776 752sse2-2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1681810937 0 020201 752 776bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
168449956 0 022633 776 752sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
168499956 0 022665 776 752sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
168819908 0 019015 768 736sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
169079956 0 022633 776 752sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1699624917 0 034297 752 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1709326368 0 035599 768 736sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1712426593 0 039409 776 752sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1713526561 0 039361 776 752sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1716926561 0 039361 776 752sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1751411877 0 022013 768 808regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1752111599 0 021733 768 808sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1760512502 0 026054 776 808sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1791511226 0 021373 768 808sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
179198149 0 018293 768 808sse2-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
208048806 0 021513 776 752regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
209238776 0 017879 768 736regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
210268806 0 021481 776 752regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
213088806 0 021481 776 752regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
214238513 0 018854 776 808sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
215427636 0 017017 752 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
233703056 0 013197 768 808refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
242062926 0 012185 752 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
261593113 0 015785 776 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
261893113 0 015785 776 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
2714413961 0 027630 776 808sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
2732710022 0 020382 776 808sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
273423401 0 016105 776 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
281745172 0 018718 776 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
290174015 0 014149 768 808refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910

Compiler output

Implementation: avxicc
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.s: hash.s:219710:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0 #289.3
hash.s: ^
hash.s: hash.s:219728:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0 #289.3
hash.s: ^
hash.s: hash.s:221419:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0 #289.3
hash.s: ^
hash.s: hash.s:221437:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0 #289.3
hash.s: ^
hash.s: hash.s:223123:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0+1 #289.3
hash.s: ^

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

Compiler output

Implementation: avxicc
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_hash_blake256.a(hash.o): relocation R_X86_64_32 against `.rodata' 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 avxicc
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avxicc
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avxicc
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avxicc

Compiler output

Implementation: avxs
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
b256.s: b256.s:98:31: error: unknown token in expression
b256.s: vpshufd xmm4, xmm4, 0b00101101
b256.s: ^
b256.s: b256.s:99:40: error: unknown token in expression
b256.s: vpblendw xmm5, xmm12, xmm13, 0b11000000
b256.s: ^
b256.s: b256.s:101:31: error: unknown token in expression
b256.s: vpshufd xmm5, xmm5, 0b01110010
b256.s: ^
b256.s: b256.s:104:31: error: unknown token in expression
b256.s: vpshufd xmm6, xmm6, 0b01001011
b256.s: ^
b256.s: b256.s:106:39: error: unknown token in expression
b256.s: vpblendw xmm7, xmm7, xmm13, 0b00000011
b256.s: ^
b256.s: b256.s:153:40: error: unknown token in expression
b256.s: vpblendw xmm4, xmm13, xmm11, 0b00001100
b256.s: ^
b256.s: b256.s:155:31: error: unknown token in expression
b256.s: vpshufd xmm4, xmm4, 0b11010010
b256.s: ^
b256.s: b256.s:156:40: error: unknown token in expression
b256.s: vpblendw xmm5, xmm10, xmm13, 0b00001100
b256.s: ^
b256.s: b256.s:158:31: error: unknown token in expression
b256.s: ...

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

Compiler output

Implementation: avxs
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_hash_blake256.a(b256.o): relocation R_X86_64_32S against `.rodata' 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 avxs
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avxs
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avxs
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avxs

Compiler output

Implementation: sse41
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:121:
hash.c: ./rounds.sse41.h:17:22: warning: implicit conversion from 'long' to 'int' changes value from 3964562569 to -330404727 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:17:55: warning: implicit conversion from 'long' to 'int' changes value from 2242054355 to -2052912941 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:20:33: warning: implicit conversion from 'long' to 'int' changes value from 2752067618 to -1542899678 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(137296536, 2752067618, 320440878, 608135816);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:47:22: warning: implicit conversion from 'long' to 'int' changes value from 3041331479 to -1253635817 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:47:34: warning: implicit conversion from 'long' to 'int' changes value from 3380367581 to -914599715 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:50:34: warning: implicit conversion from 'long' to 'int' changes value from 3232508343 to -1062458953 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:50:46: warning: implicit conversion from 'long' to 'int' changes value from 3193202383 to -1101764913 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.sse41.h:81:33: warning: implicit conversion from 'long' to 'int' changes value from 3041331479 to -1253635817 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(137296536, 3041331479, 1160258022, 3193202383);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ...

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

Compiler output

Implementation: sse41-2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:2:
hash.c: ./blake256.h:105:15: warning: '_mm_roti_epi32' macro redefined [-Wmacro-redefined]
hash.c: #define _mm_roti_epi32(r, c) ((8==-c) ? _mm_shuffle_epi8(r,r8) : ( (16==-c) ? _mm_shuffle_epi8(r,r16) : _mm_xor_si128(_mm_srli_epi32( (r), -(c) ),_mm_slli_epi32( (r), 32-(-c) )) ) )
hash.c: ^
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/xopintrin.h:246:9: note: previous definition is here
hash.c: #define _mm_roti_epi32(A, N) __extension__ ({ \
hash.c: ^
hash.c: 1 warning generated.

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

Compiler output

Implementation: ssse3
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:122:
hash.c: ./rounds.ssse3.h:3:22: warning: implicit conversion from 'long' to 'int' changes value from 3964562569 to -330404727 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:3:55: warning: implicit conversion from 'long' to 'int' changes value from 2242054355 to -2052912941 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3964562569, 698298832, 57701188, 2242054355);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:6:33: warning: implicit conversion from 'long' to 'int' changes value from 2752067618 to -1542899678 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(137296536, 2752067618, 320440878, 608135816);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:27:22: warning: implicit conversion from 'long' to 'int' changes value from 3041331479 to -1253635817 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:27:34: warning: implicit conversion from 'long' to 'int' changes value from 3380367581 to -914599715 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(3041331479, 3380367581, 887688300, 953160567);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:30:34: warning: implicit conversion from 'long' to 'int' changes value from 3232508343 to -1062458953 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:30:46: warning: implicit conversion from 'long' to 'int' changes value from 3193202383 to -1101764913 [-Wconstant-conversion]
hash.c: buf1 = _mm_set_epi32(1065670069, 3232508343, 3193202383, 1160258022);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ./rounds.ssse3.h:51:33: warning: implicit conversion from 'long' to 'int' changes value from 3041331479 to -1253635817 [-Wconstant-conversion]
hash.c: buf2 = _mm_set_epi32(137296536, 3041331479, 1160258022, 3193202383);
hash.c: ~~~~~~~~~~~~~ ^~~~~~~~~~
hash.c: ...

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

Compiler output

Implementation: vect128
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:389:3: error: use of unknown builtin '__builtin_ia32_punpckldq128' [-Wimplicit-function-declaration]
vector.c: v32_interleave_inplace(M0,M2);
vector.c: ^
vector.c: ./vector.h:1038:17: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 c__ = v32_interleavel (a__, b__); \
vector.c: ^
vector.c: ./vector.h:100:27: note: expanded from macro 'v32_interleavel'
vector.c: #define v32_interleavel __builtin_ia32_punpckldq128
vector.c: ^
vector.c: vector.c:389:3: error: initializing 'v32' (aka 'v4si') with an expression of incompatible type 'int'
vector.c: v32_interleave_inplace(M0,M2);
vector.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vector.c: ./vector.h:1038:11: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 c__ = v32_interleavel (a__, b__); \
vector.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
vector.c: vector.c:389:3: error: use of unknown builtin '__builtin_ia32_punpckhdq128' [-Wimplicit-function-declaration]
vector.c: ./vector.h:1039:17: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 d__ = v32_interleaveh (a__, b__); \
vector.c: ^
vector.c: ./vector.h:101:27: note: expanded from macro 'v32_interleaveh'
vector.c: #define v32_interleaveh __builtin_ia32_punpckhdq128
vector.c: ^
vector.c: vector.c:389:3: note: did you mean '__builtin_ia32_punpckldq128'?
vector.c: ./vector.h:1039:17: note: expanded from macro 'v32_interleave_inplace'
vector.c: v32 d__ = v32_interleaveh (a__, b__); \
vector.c: ...

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

Compiler output

Implementation: vect128-mmxhack
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:203:8: error: use of unknown builtin '__builtin_ia32_pshufd' [-Wimplicit-function-declaration]
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^
vector.c: ./vector.h:151:26: note: expanded from macro 'v32_shufrot'
vector.c: #define v32_shufrot(x,s) v32_shuf(x,XCAT(SHUFROT_,s))
vector.c: ^
vector.c: ./vector.h:140:18: note: expanded from macro 'v32_shuf'
vector.c: #define v32_shuf __builtin_ia32_pshufd
vector.c: ^
vector.c: vector.c:203:8: note: did you mean '__builtin_ia32_psubd'?
vector.c: ./vector.h:151:26: note: expanded from macro 'v32_shufrot'
vector.c: #define v32_shufrot(x,s) v32_shuf(x,XCAT(SHUFROT_,s))
vector.c: ^
vector.c: ./vector.h:140:18: note: expanded from macro 'v32_shuf'
vector.c: #define v32_shuf __builtin_ia32_pshufd
vector.c: ^
vector.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/mmintrin.h:560:19: note: '__builtin_ia32_psubd' declared here
vector.c: return (__m64)__builtin_ia32_psubd((__v2si)__m1, (__v2si)__m2);
vector.c: ^
vector.c: vector.c:203:6: error: assigning to 'v32' (aka 'v4si') from incompatible type 'int'
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^ ~~~~~~~~~~~~~~~~~
vector.c: vector.c:205:6: error: assigning to 'v32' (aka 'v4si') from incompatible type 'int'
vector.c: M0 = v32_shufrot(M0,1);
vector.c: ^ ~~~~~~~~~~~~~~~~~
vector.c: ...

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

Compiler output

Implementation: xop
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:115:3: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake256_compress' that is compiled without support for 'fma4'
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:51:3: note: expanded from macro 'ROUND'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: <scratch space>:393:1: note: expanded from here
hash.c: LOAD_MSG_0_1
hash.c: ^
hash.c: ./load.xop.h:19:6: note: expanded from macro 'LOAD_MSG_0_1'
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
hash.c: ^
hash.c: ./rounds.h:8:10: note: expanded from macro 'G1'
hash.c: row4 = _mm_roti_epi32(row4, -16); \
hash.c: ^
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/xopintrin.h:247:12: note: expanded from macro '_mm_roti_epi32'
hash.c: (__m128i)__builtin_ia32_vprotdi((__v4si)(__m128i)(A), (N)); })
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
hash.c: ...

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

Compiler output

Implementation: xop
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:115:3: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake256_compress' that is compiled without support for 'fma4'
hash.c: ROUND( 0);
hash.c: ^
hash.c: ./rounds.h:51:3: note: expanded from macro 'ROUND'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: <scratch space>:388:1: note: expanded from here
hash.c: LOAD_MSG_0_1
hash.c: ^
hash.c: ./load.xop.h:19:6: note: expanded from macro 'LOAD_MSG_0_1'
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
hash.c: ^
hash.c: ./rounds.h:8:10: note: expanded from macro 'G1'
hash.c: row4 = _mm_roti_epi32(row4, -16); \
hash.c: ^
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/xopintrin.h:247:12: note: expanded from macro '_mm_roti_epi32'
hash.c: (__m128i)__builtin_ia32_vprotdi((__v4si)(__m128i)(A), (N)); })
hash.c: ^
hash.c: hash.c:115:3: error: '__builtin_ia32_vprotdi' needs target feature xop
hash.c: ./rounds.h:52:3: note: expanded from macro 'ROUND'
hash.c: G1(row1,row2,row3,row4,buf1); \
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE xop

Compiler output

Implementation: xop
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
hash.c: from blake256.h:7,
hash.c: from hash.c:2:
hash.c: hash.c: In function 'blake256_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:260:1: error: inlining failed in call to always_inline '_mm_roti_epi32': target specific option mismatch
hash.c: _mm_roti_epi32(__m128i __A, const int __B)
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from blake256.h:127:0,
hash.c: from hash.c:2:
hash.c: rounds.h:19:8: note: called from here
hash.c: row2 = _mm_roti_epi32(row2, -7); \
hash.c: ^
hash.c: rounds.h:59:3: note: in expansion of macro 'G2'
hash.c: G2(row1,row2,row3,row4,buf4); \
hash.c: ^~
hash.c: hash.c:128:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(13);
hash.c: ^~~~~
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
hash.c: from blake256.h:7,
hash.c: from hash.c:2:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:260:1: error: inlining failed in call to always_inline '_mm_roti_epi32': target specific option mismatch
hash.c: _mm_roti_epi32(__m128i __A, const int __B)
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from blake256.h:127:0,
hash.c: ...

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

Namespace violations

Implementation: sphlib
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake.o sph_blake224 T
blake.o sph_blake224_addbits_and_close T
blake.o sph_blake224_close T
blake.o sph_blake224_init T
blake.o sph_blake256 T
blake.o sph_blake256_addbits_and_close T
blake.o sph_blake256_close T
blake.o sph_blake256_init T
blake.o sph_blake384 T
blake.o sph_blake384_addbits_and_close T
blake.o sph_blake384_close T
blake.o sph_blake384_init T
blake.o sph_blake512 T
blake.o sph_blake512_addbits_and_close T
blake.o sph_blake512_close T
blake.o sph_blake512_init T

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

Namespace violations

Implementation: vect128
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
nist.o Final T
nist.o Hash T
nist.o IncreaseCounter T
nist.o Init T
nist.o InitIV T
nist.o Update T
vector.o Blake_Compress T
vector.o RequiredAlignment T
vector.o SupportedLength T
vector.o VERSION T
vector.o blake256_final T
vector.o blake256_init T
vector.o blake256_update T
vector.o crypto_hash T
vector.o cst R
vector.o padding R
vector.o print_m32 T
vector.o print_m64 T
vector.o round256 T
vector.o sigma R

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