diff options
author | Ira Rosen <ira.rosen@linaro.org> | 2011-09-19 11:46:00 +0000 |
---|---|---|
committer | Ira Rosen <irar@gcc.gnu.org> | 2011-09-19 11:46:00 +0000 |
commit | 7deb61cd7fdf23c235cd540ad200fb6bb5e77527 (patch) | |
tree | 152fa998cf7d6f1978db8497f6c12c10246b55d5 /gcc/tree-vect-data-refs.c | |
parent | a3627303ee33116be7f61fbf8f8f5547baf04a03 (diff) | |
download | gcc-7deb61cd7fdf23c235cd540ad200fb6bb5e77527.zip gcc-7deb61cd7fdf23c235cd540ad200fb6bb5e77527.tar.gz gcc-7deb61cd7fdf23c235cd540ad200fb6bb5e77527.tar.bz2 |
re PR tree-optimization/50413 (Incorrect instruction is used to shift value of 128 bit xmm0 registrer)
PR tree-optimization/50413
* tree-vect-data-refs.c (vect_analyze_data_refs): Fail to
vectorize a basic block if one of its data-refs can't be
analyzed.
From-SVN: r178968
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index e1cbecd..a9504cd 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -2595,14 +2595,7 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo, print_gimple_stmt (vect_dump, stmt, 0, TDF_SLIM); } - if (bb_vinfo) - { - /* Mark the statement as not vectorizable. */ - STMT_VINFO_VECTORIZABLE (stmt_info) = false; - continue; - } - else - return false; + return false; } if (TREE_CODE (DR_BASE_ADDRESS (dr)) == INTEGER_CST) @@ -2610,14 +2603,7 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo, if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS)) fprintf (vect_dump, "not vectorized: base addr of dr is a " "constant"); - if (bb_vinfo) - { - /* Mark the statement as not vectorizable. */ - STMT_VINFO_VECTORIZABLE (stmt_info) = false; - continue; - } - else - return false; + return false; } if (TREE_THIS_VOLATILE (DR_REF (dr))) |