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