<andrewtoth>
gmaxwell: after #28233 we no longer empty the cache every 24 hours, so on default cache settings you can keep your cache for a week or so before running out of memory and forcing a flush. using a higher dbcache setting is also now beneficial for block connection, not just IBD performance. but for when we are empty (say after a restart), we could prefill the cache with all the block's prevouts in parallel via #31132.
<bitcoin-git>
[bitcoin] hebasto opened pull request #32551: cmake: Remove `ENABLE_{SSE41,AVX2,X86_SHANI,ARM_SHANI}` from `bitcoin-build-config.h` (master...250518-crypto-macros) https://github.com/bitcoin/bitcoin/pull/32551
hernanmarino has quit [Ping timeout: 252 seconds]
hernanmarino has joined #bitcoin-core-dev
Guest52 has quit [Quit: Client closed]
kevkevin_ has quit [Remote host closed the connection]
kevkevin has joined #bitcoin-core-dev
<hebasto>
sipa: laanwj: I'm trying to break compiling `sha256_sse4.cpp` using the `-mno-sse4` flag, but it still compiles. Does inline assembly indeed contain any SSE4-specific instructions?
adil has joined #bitcoin-core-dev
<sipa>
hebasto: no, it uses assembly
<sipa>
the compiler doesn't know or care what instruction it uses
<sipa>
just passes them through to the assembler
<sipa>
sha256_sse41.cpp does use sse4 intrinsics though, which require compilation for a target that has them enabled
adil has quit [Client Quit]
<hebasto>
does it require a sse4 capable cpu?
<sipa>
yes
<hebasto>
I mean, assembly code
<sipa>
to run, yes - to compile, no
<sipa>
it requires an sse4 capable assembler, but given that it's almost 20 years ago, i'm pretty sure that all compiler suites we support have that
<hebasto>
got it, thanks!
<gmaxwell>
nothing requires any particular cpu to compile, but you meant that some of them (but not sha256_sse4.cpp) require a compiler with the intrinsics enabled. :P
<sipa>
gmaxwell: (pedantry warning) it's not exactly true that compiler flags control available of the intrinsics directly... there are several intrinsics which always work, but get compiler more efficiently when the compiler is targetting hardware with certain capabilities
<hebasto>
could one provide `-mno-...` flag to disable those intrinsics?
<gmaxwell>
sipa: yeah in theory the compiler could always offer all intrinsics but just have poor performance when the relevant instruction sets aren't available. Kinda funny to do it for some and not others.
<sipa>
the pedantry warning was because the intrinsics which sha256_sse41.cpp (not sse4.cpp) uses specifically almost certainly only only work when targetting an sse 4.1 instruction set (enabled by -msse41)
<bitcoin-git>
[bitcoin] hebasto opened pull request #32552: refactor: Remove workaround for resolved MSVC bug (master...250518-fixed-msvc) https://github.com/bitcoin/bitcoin/pull/32552