mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 19:41:06 +08:00
re PR tree-optimization/92558 (Miscompare of 554.roms_r with -Ofast -march=znver2 -flto since r278289)
2019-11-18 Richard Biener <rguenther@suse.de> PR tree-optimization/92558 * tree-vect-loop.c (vect_create_epilog_for_reduction): When reducting the width of a reduction vector def update new_phis. * gcc.dg/vect/pr92558.c: New testcase. From-SVN: r278400
This commit is contained in:
parent
3d3a96a26e
commit
5be106b860
@ -1,3 +1,9 @@
|
||||
2019-11-18 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/92558
|
||||
* tree-vect-loop.c (vect_create_epilog_for_reduction): When
|
||||
reducting the width of a reduction vector def update new_phis.
|
||||
|
||||
2019-11-18 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
|
||||
* configure.ac (gcc_cv_target_ldbl128): Set for powerpc*-*-linux-musl*
|
||||
|
@ -1,3 +1,8 @@
|
||||
2019-11-18 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/92558
|
||||
* gcc.dg/vect/pr92558.c: New testcase.
|
||||
|
||||
2019-11-18 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR ipa/92529
|
||||
|
23
gcc/testsuite/gcc.dg/vect/pr92558.c
Normal file
23
gcc/testsuite/gcc.dg/vect/pr92558.c
Normal file
@ -0,0 +1,23 @@
|
||||
/* { dg-additional-options "-mavx2" { target avx2_runtime } } */
|
||||
|
||||
void __attribute__((noipa))
|
||||
foo (int * __restrict wsum, int * __restrict cff, int * __restrict weight)
|
||||
{
|
||||
for (int i = 0; i < 16; ++i)
|
||||
{
|
||||
*wsum += weight[2*i+0];
|
||||
*cff += weight[2*i+1];
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int weight[32];
|
||||
for (int i = 0; i < 32; ++i)
|
||||
weight[i] = i;
|
||||
int wsum = 0, cff = 0;
|
||||
foo (&wsum, &cff, weight);
|
||||
if (wsum != 240 || cff != 256)
|
||||
__builtin_abort ();
|
||||
return 0;
|
||||
}
|
@ -5198,6 +5198,7 @@ vect_create_epilog_for_reduction (stmt_vec_info stmt_info,
|
||||
new_temp = make_ssa_name (vectype1);
|
||||
epilog_stmt = gimple_build_assign (new_temp, code, dst1, dst2);
|
||||
gsi_insert_before (&exit_gsi, epilog_stmt, GSI_SAME_STMT);
|
||||
new_phis[0] = epilog_stmt;
|
||||
}
|
||||
|
||||
if (reduce_with_shift && !slp_reduc)
|
||||
|
Loading…
x
Reference in New Issue
Block a user