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

Reply via email to