summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-12 13:01:49 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-12 13:01:49 +0000
commitd82cd73d28b99ca18d45d64bafc370e390771caa (patch)
tree17c4b3fcf0d4e67e0233dacdc50b8851be77bfcc /gcc/tree-vect-patterns.c
parent2f5bed2ab25158051293c85678c5413213b48cfc (diff)
downloadgcc-d82cd73d28b99ca18d45d64bafc370e390771caa.tar.gz
PR tree-optimization/57537
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): If vect_handle_widen_op_by_const, convert oprnd1 to half_type1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200000 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 648385a9b0c..0a48727821a 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -640,7 +640,10 @@ vect_recog_widen_mult_pattern (vec<gimple> *stmts,
&& vect_handle_widen_op_by_const (last_stmt, MULT_EXPR, oprnd1,
&oprnd0, stmts, type,
&half_type0, def_stmt0))
- half_type1 = half_type0;
+ {
+ half_type1 = half_type0;
+ oprnd1 = fold_convert (half_type1, oprnd1);
+ }
else
return NULL;
}