https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107546

--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> ---
typedef signed char v16qs __attribute__((vector_size(16)));
auto bar(v16qs x) { return x < 48; }

clang does expand it as 48 gt x. Gcc however does its usual change to x <= 47,
which it then tries to expand as ~(x > 47). I guess the expansion for x <= y
could be tweaked in the case where one argument is constant to undo what was
done earlier in the pipeline and expand as 48 > x.

Reply via email to