Daniel Lemire
Daniel Lemire
My best guess is that this code confuses Visual Studio into using AVX-512 throughout: ```C++ int bitset_container_compute_cardinality(const bitset_container_t *bitset) { int support = croaring_hardware_support(); #if CROARING_COMPILER_SUPPORTS_AVX512 if( support & ROARING_SUPPORTS_AVX512...
@Dr-Emann Please review... https://github.com/RoaringBitmap/CRoaring/pull/579 If it makes sense to you, we shall try this approach. If it solves the issue, then we are lucky.
@Dr-Emann If you take my PR, the one where I move the AVX-512, and you use that in your rust binding, does it help?
@Dr-Emann Hmmmm.... I don't know what else to do.
Disabling AVX seems extreme. I would happily disable AVX-512 under Windows if it were needed, but I feel uneasy about disabling AVX since almost all Windows machines that we care...
@yeastplume I think that @Dr-Emann has demonstrated that it is a compiler bug.
@yeastplume For now, I recommend you just avoid the offending compiler version. If I were Microsoft, I would just patch it and make sure that the bug goes away. I...
>Slightly tangential, I guess, but does anyone have a quick pointer as to how to force github actions to use a particular compiler version? The current windows-latest runner should only...
See https://developercommunity.visualstudio.com/t/Code-gen-bug-uses-ymm16-register-for-AVX/10564317
@Dr-Emann Waiting for a fix from Microsoft did not help. They released 17.9 and it is the version we have in the GitHub runners, but the issue remains for us....