1 /* { dg-options "-mgp32 (-mips16)" } */
2 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
3 /* { dg-final { scan-assembler "\tmultu\t" } } */
4 /* { dg-final { scan-assembler-not "\tmflo\t" } } */
5 /* { dg-final { scan-assembler "\tmfhi\t" } } */
6
7 typedef unsigned int DI __attribute__((mode(DI)));
8 typedef unsigned int SI __attribute__((mode(SI)));
9
10 MIPS16 SI
11 f (SI x, SI y)
12 {
13 return ((DI) x * y) >> 32;
14 }