Hi! The following testcase is optimized since Eric's r10-3575 change.
Tested on x86_64-linux -m32/-m64 (and in 9 where it FAILs), committed to trunk as obvious. 2020-04-14 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/94573 * gcc.dg/store_merging_30.c: New test. --- gcc/testsuite/gcc.dg/store_merging_30.c.jj 2020-04-14 15:51:59.749645994 +0200 +++ gcc/testsuite/gcc.dg/store_merging_30.c 2020-04-14 15:53:57.222908241 +0200 @@ -0,0 +1,20 @@ +/* PR tree-optimization/94573 */ +/* { dg-do compile } */ +/* { dg-require-effective-target store_merge } */ +/* { dg-options "-O2 -fdump-tree-store-merging-details" } */ +/* { dg-final { scan-tree-dump "New sequence of 4 stores to replace old one of 8 stores" "store-merging" { target lp64 } } } */ + +int var[43][12]; + +void +foo (int x) +{ + var[x][0] = 0; + var[x][1] = 0; + var[x][2] = 0; + var[x][3] = 0; + var[x][4] = 0; + var[x][5] = 0; + var[x][6] = 0; + var[x][7] = 0; +} Jakub