Implementation notes: amd64, temp, crypto_hash/bmw256

Computer: temp
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: bmw256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
61695211 0 013909 760 744core_2_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
62935237 0 014749 784 776core_i7_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
63246117 0 015893 784 776opt31ssse3_asm64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
63866112 0 015717 784 776opt31ssse3_asm64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
65725961 0 018477 784 808optc31ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
66655937 0 015509 784 776optc31ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
68205787 0 014485 760 744core_2_65nm/x86-64/ssse3_v1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
69135744 0 015365 784 776amd_k10/x86-64/sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
69445638 0 014397 760 744amd_k10/x86-64/sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
69755759 0 015541 784 776amd_k10/x86-64/sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
69755935 0 015717 784 776opt29_v5_ssse3_asm64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
759511555 0 021053 784 776optbbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
784337164 0 045829 760 744optc01gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
796714779 0 024189 784 776optbgbegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
796712924 0 022494 792 776optc04gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
80606973 0 016501 784 776amd_k8/x86-64/noSSEgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
81226988 0 019445 784 808amd_k8/x86-64/noSSEgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
812218780 0 028366 792 776optc02gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
818412792 0 022453 784 776optbbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
818441079 0 050846 792 776optc01gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
821512622 0 022293 784 776optabegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
82775317 0 014909 784 776core_2_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
830811741 0 020389 760 744optabegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
833911812 0 020469 760 744optbbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
83396377 0 015005 760 744optbgbegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
83705332 0 017805 784 808core_2_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
837015054 0 024830 792 776sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
84945131 0 013813 760 744core_i7_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
85255252 0 017693 784 808core_i7_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
86186004 0 014741 760 744opt31ssse3_asm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
861813183 0 022934 792 776optc03gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
880413781 0 026197 784 808optbbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
886613311 0 023062 792 776optc04gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
899020172 0 032686 792 808optc02gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
91455332 0 015053 784 776core_2_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
92075893 0 015485 784 776core_2_65nm/x86-64/ssse3_v1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
92075934 0 015701 784 776optc31ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
926913724 0 026149 784 808optabegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
93935759 0 018293 784 808amd_k10/x86-64/sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
94245252 0 014941 784 776core_i7_45nm/x86-64/sse4_v1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
94865920 0 015525 784 776opt29_v5_ssse3_asm64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
94865814 0 014557 760 744opt29_v5_ssse3_asm64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
982712868 0 022638 792 776sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1001315263 0 023973 760 744optc02gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1016816479 0 029190 792 808sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
103545908 0 018381 784 808core_2_65nm/x86-64/ssse3_v1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
103855908 0 015629 784 776core_2_65nm/x86-64/ssse3_v1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1044716196 0 028005 784 808optbgbegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1044711235 0 019933 760 744optc03gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
107886133 0 018669 784 808opt31ssse3_asm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1081912837 0 022398 792 776optc03gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
110056988 0 016693 784 776amd_k8/x86-64/noSSEgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1103639914 0 049502 792 776optc01gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
110676486 0 015253 760 744optc31ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1128442009 0 054534 792 808optc01gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1147011397 0 020893 784 776optabegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1171815368 0 024949 784 776optbgbegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1171815702 0 025670 792 776sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
120905935 0 018469 784 808opt29_v5_ssse3_asm64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
121526867 0 015565 760 744amd_k8/x86-64/noSSEgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1249318255 0 030966 792 808sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1323713455 0 025958 792 808optc04gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1367114251 0 023149 760 744sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1370219972 0 029742 792 776optc02gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1488010874 0 020534 792 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1506613311 0 025814 792 808optc03gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1522110775 0 020630 792 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1528311789 0 020685 760 744sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1562411384 0 020077 760 744optc04gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
1621313878 0 023846 792 776sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
2046012068 0 024662 792 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
231889697 0 018429 760 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017

Compiler output

Implementation: opt31ssse3_asm64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
wrapper.c: wrapper.c:37:0: warning: "crypto_hash_BYTES" redefined [enabled by default]
wrapper.c: #define crypto_hash_BYTES 32
wrapper.c: ^
wrapper.c: In file included from wrapper.c:20:0:
wrapper.c: crypto_hash.h:7:0: note: this is the location of the previous definition
wrapper.c: #define crypto_hash_BYTES crypto_hash_bmw256_BYTES
wrapper.c: ^
wrapper.c: wrapper.c: In function 'crypto_hash_bmw256_opt31ssse3_asm64':
wrapper.c: wrapper.c:238:2: warning: passing argument 3 of 'Compress256' from incompatible pointer type [enabled by default]
wrapper.c: Compress256(data32, data32 +16, CONST32final-4); // TODO: This is a HACK...
wrapper.c: ^
wrapper.c: wrapper.c:39:8: note: expected 'struct hashState *' but argument is of type 'u_int32_t *'
wrapper.c: extern Compress256(u_int32_t *data32, u_int32_t *data32_end, hashState *state);
wrapper.c: ^

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

Compiler output

Implementation: optc31ssse3
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Compress256_sse_31.c: Compress256_sse_31.c: In function 'Compress256':
Compress256_sse_31.c: Compress256_sse_31.c:374:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
Compress256_sse_31.c: _mm_store_si128(&p256[00], copyTemp);
Compress256_sse_31.c: ^
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/pmmintrin.h:35:0,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/tmmintrin.h:35,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h:694:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int32_t *'
Compress256_sse_31.c: _mm_store_si128 (__m128i *__P, __m128i __B)
Compress256_sse_31.c: ^
Compress256_sse_31.c: ...
Compress256_sse_31.c: ^
Compress256_sse_31.c: Compress256_sse_31.c:1568:2: warning: passing argument 1 of '_mm_store_si128' from incompatible pointer type [enabled by default]
Compress256_sse_31.c: _mm_store_si128(&hashState256(state)->DoublePipe[12], copyTemp);
Compress256_sse_31.c: ^
Compress256_sse_31.c: In file included from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/pmmintrin.h:35:0,
Compress256_sse_31.c: from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/tmmintrin.h:35,
Compress256_sse_31.c: from Compress256_sse_31.c:12:
Compress256_sse_31.c: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h:694:1: note: expected '__vector(2) long long int *' but argument is of type 'u_int32_t *'
Compress256_sse_31.c: _mm_store_si128 (__m128i *__P, __m128i __B)
Compress256_sse_31.c: ^
wrapper.c: wrapper.c:26:0: warning: "crypto_hash_BYTES" redefined [enabled by default]
wrapper.c: #define crypto_hash_BYTES 32
wrapper.c: ^
wrapper.c: In file included from wrapper.c:20:0:
wrapper.c: crypto_hash.h:7:0: note: this is the location of the previous definition
wrapper.c: #define crypto_hash_BYTES crypto_hash_bmw256_BYTES
wrapper.c: ^
wrapper.c: wrapper.c: In function 'crypto_hash_bmw256_optc31ssse3':
wrapper.c: wrapper.c:226:2: warning: passing argument 3 of 'Compress256' from incompatible pointer type [enabled by default]
wrapper.c: Compress256(data32, data32 +16, CONST32final-4); // TODO: This is a HACK...
wrapper.c: ^
wrapper.c: wrapper.c:27:8: note: expected 'struct hashState *' but argument is of type 'u_int32_t *'
wrapper.c: extern Compress256(u_int32_t *data32, u_int32_t *data32_end, hashState *state);
wrapper.c: ^

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