For some reason, __vector(float) comparisons result in a float type, not a mask.
This, despite the value of comparisons being only all 1's or all 0's.
@ibuclaw updated dlang/dmd pull request #14715 "SIMD: Set the result type of vector comparisons to an integer vector type" fixing this issue: - fix Issue 23568: Set the result type of vector comparisons to an integer vector type https://github.com/dlang/dmd/pull/14715
dlang/dmd pull request #14715 "fix Issue 23568: Set the result type of vector comparisons to an integer vector type" was merged into master: - 63241a4698aa8f7285ac4e988605eeca38e1f0cc by Iain Buclaw: fix Issue 23568: Set the result type of vector comparisons to an integer vector type https://github.com/dlang/dmd/pull/14715