1 /* PR middle-end/47735 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fomit-frame-pointer" } */
4 
5 unsigned
mulh(unsigned a,unsigned b)6 mulh (unsigned a, unsigned b)
7 {
8   unsigned long long l __attribute__ ((aligned (32)))
9     = ((unsigned long long) a * (unsigned long long) b) >> 32;
10   return l;
11 }
12 
13 /* No need to dynamically realign the stack here.  */
14 /* { dg-final { scan-assembler-not "and\[^\n\r]*%\[re\]sp" } } */
15 /* Nor use a frame pointer.  */
16 /* { dg-final { scan-assembler-not "%\[re\]bp" } } */
17