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" } } */