{ "subject": "Re: 4 hashes parallel on SSE2 CPUs for 0.3.6", "content": { "format": "html", "body": "<div class=\"post\">MinGW GCC 4.5.0:<br/>Crypto++ doesn't work, X86_SHA256_HashBlocks() never returns<br/>I only got 4-way working with test.cpp but not when called by BitcoinMiner<br/><br/>MinGW GCC 4.4.1:<br/>Crypto++ works<br/>4-way SIGSEGV<br/><br/>GCC is definitely not aligning __m128i. <br/><br/>Even if we align our own __m128i variables, the compiler may decide to use a __m128i behind the scenes as a temporary variable.<br/><br/>By making our __m128i variables aligned and changing these inlines to defines, I was able to get it to work on 4.4.1 with -O0 only:<br/>#define Ch(b, c, d) &nbsp;((b &amp; c) ^ (~b &amp; d))<br/>#define Maj(b, c, d) &nbsp;((b &amp; c) ^ (b &amp; d) ^ (c &amp; d))<br/>#define ROTR(x, n) (_mm_srli_epi32(x, n) | _mm_slli_epi32(x, 32 - n))<br/>#define SHR(x, n) &nbsp;_mm_srli_epi32(x, n)<br/><br/>But that's with -O0.<br/><br/></div>" }, "source": { "name": "Bitcoin Forum", "url": "https://bitcointalk.org/index.php?topic=648.msg9278#msg9278" }, "date": "2010-08-14T22:06:13Z" }
Inscription number 18,209,410
Genesis block 799,364
File type json
File size 1.33 KB
Creation date