diff options
author | Jakub Jelinek <jakub@redhat.com> | 2013-06-12 15:01:49 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-06-12 15:01:49 +0200 |
commit | bfdeda2cc6478b97c7fb6a1c2cc8dbbb516becae (patch) | |
tree | 17c4b3fcf0d4e67e0233dacdc50b8851be77bfcc /gcc/tree-vect-patterns.c | |
parent | a4fa02d1b707a31c6d5e5508a9f2c7f0abdbb5ea (diff) | |
download | gcc-bfdeda2cc6478b97c7fb6a1c2cc8dbbb516becae.zip gcc-bfdeda2cc6478b97c7fb6a1c2cc8dbbb516becae.tar.gz gcc-bfdeda2cc6478b97c7fb6a1c2cc8dbbb516becae.tar.bz2 |
re PR tree-optimization/57537 (gcc.dg/vect/slp-widen-mult-half.c generating wrong code on PowerPC64)
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.
From-SVN: r200000
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r-- | gcc/tree-vect-patterns.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 648385a..0a48727 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; } |