gcc.dg/tree-ssa/slsr-8.c does "(int) index * (size_t) element_size",
which on LP64 targets can use a widening multiplication. Of course,
for simple element sizes like these, we end up using a shift instead,
but that's a decision that's rightly made later.
Tested on x86_64-linux-gnu, mips64-linux-gnu and mipsisa64-elf.
OK to install?
Richard
gcc/testsuite/
* gcc.dg/tree-ssa/slsr-8.c: Allow widening multiplications.
Index: gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c 2013-01-13 08:05:03.403375571
+0000
+++ gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c 2013-01-13 08:46:05.246550444
+0000
@@ -18,6 +18,7 @@ f (int s, int *c)
}
/* There are 4 ' * ' instances in the decls (since "int * iftmp.0;" is
- added), 1 parm, 2 in the code. */
-/* { dg-final { scan-tree-dump-times " \\* " 7 "optimized" } } */
+ added), 1 parm, 2 in the code. The second one in the code can be
+ a widening mult. */
+/* { dg-final { scan-tree-dump-times " w?\\* " 7 "optimized" } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */