1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-forwprop1-raw" } */
3 
4 unsigned int
f1(unsigned int a,unsigned int b)5 f1 (unsigned int a, unsigned int b)
6 {
7   unsigned int x = 1U << b;
8   return a / x;
9 }
10 
11 unsigned long
f2(unsigned long a,int b)12 f2 (unsigned long a, int b)
13 {
14   unsigned long x = 1UL << b;
15   return a / x;
16 }
17 
18 unsigned long long
f3(unsigned long long a,int b)19 f3 (unsigned long long a, int b)
20 {
21   unsigned long long x = 1ULL << b;
22   return a / x;
23 }
24 
25 /* { dg-final { scan-tree-dump-not "trunc_div_expr" "forwprop1" } } */
26