Skip to content

Conversation

@sipa
Copy link
Member

@sipa sipa commented Jun 4, 2018

The SSE4 and AVX2 double-SHA256-for-64-byte input code from #13191 compiles fine on 32-bit x86 systems, but the autodetection logic in sha256.cpp doesn't enable it. Fix this.

Note that these instruction sets are only available on CPUs that support 64-bit mode as well, so it is only beneficial in the (perhaps unlikely) scenario where a 64-bit CPU is running a 32-bit Bitcoin Core binary.

@DrahtBot
Copy link
Contributor

DrahtBot commented Jun 5, 2018

Note to reviewers: This pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@theuni
Copy link
Member

theuni commented Jun 5, 2018

utACK 57ba401. See #13386 (comment) though.

@laanwj
Copy link
Member

laanwj commented Jun 12, 2018

As we've discussed on IRC I'm skeptical about doing anything special for 32-bit x86 as architecture (besides basic support), but as the changes are minimal I don't have opposition to this either.

@sipa
Copy link
Member Author

sipa commented Jun 12, 2018

@laanwj Right; given that we're already compiling and linking the SSE4/AVX2 code for 32-bit but just not using them, this seems much preferable over the alternative (removing them from the build).

@laanwj
Copy link
Member

laanwj commented Jun 12, 2018

@sipa agree; utACK 57ba401

@laanwj laanwj merged commit 57ba401 into bitcoin:master Jun 12, 2018
laanwj added a commit that referenced this pull request Jun 12, 2018
57ba401 Enable double-SHA256-for-64-byte code on 32-bit x86 (Pieter Wuille)

Pull request description:

  The SSE4 and AVX2 double-SHA256-for-64-byte input code from #13191 compiles fine on 32-bit x86 systems, but the autodetection logic in sha256.cpp doesn't enable it. Fix this.

  Note that these instruction sets are only available on CPUs that support 64-bit mode as well, so it is only beneficial in the (perhaps unlikely) scenario where a 64-bit CPU is running a 32-bit Bitcoin Core binary.

Tree-SHA512: 39d5963c1ba8c33932549d5fe98bd184932689a40aeba95043eca31dd6824f566197c546b60905555eccaf407408a5f0f200247bb0907450d309b0a70b245102
codablock pushed a commit to codablock/dash that referenced this pull request Oct 1, 2019
57ba401 Enable double-SHA256-for-64-byte code on 32-bit x86 (Pieter Wuille)

Pull request description:

  The SSE4 and AVX2 double-SHA256-for-64-byte input code from bitcoin#13191 compiles fine on 32-bit x86 systems, but the autodetection logic in sha256.cpp doesn't enable it. Fix this.

  Note that these instruction sets are only available on CPUs that support 64-bit mode as well, so it is only beneficial in the (perhaps unlikely) scenario where a 64-bit CPU is running a 32-bit Bitcoin Core binary.

Tree-SHA512: 39d5963c1ba8c33932549d5fe98bd184932689a40aeba95043eca31dd6824f566197c546b60905555eccaf407408a5f0f200247bb0907450d309b0a70b245102
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants