You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After investigation I found that for x86 the int128 implementation was used and only these tests were failing. The other architectures used the u64 method and they had correct results.
SIMDe on Clang needs SIMDE_NO_CHECK_IMMEDIATE_CONSTANT defined and other SIMDe related fixes now that SIMDe is part of the CI pipeline.
Some issue with SIMDe on x86 still remains because of an upstream bug:
simd-everywhere/simde#1119
Similarly SIMDe native with clang on Arm also poses a non-high priority build failure:
https://buildbot-ci.vectorcamp.gr/#/builders/129/builds/11
Possibly a SIMDe issue as well, need to investigate but will merge this PR as these are non-blockers.
Compute the bitwise AND of 128 bits (representing integer data) in a and b, and set ZF to 1 if the result is zero, otherwise set ZF to 0. [Something about CF, but that is not used in this function] Return the ZF value.
The other pathway has reversed structure to enable fast failing, as it compares 64 bits at a time; so if the bitwise AND of the first 64 bits is not zero, we return 0 immediately
The int128 implementation of simde_mm_testz_si128() is incorrect, caught in vectoscan CI with SIMDe backend:
https://buildbot-ci.vectorcamp.gr/#/builders/119/builds/14
After investigation I found that for x86 the int128 implementation was used and only these tests were failing. The other architectures used the u64 method and they had correct results.
simde/simde/x86/sse4.1.h
Line 2344 in 5405bbd
The following fix seems to work and it makes sense as it seems to be consistent with the u64 implementation below.
The text was updated successfully, but these errors were encountered: