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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems this is the
/* Handle cases of two conversions in a row.  */
patterns in match.pd that are causing this.
I'd say the bug is that those simplifications are just handling
{inside,inter,final}_vec the same, no matter if it is vectors of float, ints,
unsigned ints etc.
Supposedly before match.pd has been added the bug was elsewhere, but similarly
didn't take care precisely what kind of vectors it is optimizing.
FLOAT_EXPR is used for conversion of vector {int,unsigned} to vector float,
FIX_TRUNC_EXPR fpr vector float to vector {int,unsigned} and convert
(NOP_EXPR/VIEW_CONVERT_EXPR?) for other conversions.

Reply via email to