/* { dg-do compile } */ | |
/* { dg-options "-O -fdump-tree-forwprop1-raw" } */ | |
unsigned int | |
f1 (unsigned int a, unsigned int b) | |
{ | |
unsigned int x = 1U << b; | |
return a / x; | |
} | |
unsigned long | |
f2 (unsigned long a, int b) | |
{ | |
unsigned long x = 1UL << b; | |
return a / x; | |
} | |
unsigned long long | |
f3 (unsigned long long a, int b) | |
{ | |
unsigned long long x = 1ULL << b; | |
return a / x; | |
} | |
/* { dg-final { scan-tree-dump-not "trunc_div_expr" "forwprop1" } } */ |