edanor/umesimd

[AVX512] Unsigned 64bit-integer comparison fails

Closed this issue · 0 comments

#include "../UMESimd.h"

using namespace UME::SIMD;

int main()
{
    SIMD8_64u a((uint64_t)(~0));
    SIMD8_64u b(0);

    auto c = a.cmpgt(b);
    std::cout << a[0] << " = a > b = " << b[0] << " <==> " << (c[0] ? "true" : "false") << std::endl;

    return 0;
}

Should return

18446744073709551615 = a > b = 0 <==> true

but returns

18446744073709551615 = a > b = 0 <==> false