/* { dg-do compile } */ /* { dg-options "-O2" } */ typedef unsigned int DI __attribute__((mode(DI))); typedef unsigned int SI __attribute__((mode(SI))); SI f (SI x, SI y) { return ((DI) x * y) >> 32; } /* { dg-final { scan-assembler "mulh\\.wu" } } */ /* { dg-final { scan-assembler-not "slli\\.w" } } */