1 /* { dg-do compile } */
2 /* { dg-options "-mtune=generic -O2" } */
3 
4 typedef unsigned char uint8_t;
5 typedef unsigned int uint32_t;
6 
cvt_to_2digit(uint8_t i,uint8_t base)7 unsigned cvt_to_2digit(uint8_t i, uint8_t base)
8 {
9   return ((i / base) | (uint32_t)(i % base)<<8);
10 }
cvt_to_2digit_ascii(uint8_t i)11 unsigned cvt_to_2digit_ascii(uint8_t i)
12 {
13   return cvt_to_2digit(i, 10) + 0x0a3030;
14 }
15 /* { dg-final { scan-assembler-times "lea.\t\\(%\[0-9a-z\]+,%\[0-9a-z\]+,4" 3 } } */
16 /* { dg-final { scan-assembler-times "lea.\t\\(%\[0-9a-z\]+,%\[0-9a-z\]+,8" 1 } } */
17