The instruction icmp ule <4 x i32> %0, zeroinitializer will usually be simplified to icmp eq <4 x i32> %0, zeroinitializer. It is not guaranteed though, and the code for lowering vector compares could pick the wrong form of the instruction if this happened. I've tried to make the code more explicit about the supported conditions.
This fixes NEON being unable to select VCMPZ with HS conditions, and fixes some incorrect MVE patterns.
Fixes #58514.
Does something need to be done here?