Implementation notes: amd64, bitvise, crypto_hash/blake512

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: blake512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
880412329 0 025033 776 752sse41clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
883911769 0 024465 776 752sse41clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
889011769 0 024465 776 752sse41clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
892910786 0 019935 768 736sse41clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
923111408 0 024129 776 752ssse3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
924111408 0 024129 776 752ssse3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
930812768 0 025513 776 752ssse3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
932911597 0 024321 776 752sse2sclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
935211597 0 024321 776 752sse2sclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
938112957 0 025705 776 752sse2sclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
941111499 0 020655 768 736sse2sclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
965711649 0 021885 768 808sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
965713144 0 026806 776 808sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
968111310 0 020479 768 736ssse3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
977311440 0 021589 768 808sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
983611435 0 020713 752 776sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
994515128 4 20828862 780 1016vect128gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1005512931 4 20823302 780 1016vect128gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1007212929 4 20823356 796 1016vect128gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1015312787 4 20822263 772 984vect128gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1029913406 0 022665 752 776sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1033325526 0 035966 776 808sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1036012959 4 20822423 772 984vect128-inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1036415528 4 20829262 780 1016vect128-inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1039213742 0 023001 752 776bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1042013331 4 20823702 780 1016vect128-inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1048114364 0 023625 752 776regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1053115896 0 029574 776 808bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1054514235 0 024453 768 808bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1055025831 0 036158 776 808sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1058213971 0 024109 768 808bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1058414867 0 025093 768 808regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1059029633 0 043398 776 808sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1061113309 4 20823724 796 1016vect128-inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1062216440 0 030118 776 808regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1076524917 0 034297 752 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1078713966 0 026681 776 752sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1079213886 0 023047 768 736sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1081715342 0 028081 776 752sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1087613966 0 026681 776 752sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1096212536 0 025249 776 752sse2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1102312438 0 021599 768 736sse2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1105612536 0 025249 776 752sse2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1106314432 0 028094 776 808ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1106912627 0 022781 768 808ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1113212859 0 023101 768 808ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1113913896 0 026633 776 752sse2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1127126591 0 039457 776 752sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1127914987 0 025205 768 808sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1130326559 0 039409 776 752sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1132626559 0 039409 776 752sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1136314660 0 024797 768 808sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1149616648 0 030326 776 808sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1152312756 0 022025 752 776ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1155226366 0 035647 768 736sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1161913080 0 023229 768 808sse2sgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1164513195 0 023437 768 808sse2sgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1171414768 0 028430 776 808sse2sgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1180015756 0 025901 768 808regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
121393428 0 012583 768 736refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1222813119 0 022393 752 776sse2sgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
125247636 0 017017 752 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
125486985 0 016319 768 736sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
125517295 0 020193 776 752sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
125537231 0 020129 776 752sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
125758513 0 018854 776 808sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
125797231 0 020129 776 752sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1305515013 0 024167 768 736regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1309115111 0 027833 776 752regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1318713963 0 024205 768 808sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1319915536 0 029198 776 808sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1321613670 0 022953 752 776sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1325216471 0 029217 776 752regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1331015111 0 027833 776 752regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1338013555 0 023709 768 808sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1341913383 0 026073 776 752bswapclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1342913303 0 022439 768 736bswapclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1343113383 0 026073 776 752bswapclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1349014759 0 027473 776 752bswapclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
143523981 0 013241 752 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
150454093 0 014237 768 808refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1646410022 0 020462 776 808sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1652813961 0 027726 776 808sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
168183845 0 016569 776 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
168815845 0 018593 776 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
169523845 0 016569 776 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
175548263 0 021894 776 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
176065218 0 015445 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:395915:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0 #246.3
hash.s: ^
hash.s: hash.s:395927:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0 #246.3
hash.s: ^
hash.s: hash.s:395933:31: error: cannot use more than one symbol in memory operand
hash.s: mov esi, offset flat: padding.0+1 #246.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_blake512.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: 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:8:
hash.c: ./rounds.h:8:10: warning: '_mm_roti_epi64' macro redefined [-Wmacro-redefined]
hash.c: #define _mm_roti_epi64(x, c) \
hash.c: ^
hash.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/xopintrin.h:249:9: note: previous definition is here
hash.c: #define _mm_roti_epi64(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
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: vect128
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:753:3: error: use of unknown builtin '__builtin_ia32_punpcklqdq128' [-Wimplicit-function-declaration]
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: PERM(i); \
vector.c: ^
vector.c: ./perm512-m.h:1:17: note: expanded from macro 'PERM'
vector.c: #define PERM(i) XCAT(PERM_512_INPLACE_,i)
vector.c: ^
vector.c: ./vector.h:6:19: note: expanded from macro 'XCAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^
vector.c: note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
vector.c: <scratch space>:67:1: note: expanded from here
vector.c: PERM_512_INPLACE_0
vector.c: ^
vector.c: ./perm512-m.h:4:10: note: expanded from macro 'PERM_512_INPLACE_0'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: ./vector.h:97:27: note: expanded from macro 'v64_interleavel'
vector.c: #define v64_interleavel __builtin_ia32_punpcklqdq128
vector.c: ^
vector.c: vector.c:753:3: error: assigning to 'v64' (aka 'v2di') from incompatible type 'int'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~~~~~
vector.c: ...

Number of similar (compiler,implementation) pairs: 3, 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

Compiler output

Implementation: vect128
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:753:3: error: use of unknown builtin '__builtin_ia32_punpcklqdq128' [-Wimplicit-function-declaration]
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: PERM(i); \
vector.c: ^
vector.c: ./perm512-m.h:1:17: note: expanded from macro 'PERM'
vector.c: #define PERM(i) XCAT(PERM_512_INPLACE_,i)
vector.c: ^
vector.c: ./vector.h:6:19: note: expanded from macro 'XCAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^
vector.c: note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
vector.c: <scratch space>:64:1: note: expanded from here
vector.c: PERM_512_INPLACE_0
vector.c: ^
vector.c: ./perm512-m.h:4:10: note: expanded from macro 'PERM_512_INPLACE_0'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: ./vector.h:97:27: note: expanded from macro 'v64_interleavel'
vector.c: #define v64_interleavel __builtin_ia32_punpcklqdq128
vector.c: ^
vector.c: vector.c:753:3: error: assigning to 'v64' (aka 'v2di') from incompatible type 'int'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~~~~~
vector.c: ...

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

Compiler output

Implementation: vect128-inplace
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:753:3: error: use of unknown builtin '__builtin_ia32_punpcklqdq128' [-Wimplicit-function-declaration]
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: PERM(i); \
vector.c: ^
vector.c: ./perm512.h:1:17: note: expanded from macro 'PERM'
vector.c: #define PERM(i) XCAT(PERM_512_,i)
vector.c: ^
vector.c: ./vector.h:6:19: note: expanded from macro 'XCAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^
vector.c: note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
vector.c: <scratch space>:67:1: note: expanded from here
vector.c: PERM_512_0
vector.c: ^
vector.c: ./perm512.h:6:10: note: expanded from macro 'PERM_512_0'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: ./vector.h:97:27: note: expanded from macro 'v64_interleavel'
vector.c: #define v64_interleavel __builtin_ia32_punpcklqdq128
vector.c: ^
vector.c: vector.c:753:3: error: assigning to 'v64' (aka 'v2di') from incompatible type 'int'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~~~~~
vector.c: ...

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

Compiler output

Implementation: vect128-inplace
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:753:3: error: use of unknown builtin '__builtin_ia32_punpcklqdq128' [-Wimplicit-function-declaration]
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: PERM(i); \
vector.c: ^
vector.c: ./perm512.h:1:17: note: expanded from macro 'PERM'
vector.c: #define PERM(i) XCAT(PERM_512_,i)
vector.c: ^
vector.c: ./vector.h:6:19: note: expanded from macro 'XCAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^
vector.c: note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
vector.c: <scratch space>:64:1: note: expanded from here
vector.c: PERM_512_0
vector.c: ^
vector.c: ./perm512.h:6:10: note: expanded from macro 'PERM_512_0'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: ./vector.h:97:27: note: expanded from macro 'v64_interleavel'
vector.c: #define v64_interleavel __builtin_ia32_punpcklqdq128
vector.c: ^
vector.c: vector.c:753:3: error: assigning to 'v64' (aka 'v2di') from incompatible type 'int'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~~~~~
vector.c: ...

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

Compiler output

Implementation: vect128-xop
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:646:13: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'round512' that is compiled without support for 'fma4'
vector.c: v64 mm0 = v64_lswap(MM[0]), mm1 = v64_lswap(MM[1]);
vector.c: ^
vector.c: ./vector.h:153:27: note: expanded from macro 'v64_lswap'
vector.c: #define v64_lswap(x) V864(vector_shuffle(V648(x), v64_swap_endianness.v8))
vector.c: ^
vector.c: ./vector.h:64:29: note: expanded from macro 'vector_shuffle'
vector.c: #define vector_shuffle(x,s) _mm_perm_epi8(x,x, s)
vector.c: ^
vector.c: vector.c:646:37: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'round512' that is compiled without support for 'fma4'
vector.c: v64 mm0 = v64_lswap(MM[0]), mm1 = v64_lswap(MM[1]);
vector.c: ^
vector.c: ./vector.h:153:27: note: expanded from macro 'v64_lswap'
vector.c: #define v64_lswap(x) V864(vector_shuffle(V648(x), v64_swap_endianness.v8))
vector.c: ^
vector.c: ./vector.h:64:29: note: expanded from macro 'vector_shuffle'
vector.c: #define vector_shuffle(x,s) _mm_perm_epi8(x,x, s)
vector.c: ^
vector.c: vector.c:647:13: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'round512' that is compiled without support for 'fma4'
vector.c: v64 mm2 = v64_lswap(MM[2]), mm3 = v64_lswap(MM[3]);
vector.c: ^
vector.c: ./vector.h:153:27: note: expanded from macro 'v64_lswap'
vector.c: #define v64_lswap(x) V864(vector_shuffle(V648(x), v64_swap_endianness.v8))
vector.c: ^
vector.c: ./vector.h:64:29: note: expanded from macro 'vector_shuffle'
vector.c: ...

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

Compiler output

Implementation: vect128-xop
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
vector.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
vector.c: from vector.h:29,
vector.c: from vector.c:7:
vector.c: vector.c: In function 'round512':
vector.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
vector.c: _mm_roti_epi64(__m128i __A, const int __B)
vector.c: ^~~~~~~~~~~~~~
vector.c: vector.c:745:8: note: called from here
vector.c: B1 = v64_rotate(B1, 64-11); \
vector.c: vector.c:756:36: note: in expansion of macro 'ROUND'
vector.c: ROUND(12); ROUND(13); ROUND(14); ROUND(15);
vector.c: ^~~~~
vector.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
vector.c: from vector.h:29,
vector.c: from vector.c:7:
vector.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
vector.c: _mm_roti_epi64(__m128i __A, const int __B)
vector.c: ^~~~~~~~~~~~~~
vector.c: vector.c:744:8: note: called from here
vector.c: B0 = v64_rotate(B0, 64-11); \
vector.c: vector.c:756:36: note: in expansion of macro 'ROUND'
vector.c: ROUND(12); ROUND(13); ROUND(14); ROUND(15);
vector.c: ^~~~~
vector.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
vector.c: from vector.h:29,
vector.c: ...

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

Compiler output

Implementation: xop
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:81:8: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m0 = BSWAP64(m0);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:82:8: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m1 = BSWAP64(m1);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:83:8: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m2 = BSWAP64(m2);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:84:8: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m3 = BSWAP64(m3);
hash.c: ^
hash.c: ./rounds.h:13:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:85:8: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: ...

Number of similar (compiler,implementation) pairs: 4, 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
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 hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
hash.c: _mm_roti_epi64(__m128i __A, const int __B)
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:825:9: note: called from here
hash.c: row2h = _mm_roti_epi64(row2h, -11); \
hash.c: ^
hash.c: rounds.h:867:3: note: in expansion of macro 'G2'
hash.c: G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \
hash.c: ^~
hash.c: hash.c:132:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(15);
hash.c: ^~~~~
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
hash.c: _mm_roti_epi64(__m128i __A, const int __B)
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:824:9: note: called from here
hash.c: row2l = _mm_roti_epi64(row2l, -11); \
hash.c: ^
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

Compiler output

Implementation: xop-2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:92:15: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m.u128[0] = BSWAP64(m.u128[0]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:93:15: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m.u128[1] = BSWAP64(m.u128[1]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:94:15: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m.u128[2] = BSWAP64(m.u128[2]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:95:15: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: m.u128[3] = BSWAP64(m.u128[3]);
hash.c: ^
hash.c: ./rounds.h:15:21: note: expanded from macro 'BSWAP64'
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^
hash.c: hash.c:96:15: error: always_inline function '_mm_perm_epi8' requires target feature 'fma4', but would be inlined into function 'blake512_compress' that is compiled without support for 'fma4'
hash.c: ...

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

Compiler output

Implementation: xop-2
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 hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:212:1: error: inlining failed in call to always_inline '_mm_perm_epi8': target specific option mismatch
hash.c: _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: ^~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:15:21: note: called from here
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:99:15: note: in expansion of macro 'BSWAP64'
hash.c: m.u128[7] = BSWAP64(m.u128[7]);
hash.c: ^~~~~~~
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/xopintrin.h:212:1: error: inlining failed in call to always_inline '_mm_perm_epi8': target specific option mismatch
hash.c: _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: ^~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:15:21: note: called from here
hash.c: #define BSWAP64(x) _mm_perm_epi8((x),(x),u8to64)
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:98:15: note: in expansion of macro 'BSWAP64'
hash.c: m.u128[6] = BSWAP64(m.u128[6]);
hash.c: ^~~~~~~
hash.c: ...

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

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 print_m32 T
vector.o print_m64 T
vector.o round512 T

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-inplace
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace