aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-08-27 14:17:03 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-08-27 14:17:03 +0000
commitefc3a1a101184a73718bcb034e530e57cd65a543 (patch)
treeac8a0f32f451eb4a03dcf94123aa557266812792 /gcc/tree-vect-loop.c
parentde5b5228631d14e272ec8bf93827dea3da16a33d (diff)
downloadgcc-efc3a1a101184a73718bcb034e530e57cd65a543.zip
gcc-efc3a1a101184a73718bcb034e530e57cd65a543.tar.gz
gcc-efc3a1a101184a73718bcb034e530e57cd65a543.tar.bz2
re PR tree-optimization/86927 (Gcc miscompiles at -O3 on valid code)
2018-08-27 Richard Biener <rguenther@suse.de> PR tree-optimization/86927 * tree-vect-loop.c (vect_create_epilog_for_reduction): Properly use const cond reduction code. * gcc.dg/vect/pr86927.c: New testcase. From-SVN: r263888
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index d5e3552..124a4be 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -5197,6 +5197,9 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs,
if (STMT_VINFO_VEC_REDUCTION_TYPE (stmt_info)
== INTEGER_INDUC_COND_REDUCTION)
code = induc_code;
+ else if (STMT_VINFO_VEC_REDUCTION_TYPE (stmt_info)
+ == CONST_COND_REDUCTION)
+ code = STMT_VINFO_VEC_CONST_COND_REDUC_CODE (stmt_info);
else
code = MAX_EXPR;
}