diff options
author | Richard Biener <rguenther@suse.de> | 2018-08-27 14:17:03 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-08-27 14:17:03 +0000 |
commit | efc3a1a101184a73718bcb034e530e57cd65a543 (patch) | |
tree | ac8a0f32f451eb4a03dcf94123aa557266812792 /gcc/tree-vect-loop.c | |
parent | de5b5228631d14e272ec8bf93827dea3da16a33d (diff) | |
download | gcc-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.c | 3 |
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; } |