diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-06-28 13:38:01 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-06-28 13:38:01 +0200 |
commit | 4ee4c52c64cc1eeda53aae6e221b5b1bd9bd7421 (patch) | |
tree | 97380392fe18b29c5f40a143b8e216c0fc48ab9c /gcc/tree-vect-patterns.c | |
parent | 304b6b3edab5c727400849a9e88fbd47fde5d296 (diff) | |
download | gcc-4ee4c52c64cc1eeda53aae6e221b5b1bd9bd7421.zip gcc-4ee4c52c64cc1eeda53aae6e221b5b1bd9bd7421.tar.gz gcc-4ee4c52c64cc1eeda53aae6e221b5b1bd9bd7421.tar.bz2 |
re PR tree-optimization/53645 (Missed optimization for vector integer division lowering)
PR tree-optimization/53645
* tree-vect-generic.c (add_rshift): New function.
(expand_vector_divmod): New function.
(expand_vector_operation): Use it for vector integer
TRUNC_{DIV,MOD}_EXPR by VECTOR_CST.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Replace
unused lguup variable with dummy_int.
* gcc.c-torture/execute/pr53645.c: New test.
From-SVN: r189043
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r-- | gcc/tree-vect-patterns.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 11a5019..ff9f8e4 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -1971,7 +1971,7 @@ vect_recog_divmod_pattern (VEC (gimple, heap) **stmts, else { unsigned HOST_WIDE_INT ml; - int lgup, post_shift; + int post_shift; HOST_WIDE_INT d = tree_low_cst (oprnd1, 0); unsigned HOST_WIDE_INT abs_d; bool add = false; @@ -2008,7 +2008,7 @@ vect_recog_divmod_pattern (VEC (gimple, heap) **stmts, /* This case is not handled correctly below. */ return NULL; - choose_multiplier (abs_d, prec, prec - 1, &ml, &post_shift, &lgup); + choose_multiplier (abs_d, prec, prec - 1, &ml, &post_shift, &dummy_int); if (ml >= (unsigned HOST_WIDE_INT) 1 << (prec - 1)) { add = true; |