Assembly optimisations are compiled even with --disable-asm #13759

issue luke-jr opened this issue on July 25, 2018
  1. luke-jr commented at 4:18 PM on July 25, 2018: member

    --disable-asm doesn't seem to actually disable the new assembly optimisations.

  2. MarcoFalke added this to the milestone 0.17.0 on Jul 25, 2018
  3. MarcoFalke added the label Build system on Jul 25, 2018
  4. MarcoFalke removed this from the milestone 0.17.0 on Aug 2, 2018
  5. sipa commented at 6:32 AM on August 8, 2018: member

    The only cryptographic code written in assembly is the sse4 1-way variable-length SHA256 code introduced in #10821, and that's what --disable-asm controls. The newer optimized code (introduced in #13191, #13393, and #13386) is written in C++ with intrinsics.

    I don't mind changing the scope of --disable-asm to include these as well, but perhaps it should be renamed. The original reason for allowing the asm code to be disabled was that it was introduced relatively late in the 0.16 release cycle, and very hard to review. Those arguments don't apply as much to the intrinsics based code, I believe.

    Thinking about it - apart from reviewability - are there any reasons you'd want to disable these? If there are concerns about their correctness, we shouldn't be building by default in releases. If there aren't, we should probably just remove the compile flag.

  6. MarcoFalke closed this on Apr 26, 2019

  7. MarcoFalke referenced this in commit b1e013e4fa on Apr 26, 2019
  8. sidhujag referenced this in commit 15d0fe0761 on Apr 27, 2019
  9. codablock referenced this in commit b5ea6638fc on Oct 1, 2019
  10. codablock referenced this in commit 4bfc6ab303 on Oct 1, 2019
  11. barrystyle referenced this in commit a2b41857d1 on Jan 22, 2020
  12. DrahtBot locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me