IA64 vectors modes are of course all UNITS_PER_WORD.  I see no reason
to prevent the transformation of a V4HImode divmod, or even of V2SImode.

Jakub, was there another reason you added this condition?


r~



        * tree-vect-patterns.c (vect_recog_divmod_pattern): Do not require
        vectors larger than UNITS_PER_WORD.
---
 gcc/ChangeLog            |    3 +++
 gcc/tree-vect-patterns.c |    3 +--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 05202a8..d990c4f 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -1679,8 +1679,7 @@ vect_recog_divmod_pattern (VEC (gimple, heap) **stmts,
     {
       enum machine_mode vec_mode = TYPE_MODE (vectype);
       int icode = (int) optab_handler (optab, vec_mode);
-      if (icode != CODE_FOR_nothing
-         || GET_MODE_SIZE (vec_mode) == UNITS_PER_WORD)
+      if (icode != CODE_FOR_nothing)
        return NULL;
     }
 

Reply via email to