https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109301
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Started with r13-1763-g78d5e125c008d87cb2e1. (for sqrts (SQRT) cbrts (CBRT) pows (POW) /* sqrt(sqrt(x)) -> pow(x,1/4). */ (simplify (sqrts (sqrts @0)) (pows @0 { build_real (type, dconst_quarter ()); })) and various other simplifications after it aren't really suitable for floating point vector types. Well, we could do them as long as we'd verify that vector POW is actually implemented and used build_uniform_cst (type, VECTOR_TYPE_P (type) ? TREE_TYPE (type) : type, dconst_quarter ())); and similar stuff. But given that no target currently implements pow_optab, I think that would be a wasted effort.