The fix for PR106019 regressed slsr-39.c for -m32 -march=cascadelake because we are now able to vectorise the code. (Whether the code model should be allowing that is a different question -- the vectorised code looked worse to me.)
The test runs at -O2 and predates vectorisation being enabled at -O2, so this patch just adds -fno-tree-vectorize. Tested on x86_64-linux-gnu. Perhaps bordering on the obvious, but just in case: OK to install? (We do still share the multiplication, it's just that with vectorisation we share it fewer times.) Richard gcc/testsuite/ * gcc.dg/tree-ssa/slsr-39.c: Force vectorization off. --- gcc/testsuite/gcc.dg/tree-ssa/slsr-39.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-39.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-39.c index 4a27ede1541..33e34fab7ca 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-39.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-39.c @@ -6,7 +6,7 @@ *PINDEX: C1 + (C2 * C3) + C4 */ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-slsr-details" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-slsr-details" } */ typedef int arr_2[50][50]; -- 2.25.1