Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.target / mips / mult-1.c
1 /* For SI->DI widening multiplication we should use DINS to combine the two
2    halves.  For Octeon use DMUL with explicit widening.  */
3 /* This test requires widening_mul */
4 /* { dg-options "-mgp64 isa_rev>=2 forbid_cpu=octeon.* -fexpensive-optimizations" } */
5 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
6 /* { dg-final { scan-assembler "\tdins\t" } } */
7 /* { dg-final { scan-assembler-not "\tdsll\t" } } */
8 /* { dg-final { scan-assembler-not "\tdsrl\t" } } */
9 /* { dg-final { scan-assembler-not "\tor\t" } } */
10
11 NOMIPS16 unsigned long long
12 f (unsigned int i, unsigned int j)
13 {
14   i++;
15   return (unsigned long long) i * j;
16 }