]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR tree-optimization/57537
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Jun 2013 13:01:49 +0000 (13:01 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Jun 2013 13:01:49 +0000 (13:01 +0000)
* 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

gcc/ChangeLog
gcc/tree-vect-patterns.c

index 25d746afa6c7d8a2c5c68c6f39a3458b8a6ae70e..5eb96066d63811666340ed5bb0de3ce8d516b124 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-12  Jakub Jelinek  <jakub@redhat.com>
+
+       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.
+
 2013-06-12  Richard Biener  <rguenther@suse.de>
 
        * data-streamer.h (streamer_write_char_stream): CSE
index 648385a9b0cabe9a1c7d53db8a2a5a51c2536f2e..0a48727821af4537ab42e07099568f36b769a525 100644 (file)
@@ -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;
     }