/* PR tree-optimization/67953 */ | |
/* { dg-do run } */ | |
unsigned int | |
fn1 (signed int a) | |
{ | |
return (unsigned int) a - ((a / 3) * 3); | |
} | |
unsigned int | |
fn2 (signed int a) | |
{ | |
return a - ((a / 3) * 3); | |
} | |
unsigned int | |
fn3 (int a) | |
{ | |
return a - (unsigned) ((a / 3) * 3); | |
} | |
signed int | |
fn4 (int a) | |
{ | |
return (unsigned) a - (unsigned) ((a / 3) * 3); | |
} | |
int | |
main () | |
{ | |
if (fn1 (-5) != -2 | |
|| fn2 (-5) != -2 | |
|| fn3 (-5) != -2 | |
|| fn4 (-5) != -2) | |
__builtin_abort (); | |
} |