I don't have a testcase for this one as convert already does it though with my tree combiner (or when TER folds), you can reproduce it with:
int f(int i, int j) { _Bool a = i == j; int t = a; return t; } -- Summary: fold does not fold (type)(a == b) into a == b (with type as the type) Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23606